/* cookie-consent.css — dependency-free cookie banner. Theme with CSS variables. */
:root{--cc-bg:#141414;--cc-fg:#f4f4f4;--cc-muted:#bdbdbd;--cc-accent:#f5c400;--cc-accent-fg:#111;--cc-border:#333;--cc-radius:12px;--cc-font:inherit}
.cc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:2147483000;max-width:760px;margin:0 auto;background:var(--cc-bg);color:var(--cc-fg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:0 10px 40px rgba(0,0,0,.45);padding:18px 20px;font:15px/1.5 var(--cc-font);display:none}
.cc-banner.cc-show{display:block}
.cc-banner h2{margin:0 0 6px;font-size:17px;color:var(--cc-fg)}
.cc-banner p{margin:0 0 12px;color:var(--cc-muted)}
.cc-banner a{color:var(--cc-accent)}
.cc-actions{display:flex;flex-wrap:wrap;gap:8px}
.cc-btn{font:600 14px/1 var(--cc-font);padding:11px 16px;border-radius:8px;cursor:pointer;border:1px solid var(--cc-border);background:transparent;color:var(--cc-fg)}
.cc-btn:focus-visible,.cc-switch input:focus-visible+span{outline:3px solid var(--cc-accent);outline-offset:2px}
.cc-btn.cc-primary{background:var(--cc-accent);color:var(--cc-accent-fg);border-color:var(--cc-accent)}
.cc-prefs{display:none;margin:4px 0 14px;border-top:1px solid var(--cc-border);padding-top:10px}
.cc-banner.cc-open-prefs .cc-prefs{display:block}
.cc-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:8px 0;border-bottom:1px solid var(--cc-border)}
.cc-row:last-child{border-bottom:0}
.cc-row strong{display:block}
.cc-row small{color:var(--cc-muted)}
.cc-switch{position:relative;flex:0 0 auto}
.cc-switch input{position:absolute;opacity:0;width:44px;height:24px;margin:0;cursor:pointer}
.cc-switch span{display:block;width:44px;height:24px;border-radius:24px;background:#555;position:relative;transition:.2s}
.cc-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.cc-switch input:checked+span{background:var(--cc-accent)}
.cc-switch input:checked+span:after{left:23px;background:var(--cc-accent-fg)}
.cc-switch input:disabled+span{opacity:.6}
@media (max-width:520px){.cc-banner{left:8px;right:8px;bottom:8px;padding:16px}.cc-btn{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){.cc-switch span,.cc-switch span:after{transition:none}}
