

/* Start:/bitrix/components/bitrix/map.yandex.system/templates/.default/style.css?1572927132666*/
div.bx-yandex-map {color: black; font-size: 11px;}
div.bx-yandex-map div.YMaps-b-balloon-content {color: black; font-size: 11px;}
div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td {
	padding: 0px !important;
}


div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td textarea{
	font-size: 11px;
}


div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td.YMaps-b-balloon-b {
	background-image: none !important;
}

/* End */


/* Start:/local/templates/redesign2026v2/components/bitrix/news.list/contacts_offices/style.css?17926890146331*/
/* ===== CONTACTS: ГДЕ МЫ НАХОДИМСЯ ===== */

.contacts-offices {
    padding: 76px 0;
    scroll-margin-top: 88px;
}

.contacts-offices__heading {
    max-width: 920px;
    margin-bottom: 40px;
}

.contacts-offices__heading h2 {
    margin: 0;
    font-weight: 500;
    font-size: 48px;
    line-height: 1.1;
    letter-spacing: 0;
    color: var(--white);
}

.contacts-offices__heading h2 .color-cyan {
    color: var(--cyan);
}

.contacts-offices__heading p {
    margin: 24px 0 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--muted-light);
}

/* Сетка: две карточки по половине */
.contacts-offices__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* Карточка офиса */
.office-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 520px;
    padding: 40px;
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--surface-card);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    isolation: isolate;
}

/* Затемнение поверх фона */
.office-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(0, 0, 0, 0.65);
    pointer-events: none;
}

/* Фоны офисов */
.office-card--moskva {
    background-image: url("/local/templates/redesign2026v2/img/Moscow_bg.png");
}

.office-card--nizhniy-novgorod {
    background-image: url("/local/templates/redesign2026v2/img/NN_bg.png");
}

/* Верхний и нижний блоки — над градиентом */
.office-card__head,
.office-card__foot {
    position: relative;
    z-index: 1;
}

/* Верхний блок: город + адрес */
.office-card__city {
    margin: 0 0 20px;
    font-weight: 500;
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--white);
}

.office-card__address {
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--muted-light);
}

/* Нижний блок: контакты + кнопка */
.office-card__foot {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.office-card__contacts {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.office-card__contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.office-card__label {
    font-weight: 400;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--white);
}

.contacts-content a.office-card__value {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--muted-light);
}

/* Кнопка «Открыть карту» */
.contacts-content a.office-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 12px 20px;
    border: 1px solid rgba(var(--cyan-rgb), .4);
    border-radius: 12px;
    color: var(--cyan);
    background: rgba(var(--cyan-rgb), .08);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.contacts-content a.office-card__btn::after {
    content: "→";
    display: inline-block;
    flex: 0 0 auto;
    font-size: 16px;
    line-height: 1;
}

.contacts-content a.office-card__btn:hover,
.contacts-content a.office-card__btn:focus-visible {
    color: var(--bg);
    background: linear-gradient(93.25deg, #81FFFF 0%, #55ECEE 100%);
    border-color: transparent;
    box-shadow: 0 2px 30px 0 rgba(var(--scrollbar-rgb), 0.4);
}

.contacts-content a.office-card__btn:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 4px;
}

@media (max-width: 1440px) {
    .contacts-offices__heading h2 { font-size: 40px;}
    .contacts-offices__heading p { font-size: 16px;}
    .office-card__city { font-size: 32px;}
    .office-card__address { font-size: 18px;}
    .office-card__contacts {
        gap: 32px;
    }
    .office-card__label { font-size: 22px;}
}

