/* --- Cookie Consent --- */
.cc-banner{
  position: fixed;
  inset: auto 0 0 0;
  z-index: 9999;
  background: #fff;
  border-top: 1px solid var(--line);
  box-shadow: 0 -10px 30px rgba(18,19,22,.06);
  padding: 14px 0;
}
.cc-inner{
  max-width:1140px; margin:0 auto; padding:0 20px;
  display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.cc-text{ margin:0; font-size: 0.9rem; color:#2a3148; }
.cc-text a{ color: var(--brand-ink); text-decoration: underline; }
.cc-actions{ display:flex; gap:10px; align-items:center; }

.cc-modal{
  position: fixed; inset:0; z-index: 10000;
  background: rgba(12,15,28,.45);
  display:grid; place-items:center;
}
.cc-dialog{
  background:#fff; color:var(--fg);
  width:min(560px, 92vw);
  border:1px solid var(--line);
  border-radius:16px; padding:18px;
  box-shadow:0 20px 70px rgba(18,19,22,.18);
  position:relative;
}
.cc-dialog h3{ margin:0 0 6px 0; }
.cc-sub{ margin:0 0 10px 0; color:var(--muted); }

.cc-list{ list-style:none; margin:12px 0; padding:0; display:grid; gap:10px; }
.cc-item{ border:1px solid var(--line); border-radius:12px; padding:12px; background:#fff; }
.cc-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cc-name{ font-weight:700; }
.cc-note{ color:var(--muted); font-size:.9rem; }

.cc-switch{ display:flex; align-items:center; gap:8px; user-select:none; }
.cc-switch input{ width:18px; height:18px; }
.cc-actions-modal{ margin-top:12px; display:flex; gap:10px; justify-content:flex-end; }

.cc-close{
  position:absolute; top:8px; right:10px; border:0; background:transparent;
  font-size:22px; line-height:1; cursor:pointer; color:#3f4654;
}

.cc-manage{
  position: fixed; left: 16px; bottom: 16px; z-index: 9998;
  border:1px solid var(--line); background:#fff; color:#1a2a5a;
  border-radius:10px; padding:10px 12px; cursor:pointer;
  box-shadow:0 6px 24px rgba(18,19,22,.06);
}
.cc-manage:hover{ background:#f8faff; }

/* Respect [hidden] for consent UI */
#cc-banner[hidden],
#cc-modal[hidden],
#cc-manage[hidden] {
  display: none !important;
}

@media (max-width: 640px){
  .cc-actions{ width:100%; justify-content:flex-end; }
}
