/* ---------- COOKIE BANNER ---------- */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:200;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  display:flex; justify-content:center;
}
.cookie-banner-in{
  width:100%; max-width:760px; display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card);
  box-shadow:0 20px 50px -16px rgba(0,0,0,0.75); padding:18px 20px;
}
.cookie-banner-text{
  flex:1 1 260px; margin:0; font-family:'Archivo', sans-serif; font-size:12.5px; line-height:1.55; color:var(--muted);
}
.cookie-banner-text a{ color:var(--acid); text-decoration:none; }
.cookie-banner-text a:hover{ text-decoration:underline; }
.cookie-banner-actions{ display:flex; flex-wrap:wrap; gap:8px; flex:0 0 auto; }

.cookie-btn{
  font-family:'Archivo', sans-serif; font-weight:700; font-size:12px; letter-spacing:.02em;
  border-radius:9px; padding:10px 16px; cursor:pointer; white-space:nowrap; border:1px solid transparent;
}
.cookie-btn-solid{ color:var(--bg); background:var(--acid); }
.cookie-btn-solid:hover{ background:var(--acid-dim); }
.cookie-btn-outline{ color:var(--text); background:transparent; border-color:var(--line); }
.cookie-btn-outline:hover{ border-color:var(--acid); color:var(--acid); }
.cookie-btn-ghost{ color:var(--muted); background:transparent; }
.cookie-btn-ghost:hover{ color:var(--text); }

.has-cookie-banner .floating-cta-wrap{ display:none; }

/* ---------- COOKIE PREFERENCES MODAL ---------- */
.cookie-modal-overlay{
  position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center;
  background:rgba(11,13,10,0.72); padding:20px;
}
.cookie-modal{
  width:100%; max-width:440px; max-height:calc(100vh - 40px); overflow-y:auto;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--card);
  padding:26px 24px; box-shadow:0 30px 70px -20px rgba(0,0,0,0.8);
}
.cookie-modal h2{
  font-family:'Anton', sans-serif; font-weight:400; font-size:20px; letter-spacing:.02em;
  text-transform:uppercase; margin:0 0 10px; color:var(--text);
}
.cookie-modal > p{ font-family:'Archivo', sans-serif; font-size:12.5px; line-height:1.6; color:var(--muted); margin:0 0 18px; }

.cookie-cat{
  border:1px solid var(--line); border-radius:12px; background:var(--bg-2); padding:14px 16px; margin:0 0 12px;
}
.cookie-cat-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 6px;
}
.cookie-cat-head span:first-child{
  font-family:'Archivo', sans-serif; font-weight:700; font-size:13px; color:var(--text);
}
.cookie-cat-locked{
  font-family:'Spline Sans Mono', monospace; font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2);
}
.cookie-cat p{ font-family:'Archivo', sans-serif; font-size:12px; line-height:1.55; color:var(--muted); margin:0; }

.cookie-toggle{ position:relative; flex:0 0 auto; width:38px; height:22px; display:block; }
.cookie-toggle input{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.cookie-toggle-track{
  position:absolute; inset:0; border-radius:100px; background:var(--card-2); border:1px solid var(--line);
  transition:background .14s ease, border-color .14s ease;
  pointer-events:none;
}
.cookie-toggle-thumb{
  position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%;
  background:var(--muted-2); transition:transform .14s ease, background .14s ease;
}
.cookie-toggle input:checked + .cookie-toggle-track{ background:color-mix(in srgb, var(--acid) 25%, var(--bg-2)); border-color:var(--acid); }
.cookie-toggle input:checked + .cookie-toggle-track .cookie-toggle-thumb{ background:var(--acid); transform:translateX(16px); }
.cookie-toggle input:focus-visible + .cookie-toggle-track{ box-shadow:0 0 0 3px color-mix(in srgb, var(--acid) 22%, transparent); }

.cookie-modal-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

@media (max-width:480px){
  .cookie-banner-in{ flex-direction:column; align-items:stretch; }
  .cookie-banner-text{ flex:0 0 auto; }
  .cookie-banner-actions{ justify-content:stretch; }
  .cookie-banner-actions .cookie-btn{ flex:1 1 auto; text-align:center; }
}
