.analytics-consent[hidden], .analytics-settings[hidden], .analytics-consent button[hidden] { display: none; }
.analytics-consent { position: fixed; z-index: 90; bottom: 16px; left: 16px; right: 16px; max-width: 820px; margin: auto; padding: 18px 22px; border: 1px solid #cbd9e5; border-radius: 12px; background: #fff; color: #18384f; box-shadow: 0 6px 32px #15334f26; font: 14px/1.7 system-ui, sans-serif; }
.analytics-consent p { margin: 0; font: inherit; color: inherit; }
.analytics-consent p + p { margin-top: 4px; font-size: 12px; }
.analytics-consent a { color: #225f94; text-decoration: underline; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.analytics-consent button { min-height: 42px; border: 1px solid #527089; border-radius: 6px; padding: 7px 18px; background: white; color: #18384f; font: inherit; cursor: pointer; }
.analytics-consent button[data-consent="accept"] { background: #225f94; border-color: #225f94; color: white; }
.analytics-settings { border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 8px; }
.analytics-consent button:focus-visible, .analytics-settings:focus-visible { outline: 3px solid #5895c6; outline-offset: 3px; }
@media (max-width: 480px) { .analytics-consent { bottom: 8px; left: 8px; right: 8px; padding: 14px 16px; max-height: 65vh; overflow-y: auto; } }
