/* ============================================================
   M'ARRICRIO — IUBENDA CUSTOM STYLES
   Riallinea il Cookie Banner (Iubenda CS) e il testo embeddato
   di Privacy/Cookie Policy allo stile visivo del sito.
   Selettori scoped a #iubenda-cs-banner / #iubenda-iframe /
   #iubenda_policy: non tocca il resto del sito.
   ============================================================ */

/* ---------- 1. COOKIE BANNER (#iubenda-cs-banner, #iubenda-iframe) ---------- */

#iubenda-cs-banner,
#iubenda-iframe {
  --mc-cream: #F7EFDC;
  --mc-cream-soft: #FBF6EA;
  --mc-espresso: #2E2013;
  --mc-espresso-2: #43301D;
  --mc-ink: #241A12;
  --mc-ink-soft: #6E5C46;
  --mc-orange: #DD8A3E;
  --mc-orange-dark: #B96B26;
  --mc-border: #E5D5AC;
  --mc-border-soft: #EEE1C2;
  --mc-shadow-sm: 0 2px 8px rgb(30 20 10 / 0.08);
  --mc-shadow-md: 0 8px 24px rgb(30 20 10 / 0.12);
  --mc-shadow-lg: 0 20px 45px rgb(30 20 10 / 0.18);
  --mc-radius-sm: 10px;
  --mc-radius-md: 18px;
  --mc-radius-lg: 28px;
  --mc-radius-pill: 999px;
  --mc-ease: cubic-bezier(.16,1,.3,1);
}

#iubenda-cs-banner.iubenda-cs-overlay {
  background: rgb(46 32 19 / 0.4) !important;
}

#iubenda-cs-banner .iubenda-cs-container {
  background: var(--c-cream-soft, var(--mc-cream-soft)) !important;
  border: 1.5px solid var(--c-border-soft, var(--mc-border-soft)) !important;
  border-radius: var(--radius-lg, var(--mc-radius-lg)) !important;
  box-shadow: var(--shadow-lg, var(--mc-shadow-lg)) !important;
  max-width: 620px;
}
#iubenda-cs-banner.iubenda-cs-default .iubenda-cs-container,
#iubenda-cs-banner.iubenda-cs-bottom .iubenda-cs-container {
  max-width: 992px;
}
#iubenda-cs-banner .iubenda-cs-content {
  padding: 1.75rem 2rem !important;
  font-family: var(--font-body, 'Manrope', -apple-system, sans-serif);
}

#iubenda-cs-banner #iubenda-cs-title {
  font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
  color: var(--c-espresso, var(--mc-espresso)) !important;
  font-weight: 600 !important;
  font-size: 1.4rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  margin-bottom: 0.6rem !important;
}

#iubenda-cs-banner #iubenda-cs-paragraph,
#iubenda-cs-banner .iubenda-cs-rationale p {
  font-family: var(--font-body, 'Manrope', sans-serif) !important;
  color: var(--c-ink-soft, var(--mc-ink-soft)) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}
#iubenda-cs-banner #iubenda-cs-paragraph a,
#iubenda-cs-banner .iubenda-cs-cookie-policy-lnk,
#iubenda-cs-banner .iubenda-cs-preferences-link {
  color: var(--c-orange-dark, var(--mc-orange-dark)) !important;
  font-weight: 700 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#iubenda-cs-banner #iubenda-cs-paragraph a:hover {
  color: var(--c-espresso, var(--mc-espresso)) !important;
}

#iubenda-cs-banner .iubenda-cs-opt-group {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.75rem !important;
  margin-top: 1.25rem;
}

#iubenda-cs-banner .iubenda-cs-opt-group button,
#iubenda-cs-banner .iubenda-cs-customize-btn,
#iubenda-iframe .iub-consent-buttons button {
  font-family: var(--font-body, 'Manrope', sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.01em;
  padding: 0.95em 1.7em !important;
  border-radius: var(--radius-pill, var(--mc-radius-pill)) !important;
  border: 1.5px solid transparent !important;
  transition: transform 160ms var(--mc-ease),
              box-shadow 160ms var(--mc-ease),
              background-color 160ms var(--mc-ease),
              color 160ms var(--mc-ease) !important;
  white-space: nowrap;
}
#iubenda-cs-banner .iubenda-cs-opt-group button:hover,
#iubenda-iframe .iub-consent-buttons button:hover {
  transform: translateY(-2px);
}

