.analytics-preferences { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: .4rem 0; border: 0; background: transparent; color: var(--teal-dark, #07545a); font: inherit; font-size: .85rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.analytics-preferences:disabled { color: var(--muted, #476071); cursor: default; text-decoration: none; }
.analytics-consent { position: fixed; z-index: 60; bottom: 1.15rem; inset-inline: max(1rem, calc((100vw - 980px) / 2)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 1.5rem; align-items: center; max-height: 55vh; overflow: auto; padding: 1.15rem 1.3rem; border: 1px solid #9ebcc4; border-radius: 9px 9px 24px 9px; background: #f2f8fa; color: #16324a; box-shadow: 0 6px 26px rgb(22 50 74 / 13%); }
.analytics-consent[hidden] { display: none; }
.analytics-consent-copy { min-width: 0; }
.analytics-consent h2 { margin: 0 0 .45rem; color: #16324a; font-family: var(--font-body, sans-serif); font-size: 1rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.analytics-consent p { margin: 0; color: #385667; font-size: .86rem; line-height: 1.55; }
.analytics-details { margin-top: .3rem; }
.analytics-details summary { display: list-item; width: fit-content; min-height: 44px; padding: .5rem 0; color: #07545a; font-size: .85rem; font-weight: 600; cursor: pointer; }
.analytics-details p { margin-bottom: .6rem; }
.analytics-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; align-self: center; }
.analytics-consent-actions button { min-width: 105px; min-height: 44px; padding: .65rem .8rem; border: 1px solid #527884; border-radius: 4px; background: #ffffff; color: #07545a; font-family: var(--font-body, sans-serif); font-size: .86rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.analytics-consent-actions button:hover { background: #e2f1ef; border-color: #07545a; }
.analytics-consent button:focus-visible, .analytics-details summary:focus-visible, .analytics-preferences:focus-visible, .analytics-consent h2:focus-visible { outline: 3px solid var(--focus, #a74d00); outline-offset: 3px; }
@media (max-width: 760px) { .analytics-consent { bottom: calc(88px + env(safe-area-inset-bottom)); inset-inline: .85rem; grid-template-columns: 1fr; gap: .75rem; padding: 1rem; max-height: min(50vh, calc(100dvh - 180px)); } .analytics-consent-actions button { min-width: 0; } }
@media print { .analytics-consent, .analytics-preferences { display: none; } }