@media (max-width: 890px) {
    .office-card__foot {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =======================================================
   МОБИЛЬНЫЕ (max-width: 767px)
   ======================================================= */
@media (max-width: 767px) {
    .contacts-offices {
        padding: 40px 0;
    }

    .contacts-offices__heading {
        margin-bottom: 32px;
    }

    .contacts-offices__heading h2 {
        font-size: 28px;
    }
    
    .contacts-offices__heading p {
        font-size: 15px;
    }

    .contacts-offices__grid {
        grid-template-columns: 1fr;
    }

    .office-card {
        min-height: 360px;
        padding: 16px;
        border-radius: 16px;
    }

    .office-card__head {
        margin-bottom: 24px;
    }

    .office-card__city {
        margin: 0 0 8px 0;
        font-size: 26px;
    }

    .office-card__address {
        font-size: 14px;
        line-height: 1.4;
    }

    .office-card__foot {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }

    .office-card__contacts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        width: 100%;
    }

    .office-card__label {
        font-size: 20px;
        color: var(--white);
        margin-bottom: 4px;
    }

    .contacts-content a.office-card__value {
        font-size: 14px;
        color: var(--muted);
    }

    .contacts-content a.office-card__btn {
        width: 100%;
        justify-content: center;
        min-height: 48px;
        background: rgba(var(--cyan-rgb), .08);
        border-color: rgba(var(--cyan-rgb), .2);
        max-width: 296px;
        margin: 0 auto;
    }
}
/* End */


/* Start:/local/templates/redesign2026v2/components/bitrix/news.list/contacts_ask/style.css?17926885404765*/
/* ===== CONTACTS: КОМУ НАПРАВИТЬ ВОПРОС ===== */

.contacts-ask {
    scroll-margin-top: 88px;
}

.contacts-ask__heading {
    max-width: 920px;
    margin-bottom: 40px;
}

.contacts-ask__heading h2 {
    margin: 0;
    font-weight: 500;
    font-size: 48px;
    line-height: 1.1;
    letter-spacing: 0;
    color: var(--white);
}

.contacts-ask__heading h2 .color-cyan {
    color: var(--cyan);
}

.contacts-ask__heading p {
    margin: 16px 0 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--muted-light);
}

/* Сетка: три карточки по трети */
.contacts-ask__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* Карточка */
.ask-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 266px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-card);
    /*transition: border-color .25s ease, background .25s ease;*/
}

.ask-card:hover {
    border-color: rgba(var(--cyan-rgb), .44);
    background: var(--card-hover);
}

/* Иконка */
.ask-card__icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    margin-bottom: 40px;
    border-radius: 12px;
    background: rgba(var(--cyan-rgb), .08);
}

.ask-card__icon img {
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.ask-card__content {
    margin-bottom: 24px;
}

.ask-card__title {
    margin: 0 0 12px;
    font-weight: 500;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--white);
}

.ask-card__text {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--muted);
}

/* Контакт (телефон или email) */
.contacts-content a.ask-card__contact {
    margin-top: auto;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--cyan);
    text-decoration: none;
    transition: color .2s ease;
}

/* По умолчанию пагинация скрыта */
.contacts-ask__pagination {
    display: none;
}

@media (max-width: 1440px) {
    .contacts-ask__heading h2 { font-size: 40px;}
    .ask-card { padding: 24px 20px; }
    .ask-card__title { font-size: 22px;}
    .contacts-content a.ask-card__contact { font-size: 16px;}
}

/* =======================================================
   МОБИЛЬНЫЕ (max-width: 767px) - ВКЛЮЧАЕМ КАРУСЕЛЬ
   ======================================================= */
@media (max-width: 767px) {
    .contacts-ask__heading {
        margin-bottom: 32px;
    }
    .contacts-ask__heading h2 {
        font-size: 28px;
    }
    /* Обертка карусели */
    .contacts-ask__carousel {
        margin: 0;
        padding: 0;
    }

    /* Включаем горизонтальный скролл */
    .contacts-ask__grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    
    .contacts-ask__grid::-webkit-scrollbar {
        display: none;
    }

    /* Карточка занимает 100% ширины контейнера */
    .ask-card {
        flex: 0 0 100%;
        max-width: 100%;
        scroll-snap-align: start;
        min-height: auto; /* Сбрасываем жесткую высоту с десктопа */
        padding: 16px;
    }

    /* Показываем пагинацию */
    .contacts-ask__pagination {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-top: 16px;
    }

    .ask-card__icon {
        margin-bottom: 32px;
    }

    .contacts-ask__pagination-text {
        font-size: 16px;
        color: var(--muted-light);
    }

    .contacts-ask__pagination-arrows {
        display: flex;
        gap: 8px;
    }

    .contacts-ask__arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border-radius: 16px;
        border: 1px solid var(--line);
        background: transparent;
        color: var(--cyan);
        cursor: pointer;
        transition: background 0.2s;
    }

    .contacts-ask__arrow:hover {
        background: rgba(var(--cyan-rgb), 0.1);
    }

    .contacts-ask__arrow:disabled {
        opacity: 0.3;
        cursor: not-allowed;
    }
}
/* End */