#iubenda-cs-banner .iubenda-cs-accept-btn {
  background: var(--c-orange, var(--mc-orange)) !important;
  color: var(--c-white, #FFFFFF) !important;
  box-shadow: var(--shadow-sm, var(--mc-shadow-sm)) !important;
}
#iubenda-cs-banner .iubenda-cs-accept-btn:hover {
  background: var(--c-orange-dark, var(--mc-orange-dark)) !important;
  box-shadow: var(--shadow-md, var(--mc-shadow-md)) !important;
}

#iubenda-cs-banner .iubenda-cs-reject-btn {
  background: transparent !important;
  color: var(--c-espresso, var(--mc-espresso)) !important;
  border-color: var(--c-espresso, var(--mc-espresso)) !important;
  box-shadow: none !important;
}
#iubenda-cs-banner .iubenda-cs-reject-btn:hover {
  background: var(--c-espresso, var(--mc-espresso)) !important;
  color: var(--c-cream-soft, var(--mc-cream-soft)) !important;
}

#iubenda-cs-banner .iubenda-cs-customize-btn {
  background: transparent !important;
  color: var(--c-espresso, var(--mc-espresso)) !important;
  border-color: transparent !important;
  padding: 0.95em 0.6em !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#iubenda-cs-banner .iubenda-cs-customize-btn:hover {
  color: var(--c-orange-dark, var(--mc-orange-dark)) !important;
  transform: none;
}

#iubenda-cs-banner .iubenda-cs-close-btn {
  color: var(--c-ink-soft, var(--mc-ink-soft)) !important;
  transition: color 160ms var(--mc-ease);
}
#iubenda-cs-banner .iubenda-cs-close-btn:hover {
  color: var(--c-orange-dark, var(--mc-orange-dark)) !important;
}

#iubenda-cs-banner button:focus-visible,
#iubenda-cs-banner a:focus-visible,
#iubenda-iframe button:focus-visible,
#iubenda-iframe a:focus-visible {
  outline: 2.5px solid var(--c-orange-dark, var(--mc-orange-dark)) !important;
  outline-offset: 3px !important;
}

/* Preference center (secondo layer, vive in #iubenda-iframe) */
#iubenda-iframe .iub-cmp-header,
#purposes-content-container .purposes-header {
  background: var(--mc-cream-soft) !important;
  border-bottom: 1.5px solid var(--mc-border-soft) !important;
  padding: 1.25rem 1.5rem !important;
}
#iubenda-iframe .iub-cmp-header h2,
#iubenda-iframe .purposes-header-title {
  font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
  color: var(--mc-espresso) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
}
#iubenda-iframe .iub-btn-back,
#iubenda-iframe .iub-btn-cp {
  color: var(--mc-espresso) !important;
  font-weight: 700 !important;
  background: transparent !important;
}
#iubenda-iframe .iub-btn-back:hover,
#iubenda-iframe .iub-btn-cp:hover {
  color: var(--mc-orange-dark) !important;
}

#iubenda-iframe .purposes-content,
#purposes-content-container {
  background: var(--mc-cream) !important;
  padding: 1.25rem 1.5rem !important;
}

#iubenda-iframe .iubenda-granular-controls-container {
  gap: 0.75rem !important;
}
#iubenda-iframe .granular-control-checkbox {
  background: var(--mc-cream-soft) !important;
  border: 1.5px solid var(--mc-border-soft) !important;
  border-radius: var(--mc-radius-md) !important;
  padding: 1rem 1.1rem !important;
  transition: box-shadow 200ms var(--mc-ease);
}
#iubenda-iframe .granular-control-checkbox:hover {
  box-shadow: var(--mc-shadow-sm);
}
#iubenda-iframe .granular-control-checkbox label {
  font-family: var(--font-body, 'Manrope', sans-serif) !important;
  color: var(--mc-espresso-2) !important;
  font-weight: 700 !important;
}
#iubenda-cs-banner .iub-toggle-checkbox .iub-caption,
#iubenda-iframe .iub-toggle-checkbox .iub-caption {
  font-family: var(--font-body, 'Manrope', sans-serif) !important;
  color: var(--mc-ink-soft) !important;
  font-size: 0.85rem !important;
  line-height: 1.5 !important;
}

