#analytics-consent[hidden],
#analytics-settings[hidden] {
    display: none;
}

.analytics-consent {
    position: fixed;
    z-index: 80;
    inset-inline-start: max(12px, env(safe-area-inset-left));
    inset-block-end: max(16px, env(safe-area-inset-bottom));
    width: min(23rem, calc(100% - 24px));
    max-height: 60vh;
    overflow: auto;
    padding: 1rem;
    border: 1px solid #c0dfff;
    border-radius: 14px;
    box-shadow: 0 8px 28px #11417326;
    background: #fff;
    color: #070707;
}

.analytics-consent h2 {
    margin: 0 0 .4rem;
    color: #114173;
    font-size: 1rem;
    line-height: 1.3;
}

.analytics-consent p {
    margin: 0 0 .8rem;
    font-size: .875rem;
    line-height: 1.5;
}

.cookie-options {
    margin: 0 0 .8rem;
    padding: .25rem .6rem .4rem;
    border: 1px solid #c0dfff;
    border-radius: 8px;
    font-size: .875rem;
}

.cookie-options legend { padding: 0 .25rem; color: #114173; }
.cookie-options label { display: flex; align-items: flex-start; gap: .5rem; padding: .35rem 0; cursor: pointer; }
.cookie-options input { flex: none; margin: .35rem 0 0; accent-color: #114173; }
.cookie-options small { display: block; font-size: .8rem; line-height: 1.35; }

.analytics-consent__actions,
.analytics-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .75rem;
    align-items: center;
}

.analytics-consent button {
    padding: .55rem .75rem;
    min-height: 44px;
    border: 1px solid #114173;
    border-radius: 8px;
    background: #114173;
    color: #fff;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    cursor: pointer;
}

.analytics-consent #analytics-decline {
    background: #fff;
    color: #114173;
}

.analytics-consent button:focus-visible,
#analytics-settings:focus-visible {
    outline: 2px solid #2582e4;
    outline-offset: 3px;
}

#analytics-settings {
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 600px) {
    .analytics-consent {
        inset-block-end: calc(70px + env(safe-area-inset-bottom));
    }
}
