/* Banner consenso cookie: posizione e forma si scelgono in Admin → Cookie e privacy (data-position, data-shape).
   Non copre mai il pulsante delle preferenze cookie (in basso a sinistra) né «torna su» (in basso a destra). */
.cookie-dialog{--cb-radius:16px;--cb-pad:1.2rem;--cb-gap:5.75rem;position:fixed;z-index:100;box-sizing:border-box;bottom:1.25rem;width:min(600px,calc(100vw - 2*var(--cb-gap)));max-height:min(82dvh,680px);margin:0;padding:var(--cb-pad) calc(var(--cb-pad) + .1rem);overflow:auto;border:1px solid var(--color-line);border-radius:var(--cb-radius);background:var(--color-surface);color:var(--color-ink);box-shadow:0 22px 60px rgba(0,0,0,.24),0 2px 10px rgba(0,0,0,.08);animation:cookie-in .3s cubic-bezier(.2,.8,.2,1) both}
.cookie-dialog[hidden]{display:none}
@keyframes cookie-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
/* posizione */
.cookie-dialog[data-position="bottom-center"]{left:50%;transform:translateX(-50%)}
.cookie-dialog[data-position="bottom-left"]{left:var(--cb-gap)}
.cookie-dialog[data-position="bottom-right"]{right:var(--cb-gap)}
/* forma */
.cookie-dialog[data-shape="soft"]{--cb-radius:30px;--cb-pad:1.5rem}
.cookie-dialog[data-shape="square"]{--cb-radius:0;border-width:2px;border-color:var(--color-ink);box-shadow:8px 8px 0 rgba(0,0,0,.18)}
.cookie-dialog[data-shape="bar"]{left:50%;right:auto;transform:translateX(-50%);width:min(1180px,calc(100vw - 2*var(--cb-gap)));--cb-radius:14px}
/* intestazione */
.cookie-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.15rem}.cookie-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:var(--color-accent)}.cookie-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cookie-dialog h2{margin:0;font-size:1.2rem;line-height:1.25;letter-spacing:-.005em}
.cookie-dialog p,.cookie-dialog .rich-text{margin:.5rem 0 1rem;color:var(--color-body);font-size:.88rem;line-height:1.55}
.cookie-dialog a{text-decoration:underline;text-underline-offset:2px}.cookie-dialog a:hover{color:var(--color-accent)}
/* pulsanti: «Rifiuta» e «Accetta tutto» hanno lo stesso peso visivo (indicazioni del Garante e dell'EDPB); le altre scelte sono secondarie */
.cookie-dialog .cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.cookie-dialog .cookie-actions .button{min-height:46px;padding:.65rem .9rem;font-size:.74rem;letter-spacing:.09em;justify-content:center;border-radius:var(--button-radius,10px)}
.cookie-dialog .cookie-actions [data-cookie-choice="reject"],.cookie-dialog .cookie-actions [data-cookie-choice="all"]{order:-1;border:1px solid transparent;font-weight:700}
.cookie-dialog .cookie-actions [data-cookie-choice="reject"]{background:var(--color-ink);color:var(--color-canvas)}
.cookie-dialog .cookie-actions [data-cookie-choice="all"]{background:var(--color-accent);color:var(--color-accent-ink)}
.cookie-dialog .cookie-actions [data-cookie-choice="reject"]:hover,.cookie-dialog .cookie-actions [data-cookie-choice="all"]:hover{filter:brightness(1.12)}
.cookie-dialog .cookie-actions [data-cookie-choice="prefs"],.cookie-dialog .cookie-actions [data-cookie-choice="necessary"]{background:transparent;border:1px solid var(--color-line);color:var(--color-ink)}
.cookie-dialog .cookie-actions [data-cookie-choice="prefs"]:hover,.cookie-dialog .cookie-actions [data-cookie-choice="necessary"]:hover{border-color:var(--color-ink)}
/* preferenze */
.cookie-dialog form{padding:.4rem 0 0}.cookie-dialog form>label{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--color-line);font-size:.92rem}.cookie-dialog form>label span{display:grid;gap:.2rem}.cookie-dialog form>label small{color:var(--color-muted);font-size:.8rem}
.cookie-dialog input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:46px;height:26px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--color-ink) 22%,transparent);cursor:pointer;transition:background .18s}
.cookie-dialog input[type=checkbox]::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform .18s}
.cookie-dialog input[type=checkbox]:checked{background:var(--color-accent)}.cookie-dialog input[type=checkbox]:checked::after{transform:translateX(20px)}.cookie-dialog input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}
.cookie-dialog input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.cookie-dialog.is-preferences .cookie-actions{display:none}.cookie-pref-actions{margin-top:.6rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.cookie-pref-actions .button{min-height:46px}
.cookie-dialog [role=status]{margin:.5rem 0 0;font-size:.8rem}
[dir=rtl] .cookie-dialog input[type=checkbox]::after{left:auto;right:3px}[dir=rtl] .cookie-dialog input[type=checkbox]:checked::after{transform:translateX(-20px)}
/* barra a tutta larghezza (schermi larghi): testo a sinistra, pulsanti a destra */
@media(min-width:1000px){.cookie-dialog[data-shape="bar"]:not(.is-preferences){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);column-gap:1.6rem;align-items:center}.cookie-dialog[data-shape="bar"]:not(.is-preferences) .cookie-head,.cookie-dialog[data-shape="bar"]:not(.is-preferences) .rich-text{grid-column:1}.cookie-dialog[data-shape="bar"]:not(.is-preferences) .rich-text{margin-bottom:0}.cookie-dialog[data-shape="bar"]:not(.is-preferences) .cookie-actions{grid-column:2;grid-row:1/span 2}}
/* telefono e schermi stretti: sopra la fila dei pulsanti flottanti, a tutta larghezza */
@media(max-width:760px){.cookie-dialog,.cookie-dialog[data-position],.cookie-dialog[data-shape="bar"]{left:1rem;right:1rem;width:auto;transform:none;bottom:5.4rem;max-height:calc(100dvh - 7.5rem)}.cookie-dialog .cookie-actions .button{font-size:.7rem;letter-spacing:.06em;padding:.6rem .5rem}}
@media(prefers-reduced-motion:reduce){.cookie-dialog{animation:none}.cookie-dialog input[type=checkbox],.cookie-dialog input[type=checkbox]::after{transition:none}}
.cookie-pref-actions{justify-content:stretch}.cookie-pref-actions .button{width:100%}
