.analytics-consent {
    color: var(--public-ink);
    font-size: 14px;
    line-height: 1.5;
}
.analytics-consent [hidden] { display: none; }
.analytics-consent__settings {
    width: min(calc(100% - 40px), 1408px);
    margin: 0 auto;
    padding: 16px 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 24px;
}
.analytics-consent__link {
    min-height: 44px;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--public-forest);
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
}
.analytics-consent__link:hover { color: var(--public-ink); }
.analytics-consent__panel {
    position: fixed;
    z-index: 100;
    inset: auto 16px max(16px, env(safe-area-inset-bottom));
    max-width: 960px;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    margin: 0 auto;
    padding: 24px;
    border: 1px solid var(--public-line);
    border-radius: 16px;
    background: var(--public-paper);
    box-shadow: var(--public-shadow);
}
.analytics-consent__copy h2 { font-size: 20px; line-height: 1.3; }
.analytics-consent__copy p { margin-top: 8px; }
.analytics-consent__copy a { color: var(--public-forest); text-underline-offset: 3px; }
.analytics-consent__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}
.analytics-consent__actions .button { flex: 1; font-size: 14px; padding: 12px 16px; }
@media (min-width: 768px) {
    .analytics-consent__actions { flex-direction: row; }
}

/* Оформление окна согласия: токены действующей публичной темы. */
.analytics-consent {
    --public-forest: var(--public-accent, #226b4b);
    --public-line: var(--public-rule, #d8d8ce);
    --public-shadow: 0 8px 24px rgb(23 55 44 / 12%), 0 24px 64px rgb(23 55 44 / 20%);
    --analytics-surface: #fff;
}
.analytics-consent__panel {
    background: var(--analytics-surface);
    border-top: 4px solid var(--public-forest);
    box-shadow: var(--public-shadow);
}
.analytics-consent__copy h2 {
    color: var(--public-ink, #17372c);
    font-weight: 700;
    letter-spacing: -.4px;
}
.analytics-consent__actions {
    padding-top: 16px;
    border-top: 1px solid var(--public-line);
}
.analytics-consent__actions .button {
    background: var(--analytics-surface);
    border-color: var(--public-line);
    box-shadow: 0 2px 4px rgb(23 55 44 / 6%);
}
.analytics-consent__actions .button:hover {
    background: var(--public-stone, #f0ede5);
    border-color: var(--public-forest);
}

/* Акцент согласия без изменения доступности отказа. */
.analytics-consent__actions [data-analytics-choice="rejected"] {
    color: var(--public-ink, #17372c);
    box-shadow: none;
}
.analytics-consent__actions [data-analytics-choice="accepted"] {
    color: var(--analytics-surface);
    background: var(--public-forest);
    border-color: var(--public-forest);
    box-shadow: 0 4px 8px rgb(23 55 44 / 16%);
}
.analytics-consent__actions [data-analytics-choice="accepted"]:hover,
.analytics-consent__actions [data-analytics-choice="accepted"]:active {
    color: var(--analytics-surface);
    background: var(--public-ink, #17372c);
    border-color: var(--public-ink, #17372c);
}
