

/* Start:/bitrix/templates/lcon_clean/css/pages/contacts.css?17874975637634*/
/*
 * Страница «Контакты» (Figma 13202-11965 / mobile 13202-13398).
 * Структура: intro (header + заголовок + 2 карточки-контакта) → карта → реквизиты → footer.
 * Планшетный адаптив (<=991) наследует «мобильную» раскладку: карточки и таблица
 * реквизитов переходят в вертикальный стек.
 */

/* region Каркас страницы */
.contacts {
    display: flex;
    flex-direction: column;
    gap: 64px;
    padding-top: 32px;
    padding-bottom: 64px;
}

.contacts__intro {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.contacts__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contacts__title {
    font-family: var(--font-family-primary), sans-serif;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.18;
    color: var(--color-text);
}
/* endregion */

/* region Карточки контактов */
.contacts-cards {
    display: flex;
    gap: 16px;
}

.contact-card {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    gap: 16px;
    padding: 8px;
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: var(--radius-lg);
}

.contact-card__image {
    height: 300px;
    border-radius: var(--radius-md);
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

/* Фото офиса — реальный <img> вместо background-image (правки №2/№3). */
.contact-card__image-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.contact-card__title {
    min-height: 58px;
    padding: 0 16px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text);
}

.contact-card__body {
    display: flex;
    align-items: flex-end;
    gap: 24px;
    padding: 0 16px 16px;
}

.contact-card__info {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    gap: 16px;
}

.contact-card__row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-text);
}

.contact-card__row svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.contact-card__link {
    color: var(--color-text);
    text-decoration: underline;
}

.contact-card__link:hover {
    color: var(--color-accent);
}

.contact-card__btn {
    flex: 1 1 0;
    min-width: 0;
}
/* endregion */

/* region Карта */
.contacts-map {
    position: relative;
    height: 681px;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.contacts-map iframe,
.contacts-map__canvas {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Прячем штатный копирайт/логотип-промо Яндекса поверх чистой карты (по макету). */
.contacts-map__canvas [class*="-copyright"],
.contacts-map__canvas [class*="-copyrights-promo"],
.contacts-map__canvas [class*="-logo"] {
    display: none !important;
}

/* Кастомные контролы поверх карты (по макету). */
.map-zoom {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 2;
}

.map-zoom__btn,
.map-expand {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: 12px;
    color: var(--color-text);
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(29, 33, 47, .08);
    transition: color .15s ease, background .15s ease;
}

.map-zoom__btn:hover,
.map-expand:hover {
    color: var(--color-accent);
}

.map-zoom__btn svg,
.map-expand svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* Кнопка «увеличить карту» — только для мобильного макета. */
.map-expand {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: none;
}
/* endregion */

/* region Реквизиты */
.requisites {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.requisites__title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-text);
}

.requisites__table {
    background: var(--color-white);
    border: 1px solid var(--color-stroke);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.req-row {
    display: grid;
    grid-template-columns: 446px 1fr;
}

.req-row:nth-child(even) {
    background: var(--color-bg);
}

.req-row:not(:last-child) {
    border-bottom: 1px solid var(--color-stroke);
}

.req-row__label {
    padding: 16px 24px;
    border-right: 1px solid var(--color-stroke);
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-text);
}

.req-row__value {
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-text);
}

.req-row__value--accent a {
    color: var(--color-teal);
    font-weight: 600;
    text-decoration: underline;
}

.req-row__value--accent a:hover {
    color: var(--color-teal-deep);
}
/* endregion */

/* region Планшет / мобайл (<=991): стек как в мобильном макете */
@media (max-width: 991px) {
    .contacts {
        gap: 40px;
    }

    .contacts__intro {
        gap: 24px;
    }

    .contacts__title {
        font-size: 40px;
    }

    /* Карточки в столбик, кнопка на всю ширину */
    .contacts-cards {
        flex-direction: column;
    }

    .contact-card__title {
        min-height: 0;
    }

    .contact-card__body {
        flex-direction: column;
        align-items: stretch;
    }

    .contact-card__btn {
        flex: none;
        width: 100%;
    }

    /* Карта ниже */
    .contacts-map {
        height: 420px;
    }

    /* Реквизиты: без «таблицы» — метка над значением */
    .requisites {
        gap: 24px;
    }

    .requisites__title {
        font-size: 28px;
    }

    .requisites__table {
        background: transparent;
        border: 0;
        border-radius: 0;
        overflow: visible;
    }

    .req-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 12px 0;
        background: transparent !important;
    }

    .req-row:not(:last-child) {
        border-bottom: 0;
    }

    .req-row__label {
        padding: 0;
        border-right: 0;
        font-size: 14px;
        color: var(--color-text-secondary);
    }

    .req-row__value {
        padding: 0;
    }
}
/* endregion */

/* region Мобайл (<=767) */
@media (max-width: 767px) {
    .contacts {
        gap: 32px;
        padding-top: 0;
        padding-bottom: 40px;
    }

    .contacts__title {
        font-size: 36px;
        line-height: 1.1;
    }

    /* Хлебные крошки в мобильном макете скрыты */
    .contacts__head .breadcrumbs {
        display: none;
    }

    .contact-card__title {
        font-size: 20px;
    }

    .contacts-map {
        height: 220px;
    }

    /* На телефоне вместо +/- одна кнопка увеличения карты */
    .map-zoom {
        display: none;
    }

    .map-expand {
        display: flex;
    }

    .requisites__title {
        font-size: 24px;
    }
}
/* endregion */

/* End */
/* /bitrix/templates/lcon_clean/css/pages/contacts.css?17874975637634 */
