/* palmieri. · banner e preferenze cookie (D2-S08). Stesse regole di site.css, spostate qui; caricare dopo site.css. */
.cb{position:fixed;left:12px;right:12px;bottom:12px;z-index:50}
@media(min-width:900px){.cb{left:32px;right:32px;bottom:32px;max-width:1180px;margin:0 auto}}
.cb__in,.pref{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);color:var(--text)}
.cb__in{padding:24px 28px;display:flex;flex-direction:column;gap:18px}
.cb__x{position:absolute;right:14px;top:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:inherit;font-size:22px;color:var(--text-2);background:none;border:0;cursor:pointer;text-decoration:none}
.cb__in p:nth-of-type(2){font-size:14px;line-height:1.5;padding-right:24px}
@media(min-width:900px){.cb__in p:nth-of-type(2){font-size:15px;line-height:1.55}}
.cb__btns{display:flex;flex-wrap:wrap;gap:10px}
.cb__btns .bt,.pref__btns .bt{flex:1 1 160px;padding:16px 22px;background:transparent;color:var(--text);letter-spacing:.04em}
.pref-pg{position:relative;min-height:max(100svh,700px);padding:16px}
@media(min-width:900px){.pref-pg{padding:48px 16px;min-height:1000px}}
.pref-pg>.ph{position:absolute;inset:0;--b:.25}
.pref{max-width:720px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:6px}
@media(min-width:900px){.pref{padding:32px}}
.pref__h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pref__h h1{font-weight:var(--fw-regular);font-size:28px;letter-spacing:-.02em}
.pref__h a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:22px;color:var(--text-2);text-decoration:none}
.pref__i{font-size:14px;line-height:1.5;color:var(--text-2);margin:0 0 12px}
.pref__c{border-top:1px solid var(--line);padding:18px 0;display:flex;flex-direction:column;gap:10px}
.pref__r{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pref__r h2{font-size:17px;font-weight:var(--fw-regular)}
.pref__r h2 small{font-size:12px;color:var(--text-2)}
.pref__c>p{font-size:14px;line-height:1.5;color:var(--text-2)}
.sw{flex:none;width:44px;height:44px;padding:0;background:none;border:0;display:grid;place-items:center;cursor:pointer}
.sw span{width:44px;height:26px;border-radius:var(--r-pill);border:1px solid var(--text-3);padding:2px;display:inline-flex;align-items:center;justify-content:flex-start}
.sw span::before{content:"";width:20px;height:20px;border-radius:50%;background:var(--text-3)}
.sw[aria-checked="true"] span{background:var(--text);border-color:var(--text);justify-content:flex-end}
.sw[aria-checked="true"] span::before{background:var(--bg)}
.sw[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.tools li{display:grid;grid-template-columns:1.2fr 1.6fr .8fr;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13px;color:var(--text-2)}
.tools li span:first-child{color:var(--text)}
@media(max-width:560px){.tools li{grid-template-columns:1fr auto}.tools li span:nth-child(2){grid-column:1/-1;grid-row:2}.tools li span:nth-child(3){text-align:right}}
.pref__btns{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.pref .status{min-height:1.5em;padding-top:8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Banner: i tre pulsanti hanno la stessa evidenza (contorno, stesso corpo) */
.cb__btns .bt{background:transparent;color:var(--text);border-color:var(--text)}
.pref__last{font-size:13px;color:var(--text-2);padding-top:4px}
.pref__none{font-size:13px;color:var(--text-2);padding:9px 0;border-top:1px solid var(--line)}
/* Footer minimo per le pagine senza footer (404, valutazione) */
.ft--min{padding-block:24px 32px}
/* Banner compatto (03/10/2026): in basso, mai sopra la CTA dell'hero.
   Desktop: riquadro stretto in basso a destra (la CTA dell'hero sta a sinistra). Mobile: fascia compatta in basso.
   Mentre e aperto la CTA fissa mobile si nasconde (html.cb-aperto): mai una sopra l'altra. */
.cb{left:8px;right:8px;bottom:8px}
.cb__in{padding:14px 16px 12px;gap:10px}
.cb__in .t12{font-size:11px;letter-spacing:.05em}
.cb__in p:nth-of-type(2){font-size:12.5px;line-height:1.45;padding-right:36px}
.cb__x{right:2px;top:0}
.cb__btns{gap:8px;flex-wrap:nowrap}
.cb__btns .bt{flex:1 1 0;min-width:0;min-height:44px;padding:10px 8px;font-size:12px;letter-spacing:.03em}
@media(min-width:900px){
  .cb{left:auto;right:24px;bottom:24px;max-width:470px;margin:0}
  .cb__in{padding:16px 18px 14px}
  .cb__in p:nth-of-type(2){font-size:12.5px;line-height:1.45}
}
