#cc-main {
    --cc-font-family: Montserrat, sans-serif;
    --cc-bg: #f9f9f9;
    --cc-primary-color: #55565a;
    --cc-secondary-color: #55565a;
    --cc-btn-primary-bg: #55565a;
    --cc-btn-primary-border-color: #55565a;
    --cc-btn-primary-hover-bg: #f9f9f9;
    --cc-btn-primary-hover-color: #55565a;
    --cc-btn-primary-hover-border-color: #55565a;
    --cc-btn-primary-color: #fff;
    --cc-btn-secondary-bg: transparent;
    --cc-btn-secondary-color: #55565a;
    --cc-btn-secondary-border-color: #55565a;
    --cc-btn-secondary-hover-bg: #55565a;
    --cc-btn-secondary-hover-color: #fff;
    --cc-btn-secondary-hover-border-color: #55565a;
    --cc-btn-border-radius: 0;
    --cc-modal-border-radius: 0;
    --cc-separator-border-color: #c7c7c8;
    --cc-footer-bg: #f9f9f9;
    --cc-footer-border-color: #c7c7c8;
    --cc-cookie-category-block-bg: #fff;
    --cc-cookie-category-block-border: #c7c7c8;
    --cc-cookie-category-block-hover-bg: #ededee;
    --cc-cookie-category-block-hover-border: #9d9d9d;
    --cc-cookie-category-expanded-block-hover-bg: #ededee;
    --cc-toggle-on-bg: #0077ab;
    --cc-toggle-off-bg: #6e6e6e;
    --cc-toggle-readonly-bg: #c7c7c8;
    --cc-overlay-bg: rgba(85, 86, 90, .55);
    /* Сетка .main-container из all.scss: 1672 px контента + боковые отступы. */
    --ag64-consent-gutter: 32px;
    font-weight: 500;
}
#cc-main .cm--bar {
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    border-top: 3px solid #0095d6;
    box-shadow: 0 -8px 28px rgba(85, 86, 90, .15);
}
#cc-main .cm--bar.cm--inline .cm__body,
#cc-main .cm--bar.cm--inline .cm__links {
    max-width: 1736px;
}
#cc-main .cm--bar.cm--inline .cm__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 540px;
    flex-shrink: 0;
}
#cc-main .cm--bar .cm__texts { padding: 40px 0 36px; }
#cc-main .cm--bar .cm__title,
#cc-main .cm--bar .cm__desc,
#cc-main .cm--bar .cm__links {
    padding-left: var(--ag64-consent-gutter);
    padding-right: var(--ag64-consent-gutter);
}
#cc-main .cm__title,
#cc-main .pm__title {
    min-width: 0;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.25;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
