/* Banner di consenso ai cookie — condiviso da tutte le pagine.
   Usa le variabili di palette gia' definite da ciascuna pagina (--paper, --ink,
   --ember...): se un giorno la palette cambia, il banner la segue da solo.

   Regole del provvedimento del Garante 231/2021 tradotte in CSS:
   «Rifiuta» e «Accetta» hanno lo stesso peso visivo — stessa dimensione, stesso
   font, stesso padding — perche' rifiutare deve costare quanto accettare. Non
   c'e' una X di chiusura: chiudere senza scegliere non e' un consenso e quindi
   non esiste come gesto. */
.ck-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:var(--paper,#F5F9FD); color:var(--ink,#0B1E3A);
  border-top:1px solid var(--line-strong,rgba(11,30,58,.28));
  box-shadow:0 -18px 40px -30px rgba(11,30,58,.55);
  padding:20px var(--edge,24px) calc(20px + env(safe-area-inset-bottom));
  font-family:var(--sans,'Inter Tight',system-ui,sans-serif);
  transform:translateY(102%); transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.ck-banner.is-open{ transform:translateY(0); }
.ck-in{
  max-width:1180px; margin:0 auto; display:flex; gap:clamp(16px,3vw,40px);
  align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
}
.ck-testo{ flex:1 1 420px; font-size:13.5px; line-height:1.7; color:var(--ink-soft,#3D5C85); }
.ck-testo b{ color:var(--ink,#0B1E3A); font-weight:600; }
.ck-testo a{ color:inherit; }
.ck-azioni{ display:flex; gap:10px; flex:0 0 auto; align-items:center; }
.ck-btn{
  font:inherit; font-size:14px; font-weight:500; line-height:1;
  padding:13px 24px; min-height:46px; border-radius:2px; cursor:pointer;
  border:1px solid var(--ink,#0B1E3A); background:none; color:var(--ink,#0B1E3A);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.ck-btn:hover{ border-color:var(--ember,#0A5BD3); color:var(--ember,#0A5BD3); }
.ck-btn.ck-si{ background:var(--ink,#0B1E3A); color:var(--paper,#F5F9FD); }
.ck-btn.ck-si:hover{ background:var(--ember,#0A5BD3); border-color:var(--ember,#0A5BD3); color:var(--paper,#F5F9FD); }
.ck-btn:focus-visible{ outline:2px solid var(--ember,#0A5BD3); outline-offset:3px; }
@media (max-width:720px){
  .ck-in{ flex-direction:column; gap:16px; }
  /* In colonna l'asse principale e' verticale: senza questo il flex-basis di
     420px diventa un'ALTEZZA e il banner si mangia mezzo schermo. */
  .ck-testo{ flex:0 1 auto; font-size:13px; }
  .ck-azioni{ width:100%; }
  .ck-btn{ flex:1 1 0; padding:13px 12px; }
}
@media (prefers-reduced-motion: reduce){
  .ck-banner{ transition:none; }
}
