/* rapisarda-block — il banner di Complianz (gratuito) col disegno del mockup (docs/mockup/parti/consensi.html):
   una striscia di vetro bassa e centrata, sotto il titolo dell'apertura (sul telefono un foglio dal basso); «Accetta» e «Nega» pesano uguale; «Visualizza preferenze» sta coi link legali.
   Ogni regola parte da #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] (1,2,0): più specifica di
   tutto il CSS generato da Complianz (uploads/complianz/css/banner-1-optin.css), animazione d'ingresso compresa. */

#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] {
  position: fixed; inset: auto 0 16px; margin-inline: auto; z-index: 70;
  display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 0;
  inline-size: min(880px, 100% - 2 * var(--wp--preset--spacing--margine)); min-width: 0; max-width: none;
  max-height: calc(100svh - 32px); overflow: auto;
  margin-block: 0; padding: 18px 22px 14px; transform: none;
  border: 0; border-radius: var(--wp--custom--raggio--grande);
  background: rgb(var(--wp--custom--rgb--bianco) / 0.94);
  -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  box-shadow: var(--wp--preset--shadow--sospesa);
  font-family: var(--wp--preset--font-family--atkinson); color: var(--wp--preset--color--inchiostro);
  animation: consensi-entra 0.5s var(--wp--custom--uscita) both;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"].cmplz-dismissed { display: none; }
@keyframes consensi-entra { from { opacity: 0; translate: 0 12px; } }

/* La linguetta fissa «Gestisci consenso» di Complianz: c'è già il pulsante nel piede di ogni pagina. */
#cmplz-manage-consent { display: none; }

/* ---------- Testa e testo ---------- */
/* La × resta (il mockup non l'aveva): Complianz ci porta il fuoco quando apre il dialogo, e chi usa la tastiera
   entra così nel banner. Per questo al primo caricamento ha l'anello di fuoco. */