#cc-main .cm__title + .cm__desc { margin-top: 18px; }
#cc-main .cm__desc {
    padding-bottom: 0;
    font-size: 16px;
    line-height: 1.8;
    max-height: none;
    overflow: visible;
}
#cc-main .cm--bar.cm--inline .cm__btns {
    max-width: none;
    padding: 40px var(--ag64-consent-gutter) 36px;
}
#cc-main .cm__btn,
#cc-main .pm__btn {
    min-height: 60px;
    border-width: 2px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
}
#cc-main .cm--bar .cm__btn { padding: 14px 16px; }
#cc-main .cm__btn-group { column-gap: 12px; }
#cc-main .cm--inline .cm__btn + .cm__btn { margin-left: 0; }
#cc-main .cm__btn-group + .cm__btn-group { margin-top: 12px; }
#cc-main .cm--bar .cm__btn[data-role="necessary"] {
    background: var(--cc-btn-secondary-bg);
    border-color: var(--cc-btn-secondary-border-color);
    color: var(--cc-btn-secondary-color);
}
#cc-main .cm--bar .cm__btn[data-role="necessary"]:hover {
    background: var(--cc-btn-secondary-hover-bg);
    border-color: var(--cc-btn-secondary-hover-border-color);
    color: var(--cc-btn-secondary-hover-color);
}
@media (min-width: 641px) {
    #cc-main .cm--bar.cm--inline .cm__btns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: center;
        gap: 12px;
    }
    #cc-main .cm--bar.cm--inline .cm__btn-group { display: contents; }
    #cc-main .cm--bar.cm--inline .cm__btn { min-width: 0; margin: 0; }
    #cc-main .cm--bar .cm__btn[data-role="all"] { grid-column: 1 / -1; }
}
#cc-main .cm__footer {
    flex-shrink: 0;
    padding: 14px 0;
}
#cc-main .cm__link-group { font-size: 14px; }
#cc-main a {
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#cc-main button:focus-visible,
#cc-main a:focus-visible,
#cc-main input:focus-visible {
    outline: 3px solid #0077ab;
    outline-offset: 3px;
}
/* Подробная панель: геометрия модальных окон AG64, native controls CookieConsent. */
#cc-main .pm {
    --cc-pm-toggle-border-radius: 0;
    --cc-toggle-on-bg: #55565a;
    --cc-toggle-readonly-bg: #e6e6e6;
    border: 1px solid #c7c7c8;
    box-shadow: 0 16px 48px rgba(85, 86, 90, .2);
}
#cc-main .pm--box {
    width: calc(100% - 32px);
    max-width: 860px;
    height: auto;
    max-height: calc(100% - 64px);
}
#cc-main .pm__header {
    flex-shrink: 0;
    padding: 40px 80px 28px;
    border-bottom: 0;
}
#cc-main .pm__title {
    justify-content: center;
    margin: 0;
    font-size: 32px;
    text-align: center;
}
#cc-main .pm__close-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 64px;
    border: 2px solid #c7c7c8;
}
#cc-main .pm__close-btn svg { transform: scale(.35); }
#cc-main .pm__body {
    min-height: 0;
    padding: 0 48px 28px;
}
#cc-main .pm .pm__section {
    border: 0;
    padding: 0;
    margin-bottom: 0;
    background: transparent;
}
#cc-main .pm .pm__section:hover { background: transparent; }
#cc-main .pm .pm__section:first-child { margin-bottom: 28px; }
#cc-main .pm__section-toggles + .pm__section { margin-top: 28px; }
#cc-main .pm__section-desc-wrapper {
    font-size: 16px;
    line-height: 1.8;
}
#cc-main .pm__section-desc { line-height: 1.8; }
#cc-main .pm__section-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-transform: uppercase;
}
#cc-main .pm__section-toggles { display: block; border-top: 1px solid #c7c7c8; }
#cc-main .pm__section--toggle { margin: 0; background: transparent; }
#cc-main .pm__section--toggle .pm__section-title {
    min-height: 76px;
    padding: 20px 72px 20px 48px;
    border: 0;
    border-bottom: 1px solid #c7c7c8;
    background: transparent;
}
#cc-main .pm__section--toggle .pm__section-title:hover { background: #ededee; }
#cc-main .pm__section--toggle .pm__section-desc-wrapper {
    border: 0;
    border-bottom: 1px solid #c7c7c8;
}
#cc-main .pm__section--toggle .pm__section-desc { padding: 20px 24px; }
#cc-main .pm .pm__section-arrow {
    left: 20px;
    width: 16px;
    height: 16px;
    border-radius: 0;
    background: transparent;
}
#cc-main .pm__section-arrow svg { display: none; }
#cc-main .pm__section-arrow::before,
#cc-main .pm__section-arrow::after {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 16px;
    height: 2px;
    background: currentColor;
}
#cc-main .pm__section-arrow::after { transform: rotate(90deg); transition: transform .2s ease; }
#cc-main .is-expanded .pm__section-arrow::after { transform: rotate(0); }
#cc-main .pm .pm__badge {
    min-width: 0;
    width: auto;
    height: auto;
    padding: 0;
    margin-left: 16px;
    border-radius: 0;
    background: transparent;
    color: #6e6e6e;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
}
#cc-main .pm .section__toggle-wrapper {
    right: 12px;
    width: 44px;
    height: 44px;
}
#cc-main .pm .section__toggle-wrapper:not(.toggle-service) { top: 50%; transform: translateY(-50%); }
#cc-main .pm .toggle-service { right: 0; flex-shrink: 0; }
#cc-main .section__toggle-wrapper .section__toggle { width: 44px; height: 44px; }
#cc-main .section__toggle-wrapper .toggle__icon {
    position: absolute;
    top: 9px;
    left: 9px;
    width: 26px;
    height: 26px;
    border: 1px solid #6e6e6e;
    box-shadow: none;
    background: transparent;
    transition: background-color .2s ease, border-color .2s ease;
}
#cc-main .pm .toggle__icon-circle { display: none; }
#cc-main .pm .section__toggle:checked ~ .toggle__icon {
    border-color: #55565a;
    box-shadow: none;
}
#cc-main .pm .section__toggle:checked ~ .toggle__icon::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 6px;
    width: 12px;
    height: 7px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}