/* Start:/local/templates/redesign2026v2/components/bitrix/news.list/contacts_requisites/style.css?17930512498366*/
/* ===== CONTACTS: РЕКВИЗИТЫ ===== */

.contacts-requisites {
    padding: 76px 0;
    scroll-margin-top: 88px;
}

.contacts-requisites__heading {
    max-width: 920px;
    margin-bottom: 40px;
}

.contacts-requisites__heading h2 {
    margin: 0;
    font-weight: 500;
    font-size: 48px;
    line-height: 1.1;
    letter-spacing: 0;
    color: var(--white);
}

.contacts-requisites__heading h2 .color-cyan {
    color: var(--cyan);
}

.contacts-requisites__heading p {
    margin: 16px 0 0;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--muted-light);
}

/* Сетка: две колонки */
.contacts-requisites__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 40px;
}

/* Карточка реквизита */
.requisite-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--surface-card);
}

.requisite-item__label {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--muted);
}

.requisite-item__value {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0;
    color: var(--white);
}

.requisite-item__value a {
    color: var(--white);
    text-decoration: none;
    transition: color .2s ease;
}

.requisite-item__value a:hover {
    color: var(--cyan);
}

/* Кнопка «Скачать карту партнёра» */
.contacts-content a.contacts-requisites__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 24px;
    border: 1px solid rgba(var(--cyan-rgb), .4);
    border-radius: 12px;
    color: var(--bg);
    background: linear-gradient(93.25deg, rgba(var(--btn-light-blue-rgb, 0)), rgba(var(--scrollbar-rgb)));
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    transition: box-shadow .2s ease, opacity .2s ease;
}

.contacts-content a.contacts-requisites__btn:hover {
    box-shadow: 0 2px 30px 0 rgba(var(--scrollbar-rgb), 0.4);
    opacity: 0.9;
}

/* ===== АДАПТИВ ===== */

@media (max-width: 1440px) {
    .contacts-requisites__heading h2 { font-size: 40px;}
    /*.requisite-item { padding: 24px 20px; }*/
    /*.requisite-item__value { font-size: 22px;}*/
}

/* =======================================================
   МОБИЛЬНЫЕ (max-width: 767px)
   ======================================================= */
@media (max-width: 767px) {
    /* Заголовок */
    .contacts-requisites__heading {
        margin-bottom: 32px;
    }

    .contacts-requisites__heading h2 {
        font-size: 28px; /* Уменьшаем размер */
    }

    /* Сетка в одну колонку */
    .contacts-requisites__grid {
        grid-template-columns: 1fr; 
        gap: 16px;
        margin-bottom: 32px;
    }

    /* Карточка */
    .requisite-item {
        padding: 16px;
        border-radius: 16px;
        gap: 8px;
    }

    .requisite-item__label {
        font-size: 14px;
    }

    .requisite-item__value {
        font-size: 18px; /* Уменьшаем размер шрифта значения */
    }

    /* Кнопка на всю ширину */
    .contacts-content a.contacts-requisites__btn {
        display: flex;
        width: 100%;
        min-height: 52px;
        padding: 14px 20px;
        border-radius: 12px;
    }
}

/* ===== РЕКВИЗИТЫ: АККОРДЕОН ===== */

.contacts-requisites__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    max-width: none;
    margin-bottom: 28px;
}

