/* ===== Cookie Consent Banner ===== */
#cookie-consent{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:#0E1A2B;color:#e8edf4;
  padding:20px 24px;
  box-shadow:0 -10px 40px -10px rgba(0,0,0,.4);
  display:none;
  font-family:'Inter',-apple-system,sans-serif;
}
#cookie-consent.show{display:block}
.cc-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
}
.cc-text{flex:1;min-width:280px;font-size:14px;line-height:1.55;color:#c8d2e0}
.cc-text strong{color:#fff;font-weight:600;display:block;margin-bottom:3px;font-size:15px}
.cc-text a{color:#6f9bff;text-decoration:underline}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap}
.cc-btn{
  font-family:inherit;font-weight:600;font-size:14px;padding:11px 20px;border-radius:8px;
  cursor:pointer;border:none;transition:.15s;white-space:nowrap;
}
.cc-accept{background:#2F6BFF;color:#fff}
.cc-accept:hover{background:#1D4FD8}
.cc-reject{background:transparent;color:#e8edf4;border:1.5px solid rgba(255,255,255,.25)}
.cc-reject:hover{border-color:#fff}
.cc-settings{background:transparent;color:#9fb3d4;border:none;text-decoration:underline;padding:11px 8px}
.cc-settings:hover{color:#fff}

/* preferences modal */
#cc-modal{
  position:fixed;inset:0;z-index:10000;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(14,26,43,.6);backdrop-filter:blur(4px);
}
#cc-modal.show{display:flex}
.cc-modal-box{
  background:#fff;border-radius:16px;max-width:520px;width:100%;
  padding:32px;max-height:85vh;overflow-y:auto;
  font-family:'Inter',sans-serif;
}
.cc-modal-box h3{font-family:'Space Grotesk',sans-serif;font-size:22px;color:#0E1A2B;margin:0 0 8px}
.cc-modal-box>p{font-size:14.5px;color:#5A6675;line-height:1.55;margin:0 0 22px}
.cc-row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:16px 0;border-top:1px solid #e2e0d8;
}
.cc-row .cc-row-text{flex:1}
.cc-row .cc-row-text strong{display:block;font-size:15px;color:#0E1A2B;margin-bottom:3px}
.cc-row .cc-row-text span{font-size:13px;color:#5A6675;line-height:1.5}
.cc-toggle{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px}
.cc-toggle input{opacity:0;width:0;height:0}
.cc-slider{
  position:absolute;inset:0;background:#cbd2dc;border-radius:24px;cursor:pointer;transition:.2s;
}
.cc-slider::before{
  content:'';position:absolute;height:18px;width:18px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s;
}
.cc-toggle input:checked + .cc-slider{background:#2F6BFF}
.cc-toggle input:checked + .cc-slider::before{transform:translateX(20px)}
.cc-toggle input:disabled + .cc-slider{background:#2F6BFF;opacity:.5;cursor:not-allowed}
.cc-modal-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.cc-modal-actions .cc-btn{flex:1;justify-content:center;text-align:center}

/* floating re-open button */
#cc-reopen{
  position:fixed;bottom:18px;left:18px;z-index:9998;
  width:42px;height:42px;border-radius:50%;background:#0E1A2B;border:1px solid rgba(255,255,255,.15);
  cursor:pointer;display:none;align-items:center;justify-content:center;
  box-shadow:0 6px 18px -6px rgba(0,0,0,.4);
}
#cc-reopen.show{display:flex}
#cc-reopen svg{width:20px;height:20px;stroke:#9fb3d4;fill:none;stroke-width:2}
#cc-reopen:hover svg{stroke:#fff}

@media(max-width:680px){
  .cc-inner{flex-direction:column;align-items:stretch;gap:16px}
  .cc-actions{justify-content:stretch}
  .cc-actions .cc-btn{flex:1;text-align:center;justify-content:center}
  #cookie-consent{padding:18px 16px}
  /* lift above mobile sticky CTA */
  #cc-reopen{bottom:78px}
}
