.analytics-consent { position: fixed; z-index: 2000; bottom: 0; left: 0; right: 0; padding: 22px max(3%, calc((100vw - 1200px)/2)); max-height: 55vh; overflow-y: auto; background: var(--soft); color: var(--navy); border-top: 3px solid var(--gold); box-shadow: 0 -8px 30px rgba(7,27,51,.15); }
.analytics-consent[hidden], .analytics-consent button[hidden], [data-analytics-preferences][hidden] { display: none; }
.analytics-consent h2 { font-size: 1.5rem; margin: 0 0 10px; }
.analytics-consent p { font-size: 1rem; line-height: 1.5; margin-bottom: 10px; }
.analytics-consent a { text-decoration: underline; text-underline-offset: 3px; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.consent-actions button { min-width: 130px; min-height: 44px; padding: 10px 20px; border: 2px solid var(--navy); border-radius: 24px; background: var(--navy); color: white; font: inherit; font-weight: 700; cursor: pointer; }
.analytics-consent a:focus-visible, .consent-actions button:focus-visible { outline: 3px solid var(--navy); outline-offset: 4px; }
.site-footer .analytics-preferences { display: block; margin-top: 12px; padding: 8px 0; min-height: 44px; color: inherit; background: none; border: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.site-footer .analytics-preferences:focus-visible { outline: 3px solid var(--gold2); outline-offset: 4px; }
body.bp-consent-visible { padding-bottom: var(--consent-space, 320px); }
@media (max-width:600px) { .analytics-consent { padding: 18px; } .consent-actions button { flex: 1 1 120px; } }
