/* consenso.css - banner cookie per campagne-finsenas.com
 * Sobrio: nessun effetto decorativo, tipografia pulita, pulsanti piatti.
 * Accetta e Rifiuta hanno la stessa taglia e pari evidenza (GDPR).
 */

@keyframes cfsSu{
  from{opacity:0; transform:translateY(14px)}
  to{opacity:1; transform:translateY(0)}
}

/* ---------- BANNER ---------- */
#cfs-banner{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:9999;
  max-width:820px; margin:0 auto;
  background:#fff; border:1px solid #e4dccf; border-radius:12px;
  box-shadow:0 10px 30px -12px rgba(40,35,25,.28);
  padding:22px 26px;
  display:flex; gap:26px; align-items:center; flex-wrap:wrap;
  font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  animation:cfsSu .35s ease .2s both;
}

.cfs-b-testo{flex:1; min-width:280px}
.cfs-b-testo b{
  display:block; font-family:'Schibsted Grotesk','Hanken Grotesk',sans-serif;
  font-size:15.5px; font-weight:700; color:#1e1b16; margin-bottom:6px;
}
.cfs-b-testo p{
  margin:0; font-size:13px; color:#5c554b; line-height:1.55; max-width:56ch;
}
.cfs-b-testo a{color:#007A3D; text-decoration:underline; text-underline-offset:2px}

.cfs-b-bt{display:flex; gap:10px; align-items:center; flex-wrap:wrap}

/* ---------- PULSANTI ---------- */
#cfs-banner button, #cfs-velo button{
  border-radius:8px; padding:11px 20px; font-size:13.5px; font-weight:600;
  cursor:pointer; font-family:inherit;
  border:1px solid transparent; transition:background .15s, border-color .15s;
  min-width:126px;
}
/* Accetta e Rifiuta devono avere identico rilievo: stessa dimensione,
 * stesso peso, contrasto equivalente. Nessuna spinta verso l'accettazione. */
.cfs-accetta{background:#007A3D; color:#fff; border:1.5px solid #007A3D!important}
.cfs-accetta:hover{background:#00692f; border-color:#00692f!important}

.cfs-rifiuta{background:#3b352d; color:#fff; border:1.5px solid #3b352d!important}
.cfs-rifiuta:hover{background:#282420; border-color:#282420!important}

/* stessa larghezza per entrambi, cosi' nessuno dei due sembra secondario */
.cfs-accetta, .cfs-rifiuta{flex:1 1 0; min-width:140px}

.cfs-person{
  background:none; color:#5c554b; border-color:transparent!important;
  min-width:auto!important; padding:11px 8px!important;
  text-decoration:underline; text-underline-offset:3px;
}
.cfs-person:hover{color:#1e1b16}

/* ---------- PANNELLO ---------- */
#cfs-velo{
  position:fixed; inset:0; z-index:10000; background:rgba(30,26,20,.45);
  display:flex; align-items:center; justify-content:center; padding:20px;
  font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.cfs-p{
  background:#fff; border-radius:12px; max-width:480px; width:100%;
  max-height:86vh; overflow-y:auto; padding:26px 28px;
  box-shadow:0 20px 50px -18px rgba(40,35,25,.4);
  animation:cfsSu .3s ease both;
}
.cfs-p-tit{
  font-family:'Schibsted Grotesk','Hanken Grotesk',sans-serif;
  font-size:18px; font-weight:700; color:#1e1b16; margin-bottom:5px;
}
.cfs-p-sub{font-size:13px; color:#5c554b; line-height:1.55; margin-bottom:20px}

.cfs-cat{border-top:1px solid #ece5da; padding:16px 0}
.cfs-cat:last-of-type{border-bottom:1px solid #ece5da}
.cfs-cat-h{display:flex; align-items:center; justify-content:space-between; gap:14px}
.cfs-cat-h b{
  font-family:'Schibsted Grotesk','Hanken Grotesk',sans-serif;
  font-size:14px; color:#1e1b16; font-weight:700;
}
.cfs-cat p{margin:6px 0 0; font-size:12.5px; color:#6a6357; line-height:1.55}
.cfs-sempre{font-size:12px; color:#8a8175; white-space:nowrap}

/* interruttore */
.cfs-sw{position:relative; display:inline-block; width:42px; height:24px; cursor:pointer; flex:none}
.cfs-sw input{opacity:0; width:0; height:0}
.cfs-sw span{position:absolute; inset:0; background:#d4ccc0; border-radius:24px; transition:background .18s}
.cfs-sw span:before{content:""; position:absolute; height:18px; width:18px; left:3px; top:3px;
  background:#fff; border-radius:50%; transition:transform .18s;
  box-shadow:0 1px 2px rgba(40,35,25,.25)}
.cfs-sw input:checked + span{background:#007A3D}
.cfs-sw input:checked + span:before{transform:translateX(18px)}

.cfs-p-bt{display:flex; gap:10px; margin-top:22px}
.cfs-p-bt button{flex:1; min-width:auto!important}

/* ---------- mobile ---------- */
@media(max-width:640px){
  #cfs-banner{left:12px; right:12px; bottom:12px; padding:20px; gap:18px;
    flex-direction:column; align-items:stretch}
  .cfs-b-testo{min-width:0}
  .cfs-b-bt{flex-direction:column-reverse; gap:9px}
  #cfs-banner button{width:100%; min-width:auto!important}
  .cfs-person{order:3}
}

@media (prefers-reduced-motion:reduce){
  #cfs-banner,.cfs-p{animation:none!important}
}

/* Comando permanente per rivedere le scelte: presente in ogni pagina,
   discreto ma sempre raggiungibile, anche da tastiera. */
.cfs-gestisci-auto{
  position:fixed; left:14px; bottom:14px; z-index:9990;
  background:#fff; color:#3b352d; border:1px solid #d9d1c2; border-radius:9px;
  padding:8px 13px; font-size:12px; font-weight:600; cursor:pointer;
  font-family:inherit; box-shadow:0 3px 12px rgba(0,0,0,.12); opacity:.82;
}
.cfs-gestisci-auto:hover{opacity:1; background:#f7f4ef}
.cfs-gestisci-auto:focus-visible{outline:2px solid #007A3D; outline-offset:2px; opacity:1}
@media(max-width:620px){
  .cfs-gestisci-auto{left:10px; bottom:10px; padding:7px 11px; font-size:11.5px}
}