#cc-main .pm .section__toggle:checked:disabled ~ .toggle__icon { border-color: #9d9d9d; }
#cc-main .pm .section__toggle:checked:disabled ~ .toggle__icon::after { border-color: #55565a; }
#cc-main .pm__service { min-height: 60px; padding: 8px 12px 8px 24px; }
#cc-main .pm__service-icon { width: 6px; height: 6px; min-width: 6px; border-radius: 0; margin: 0 14px 0 0; }
#cc-main .pm__footer {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    flex-shrink: 0;
    padding: 24px 48px 32px;
}
#cc-main .pm__btn-group { display: contents; }
#cc-main .pm__btn + .pm__btn,
#cc-main .pm__btn-group + .pm__btn-group { margin: 0; }
#cc-main .pm__btn { min-width: 0; padding: 12px; }
@media (max-width: 1000px) {
    #cc-main .cm--bar.cm--inline .cm__body { grid-template-columns: minmax(0, 1fr); }
    #cc-main .cm--bar .cm__texts { padding: 28px 0 0; }
    #cc-main .cm--bar.cm--inline .cm__btns { padding-top: 24px; padding-bottom: 24px; }
}
@media (max-width: 800px) {
    #cc-main .pm__title { font-size: 28px; }
    #cc-main .pm__footer { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    #cc-main .pm__btn { min-height: 52px; font-size: 14px; }
}
@media (max-width: 640px) {
    #cc-main .cm__title { font-size: clamp(20px, 6vw, 24px); }
    #cc-main .cm__desc,
    #cc-main .pm__section-desc-wrapper { font-size: 14px; line-height: 1.7; }
    #cc-main .cm__title + .cm__desc { margin-top: 14px; }
    #cc-main .cm__btn { min-height: 52px; font-size: 14px; }
    /* Vendor фиксирует эти отступы через !important; сохраняем сетку сайта на mobile. */
    #cc-main .cm--bar .cm__title,
    #cc-main .cm--bar .cm__desc,
    #cc-main .cm--bar .cm__links,
    #cc-main .cm--bar .cm__btns {
        padding-left: var(--ag64-consent-gutter) !important;
        padding-right: var(--ag64-consent-gutter) !important;
    }
    #cc-main .cm--bar .cm__btns { border-top: 0 !important; }
    #cc-main .cm__footer { padding: 12px 0; }
    #cc-main .pm--box { width: 100%; height: 100%; max-height: 100%; border: 0; }
    #cc-main .pm__title { font-size: 22px; }
    #cc-main .pm__close-btn { width: 48px; height: 48px; }
    #cc-main .pm__section-title { font-size: 14px; }
    #cc-main .pm__section--toggle .pm__section-title { padding-left: 32px; padding-right: 60px; }
    #cc-main .pm .pm__section-arrow { left: 8px; }
    #cc-main .pm .section__toggle-wrapper { right: 6px; }
    #cc-main .pm .toggle-service { right: 0; }
    #cc-main .pm__section--toggle .pm__section-desc { padding: 16px 8px; }
    #cc-main .pm__service { padding-left: 8px; padding-right: 6px; }
    /* Неизменяемый vendor задаёт mobile padding/display/margin через !important. */
    #cc-main .pm .pm__header { padding: 68px 15px 24px !important; }
    #cc-main .pm .pm__body { padding: 0 15px 24px !important; }
    #cc-main .pm .pm__footer { padding: 16px 15px !important; }
    #cc-main .pm .pm__btn-group { display: contents !important; }
    #cc-main .pm .pm__btn + .pm__btn,
    #cc-main .pm .pm__btn-group + .pm__btn-group { margin: 0 !important; }
}
@media (max-width: 600px) {
    #cc-main { --ag64-consent-gutter: 15px; }
}
@media (max-width: 360px) {
    #cc-main .cm__title,
    #cc-main .pm__title { font-size: 18px; }
}
@media (forced-colors: active) {
    #cc-main .pm .section__toggle { appearance: auto; }
    #cc-main .pm .toggle__icon { display: none; }
}
[data-ag64-consent-settings]:focus-visible,
[data-ag64-media]:focus-visible,
[data-ag64-captcha-load]:focus-visible { outline: 3px solid #1670c5; outline-offset: 3px; }
.ag64-media { position: relative; display: block; width: 100%; }
.ag64-media__control { position: relative; display: block; border: 0; padding: 0; width: 100%; cursor: pointer; background: #e9e9e9; color: #232323; font: inherit; text-align: center; min-height: 8rem; }
.ag64-media__control[hidden], .ag64-media__label[hidden], .ag64-captcha__button[hidden], .ag64-consent-status[hidden] { display: none; }
.ag64-media__label {
    position: absolute; inset-inline: 0; bottom: 0; z-index: 1;
    display: block; padding: 1rem;
    color: #232323; font-size: clamp(.875rem, 1vw, 1rem); line-height: 1.5;
    background: #e9e9e9;
}
.ag64-captcha__notice, .ag64-consent-status { font-size: .875rem; line-height: 1.5; }
.ag64-consent-status { display: block; }
.ag64-captcha__button { font: inherit; padding: .5rem 1rem; border: 1px solid #232323; background: #fff; color: #232323; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
    #cc-main *, #cc-main *::before, #cc-main *::after { transition-duration: 0s; animation-duration: 0s; }
}