.contacts-requisites__panel {
    position: relative;
    padding: 12px;
    margin-bottom: 48px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-card);
}

.contacts-requisites__summary {
    display: grid;
    gap: 20px;
    padding: 12px 8px 24px;
}

.contacts-requisites__panel .requisite-item {
    min-width: 0;
    padding: 0;
    gap: 6px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.contacts-requisites__panel .requisite-item__value {
    overflow-wrap: anywhere;
}

.contacts-requisites__toggle {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 64px;
    padding: 16px 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(var(--surface-accent-rgb), .4);
    color: var(--white);
    font-size: 20px;
    line-height: 1.3;
    list-style: none;
    cursor: pointer;
}

.contacts-requisites__toggle::-webkit-details-marker {
    display: none;
}

.contacts-requisites__toggle img {
    flex-shrink: 0;
}

.contacts-requisites__toggle:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 4px;
}

.contacts-requisites__chevron {
    margin-left: auto;
    filter: brightness(0) invert(1);
    transform: rotate(90deg);
}

.contacts-requisites__accordion[open] .contacts-requisites__chevron {
    transform: rotate(-90deg);
}

.contacts-requisites__accordion .contacts-requisites__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0 32px;
    margin: 0;
    padding: 12px 8px;
}

.contacts-requisites__grid .requisite-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.contacts-requisites__grid .requisite-item__value {
    font-size: 16px;
    font-weight: 400;
}

.contacts-requisites__hint {
    position: absolute;
    top: 100%;
    left: 0;
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.4;
}

.contacts-requisites__accordion[open] + .contacts-requisites__hint {
    display: none;
}

.contacts-content a.contacts-requisites__btn {
    width: auto;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 8px;
    background: var(--cyan);
}

/* Аккордеон: планшеты и десктоп */
@media (min-width: 768px) {
    .contacts-requisites__heading {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .contacts-requisites__btn {
        flex-shrink: 0;
    }

    .contacts-requisites__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px 20px 24px;
    }

    .contacts-requisites__summary .requisite-item + .requisite-item {
        padding-left: 32px;
        border-left: 1px solid var(--line);
    }

    .contacts-requisites__accordion .contacts-requisites__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px 20px;
    }
}
@media (min-width: 1060px) {
    .contacts-requisites__summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding: 12px 20px 24px;
    }
}
/* Подзаголовки и колонки внутри аккордеона */
.contacts-requisites__accordion .contacts-requisites__grid {
    row-gap: 24px;
    padding-top: 24px;
}

.contacts-requisites__group {
    min-width: 0;
}

.contacts-requisites__group h3 {
    margin: 0 0 12px;
    color: var(--muted-light);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}

.contacts-requisites__group .requisite-item:last-child {
    border-bottom: 0;
}

.contacts-requisites__group--extra {
    grid-column: 1 / -1;
}

/* Общая центральная ось разделителей на десктопе */
@media (min-width: 1060px) {
    .contacts-requisites__summary {
        column-gap: 0;
    }

    .contacts-requisites__accordion .contacts-requisites__grid {
        column-gap: 0;
    }

    .contacts-requisites__group:first-child {
        padding-right: 32px;
    }

    .contacts-requisites__group:nth-child(2) {
        padding-left: 32px;
        border-left: 1px solid var(--line);
    }
}

/* End */


/* Start:/local/templates/redesign2026v2/components/bitrix/form.result.new/contacts_form/style.css?17926885327002*/
/* ===== ОБЩИЕ СБРОСЫ И УТИЛИТЫ ===== */
.visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
    white-space: nowrap;
}

/* ===== КОНТЕЙНЕР ФОРМЫ ===== */
.contacts-form-container {
    min-width: 0;
}

.contacts-form__grid {
    display: grid;
    gap: 8px;
}

/* Ряд для полей (по умолчанию в одну колонку на мобильных) */
.contacts-form__field {
    min-width: 0;
    margin-bottom: 0px;
}

