.consent-banner,.consent-dialog{--consent-bg:#fff;--consent-text:#1e293b;--consent-line:#94a3b8;--consent-button:#1a365d;--consent-link:#9a4b00;--consent-focus:#92400e;color:var(--consent-text);background:var(--consent-bg);font:400 1rem/1.5 system-ui,sans-serif}
[data-theme="dark"] .consent-banner,[data-theme="dark"] .consent-dialog{--consent-bg:#1e293b;--consent-text:#f8fafc;--consent-line:#94a3b8;--consent-button:#0f172a;--consent-link:#fbbf24;--consent-focus:#fbbf24}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .consent-banner,:root:not([data-theme="light"]) .consent-dialog{--consent-bg:#1e293b;--consent-text:#f8fafc;--consent-line:#94a3b8;--consent-button:#0f172a;--consent-link:#fbbf24;--consent-focus:#fbbf24}}
.consent-banner{position:fixed;z-index:10000;inset:auto 0 0;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));border-top:2px solid var(--consent-line);box-shadow:0 -4px 20px #0003}
.consent-banner[hidden]{display:none}.consent-banner p{margin:0 0 12px}.consent-banner a,.consent-dialog a{color:var(--consent-link);text-decoration:underline}
body.consent-open{padding-bottom:var(--consent-h,0px)}
.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.consent-actions button{flex:1 1 140px;min-height:44px;padding:8px 12px;border:2px solid var(--consent-line);border-radius:8px;background:var(--consent-bg);color:var(--consent-text);font:700 1rem system-ui,sans-serif;cursor:pointer}
.consent-actions button:hover{border-color:var(--consent-link)}.consent-actions button:focus-visible,.consent-dialog input:focus-visible,[data-cookie-settings]:focus-visible{outline:3px solid var(--consent-focus);outline-offset:3px}
.consent-dialog{position:fixed;inset:0;margin:auto;width:min(92vw,540px);max-height:90vh;overflow:auto;padding:24px;border:2px solid var(--consent-line);border-radius:12px;box-shadow:0 20px 60px #0006}
.consent-dialog::backdrop{background:#0009}.consent-dialog h2{color:var(--consent-text);margin:0 0 12px}.consent-dialog p{margin:0 0 16px}.consent-dialog label{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--consent-line);cursor:pointer}.consent-dialog label input{width:24px;height:24px;flex:none;accent-color:var(--consent-button)}
[data-cookie-settings]{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
@media(min-width:700px){.consent-banner{display:flex;align-items:center;gap:24px}.consent-banner p{flex:1;margin:0}.consent-banner .consent-actions{flex:1}}
@media(max-width:699px){.consent-banner{padding:8px 12px max(8px,env(safe-area-inset-bottom));font-size:.82rem;line-height:1.3}.consent-banner p{margin:0 0 5px}.consent-banner p br{display:none}.consent-actions{flex-wrap:nowrap;gap:5px}.consent-actions button{flex:1 1 0;min-width:0;min-height:44px;padding:5px 2px;font-size:.75rem;line-height:1.1}}
@media(max-width:699px){body.consent-open .hero{min-height:calc(100vh - var(--consent-h,0px))}}
@media(prefers-reduced-motion:reduce){.consent-banner,.consent-dialog{scroll-behavior:auto}}
