/* cookie-consent.css — theme-aware, self-contained, no framework assumptions.
   Accept and reject are the same size and weight: under art. 7 of Law 195/2024
   consent must be as easy to refuse as to give. */
.cc-root{position:fixed;inset:auto 0 0 0;z-index:2147483000;display:flex;
  justify-content:center;padding:16px;pointer-events:none;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
.cc-box{pointer-events:auto;width:100%;max-width:640px;background:#fff;color:#16181d;
  border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:22px 24px;
  box-shadow:0 18px 50px rgba(0,0,0,.22);max-height:86vh;overflow-y:auto}
.cc-title{margin:0 0 8px;font-size:1.05rem;font-weight:650;line-height:1.3}
.cc-body{margin:0 0 16px;font-size:.9rem;line-height:1.6;color:#444a57}
.cc-link{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cc-cats{margin:0 0 18px;border-top:1px solid rgba(0,0,0,.08)}
.cc-cat{padding:13px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.cc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cc-cat-name{font-size:.9rem;font-weight:600}
.cc-cat-desc{margin:5px 0 0;font-size:.82rem;line-height:1.55;color:#5b6070}
.cc-always{font-size:.75rem;color:#5b6070;white-space:nowrap}
.cc-switch{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.cc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc-slider{position:absolute;inset:0;background:#c9ccd4;border-radius:999px;transition:background .18s;pointer-events:none}
.cc-slider::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;
  background:#fff;border-radius:50%;transition:transform .18s}
.cc-switch input:checked+.cc-slider{background:var(--cc-accent,#1a7f4b)}
.cc-switch input:checked+.cc-slider::before{transform:translateX(18px)}
.cc-switch input:focus-visible+.cc-slider{outline:2px solid var(--cc-accent,#1a7f4b);outline-offset:2px}
.cc-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cc-btn{font:inherit;font-size:.875rem;font-weight:550;padding:10px 18px;border-radius:10px;
  border:1px solid transparent;cursor:pointer;min-width:132px;flex:1 1 auto;
  transition:opacity .15s,background .15s}
.cc-btn:hover{opacity:.88}
.cc-btn:focus-visible{outline:2px solid var(--cc-accent,#1a7f4b);outline-offset:2px}
.cc-primary{background:var(--cc-accent,#16181d);color:#fff}
/* Accept and "essentials only" render identically — same size, same weight,
   one click each — so refusing is never the harder path (art. 7). */
.cc-choice{background:var(--cc-accent,#16181d);color:#fff}
.cc-secondary{background:transparent;color:inherit;border-color:rgba(0,0,0,.28)}
.cc-ghost{background:transparent;color:inherit;border-color:transparent;text-decoration:underline;
  text-underline-offset:2px;min-width:auto;flex:0 0 auto}
@media(max-width:560px){.cc-actions{flex-direction:column-reverse}.cc-btn{width:100%}}
@media (prefers-color-scheme:dark){
  .cc-box{background:#14171e;color:#e8eaf0;border-color:rgba(255,255,255,.14);
    box-shadow:0 18px 50px rgba(0,0,0,.55)}
  .cc-body{color:#aeb4c2}.cc-cat-desc,.cc-always{color:#9aa0b0}
  .cc-cats,.cc-cat{border-color:rgba(255,255,255,.10)}
  .cc-slider{background:#3a3f4b}
  .cc-secondary{border-color:rgba(255,255,255,.28)}
  .cc-primary,.cc-choice{background:var(--cc-accent,#e8eaf0);color:#14171e}
}
@media (prefers-reduced-motion:reduce){.cc-slider,.cc-slider::before,.cc-btn{transition:none}}