/* ===== ИНПУТЫ И ТЕКСТОВЫЕ ПОЛЯ ===== */
.contacts-form__field input:not([type="hidden"]),
.contacts-form__field input:not([type="checkbox"]),
.contacts-form__field textarea,
.contacts-form__field select {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 12px 20px;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--white);
    background: rgba(var(--cyan-rgb), .06);
    box-shadow: none;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    transition: border-color .2s ease, background-color .2s ease;
}

.contacts-form__field textarea {
    height: 88px;
    max-height: 160px;
    resize: vertical;
}

/* Цвет плейсхолдера (текст внутри поля) */
.contacts-form__field input::placeholder,
.contacts-form__field textarea::placeholder {
    color: var(--muted-light);
    opacity: 1;
    font-size: 15px;
}

/* Фокус на полях */
.contacts-form__field input:focus,
.contacts-form__field textarea:focus,
.contacts-form__field select:focus {
    border-color: var(--cyan);
    background: rgba(var(--cyan-rgb), .08); /* Чуть светлее при фокусе */
    outline: 0;
}

/* ===== ЧЕКБОКСЫ ===== */
.contacts-form__privacy {
    display: grid;
    gap: 14px;
}

.contacts-form__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

/* Кастомный чекбокс */
.contacts-form__checkbox input[type="checkbox"] {
    position: static;
    display: block;
    width: 22px;
    height: 22px;
    min-width: 22px;
    flex: 0 0 22px;
    margin: 0;
    appearance: none;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: rgba(var(--cyan-rgb), .06);
    opacity: 1;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease;
}

.contacts-form__checkbox input:checked {
    border-color: var(--cyan);
    background: var(--cyan) url('/local/templates/redesign2026v2/img/success-icon.svg') center / 14px 14px no-repeat;
}

.contacts-form__checkbox input:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 3px;
}

/* Ссылки в чекбоксах */
.contacts-form-container .contacts-form__checkbox a {
    color: var(--white);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

.contacts-form__checkbox a:hover {
    color: var(--cyan);
}

/* ===== КНОПКА ОТПРАВКИ ===== */
.contacts-form__submit {
    display: inline-flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 16px 28px;
    border: 1px solid transparent;
    border-radius: 16px;
    color: var(--btn); /* Темный текст на голубом фоне */
    background: var(--cyan);
    font: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    transition: box-shadow .2s ease, opacity .2s ease;
}

.contacts-form__submit:hover,
.contacts-form__submit:focus-visible {
    box-shadow: 0 2px 30px var(--cyan-btn-border);
    opacity: 0.95;
}

.contacts-form__submit:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 4px;
}

.contacts-form__submit:disabled {
    opacity: .6;
    cursor: wait;
}

/* ===== КАПЧА ===== */
.contacts-form__captcha {
    display: grid;
    gap: 12px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
}

.contacts-form__captcha img {
    border-radius: 8px;
    border: 1px solid var(--border);
}

/* ===== ОШИБКИ И УСПЕХ ===== */
.contacts-form__errors {
    grid-column: 1 / -1;
    margin-bottom: 16px;
    padding: 12px;
    background: rgba(255, 0, 0, 0.1);
    border: 1px solid rgba(255, 0, 0, 0.3);
    border-radius: 8px;
    color: #ffcccc;
    font-size: 14px;
}

.contacts-form__success {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 16px;
    padding: 40px 20px;
    background: var(--surface-card);
    border: 1px solid var(--line);
    border-radius: 16px;
}

.contacts-form__success h3 {
    font-size: 28px;
    margin: 0;
    color: var(--white);
}

.contacts-form__success p {
    color: var(--muted-light);
    margin: 0;
    font-size: 16px;
}

/* ===== АДАПТИВ ===== */

/* Планшеты и десктоп (две колонки для ФИО/Компания и Телефон/Email) */
@media (min-width: 681px) {
    .contacts-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    /* Поля, которые должны занимать всю ширину (Сообщение, чекбоксы, кнопка) */
    .contacts-form__field--wide,
    .contacts-form__privacy,
    .contacts-form__captcha,
    .contacts-form__errors {
        grid-column: 1 / -1;
    }

    .contacts-form__submit {
        width: auto; /* На десктопе кнопка не на всю ширину */
        min-width: 240px;
    }
}

