/* ============ COOKIE CONSENT ============
   Sits above the page but below nothing else the homepage opens. The backdrop
   only dims: the choice is required before any tracker runs, but the page
   behind stays readable so the visitor knows what they are agreeing to. */
.consent{
  position:fixed; inset:0; z-index:400;
  display:none; align-items:flex-end; justify-content:center;
  padding:16px;
  background:rgba(4,5,8,.55);
  font-family: Inter, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color:#f4f4f5;
}
.consent.is-open{ display:flex; }
@media (min-width:720px){ .consent{ padding:24px 24px 32px; } }

.consent__card{
  width:min(520px, 100%);
  max-height:calc(100% - 8px); overflow:auto;
  padding:22px;
  border-radius:16px;
  background:#15171c;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 60px rgba(0,0,0,.6);
  animation:consentIn .4s cubic-bezier(.16,1,.3,1) both;
}
@keyframes consentIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .consent__card{ animation:none; } }

.consent__head{ display:flex; align-items:center; gap:10px; }
.consent__icon{ width:26px; height:26px; flex:none; color:#10B981; }
.consent__title{ font-size:17px; font-weight:600; letter-spacing:-.015em; line-height:1.3; }
.consent__lead{ margin-top:9px; font-size:14px; line-height:1.6; color:#b4b6bd; }
.consent__lead a{ color:#f4f4f5; text-decoration:underline; text-underline-offset:2px; }

.consent__actions{
  margin-top:18px;
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
}
.consent__actions .consent__btn--primary{ grid-column:1 / -1; }
@media (min-width:480px){
  .consent__actions{ grid-template-columns:auto auto 1fr; }
  .consent__actions .consent__btn--primary{ grid-column:auto; }
}
.consent__btn{
  min-height:44px; padding:0 16px;
  border-radius:11px; cursor:pointer;
  font:inherit; font-size:14px; font-weight:600;
  border:1px solid rgba(255,255,255,.14);
  background:#23262d; color:#f4f4f5;
  transition:filter .16s ease, background .16s ease;
}
.consent__btn:hover{ filter:brightness(1.15); }
.consent__btn--primary{ background:#10B981; border-color:transparent; color:#04150f; }
.consent__btn:focus-visible,
.consent__switch input:focus-visible + .consent__track{ outline:2px solid #10B981; outline-offset:3px; }

/* ----- Manage view: one row per category ----- */
.consent__prefs{ margin-top:16px; display:flex; flex-direction:column; gap:2px; }
.consent__prefs[hidden], .consent__actions[hidden]{ display:none; }
.consent__row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.consent__row h3{ font-size:14px; font-weight:600; }
.consent__row p{ margin-top:3px; font-size:13px; line-height:1.55; color:#9fa2aa; }
.consent__always{ flex:none; font-size:12.5px; color:#9fa2aa; padding-top:2px; white-space:nowrap; }

.consent__switch{ position:relative; flex:none; cursor:pointer; margin-top:1px; }
.consent__switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.consent__track{
  display:block; width:42px; height:24px; border-radius:999px;
  background:#3a3d45;
  transition:background .18s ease;
}
.consent__track::after{
  content:""; position:absolute; top:3px; left:3px;
  width:18px; height:18px; border-radius:50%;
  background:#fff;
  transition:transform .18s ease;
}
.consent__switch input:checked + .consent__track{ background:#10B981; }
.consent__switch input:checked + .consent__track::after{ transform:translateX(18px); }

.consent__save{ margin-top:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.consent__save[hidden]{ display:none; }

/* Reopen link, for pages that want to offer "Cookie settings" in a footer. */
.consent-link{ background:none; border:0; padding:0; font:inherit; color:inherit; text-decoration:underline; cursor:pointer; }
