.cookie-dialog { position:fixed; left:50%; bottom:12px; transform:translateX(-50%); z-index:10010; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; width:max-content; max-width:min(860px,calc(100% - 32px)); max-height:70dvh; overflow:auto; box-sizing:border-box; padding:10px 14px; border:1px solid #ffffff26; border-radius:12px; background:rgba(10,27,40,.94); backdrop-filter:blur(12px); color:#edf0f4; font:12px/1.6 system-ui,sans-serif; }
.cookie-dialog[hidden], .cookie-dialog [hidden] { display:none !important; }
.cookie-dialog p { margin:0; }
.cookie-dialog .cookie-summary { flex:1 1 400px; }
.cookie-dialog a { color:#ffb47d; text-decoration:underline; }
.cookie-actions { display:flex; align-items:center; gap:8px; }
.cookie-actions button { min-height:36px; padding:6px 12px; border:1px solid #ffffff60; border-radius:7px; background:transparent; color:#fff; cursor:pointer; font:inherit; white-space:nowrap; }
.cookie-actions button:hover { background:#ffffff12; }
.cookie-actions button[data-cookie-expand] { display:inline-flex; align-items:center; justify-content:center; width:36px; padding:7px; }
.cookie-dialog :focus-visible { outline:2px solid #ffb47d; outline-offset:3px; }
.cookie-details { flex-basis:100%; }
.cookie-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; }
.cookie-options p { color:#aebcc7; }
.cookie-options label { display:inline-flex; align-items:center; gap:8px; min-height:36px; cursor:pointer; }
.cookie-options input { appearance:none; -webkit-appearance:none; width:30px; height:18px; margin:0; border:1px solid #7b8b98; border-radius:20px; background:#394956; cursor:pointer; position:relative; flex-shrink:0; }
.cookie-options input::after { content:""; position:absolute; top:2px; left:2px; width:12px; height:12px; border-radius:50%; background:#fff; transition:transform .15s; }
.cookie-options input:checked { background:#a64c0c; border-color:#f09a58; }
.cookie-options input:checked::after { transform:translateX(12px); }
.cookie-options span, .cookie-note { display:none; }
.cookie-dialog:has(.cookie-details:not([hidden])) { display:grid; grid-template-columns:1fr auto; width:760px; }
.cookie-dialog:has(.cookie-details:not([hidden])) .cookie-summary { grid-column:1 / -1; padding-bottom:8px; border-bottom:1px solid #ffffff18; }
.cookie-dialog:has(.cookie-details:not([hidden])) .cookie-details { grid-column:1; grid-row:2; }
.cookie-dialog:has(.cookie-details:not([hidden])) .cookie-actions { grid-column:2; grid-row:2; }
.cookie-dialog:has(.cookie-details:not([hidden])) [data-choice="accept"] { display:none; }
.legal-links button { border:0; background:none; padding:0; color:#777; font:inherit; cursor:pointer; }
.legal-links button:hover { color:#aaa; text-decoration:underline; }
.legal-links button:focus-visible { outline:2px solid #ff6600; outline-offset:5px; }
@media(max-width:600px) {
 .cookie-dialog { width:calc(100% - 24px); max-width:calc(100% - 24px); bottom:calc(8px + env(safe-area-inset-bottom)); }
 .cookie-dialog .cookie-summary { flex-basis:100%; }
 .cookie-dialog:has(.cookie-details:not([hidden])) { width:calc(100% - 24px); grid-template-columns:1fr; }
 .cookie-dialog:has(.cookie-details:not([hidden])) .cookie-actions { grid-column:1; grid-row:3; justify-content:flex-end; }
 .cookie-options { gap:8px 16px; }
 .cookie-options p { flex-basis:100%; }
 .cookie-actions button, .cookie-options label { min-height:40px; }
}

/* Isolate consent switches from the site's general input sizing rules. */
.cookie-dialog .cookie-options input[type="checkbox"] { display:inline-block; box-sizing:border-box; width:30px; min-width:30px; max-width:30px; height:18px; min-height:18px; max-height:18px; padding:0; margin:0; flex:0 0 30px; border-radius:20px; box-shadow:none; }
.cookie-dialog .cookie-options .cookie-required { cursor:default; color:#b8c3cd; }
.cookie-dialog .cookie-options input[type="checkbox"]:disabled { opacity:.75; cursor:not-allowed; }
