/* ===========================================================
   Banner cookie e pannello delle preferenze (assets/js/consenso.js).
   Usa i token della pagina quando ci sono, altrimenti i valori di riserva.
   "Accetta" e "Rifiuta" hanno lo stesso peso visivo (linee guida del Garante, 10/06/2021).
   =========================================================== */
.cc-banner,.cc-pannello{
  --cc-blu:var(--blu-900,#0a2440);
  --cc-blu-2:var(--blu-700,#123a63);
  --cc-bordo:var(--grigio-200,#dfe4ea);
  --cc-testo:var(--grigio-600,#5e6b7a);
  font-family:inherit;color:var(--testo,#1b2733);box-sizing:border-box;
}
.cc-banner *,.cc-pannello *{box-sizing:border-box}

html.cc-banner-aperto body{padding-bottom:var(--cc-altezza,0px)}

.cc-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;
  max-width:1080px;margin:0 auto;padding:20px 56px 20px 24px;
  background:#fff;border:1px solid var(--cc-bordo);border-top:4px solid var(--cc-blu);
  border-radius:8px;box-shadow:0 12px 40px rgba(10,36,64,.22);
  display:grid;grid-template-columns:1fr auto;gap:6px 28px;align-items:center;
}
.cc-banner .cc-titolo{grid-column:1}
.cc-banner .cc-testo{grid-column:1;margin:0}
.cc-banner .cc-azioni{grid-column:2;grid-row:1 / span 2;margin:0}

.cc-titolo{font-size:1.02rem;font-weight:700;color:var(--cc-blu);margin:0 0 4px;line-height:1.3}
.cc-testo{font-size:.86rem;line-height:1.55;color:var(--cc-testo);margin:0 0 16px}
.cc-testo a{color:var(--cc-blu-2);font-weight:600}

.cc-azioni{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cc-btn{
  font-family:inherit;font-size:.92rem;font-weight:700;line-height:1.2;cursor:pointer;
  padding:12px 20px;border-radius:6px;border:2px solid var(--cc-blu);
  background:var(--cc-blu);color:#fff;min-width:120px;
}
.cc-btn:hover{background:var(--cc-blu-2);border-color:var(--cc-blu-2)}
.cc-btn-sec{background:#fff;color:var(--cc-blu)}
.cc-btn-sec:hover{background:var(--grigio-50,#f5f7f9);color:var(--cc-blu)}
.cc-btn:focus-visible,.cc-chiudi:focus-visible,.cc-switch:focus-visible,.cc-testo a:focus-visible{
  outline:3px solid var(--cta,#d81f26);outline-offset:2px;
}

.cc-chiudi{
  position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;border-radius:50%;
  background:transparent;color:var(--cc-testo);font-size:1.7rem;line-height:1;cursor:pointer;
}
.cc-chiudi:hover{background:var(--grigio-50,#f5f7f9);color:var(--cc-blu)}

/* ---------- Pannello delle preferenze ---------- */
html.cc-pannello-aperto{overflow:hidden}
.cc-velo{
  position:fixed;inset:0;z-index:1001;background:rgba(10,36,64,.55);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.cc-pannello{
  position:relative;width:100%;max-width:620px;max-height:calc(100vh - 32px);overflow:auto;
  background:#fff;border-radius:8px;border-top:4px solid var(--cc-blu);
  box-shadow:0 20px 60px rgba(10,36,64,.35);padding:26px 26px 22px;
}
.cc-pannello .cc-titolo{font-size:1.25rem;margin-bottom:8px}
.cc-cat{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding:16px 0;border-top:1px solid var(--cc-bordo);
}
.cc-cat-titolo{display:block;font-weight:700;color:var(--cc-blu);font-size:.97rem;margin-bottom:3px;cursor:pointer}
.cc-cat p{margin:0;font-size:.85rem;line-height:1.5;color:var(--cc-testo)}
.cc-sempre{flex:0 0 auto;font-size:.78rem;font-weight:700;color:var(--ok,#1c8a4a);padding-top:2px;white-space:nowrap}

/* Interruttore */
.cc-switch{
  -webkit-appearance:none;appearance:none;flex:0 0 auto;margin:2px 0 0;
  width:46px;height:26px;border-radius:13px;background:#c4cdd6;position:relative;cursor:pointer;
  transition:background .15s ease;
}
.cc-switch::after{
  content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease;
}
.cc-switch:checked{background:var(--cc-blu)}
.cc-switch:checked::after{transform:translateX(20px)}

/* Link "Preferenze cookie" nei footer, scritto come pulsante */
.link-preferenze{
  font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:none;
}
.link-preferenze:hover{text-decoration:underline}

@media (max-width:760px){
  .cc-banner{left:8px;right:8px;bottom:8px;padding:16px 16px 14px;display:block}
  .cc-banner .cc-titolo{padding-right:36px}
  .cc-testo{font-size:.82rem}
  .cc-azioni{margin-top:12px}
  .cc-banner .cc-azioni{margin-top:12px}
  .cc-btn{flex:1 1 30%;min-width:0;padding:11px 8px;font-size:.86rem}
  .cc-pannello{padding:22px 18px 18px}
  .cc-pannello .cc-azioni .cc-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .cc-switch,.cc-switch::after{transition:none}
}
