/* Shared analytics consent controls, matching the companion website. */
.analytics-consent { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 100; display: flex; align-items: center; gap: 24px; width: min(960px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 22px; border: 1px solid #cad7d5; border-radius: 22px; color: #102f35; background: #fffdf8; box-shadow: 0 12px 50px #102f3526; }
.analytics-consent[hidden],.analytics-consent [hidden] { display: none !important; }
.analytics-consent h2 { margin: 0 0 8px; font-size: 1.15rem; letter-spacing: -.02em; line-height: 1.3; }
.analytics-consent p { margin: 0; font-size: .85rem; line-height: 1.6; }
.analytics-consent a { color: #086a73; text-decoration: underline; }
.analytics-consent .analytics-choice { margin-top: 6px; font-weight: 650; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; max-width: 330px; }
.analytics-actions button { min-height: 44px; padding: 9px 13px; border: 1px solid #102f35; border-radius: 999px; background: #102f35; color: #fff; font: inherit; font-size: .8rem; cursor: pointer; }
.analytics-settings { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.analytics-actions button:focus-visible,.analytics-settings:focus-visible { outline: 3px solid #118ba5; outline-offset: 3px; }
@media (max-width:700px) {
 .analytics-consent { display: block; padding: 18px; }
 .analytics-actions { margin-top: 14px; max-width: none; }
 .analytics-actions button { flex: 1 1 auto; }
}
