/* Футер сайта (26.10.2026): тёмный, четыре колонки, контакты по одному разу. Подключается в header.php для всех страниц. */
.ft {
    --ft-g: #2d6a2d;
    --ft-text: rgba(255, 255, 255, .88);
    --ft-muted: rgba(255, 255, 255, .55);
    --ft-line: rgba(255, 255, 255, .12);
    background: #171A1F;
    color: var(--ft-text);
    min-height: 0;
    margin-top: 60px;
    border-radius: 30px 30px 0 0;
    padding: 44px 0 24px;
    font-family: var(--main-font, "Montserrat", sans-serif);
    font-size: 14px;
    line-height: 1.55;
}
.ft a { color: #fff; text-decoration: none; transition: color .2s ease, background-color .2s ease; }
.ft a:hover { color: #9fd39a; }
.ft a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 4px; }
.ft__in { max-width: 1320px; margin: 0 auto; padding: 0 24px; }

.ft__top { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; padding-bottom: 28px; border-bottom: 1px solid var(--ft-line); }
.ft__home { display: inline-block; color: #fff; line-height: 0; }
.ft__home svg { width: 56px; height: auto; }
.ft__tagline { margin: 0; max-width: 36ch; color: rgba(255, 255, 255, .65); font-size: 14px; }
.ft__contact { margin-left: auto; display: flex; align-items: center; gap: 24px; }
.ft__phone { display: block; font-size: 19px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.ft__mail { display: block; margin-top: 2px; color: rgba(255, 255, 255, .7) !important; font-size: 14px; }
.ft .ft__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 12px;
    background: var(--ft-g);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}
.ft .ft__btn:hover { background: #1d4620; color: #fff; }

.ft__grid { display: grid; grid-template-columns: 1fr 1.3fr 1fr 1.5fr; gap: 28px; padding: 28px 0; border-bottom: 1px solid var(--ft-line); }
.ft__col h3 { margin: 0 0 10px; color: #fff; font-size: 14px; font-weight: 600; line-height: 1.3; }
.ft p { margin: 0 0 6px; font-size: inherit; line-height: inherit; }
.ft__muted { color: var(--ft-muted); }
/* меню выводит компонент bitrix:menu bottom-menu — гасим его старые правила из style.css (строка в ряд, 20px, по центру) */
.ft .footer-menu { list-style: none; margin: 0; padding: 0; height: auto; display: grid; gap: 6px; justify-content: start; }
.ft .footer-menu li { display: block; flex: none; margin: 0; padding: 0; }
.ft .footer-menu li a { display: inline; width: auto; padding: 0; font-size: inherit; font-weight: 400; line-height: inherit; white-space: nowrap; color: #fff; }
.ft .footer-menu li a:hover { color: #9fd39a; }

.ft__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-top: 18px; color: var(--ft-muted); font-size: 12px; }
.ft__legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.ft__legal a { color: rgba(255, 255, 255, .7); }
.ft__copy { margin-left: auto; }

@media (max-width: 991px) {
    .ft__grid { grid-template-columns: 1fr 1fr; }
    .ft__contact { margin-left: 0; width: 100%; justify-content: space-between; }
}
@media (max-width: 600px) {
    .ft { padding: 36px 0 28px; font-size: 14px; }
    /* на главной снизу висит панель «Получить предложение» — футер не должен уходить под неё */
    body:has(.nm-mcta) .ft { padding-bottom: 96px; }
    .ft__in { padding: 0 16px; }
    .ft__contact { flex-direction: column; align-items: flex-start; gap: 14px; }
    .ft .ft__btn { width: 100%; }
    .ft__grid { grid-template-columns: 1fr; gap: 20px; }
    .ft__copy { margin-left: 0; width: 100%; }
    .ft__phone { font-size: 18px; }
}
