/* EmpOweR cookie consent — banner + settings panel */
.cc-banner, .cc-overlay{
  --cc-navy:#0A1526;
  --cc-navy-2:#101F36;
  --cc-ink:#F6F3EA;
  --cc-soft:#B4BCCB;
  --cc-line:rgba(226,224,214,0.18);
  --cc-yellow:#EFB93B;
  font-family:"Plus Jakarta Sans","Segoe UI",ui-sans-serif,system-ui,sans-serif;
  color:var(--cc-ink);
  -webkit-font-smoothing:antialiased;
}
.cc-banner *, .cc-overlay *{ box-sizing:border-box; }

.cc-banner{
  position:fixed; left:1rem; bottom:1rem; z-index:100;
  width:min(26rem, calc(100vw - 2rem));
  padding:1.25rem 1.25rem 1rem;
  border-radius:1.4rem;
  background:rgba(10,21,38,0.96);
  border:1px solid var(--cc-line);
  box-shadow:0 24px 60px -20px rgba(0,0,0,0.65);
  opacity:0; transform:translateY(14px);
  transition:opacity .5s cubic-bezier(.32,.72,0,1), transform .5s cubic-bezier(.32,.72,0,1);
}
.cc-banner.cc-show{ opacity:1; transform:none; }

.cc-title{ margin:0; font-size:1rem; font-weight:700; letter-spacing:-0.01em; }
.cc-text{ margin:0.55rem 0 0; font-size:0.84rem; line-height:1.55; color:var(--cc-soft); }
.cc-text a{ color:var(--cc-yellow); text-decoration:underline; text-underline-offset:2px; }

.cc-actions{ margin-top:1rem; display:grid; grid-template-columns:1fr 1fr; gap:0.6rem; }
.cc-actions-3{ grid-template-columns:1fr 1fr 1fr; margin-top:1.4rem; }

/* Reject and Accept share size and weight on purpose (equal prominence) */
.cc-btn{
  appearance:none; cursor:pointer;
  padding:0.7rem 0.9rem; border-radius:999px;
  font:inherit; font-size:0.85rem; font-weight:600; line-height:1.2;
  border:1.5px solid var(--cc-yellow);
  background:transparent; color:var(--cc-ink);
  transition:background .4s cubic-bezier(.32,.72,0,1), color .4s cubic-bezier(.32,.72,0,1), transform .4s cubic-bezier(.32,.72,0,1);
}
.cc-btn:hover{ background:rgba(239,185,59,0.14); }
.cc-btn[data-cc="accept"]{ background:var(--cc-yellow); color:var(--cc-navy); }
.cc-btn[data-cc="accept"]:hover{ background:#F5C55B; }
.cc-btn:active{ transform:scale(0.98); }

.cc-link{
  appearance:none; cursor:pointer; display:block; width:100%;
  margin-top:0.55rem; padding:0.5rem; background:none; border:0;
  font:inherit; font-size:0.82rem; font-weight:600; color:var(--cc-soft);
  text-decoration:underline; text-underline-offset:3px;
}
.cc-link:hover{ color:var(--cc-ink); }

.cc-banner button:focus-visible, .cc-overlay button:focus-visible,
.cc-banner a:focus-visible, .cc-overlay a:focus-visible,
.cc-switch input:focus-visible + .cc-track{
  outline:2px solid var(--cc-yellow); outline-offset:2px;
}

/* ---- settings panel ---- */
html.cc-lock{ overflow:hidden; }
.cc-overlay{
  position:fixed; inset:0; z-index:110;
  display:flex; align-items:center; justify-content:center; padding:1rem;
  background:rgba(6,11,21,0.72);
}
.cc-panel{
  width:min(34rem, 100%); max-height:calc(100dvh - 2rem); overflow:auto;
  padding:1.6rem;
  border-radius:1.6rem;
  background:var(--cc-navy);
  border:1px solid var(--cc-line);
  box-shadow:0 30px 80px -20px rgba(0,0,0,0.7);
}
.cc-panel-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.cc-panel-head .cc-title{ font-size:1.15rem; }
.cc-close{
  appearance:none; cursor:pointer; width:2rem; height:2rem; border-radius:999px;
  border:1px solid var(--cc-line); background:transparent; color:var(--cc-ink);
  font-size:1.3rem; line-height:1;
}
.cc-close:hover{ background:rgba(246,243,234,0.08); }

.cc-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:1.2rem;
  margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid var(--cc-line);
}
.cc-row:first-of-type{ margin-top:1.3rem; }
.cc-row-title{ font-size:0.95rem; font-weight:700; }
.cc-row-text p{ margin:0.3rem 0 0; font-size:0.82rem; line-height:1.5; color:var(--cc-soft); }

.cc-switch{ position:relative; flex-shrink:0; margin-top:0.15rem; cursor:pointer; }
.cc-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:inherit; }
.cc-track{
  display:block; width:2.75rem; height:1.55rem; border-radius:999px;
  background:rgba(246,243,234,0.16);
  transition:background .4s cubic-bezier(.32,.72,0,1);
  position:relative;
}
.cc-track::after{
  content:""; position:absolute; top:0.2rem; left:0.2rem; width:1.15rem; height:1.15rem; border-radius:999px;
  background:var(--cc-ink);
  transition:transform .4s cubic-bezier(.32,.72,0,1), background .4s cubic-bezier(.32,.72,0,1);
}
.cc-switch input:checked + .cc-track{ background:var(--cc-yellow); }
.cc-switch input:checked + .cc-track::after{ transform:translateX(1.2rem); background:var(--cc-navy); }
.cc-switch input:disabled{ cursor:not-allowed; }
.cc-switch input:disabled + .cc-track{ opacity:0.55; }
.cc-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

@media (max-width:520px){
  .cc-banner{ left:0.75rem; right:0.75rem; bottom:0.75rem; width:auto; }
  .cc-actions-3{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .cc-banner, .cc-btn, .cc-track, .cc-track::after{ transition:none; }
}
