/* hc-consent.css — banner e pannello preferenze cookie (stile Harmony) */
:root{
  --cc-bg:#171119; --cc-line:#301D2A; --cc-rose:#F39BBB; --cc-rose-3:#F9DDE7;
  --cc-white:#FFF9FB; --cc-muted:#B9A6B2; --cc-dark:#211B20; --cc-bg900:#110D13;
}
.hc-cc-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:9999;
  background:rgba(23,17,25,.97); backdrop-filter:blur(14px);
  border:1px solid var(--cc-line); border-radius:16px;
  box-shadow:0 20px 60px -20px rgba(0,0,0,.7);
  animation:hc-cc-up .35s ease;
}
@keyframes hc-cc-up{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.hc-cc-inner{max-width:1080px;margin:0 auto;padding:20px 22px;display:flex;
  align-items:center;gap:22px;flex-wrap:wrap;justify-content:space-between}
.hc-cc-text{flex:1 1 380px;min-width:0}
.hc-cc-text strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.25rem;
  color:var(--cc-white);margin-bottom:4px;font-weight:600}
.hc-cc-text p{margin:0;font-size:.88rem;line-height:1.55;color:var(--cc-muted)}
.hc-cc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hc-cc-btn{font-family:'Manrope',system-ui,sans-serif;font-weight:700;font-size:.86rem;
  padding:11px 18px;border-radius:11px;cursor:pointer;border:1px solid transparent;
  transition:filter .2s,border-color .2s,color .2s;white-space:nowrap}
.hc-cc-btn.solid{background:var(--cc-rose);color:var(--cc-dark);border-color:var(--cc-rose)}
.hc-cc-btn.solid:hover{filter:brightness(1.05)}
.hc-cc-btn.ghost{background:transparent;color:var(--cc-muted);border-color:var(--cc-line)}
.hc-cc-btn.ghost:hover{border-color:var(--cc-rose);color:var(--cc-rose)}

/* modal preferenze */
.hc-cc-modal{position:fixed;inset:0;z-index:10000;background:rgba(10,7,11,.72);
  backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;
  padding:20px;animation:hc-cc-fade .25s ease}
@keyframes hc-cc-fade{from{opacity:0}to{opacity:1}}
.hc-cc-box{width:100%;max-width:520px;background:var(--cc-bg);border:1px solid var(--cc-line);
  border-radius:18px;padding:28px;max-height:90vh;overflow:auto}
.hc-cc-box h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;
  color:var(--cc-white);margin:0 0 6px}
.hc-cc-box-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.hc-cc-policy{font-size:.8rem;color:var(--cc-rose-3);text-decoration:underline;white-space:nowrap}
.hc-cc-policy:hover{color:var(--cc-rose)}
.hc-cc-quick{display:flex;gap:10px;margin:16px 0 4px;flex-wrap:wrap}
.hc-cc-quick .hc-cc-btn{flex:1 1 auto}
.hc-cc-cats{margin-top:8px}
.hc-cc-sub{font-size:.9rem;color:var(--cc-muted);line-height:1.55;margin:0 0 20px}
.hc-cc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 0;border-top:1px solid var(--cc-line)}
.hc-cc-row b{display:block;color:var(--cc-white);font-size:.98rem;margin-bottom:2px}
.hc-cc-row span{display:block;font-size:.82rem;color:var(--cc-muted);line-height:1.45}
.hc-cc-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}

/* switch */
.hc-cc-sw{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 46px}
.hc-cc-sw input{opacity:0;width:0;height:0}
.hc-cc-sw span{position:absolute;inset:0;background:var(--cc-bg900);border:1px solid var(--cc-line);
  border-radius:999px;transition:.2s;cursor:pointer}
.hc-cc-sw span::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;
  background:var(--cc-muted);border-radius:50%;transition:.2s}
.hc-cc-sw input:checked + span{background:rgba(243,155,187,.25);border-color:var(--cc-rose)}
.hc-cc-sw input:checked + span::before{transform:translateX(20px);background:var(--cc-rose)}
.hc-cc-sw.disabled span{opacity:.6;cursor:not-allowed}
.hc-cc-sw.disabled input:checked + span{background:rgba(243,155,187,.18)}

@media(max-width:600px){
  .hc-cc-inner{padding:16px}
  .hc-cc-actions{width:100%}
  .hc-cc-btn{flex:1 1 auto;text-align:center}
  .hc-cc-box{padding:22px}
}
