/* Shared with standalone legal pages. Banner is a compact, full-width bottom bar. */
.consent-banner-space { height:var(--consent-banner-space,0px); pointer-events:none; }
.consent-banner-space[hidden] { display:none; }
html.consent-banner-visible { scroll-padding-bottom:var(--consent-banner-space,0px); }
.consent-panel { box-sizing:border-box; color:#f0eee6; background:#181d1e; border:1px solid #ffffff38; border-radius:16px; padding:24px; font:14px/1.6 Inter,Arial,sans-serif; box-shadow:0 12px 60px #0008; }
.consent-panel[hidden] { display:none; }
#cookie-banner { position:fixed; z-index:30; inset:auto 0 0; width:100%; max-width:none; margin:0; border:0; border-top:1px solid #ffffff38; border-radius:0; padding:28px max(32px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left)); display:flex; align-items:center; justify-content:space-between; gap:24px; }
#cookie-banner .consent-copy { min-width:0; }
#cookie-banner { background:rgba(24,29,30,.88); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
#cookie-banner h2 { font-size:20px; }
#cookie-banner p { margin:8px 0 0; font-size:15px; }
#cookie-banner .consent-actions { flex-shrink:0; margin:0; flex-wrap:nowrap; }
#cookie-banner .consent-actions button { flex:0 0 auto; min-height:48px; padding:12px 24px; font-size:15px; }
#cookie-banner[hidden] { display:none; }
.consent-panel [data-consent-accept] { background:#c5dbed; border-color:#c5dbed; color:#101719; font-weight:650; }
.consent-panel [data-consent-accept]:hover { background:#deecf7; }
#cookie-banner [data-consent-open] { background:transparent; border-color:#ffffff38; }
.consent-panel h2 { margin:0; font:600 20px/1.3 Inter,Arial,sans-serif; letter-spacing:-.02em; text-transform:none; }
.consent-panel p { margin:10px 0 16px; color:#c6cbc6; }
.consent-panel a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.consent-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.consent-panel button { appearance:none; min-height:44px; padding:10px 16px; border:1px solid #ffffff50; border-radius:8px; background:#242c2e; color:#f0eee6; font:500 14px/1.4 Inter,Arial,sans-serif; cursor:pointer; }
.consent-actions button { flex:1 1 140px; }
.consent-panel button:hover { background:#354045; }
.consent-panel :focus-visible, .cookie-settings:focus-visible { outline:2px solid #c5dbed; outline-offset:4px; }
#cookie-preferences { height:auto; width:calc(100% - 32px); max-width:620px; max-height:calc(100svh - 48px); overflow:auto; margin:auto; }
#cookie-preferences::backdrop { background:#0009; }
.consent-heading { display:flex; gap:16px; justify-content:space-between; align-items:center; }
.consent-category { border-top:1px solid #ffffff26; padding-top:16px; margin-top:16px; }
.consent-category label { display:flex; align-items:center; gap:10px; cursor:pointer; min-height:44px; }
.consent-category input { width:20px; height:20px; accent-color:#8eabc5; }
.cookie-settings { padding:0; border:0; background:none; color:inherit; font:inherit; text-decoration:none; cursor:pointer; }
.cookie-settings[hidden] { display:none; }
.consent-status { position:fixed; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:480px) { .consent-panel { padding:18px; } .consent-panel h2 { font-size:18px; } .consent-actions { gap:8px; } .consent-actions button { flex-basis:100%; } #cookie-banner { max-height:65svh; overflow:auto; } }
.footer-legal nav { flex-wrap:wrap; }

@media(max-width:700px) {
  #cookie-banner { padding:20px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); flex-direction:column; align-items:stretch; gap:16px; max-height:50svh; overflow:auto; }
  #cookie-banner .consent-actions button { flex:1 1 0; padding:10px 8px; }
}

#cookie-analytics-state { margin:4px 0 12px; font-size:13px; color:#b9d1e7; }
