/* ==========================================================================
   COOKIE CONSENT  (scoped: .ck-cc)
   Loaded on every page. Deliberately small. Uses the theme tokens so the
   banner reads as part of the site rather than a bolted-on plugin.
   ========================================================================== */

.ck-cc{position:relative;z-index:9000}
.ck-cc *{box-sizing:border-box}

/* ---------- bottom bar ---------- */
.ck-cc__bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;
  background:rgba(8,16,15,.97);border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -18px 50px -20px rgba(0,0,0,.7);
  -webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);
  animation:ck-cc-up .42s cubic-bezier(.16,1,.3,1) both}
@keyframes ck-cc-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ck-cc__bar-in{width:100%;max-width:1320px;margin-inline:auto;padding:20px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.ck-cc__copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:5px}
.ck-cc__copy b{font-family:var(--font-display),system-ui,sans-serif;font-size:15.5px;
  font-weight:800;letter-spacing:-.015em;color:#fff}
.ck-cc__copy p{margin:0;font-family:var(--font-body),system-ui,sans-serif;
  font-size:13.5px;line-height:1.62;color:rgba(255,255,255,.6);max-width:78ch}
.ck-cc__copy a{color:#5EEAD4;text-decoration:underline;text-underline-offset:2px}
.ck-cc__acts{display:flex;flex-wrap:wrap;gap:10px;flex:none}

.ck-cc__btn{display:inline-flex;align-items:center;justify-content:center;
  padding:12px 20px;border-radius:var(--radius-button,12px);cursor:pointer;
  font-family:var(--font-body),system-ui,sans-serif;font-size:13.5px;font-weight:600;
  white-space:nowrap;border:1px solid transparent;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.ck-cc__btn--solid{background:#0F766E;color:#fff;box-shadow:0 10px 24px -8px rgba(15,118,110,.5)}
.ck-cc__btn--solid:hover{background:#115E59;transform:translateY(-1px)}
.ck-cc__btn--quiet{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.16)}
.ck-cc__btn--quiet:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.ck-cc__btn--ghost{background:transparent;color:rgba(255,255,255,.72);border-color:transparent;
  text-decoration:underline;text-underline-offset:3px}
.ck-cc__btn--ghost:hover{color:#5EEAD4}
.ck-cc__btn:focus-visible{outline:2px solid #2DD4BF;outline-offset:2px}

/* ---------- preferences dialog ---------- */
.ck-cc__scrim{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;
  justify-content:center;padding:24px;background:rgba(4,13,11,.72);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  animation:ck-cc-fade .22s ease both}
@keyframes ck-cc-fade{from{opacity:0}to{opacity:1}}
html.ck-cc-open{overflow:hidden}

.ck-cc__panel{width:100%;max-width:600px;max-height:min(86vh,760px);overflow-y:auto;
  background:#fff;border-radius:20px;border:1px solid rgba(0,0,0,.08);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.55);
  animation:ck-cc-pop .3s cubic-bezier(.16,1,.3,1) both}
@keyframes ck-cc-pop{from{transform:translateY(12px) scale(.99)}to{transform:none}}
.ck-cc__panel:focus{outline:none}
.ck-cc__head{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 24px 0}
.ck-cc__head h2{margin:0;font-family:var(--font-display),system-ui,sans-serif;
  font-size:20px;font-weight:800;letter-spacing:-.025em;color:#111827}
.ck-cc__x{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;border:1px solid #E5E7EB;background:#fff;color:#6B7280;cursor:pointer;
  flex:none;transition:background-color .2s ease,color .2s ease}
.ck-cc__x:hover{background:#F1F5F9;color:#111827}
.ck-cc__x:focus-visible{outline:2px solid #2DD4BF;outline-offset:2px}
.ck-cc__intro{margin:12px 24px 0;font-family:var(--font-body),system-ui,sans-serif;
  font-size:14px;line-height:1.68;color:#6B7280}

.ck-cc__rows{display:flex;flex-direction:column;gap:10px;padding:18px 24px 0}
.ck-cc__row{padding:16px 18px;border-radius:14px;background:#F8FAFC;border:1px solid #E5E7EB}
.ck-cc__row-t{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ck-cc__row-t label{cursor:pointer}
.ck-cc__row-t b{font-family:var(--font-display),system-ui,sans-serif;font-size:15px;
  font-weight:700;letter-spacing:-.01em;color:#111827}
.ck-cc__row p{margin:6px 0 0;font-family:var(--font-body),system-ui,sans-serif;
  font-size:13.5px;line-height:1.62;color:#6B7280}
.ck-cc__row p em{font-style:normal;font-weight:600;color:#0F766E}

/* switch */
.ck-cc__sw{position:relative;display:inline-flex;flex:none;width:46px;height:26px}
.ck-cc__sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.ck-cc__sw input:disabled{cursor:not-allowed}
.ck-cc__track{position:absolute;inset:0;border-radius:999px;background:#D1D5DB;
  transition:background-color .22s ease}
.ck-cc__track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;
  border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.24);
  transition:transform .22s cubic-bezier(.16,1,.3,1)}
.ck-cc__sw input:checked + .ck-cc__track{background:#0F766E}
.ck-cc__sw input:checked + .ck-cc__track::after{transform:translateX(20px)}
.ck-cc__sw.is-locked .ck-cc__track{background:#99F6E4}
.ck-cc__sw.is-locked input:checked + .ck-cc__track{background:#5EEAD4}
.ck-cc__sw input:focus-visible + .ck-cc__track{outline:2px solid #2DD4BF;outline-offset:2px}

.ck-cc__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:20px 24px 24px;margin-top:16px;border-top:1px solid #E5E7EB}
.ck-cc__foot>a{font-family:var(--font-body),system-ui,sans-serif;font-size:13.5px;
  font-weight:600;color:#0F766E;text-decoration:underline;text-underline-offset:3px}
.ck-cc__foot-b{display:flex;flex-wrap:wrap;gap:10px}
.ck-cc__foot .ck-cc__btn--quiet{background:#F1F5F9;color:#374151;border-color:#D1D5DB}
.ck-cc__foot .ck-cc__btn--quiet:hover{background:#E5E7EB;border-color:#9CA3AF}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .ck-cc__bar-in{padding:18px 32px;gap:18px}
}
@media (max-width:768px){
  .ck-cc__bar-in{padding:16px 24px;flex-direction:column;align-items:stretch;gap:14px}
  .ck-cc__acts{width:100%}
  .ck-cc__btn{flex:1 1 auto;padding:14px 16px}
  .ck-cc__btn--ghost{order:3;flex-basis:100%}
  .ck-cc__scrim{padding:0;align-items:flex-end}
  .ck-cc__panel{max-width:none;max-height:92vh;border-radius:20px 20px 0 0}
  .ck-cc__foot{flex-direction:column;align-items:stretch}
  .ck-cc__foot-b{width:100%}
  .ck-cc__foot .ck-cc__btn{flex:1 1 auto}
}
@media (max-width:640px){
  .ck-cc__acts{flex-direction:column}
  .ck-cc__btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .ck-cc__bar,.ck-cc__scrim,.ck-cc__panel{animation:none}
  .ck-cc__track,.ck-cc__track::after,.ck-cc__btn{transition:none}
}
