/* KAVAK cookie banner. Same structure as cleartora.com, KAVAK look: black panel,
   acid accent, Barlow Condensed headings. Uses the theme tokens when present. */
#kavak-consent{--kc-acid:var(--acid,#f2ff00);--kc-bg:var(--bg,#080b0a);--kc-line:var(--line,#38403b);--kc-muted:var(--muted,#b7bbb7)}
.kc-banner{position:fixed;z-index:50;left:24px;right:24px;bottom:24px;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:18px 40px;align-items:end;padding:26px 28px;background:var(--kc-bg);color:#eee;border:1px solid var(--kc-line);border-top:3px solid var(--kc-acid);box-shadow:0 20px 60px rgba(0,0,0,.6);font-family:Barlow,Arial,sans-serif;font-size:14px}
.kc-banner[hidden],.kc-settings[hidden],.kc-options[hidden],.kc-error[hidden]{display:none}
.kc-kicker{font:700 12px Condensed,sans-serif;letter-spacing:.18em;color:var(--kc-acid);margin:0 0 6px}
.kc-banner h2{font:700 clamp(24px,2.4vw,34px)/1 Condensed,sans-serif;text-transform:uppercase;color:#fff;margin:0 0 10px}
.kc-banner h2:focus{outline:none}
.kc-banner p{margin:0;line-height:1.5;color:var(--kc-muted);max-width:68ch}
.kc-banner a{color:var(--kc-acid);text-decoration:underline;text-underline-offset:3px}
.kc-toggle{margin-top:12px;padding:0;background:none;border:0;color:#fff;font:700 13px Condensed,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.kc-options{grid-column:1/-1;display:grid;gap:14px;border-top:1px solid var(--kc-line);padding-top:16px}
.kc-options fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.kc-options legend{font:700 13px Condensed,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.kc-option{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 14px;border:1px solid var(--kc-line);cursor:pointer}
.kc-option.is-locked{cursor:default;opacity:.8}
.kc-option strong{display:block;font:700 15px Condensed,sans-serif;text-transform:uppercase;color:#fff}
.kc-option small{display:block;color:var(--kc-muted);line-height:1.4;margin-top:2px}
.kc-switch{position:relative;flex:none;width:46px;height:26px}
.kc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}
.kc-switch i{position:absolute;inset:0;border:1px solid var(--kc-line);background:#151a17;transition:background .15s}
.kc-switch i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--kc-muted);transition:transform .15s,background .15s}
.kc-switch input:checked+i{background:var(--kc-acid);border-color:var(--kc-acid)}
.kc-switch input:checked+i::after{transform:translateX(20px);background:#050900}
.kc-switch input:focus-visible+i{outline:2px solid var(--kc-acid);outline-offset:3px}
.kc-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.kc-error{flex-basis:100%;color:#ffb4a8;font-size:13px}
.kc-btn{min-height:47px;min-width:150px;padding:12px 22px;font:18px Condensed,sans-serif;text-transform:uppercase;cursor:pointer;border:1px solid var(--kc-acid)}
.kc-btn-primary{background:var(--kc-acid);color:#050900}
.kc-btn-primary:hover{background:#dce900}
.kc-btn-ghost{background:transparent;color:var(--kc-acid)}
.kc-btn-ghost:hover{background:rgba(242,255,0,.1)}
.kc-options .kc-btn{justify-self:start}
.kc-btn:focus-visible,.kc-toggle:focus-visible,.kc-settings:focus-visible{outline:2px solid var(--kc-acid);outline-offset:4px}
.kc-settings{position:fixed;z-index:49;left:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:var(--kc-bg);color:var(--kc-acid);border:1px solid var(--kc-line);cursor:pointer;transition:border-color .15s}
.kc-settings:hover{border-color:var(--kc-acid)}
.kc-settings svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  .kc-banner{left:12px;right:12px;bottom:12px;grid-template-columns:1fr;padding:20px 18px;max-height:calc(100vh - 24px);overflow:auto}
  .kc-actions{justify-content:stretch}
  .kc-actions .kc-btn{flex:1 1 0;min-width:0}
}
@media (prefers-reduced-motion:reduce){.kc-switch i,.kc-switch i::after,.kc-settings{transition:none}}
@media print{#kavak-consent{display:none}}
