/* ============================================================
   Modulo Consent — banner Miss Over (colori del sito)
   Palette: avorio + bordeaux + oro/rosa (coerente con style.css)
   ============================================================ */
.cc-banner{
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:var(--bg,#FFF8F6);
  border-bottom:2px solid var(--bordeaux,#5E1F2B);
  color:var(--ink,#2A2024);
  transform:translateY(-110%); transition:transform .35s ease;
  box-shadow:0 10px 40px -12px rgba(42,32,36,.35);
}
.cc-banner.cc-open{ transform:translateY(0); }

/* Overlay bloccante */
.cc-overlay{ position:fixed; inset:0; z-index:299; background:rgba(42,32,36,.55);
  backdrop-filter:blur(2px); opacity:0; visibility:hidden; transition:opacity .3s; }
.cc-overlay.cc-open{ opacity:1; visibility:visible; }
body.cc-locked{ overflow:hidden; }

.cc-inner{
  max-width:1180px; margin:0 auto; padding:1.1rem 2.5rem 1.2rem 1.25rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem;
}
@media(min-width:1024px){ .cc-inner{ padding:1.2rem 2.5rem; } }
.cc-text{ flex:1 1 100%; font-size:.92rem; line-height:1.55; color:var(--ink-soft,#6E5A5F); }
.cc-text strong{ font-family:"Playfair Display",Georgia,serif; font-size:1.15rem; color:var(--bordeaux,#5E1F2B); }
.cc-text p{ margin:.4rem 0 0; }
.cc-note{ font-size:.8rem; font-style:italic; opacity:.85; }
.cc-text a{ color:var(--gold-dark,#7B2D3B); font-weight:600; }
.cc-text a:hover{ color:var(--bordeaux,#5E1F2B); }

/* Bottone X (chiudi = accetta) */
.cc-x{ position:absolute; top:.6rem; right:.8rem; background:none; border:0;
  color:var(--ink-soft,#6E5A5F); font-size:1.8rem; line-height:1; cursor:pointer;
  padding:.1rem .4rem; transition:color .2s; }
.cc-x:hover{ color:var(--bordeaux,#5E1F2B); }
@media(min-width:640px){ .cc-x{ right:max(2.1rem, calc((100% - 1180px)/2 + 2.1rem)); } }

.cc-cats{ flex:1 1 100%; display:grid; gap:.75rem; margin-top:.25rem;
  border-top:1px solid var(--line,#EBD9DA); padding-top:.9rem; }
.cc-banner [hidden]{ display:none !important; }
@media(min-width:640px){ .cc-cats{ grid-template-columns:repeat(2,1fr); } }
.cc-cat{ display:flex; gap:.6rem; align-items:flex-start; font-size:.88rem; cursor:pointer; color:var(--ink,#2A2024); }
.cc-cat input{ margin-top:.2rem; accent-color:var(--bordeaux,#5E1F2B); width:1.05rem; height:1.05rem; }
.cc-cat small{ color:var(--ink-soft,#6E5A5F); }

.cc-actions{ display:flex; flex-wrap:wrap; gap:.6rem; flex:1 1 100%; justify-content:space-between; align-items:center; }
.cc-accept{ margin-left:auto; }
.cc-btn{ font:inherit; font-size:.88rem; font-weight:600; cursor:pointer;
  padding:.65rem 1.4rem; border-radius:50px; border:1.5px solid transparent; transition:.25s; }
/* Accetta = oro (CTA principale, come i bottoni del sito) */
.cc-accept{ background:var(--gold,#C9A24B); color:#3a2a12; }
.cc-accept:hover{ background:#b8923f; }
/* Personalizza / Salva = outline bordeaux */
.cc-reject,.cc-custom,.cc-save{ background:transparent; color:var(--bordeaux,#5E1F2B);
  border-color:var(--bordeaux,#5E1F2B); }
.cc-reject:hover,.cc-custom:hover,.cc-save:hover{ background:var(--bordeaux,#5E1F2B); color:#fff; }

/* Mobile: bottoni full-width impilati */
@media(max-width:639px){
  .cc-actions{ flex:1 1 100%; flex-direction:column; }
  .cc-btn{ width:100%; padding:.85rem 1.1rem; }
  .cc-accept{ order:1; }
  .cc-custom{ order:2; }
  .cc-save{ order:3; }
}