#iubenda-cs-banner .iub-toggle-checkbox input.style1,
#iubenda-iframe .iub-toggle-checkbox input.style1 {
  background-color: var(--mc-border) !important;
}
#iubenda-cs-banner .iub-toggle-checkbox input.style1:checked,
#iubenda-iframe .iub-toggle-checkbox input.style1:checked {
  background-color: var(--mc-orange) !important;
}
#iubenda-cs-banner .iub-toggle-checkbox input.style1:disabled,
#iubenda-iframe .iub-toggle-checkbox input.style1:disabled {
  background-color: var(--mc-orange-dark) !important;
  opacity: 0.55 !important;
}

#iubenda-iframe .iub-consent-buttons.purposes-buttons {
  border-top: 1.5px solid var(--mc-border-soft) !important;
  background: var(--mc-cream-soft) !important;
  padding: 1rem 1.5rem !important;
}

@media (max-width: 640px) {
  #iubenda-cs-banner .iubenda-cs-container {
    border-radius: var(--radius-md, var(--mc-radius-md)) !important;
    max-height: 88vh;
    overflow-y: auto;
  }
  #iubenda-cs-banner .iubenda-cs-content {
    padding: 1.4rem 1.25rem !important;
  }
  #iubenda-cs-banner #iubenda-cs-title {
    font-size: 1.15rem !important;
  }
  #iubenda-cs-banner #iubenda-cs-paragraph,
  #iubenda-cs-banner .iubenda-cs-rationale p {
    font-size: 0.9rem !important;
  }
  #iubenda-cs-banner .iubenda-cs-opt-group {
    flex-direction: column;
    gap: 0.6rem !important;
  }
  #iubenda-cs-banner .iubenda-cs-opt-group button,
  #iubenda-cs-banner .iubenda-cs-customize-btn {
    width: 100% !important;
    text-align: center;
    padding: 0.9em 1.4em !important;
  }
  #iubenda-iframe .iub-cmp-header,
  #iubenda-iframe .purposes-content,
  #purposes-content-container {
    padding: 1rem 1.1rem !important;
  }
  #iubenda-iframe .granular-control-checkbox {
    padding: 0.85rem !important;
  }
  #iubenda-iframe .iub-consent-buttons.purposes-buttons {
    flex-direction: column;
    gap: 0.5rem !important;
  }
  #iubenda-iframe .iub-consent-buttons.purposes-buttons button {
    width: 100% !important;
  }
}

/* ---------- 2. TESTO PRIVACY/COOKIE POLICY EMBEDDATO (#iubenda_policy) ---------- */
/* Contenitore iniettato da cdn.iubenda.com/iubenda.js dentro .legal-content
   (embed "iubenda-noiframe"). Il loro foglio di stile ufficiale
   (iubenda.com/assets/privacy_policy.css) scopa tutto su #iubenda_policy con
   alta specificità/!important: replichiamo lo stesso scoping per vincere. */

#iubenda_policy {
  font-family: var(--font-body, 'Manrope', sans-serif) !important;
  color: var(--text-body, #241A12) !important;
  background: transparent !important;
  line-height: var(--lh-relaxed, 1.75) !important;
}
#iubenda_policy h1 {
  display: none !important; /* già mostrato dall'h1 del page-hero della pagina */
}
#iubenda_policy h2,
#iubenda_policy h3,
#iubenda_policy h4 {
  font-family: var(--font-display, 'Fraunces', Georgia, serif) !important;
  color: var(--text-heading, #2E2013) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
#iubenda_policy h2 {
  font-size: 1.5rem !important;
  margin-top: 2.5rem !important;
  margin-bottom: 0.75rem !important;
}
#iubenda_policy h3 {
  font-size: 1.15rem !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.5rem !important;
}
#iubenda_policy p,
#iubenda_policy li {
  font-size: 1rem !important;
  color: var(--text-body, #241A12) !important;
  line-height: var(--lh-relaxed, 1.75) !important;
  margin-bottom: 0.75rem !important;
}
#iubenda_policy ul,
#iubenda_policy ol {
  padding-left: 1.25em !important;
  list-style: disc !important;
  margin-bottom: 1rem !important;
}
#iubenda_policy ol { list-style: decimal !important; }
#iubenda_policy a {
  color: var(--c-orange-dark, #B96B26) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
#iubenda_policy a:hover {
  color: var(--c-espresso, #2E2013) !important;
}
#iubenda_policy table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1.25rem !important;
  font-size: 0.9rem !important;
}
#iubenda_policy table th,
#iubenda_policy table td {
  border: 1px solid var(--c-border, #E5D5AC) !important;
  padding: 0.5rem 0.75rem !important;
  text-align: left !important;
}
#iubenda_policy .breadcrumbs {
  display: none !important;
}