#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-header { display: flex; flex: 1 1 100%; align-items: flex-start; justify-content: space-between; gap: 12px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-logo,
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-divider { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-title {
  display: block; margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.015em; color: var(--wp--preset--color--inchiostro);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-close {
  display: grid; place-items: center; flex: none; inline-size: 32px; block-size: 32px; margin: -6px -8px 0 0;
  border-radius: 50%; color: var(--wp--preset--color--secondario); line-height: 1; font-size: inherit; transition: background-color 0.2s;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-close:hover { background: var(--wp--preset--color--grigio); font-size: inherit; line-height: 1; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-close:focus-visible { outline: 3px solid var(--wp--preset--color--inchiostro); outline-offset: 2px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-close svg { inline-size: 14px; block-size: 14px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-body { flex: 1 1 100%; min-width: 0; max-height: none; overflow: visible; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-message {
  inline-size: auto; margin: 8px 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--wp--preset--color--secondario);
}

/* ---------- Preferenze: una riga per categoria con l'interruttore ----------
   Nel banner e nella 7.1 della cookie policy, che Complianz riempie con lo stesso markup. Con :is() la specificità
   è quella della radice del banner (1,2,0): il CSS di Complianz sulla 7.1 si toglie (functions.php) o si ferma a (0,4,0). */

:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-categories { inline-size: auto; margin: 14px 0 0; animation-duration: 0.3s; }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-category { margin: 0; padding: 12px 0; background: none; border-top: 1px solid var(--wp--preset--color--linea); }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-category-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0; }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-category-title { font-size: 1rem; font-weight: 700; letter-spacing: -0.005em; color: var(--wp--preset--color--inchiostro); }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-always-active { font-size: 0.875rem; font-weight: 600; color: var(--wp--preset--color--secondario); }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-always-active .cmplz-banner-checkbox { display: none; }
/* La descrizione si legge sempre, come nel mockup: la freccia che la apre non serve. */
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-category-toggle { display: none; }
/* Complianz chiude la descrizione con l'attributo hidden e tema.css ha [hidden] { display: none !important }: si riapre allo stesso modo. */
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-description {
  display: block !important; margin: 4px 0 0; padding: 0; font-size: 0.875rem; line-height: 1.45; color: var(--wp--preset--color--secondario);
}

/* L'interruttore (.interruttore del mockup) sulla casella e sull'etichetta di Complianz */
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-category-header > .cmplz-banner-checkbox {
  position: relative; display: block; flex: none; inline-size: 51px; block-size: 31px; margin: 0;
}
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox input.cmplz-consent-checkbox {
  position: absolute; inset: 0; z-index: 1; inline-size: 100%; block-size: 100%; margin: 0; opacity: 0; cursor: pointer;
}
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox .cmplz-label { position: absolute; inset: 0; margin: 0; padding: 0; }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox .cmplz-label::before {
  content: ""; position: absolute; top: 0; left: 0; inline-size: 100%; block-size: 100%; padding: 0;
  border-radius: var(--wp--custom--raggio--pillola); background: var(--wp--preset--color--grigio-scuro); transition: background-color 0.25s;
}
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox .cmplz-label::after {
  content: ""; position: absolute; top: 2px; left: 2px; inline-size: 27px; block-size: 27px;
  border-radius: 50%; background: var(--wp--preset--color--bianco); box-shadow: var(--wp--preset--shadow--segmento);
  transition: translate 0.3s var(--wp--custom--uscita);
}
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before { background: var(--wp--preset--color--inchiostro); }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after { left: 2px; translate: 20px 0; }
:is(#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"], #cmplz-manage-consent-container) .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before { outline: 3px solid var(--wp--preset--color--inchiostro); outline-offset: 2px; }

/* ---------- Pulsanti e link: i pulsanti e i documenti entrano nella riga del banner ---------- */

#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] :is(.cmplz-buttons, .cmplz-documents, .cmplz-documents ul) { display: contents; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-btn {
  min-height: 46px; margin: 0; padding: 0 14px; border: 0; border-radius: var(--wp--custom--raggio--pillola);
  font: 600 1rem/1 var(--wp--preset--font-family--atkinson); letter-spacing: -0.01em; white-space: nowrap; cursor: pointer;
  transition: background-color 0.2s, transform 0.25s var(--wp--custom--uscita);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-btn:active { transform: scale(0.97); }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-btn:focus-visible { outline: 3px solid var(--wp--preset--color--inchiostro); outline-offset: 2px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] :is(.cmplz-accept, .cmplz-deny) {
  flex: 0 0 auto; min-inline-size: 128px; inline-size: auto; margin-top: 14px; padding: 0 22px;
  background: var(--wp--preset--color--inchiostro); color: var(--wp--preset--color--bianco);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] :is(.cmplz-accept, .cmplz-deny):hover { background: var(--wp--preset--color--inchiostro-chiaro); }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-save-preferences {
  flex: 1 1 100%; inline-size: auto; margin-top: 8px; background: var(--wp--preset--color--grigio); color: var(--wp--preset--color--inchiostro);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-save-preferences:hover { background: var(--wp--preset--color--grigio-scuro); }
/* «Visualizza preferenze» è un collegamento in grassetto, il primo della riga dei link legali */
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-view-preferences {
  flex: 0 0 auto; inline-size: auto; min-height: 32px; margin: 14px 10px 0 16px; padding: 0;
  background: none; color: var(--wp--preset--color--inchiostro); font-size: 0.875rem; font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-view-preferences:active { transform: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-documents li { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: 32px; margin: 14px 10px 0 0; list-style: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-link {
  color: var(--wp--preset--color--inchiostro); font-size: 0.875rem; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}

/* ---------- Documenti ---------- */

/* Complianz offusca l'email della dichiarazione con un dominio esca nascosto: nella copia congelata resta nascosto qui. */
.cmplz-fmail-domain { display: none; }

/* ---------- Telefono: un foglio dal basso, senza la barra del pollice sotto ---------- */

@media (max-width: 640px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] {
    inset: auto 0 0 0; inline-size: auto; max-height: 85svh;
    padding: 18px 20px calc(10px + env(safe-area-inset-bottom));
    border-radius: var(--wp--custom--raggio--grande) var(--wp--custom--raggio--grande) 0 0;
  }
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-message { font-size: 0.875rem; line-height: 1.45; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] :is(.cmplz-accept, .cmplz-deny) { flex: 1 1 calc(50% - 4px); min-inline-size: 0; padding: 0 14px; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-view-preferences { margin-left: 0; }
  /* La classe body.cmplz-banner-active la mette Complianz solo con la «parete morbida», che qui è spenta. */
  body:has(.cmplz-cookiebanner.cmplz-show) .pollice { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] { animation: none; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner[role="dialog"] .cmplz-btn:active { transform: none; }
}
