/* Cookie consent banner (js/cookie-consent.js). Tokens flip with data-vs-theme. Accept and Deny are the
   same size and weight on purpose: neither choice is visually favoured. */
#vs-consent {
    position: fixed; z-index: 2000;
    left: 50%; bottom: 20px; width: min(560px, calc(100% - 32px));
    display: flex; align-items: center; gap: 18px;
    padding: 16px 18px; box-sizing: border-box;
    background: color-mix(in srgb, var(--vs-carbon, #0f1115) 94%, transparent);
    color: var(--vs-ink, #e8ecf4);
    border: 1px solid var(--vs-hair-3, rgba(255,255,255,.18)); border-radius: 14px;
    box-shadow: 0 24px 60px -20px rgba(0,0,0,.6);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    font: 13.5px/1.45 var(--vs-body, system-ui, sans-serif);
    transform: translate(-50%, 24px); opacity: 0; transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .28s;
}
#vs-consent.vsc-in { transform: translate(-50%, 0); opacity: 1; }
#vs-consent.vsc-out { transform: translate(-50%, 24px); opacity: 0; }
#vs-consent .vsc-text { flex: 1; min-width: 0; }
#vs-consent strong { display: block; font: 700 14px var(--vs-display, inherit); letter-spacing: -.01em; margin-bottom: 3px; }
#vs-consent p { margin: 0; color: var(--vs-ink-2, #aab2c3); }
#vs-consent a { color: var(--vs-ink, #e8ecf4); text-decoration: underline; text-underline-offset: 3px; }
#vs-consent .vsc-actions { display: flex; gap: 8px; flex: none; }
#vs-consent .vsc-btn {
    box-sizing: border-box; width: 88px; height: 40px; border-radius: var(--vs-radius, 6px); cursor: pointer;
    font: 600 13px var(--vs-body, inherit); color: var(--vs-ink, #e8ecf4);
    background: transparent; border: 1px solid var(--vs-hair-3, rgba(255,255,255,.22));
    transition: border-color .18s, background .18s, transform .15s;
}
#vs-consent .vsc-btn:hover { border-color: var(--vs-platinum-2, #8a93a8); background: color-mix(in srgb, var(--vs-ink, #fff) 7%, transparent); transform: translateY(-1px); }
#vs-consent .vsc-btn:focus-visible { outline: 2px solid var(--vs-indigo, #5B4DFF); outline-offset: 2px; }
#vs-consent .vsc-primary { background: var(--vs-amber, #FF8A1F); border-color: transparent; color: #1B0A00; }
:root[data-vs-theme="light"] #vs-consent .vsc-primary { background: #0a0a0a; color: #fff; }
#vs-consent .vsc-primary:hover { background: var(--vs-amber, #FF8A1F); filter: brightness(1.06); }
:root[data-vs-theme="light"] #vs-consent .vsc-primary:hover { background: #1f1f1f; filter: none; }

@media (max-width: 560px) {
    #vs-consent { bottom: 0; width: 100%; border-radius: 16px 16px 0 0; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); }
    #vs-consent .vsc-actions { display: grid; grid-template-columns: 1fr 1fr; }
    #vs-consent .vsc-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { #vs-consent, #vs-consent .vsc-btn { transition: none; } }
