.analytics-consent-modal[hidden] { display: none; }
.analytics-consent-modal .modal-dialog { max-width: 38rem; margin-left: auto; margin-right: auto; padding: .75rem; }
.analytics-consent { background: #fff; color: #171717; border: 0; border-top: 4px solid #8a287b; border-radius: 1rem; box-shadow: 0 16px 64px #0003; }
.analytics-consent .modal-body { padding: 2rem; }
.analytics-consent h2 { font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.2; color: #171717; margin-bottom: 1rem; }
.analytics-consent p { color: #444; font-size: 1rem; line-height: 1.7; margin-bottom: .75rem; }
.analytics-privacy-link { color: #702065; text-decoration: underline; font-size: .9rem; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.analytics-consent .analytics-consent-actions button { flex: 1 1 12rem; border-color: #8a287b; min-height: 3rem; }
.analytics-consent .analytics-consent-actions button:hover { background: #f5eef5; }
.analytics-consent button, .analytics-preferences { padding: .65rem 1rem; border: 1px solid #555; border-radius: .25rem; background: #fff; color: #171717; cursor: pointer; }
.analytics-consent button:focus-visible, .analytics-preferences:focus-visible { outline: 3px solid #8a287b; outline-offset: 3px; }
.analytics-preferences { position: fixed; bottom: .5rem; left: .5rem; font-size: .8rem; z-index: 9999; }
.modal-open .analytics-preferences { visibility: hidden; }
@media (max-width: 480px) { .analytics-consent .modal-body { padding: 1.5rem; } }
