/* Cookie controls use the device UI font; no external font requests. */
.cookie-banner { position:fixed; z-index:1000; bottom:20px; left:20px; width:min(420px,calc(100% - 40px)); max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; padding:24px; border:1px solid #35474f; border-radius:20px; background:#0d1b21; color:#f6f7f7; box-shadow:0 16px 64px #0006; font:400 14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.cookie-banner[hidden], .cookie-banner [hidden], [data-maps-notice][hidden] { display:none!important; }
.cookie-banner h2 { margin:0 0 12px; font-family:inherit; font-size:21px; line-height:1.25; font-weight:650; letter-spacing:-.025em; }
.cookie-banner p { margin:0 0 16px; color:#bbc7cc; }
.cookie-banner a, .privacy-note a, .legal-content a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.cookie-banner a { color:#edf1f3; }
.cookie-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.cookie-banner button, .maps-consent-button { min-height:46px; padding:12px 16px; border:1px solid #7f9098; border-radius:11px; background:#13252d; color:#fff; font:inherit; cursor:pointer; }
.cookie-banner button { width:100%; font-size:14px; line-height:20px; font-weight:600; white-space:nowrap; text-align:center; }
.cookie-banner [data-consent="accept"], .cookie-banner [data-consent="save"] { background:#ffbd75; border-color:#ffbd75; color:#111c21; }
.cookie-banner [data-consent="reject"] { background:#e6edef; border-color:#e6edef; color:#111c21; }
.cookie-banner [data-consent="settings"], .cookie-banner [data-consent="close"] { background:transparent; border-color:transparent; color:#d0dadd; min-height:44px; padding:10px 12px; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.cookie-banner [data-consent="accept"]:hover, .cookie-banner [data-consent="save"]:hover { background:#ffd09a; border-color:#ffd09a; }
.cookie-banner [data-consent="reject"]:hover { background:#fff; border-color:#fff; }
.cookie-banner [data-consent="settings"]:hover, .cookie-banner [data-consent="close"]:hover { background:#1b2b33; color:#fff; }
.maps-consent-button:hover { background:#28404b; }
.cookie-banner button:focus-visible, .cookie-banner input:focus-visible, [data-cookie-settings]:focus-visible, .maps-consent-button:focus-visible { outline:3px solid #ffbd75; outline-offset:3px; }
.cookie-options { border-top:1px solid #35474f; padding-top:16px; margin-bottom:16px; }
.cookie-options label { display:flex; align-items:start; gap:10px; margin:14px 0; font-size:14px; line-height:1.5; }
.cookie-options input { width:20px; height:20px; margin-top:1px; accent-color:#ffbd75; flex-shrink:0; }
.cookie-options p { font-size:12px; }
.cookie-settings-link { border:0; background:none; color:inherit; font:inherit; padding:0; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.privacy-note { grid-column:1/-1; font-size:13px; line-height:1.6; color:#abb6ba; margin:12px 0; }
.maps-consent-button { font-size:13px; margin:8px 0 0; }
.legal-content { max-width:820px; margin:60px auto 90px; padding:0 24px; line-height:1.8; }
.legal-content h1 { font-size:clamp(30px,5vw,48px); line-height:1.15; margin-bottom:20px; }
.legal-content h2 { font-size:23px; margin:32px 0 12px; line-height:1.3; }
.legal-content p, .legal-content ul { color:#c9d3d7; margin-bottom:16px; }
.legal-content li { margin:8px 0; }
.legal-draft { padding:16px; border:1px solid #ffbd75; border-radius:12px; }
@media(max-width:640px) { .cookie-banner { bottom:max(12px,env(safe-area-inset-bottom)); left:12px; width:calc(100% - 24px); max-width:420px; padding:20px; max-height:calc(100dvh - 24px - env(safe-area-inset-bottom)); border-radius:18px; } }
@media(max-width:359px) { .cookie-banner { padding:18px; } .cookie-banner button { padding-inline:10px; font-size:13px; } }
