.analytics-consent[hidden], .analytics-consent [hidden] { display: none !important; }
.analytics-consent {
    position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 10000;
    max-width: 1160px; margin: 0 auto; padding: 16px 20px;
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 24px; align-items: center;
    background: #fff; color: #18181b; border: 0;
    border-radius: 12px; box-shadow: 0 6px 30px #0003;
    max-height: calc(100dvh - 32px); overflow-y: auto;
    font-size: 14px; line-height: 1.5;
}
.analytics-consent h2 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.analytics-consent p { margin: 4px 0; }
.analytics-consent-links, .analytics-consent-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.analytics-consent-links { font-size: 12px; }
.analytics-consent a { color: #1d4ed8; text-decoration: underline; }
.analytics-consent-actions button, #analytics-consent-save {
    padding: 9px 12px; background: #eff6ff; color: #1d4ed8;
    border: 0; border-radius: 6px; font: inherit; cursor: pointer; white-space: nowrap;
}
.analytics-consent-actions button:hover, #analytics-consent-save:hover { background: #dbeafe; }
.analytics-consent button:focus-visible, .analytics-consent a:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.analytics-consent button:disabled { opacity: .6; cursor: wait; }
#analytics-consent-error { color: #b91c1c; grid-column: 1 / -1; }
.analytics-consent-preferences { grid-column: 1 / -1; padding: 12px; border-radius: 8px; background: #f4f4f5; }
.analytics-consent-preferences label { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; cursor: pointer; }
.analytics-consent-preferences input { margin-top: 4px; accent-color: #2563eb; }
.analytics-consent-preferences label span span { display: block; font-size: 12px; color: #52525b; }
.analytics-consent-preferences p { font-size: 12px; margin-bottom: 10px; }
@media (max-width: 900px) {
    .analytics-consent { grid-template-columns: 1fr; gap: 10px; padding: 14px 16px; }
}
@media (max-width: 480px) {
    .analytics-consent { left: 10px; right: 10px; bottom: 10px; font-size: 13px; }
    .analytics-consent-actions { gap: 8px; }
    .analytics-consent-actions button { padding: 8px 10px; }
}
.analytics-consent-document { max-width: 850px; margin: 0 auto; padding: 32px 20px; line-height: 1.7; }
.analytics-consent-document h1 { font-size: 26px; font-weight: 700; margin-bottom: 16px; }
.analytics-consent-document p { margin: 16px 0; }
.analytics-consent-document a { color: #1d4ed8; text-decoration: underline; }