/* Большие десктопы (чуть компактнее) */
@media (min-width: 961px) {
    .contacts-form__field input:not([type="hidden"]),
    .contacts-form__field input:not([type="checkbox"]),
    .contacts-form__field textarea,
    .contacts-form__field select {
        min-height: 44px;
        padding: 12px 18px;
        border-radius: 12px;
        font-size: 14px;
    }

    .contacts-form__field textarea {
        height: 88px;
        max-height: 160px;
    }

    .contacts-form__privacy {
        gap: 12px;
    }

    .contacts-form__checkbox {
        gap: 10px;
        font-size: 12px;
    }

    .contacts-form__checkbox input[type="checkbox"] {
        width: 18px;
        height: 18px;
        min-width: 18px;
        flex-basis: 18px;
    }
    
    .site-page button.contacts-form__submit {
        min-height: 44px;
        font-size: 14px;
    }
}
/* End */


/* Start:/local/templates/redesign2026v2/components/bitrix/form.result.new/file-upload.css?17932077372561*/
/* ===== ПРИКРЕПЛЕНИЕ ФАЙЛА ===== */
.monitoring-upload {
    grid-column: 1 / -1;
    min-width: 0;
}

.monitoring-upload .monitoring-upload__dropzone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 200px;
    padding: 16px 16px;
    border: 2px dashed rgba(var(--cyan-rgb), .4);
    border-radius: 12px;
    background: var(--surface-muted);
    color: var(--white);
    text-align: center;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease;
}

.monitoring-upload [data-upload-dropzone] input[type="file"][data-upload-input] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    min-width: 0;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.monitoring-upload__dropzone:hover,
.monitoring-upload__dropzone:focus-within,
.monitoring-upload__dropzone.is-dragging {
    border-color: var(--cyan);
    background: rgba(var(--cyan-rgb), .08);
}

.monitoring-upload__dropzone:focus-within {
    outline: 2px solid var(--cyan);
    outline-offset: 3px;
}

.monitoring-upload__cloud {
    flex-shrink: 0;
    margin-bottom: 12px;
}

.monitoring-upload .monitoring-upload__title {
    font-size: 18px;
    line-height: 1.5;
}

.monitoring-upload .monitoring-upload__choose {
    color: var(--cyan);
    font-weight: 500;
}

.monitoring-upload .monitoring-upload__hint {
    margin-top: 12px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.4;
}

.monitoring-upload__selected {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    color: var(--white);
    font-size: 14px;
}

.monitoring-upload__filename {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
}

.monitoring-upload__selected img {
    flex-shrink: 0;
}

.monitoring-upload__remove {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: transparent;
    color: var(--muted-light);
    font-size: 24px;
    cursor: pointer;
}

.monitoring-upload__remove:hover,
.monitoring-upload__remove:focus-visible {
    color: var(--cyan);
    border-color: var(--cyan);
}

.monitoring-upload.has-error .monitoring-upload__dropzone {
    border-color: var(--danger);
}

.monitoring-upload__error {
    margin: 8px 0 0;
    color: var(--danger);
    font-size: 13px;
    line-height: 1.4;
}

.monitoring-upload [hidden] {
    display: none;
}

/* End */
/* /bitrix/components/bitrix/map.yandex.system/templates/.default/style.css?1572927132666 */
/* /local/templates/redesign2026v2/components/bitrix/news.list/contacts_offices/style.css?17926890146331 */
/* /local/templates/redesign2026v2/components/bitrix/news.list/contacts_ask/style.css?17926885404765 */
/* /local/templates/redesign2026v2/components/bitrix/news.list/contacts_requisites/style.css?17930512498366 */
/* /local/templates/redesign2026v2/components/bitrix/form.result.new/contacts_form/style.css?17926885327002 */
/* /local/templates/redesign2026v2/components/bitrix/form.result.new/file-upload.css?17932077372561 */
