.analytics-banner[hidden], .analytics-dialog [hidden] { display: none !important; }
.analytics-banner, .analytics-dialog { color: var(--text, #f5f5f7); background: #11191b; border: 1px solid rgba(230,245,240,.25); border-radius: 1.2rem; box-shadow: 0 1rem 4rem rgba(0,0,0,.5); font-family: inherit; font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.analytics-banner { position: fixed; z-index: 90; left: 1rem; right: 1rem; bottom: 1rem; max-width: 72rem; max-height: 65svh; overflow: auto; margin-inline: auto; padding: 1.5rem; display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; }
.analytics-banner > div:first-child { flex: 1 1 30rem; min-width: 0; }
.analytics-banner h2, .analytics-dialog h2 { margin: 0 0 .7rem; font-size: 1.3rem; line-height: 1.35; font-weight: 600; letter-spacing: -.02em; }
.analytics-banner p, .analytics-dialog p { margin: 0; color: #c4d0d0; font-size: 1rem; line-height: 1.7; }
.analytics-dialog p + p { margin-top: 1rem; }
.analytics-banner a, .analytics-dialog a { color: var(--accent, #97d7ce); text-decoration: underline; text-underline-offset: .2em; }
.analytics-dialog { width: min(calc(100% - 2rem), 38rem); max-height: 85svh; overflow: auto; padding: 2rem; }
.analytics-dialog::backdrop { background: rgba(0,0,0,.7); }
.consent-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.analytics-dialog .consent-actions { margin-top: 1.5rem; }
.consent-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1rem; border: 1px solid #819c98; border-radius: .65rem; background: transparent; color: #f1f6f5; font: inherit; cursor: pointer; }
.consent-actions button:hover { background: rgba(255,255,255,.08); }
.consent-actions button:focus-visible, .privacy-tools button:focus-visible { outline: 2px solid var(--accent, #97d7ce); outline-offset: 4px; }
.privacy-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: .875rem; line-height: 1.7; }
.privacy-tools a, .privacy-tools button { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted, #a6b2b5); }
.privacy-tools button { padding: 0; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
.privacy-tools a:hover, .privacy-tools button:hover { color: var(--accent, #97d7ce); }
footer .privacy-tools { grid-column: 1 / -1; width: 100%; padding-block: .5rem 1rem; }
@media (max-width: 600px) { .analytics-banner { padding: 1.2rem; } .analytics-dialog { padding: 1.3rem; } .consent-actions { width: 100%; } .consent-actions button { flex: 1 1 10rem; } }
