/* ============================================================
   FENIX — cookie consent banner + preferences (self-contained)
   ============================================================ */
.fc-root{
  --fc-bg:#15151c;
  --fc-bg2:#0e0e15;
  --fc-text:#ededf2;
  --fc-muted:#9a9aa8;
  --fc-line:rgba(255,255,255,.09);
  --fc-accent:#a78bfa;
  --fc-accent-ink:#160f2b;
  --fc-accent-dim:rgba(167,139,250,.14);
  --fc-accent-border:rgba(167,139,250,.35);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
.fc-root *{box-sizing:border-box}

/* ---- bottom banner ---- */
.fc-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:4000;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;
  padding:16px 22px;
  background:rgba(15,15,22,.92);backdrop-filter:blur(14px);
  border-top:1px solid var(--fc-line);
  box-shadow:0 -18px 44px rgba(0,0,0,.4);
  transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.fc-banner.fc-show{transform:translateY(0)}
.fc-copy{flex:1 1 360px;min-width:260px;max-width:680px;color:var(--fc-muted);font-size:13px;line-height:1.6}
.fc-copy b{color:var(--fc-text)}
.fc-copy a{color:var(--fc-accent);text-decoration:none;font-weight:600}
.fc-copy a:hover{text-decoration:underline}
.fc-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}

.fc-btn{
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;
  padding:9px 16px;border-radius:999px;border:1px solid var(--fc-line);
  background:none;color:var(--fc-text);transition:border-color .15s,background .15s,color .15s;
}
.fc-btn:hover{border-color:var(--fc-accent-border)}
.fc-btn.fc-link{border-color:transparent;color:var(--fc-muted);padding:9px 10px}
.fc-btn.fc-link:hover{color:var(--fc-text)}
.fc-btn.fc-primary{background:var(--fc-accent);border-color:var(--fc-accent);color:var(--fc-accent-ink);font-weight:700}
.fc-btn.fc-primary:hover{filter:brightness(1.06)}

/* ---- preferences modal ---- */
.fc-overlay{
  position:fixed;inset:0;z-index:4100;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(6,6,10,.66);backdrop-filter:blur(4px);
}
.fc-overlay.fc-show{display:flex}
.fc-modal{
  width:100%;max-width:480px;max-height:88vh;overflow-y:auto;
  background:var(--fc-bg);border:1px solid var(--fc-line);border-radius:16px;
  box-shadow:0 40px 100px rgba(0,0,0,.6);padding:22px;
  color:var(--fc-text);
}
.fc-modal h2{margin:0 0 4px;font-size:18px}
.fc-modal .fc-sub{margin:0 0 18px;color:var(--fc-muted);font-size:13px;line-height:1.6}
.fc-modal .fc-sub a{color:var(--fc-accent);text-decoration:none}

.fc-cat{
  border:1px solid var(--fc-line);border-radius:12px;padding:14px 15px;margin-bottom:12px;background:var(--fc-bg2);
}
.fc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fc-cat-title{font-size:14px;font-weight:700}
.fc-cat-desc{margin:7px 0 0;font-size:12.5px;color:var(--fc-muted);line-height:1.55}
.fc-always{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fc-accent)}

/* toggle */
.fc-switch{position:relative;width:42px;height:24px;flex:0 0 auto}
.fc-switch input{opacity:0;width:0;height:0;position:absolute}
.fc-slider{
  position:absolute;inset:0;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.12);border:1px solid var(--fc-line);transition:background .18s;
}
.fc-slider::before{
  content:"";position:absolute;height:18px;width:18px;left:2px;top:2px;border-radius:50%;
  background:#fff;transition:transform .18s;
}
.fc-switch input:checked + .fc-slider{background:var(--fc-accent);border-color:var(--fc-accent)}
.fc-switch input:checked + .fc-slider::before{transform:translateX(18px)}
.fc-switch input:disabled + .fc-slider{opacity:.55;cursor:not-allowed}

.fc-modal-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px}

@media(max-width:560px){
  .fc-banner{flex-direction:column;align-items:stretch;gap:12px;padding:16px}
  .fc-actions{justify-content:stretch}
  .fc-actions .fc-btn{flex:1}
  .fc-actions .fc-link{flex-basis:100%;order:3}
}
