/* Подвал Magic Bus — свои стили. Сетка: Bootstrap. Цвета колонок: --fc-* из админки. */

.site-footer {
    margin-top: auto;
}

.site-footer__main {
    background: var(--footer-main-bg, #c4b896);
    padding: 2rem 0 2.5rem;
    border-top: 2px solid #000;
}

.site-footer__cell {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--footer-divider, rgba(26, 26, 26, 0.22));
}

/* Нижняя линия в одном уровне внутри строки сетки (2 или 4 колонки) */
@media (min-width: 576px) {
    .site-footer__main .row {
        align-items: stretch;
    }

    .site-footer__cell {
        display: flex;
        flex-direction: column;
        border-bottom: none;
        padding-bottom: 0;
    }

    .site-footer__cell > .site-footer__intro,
    .site-footer__cell > .site-footer__column {
        flex: 1 1 auto;
        min-height: 0;
    }

    .site-footer__cell::after {
        content: '';
        display: block;
        width: 100%;
        margin-top: auto;
        padding-top: 1rem;
        border-bottom: 1px solid var(--footer-divider, rgba(26, 26, 26, 0.22));
    }
}

@media (max-width: 991.98px) {
    .site-footer__main .row > .site-footer__cell:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .site-footer__main .row > .site-footer__cell:last-child::after {
        content: none;
        border: none;
        padding: 0;
    }
}

/* —— Колонка: переменные задаёт {% footer_column_box %} —— */

.site-footer__column {
    width: 100%;
}

.site-footer__column--title-hover-off .site-footer__title:hover {
    color: var(--fc-title-color);
    text-decoration: var(--fc-title-decoration);
}

.site-footer__column--text-hover-off .site-footer__text:hover {
    color: var(--fc-text-color);
    text-decoration: var(--fc-text-decoration);
}

.site-footer__column--link-hover-off a:not(.site-footer__social-btn):hover,
.site-footer__column--link-hover-off a:not(.site-footer__social-btn):focus-visible {
    color: var(--fc-link-color);
    text-decoration: var(--fc-link-decoration);
}

.site-footer__column .site-footer__title,
.site-footer__column a.site-footer__title:not(.site-footer__social-btn) {
    display: block;
    margin: 0 0 0.5rem;
    font-weight: 700;
    font-size: var(--fc-title-size, 16px);
    color: var(--fc-title-color, #1a1a1a);
    text-align: var(--fc-title-align, left);
    line-height: var(--fc-title-line-height, 1.45);
    letter-spacing: var(--fc-title-letter-spacing, 0);
    text-decoration: var(--fc-title-decoration, none);
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.site-footer__column .site-footer__title:hover,
.site-footer__column a.site-footer__title:not(.site-footer__social-btn):hover,
.site-footer__column a.site-footer__title:not(.site-footer__social-btn):focus-visible {
    color: var(--fc-title-hover-color, var(--fc-title-color, #1a1a1a));
    text-decoration: var(--fc-title-hover-decoration, none);
}

.site-footer__column .site-footer__text {
    margin: 0 0 0.5rem;
    font-size: var(--fc-text-size, 14px);
    color: var(--fc-text-color, #1a1a1a);
    text-align: var(--fc-text-align, left);
    line-height: var(--fc-text-line-height, 1.45);
    letter-spacing: var(--fc-text-letter-spacing, 0);
    text-decoration: var(--fc-text-decoration, none);
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

/* Несколько абзацев подряд — без двойного зазора (margin + line-height) */
.site-footer__column .site-footer__text + .site-footer__text {
    margin-top: 0.15em;
    margin-bottom: 0;
}

.site-footer__column .site-footer__text--lines {
    margin-bottom: 0.5rem;
}

.site-footer__column .site-footer__list li {
    margin: 0;
}

.site-footer__column .site-footer__text:last-child {
    margin-bottom: 0;
}

.site-footer__column .site-footer__text:hover {
    color: var(--fc-text-hover-color, var(--fc-text-color, #1a1a1a));
    text-decoration: var(--fc-text-hover-decoration, none);
}

.site-footer__column--full .site-footer__text {
    text-align: justify;
    text-justify: inter-word;
}

.site-footer__column .site-footer__list {
    margin: 0 0 0.5rem;
    padding-left: 1.25rem;
    list-style: disc;
    font-size: var(--fc-text-size, 14px);
    color: var(--fc-text-color, #1a1a1a);
    text-align: var(--fc-link-align, var(--fc-text-align, left));
    line-height: var(--fc-text-line-height, 1.45);
    letter-spacing: var(--fc-text-letter-spacing, 0);
}

.site-footer__column .site-footer__list--plain {
    padding-left: 0;
    list-style: none;
}

.site-footer__column a:not(.site-footer__social-btn) {
    font-size: var(--fc-link-size, 14px);
    color: var(--fc-link-color, #1a4a8a);
    line-height: var(--fc-link-line-height, 1.45);
    letter-spacing: var(--fc-link-letter-spacing, 0);
    text-decoration: var(--fc-link-decoration, none);
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.site-footer__column a:not(.site-footer__social-btn):hover,
.site-footer__column a:not(.site-footer__social-btn):focus-visible {
    color: var(--fc-link-hover-color, var(--fc-link-color, #1a4a8a));
    text-decoration: var(--fc-link-hover-decoration, underline);
}

/* —— Логотип —— */

.site-footer__intro {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.site-footer__intro > .site-footer__column {
    flex: 1 1 auto;
}

.site-footer__logo-wrap {
    display: flex;
    width: 100%;
}

.site-footer__logo-wrap--left { justify-content: flex-start; }
.site-footer__logo-wrap--center { justify-content: center; }
.site-footer__logo-wrap--right { justify-content: flex-end; }

/* Первая колонка: телефон — лого сверху, заголовок «О нас» */
@media (max-width: 991.98px) {
    .site-footer__logo-wrap--intro {
        margin-bottom: 0.75rem;
        order: 1;
    }

    .site-footer__intro > .site-footer__column {
        order: 2;
        width: 100%;
    }

    .site-footer__intro > .site-footer__column .site-footer__title,
    .site-footer__intro > .site-footer__column .site-footer__text {
        text-align: left;
    }
}

/* Первая колонка: десктоп — текст сверху, лого внизу (горизонт — из админки) */
@media (min-width: 992px) {
    .site-footer__intro > .site-footer__column {
        order: 1;
    }

    .site-footer__logo-wrap--intro {
        order: 2;
        margin-top: auto;
        margin-bottom: 0;
        padding-top: 1rem;
        align-self: stretch;
    }
}

.site-footer__logo-link {
    display: inline-block;
    line-height: 0;
}

.site-footer__logo {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* —— Нижняя полоса —— */

.site-footer__bar {
    background: var(--footer-bar-bg, #000);
    color: var(--footer-bar-text, #fff);
    border-top: 1px solid #222;
    padding: 1rem 0;
    font-size: 16px;
    line-height: 1.45;
    text-align: center;
}

.site-footer__bar-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 1.25rem;
    align-items: start;
}

.site-footer__bar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    text-align: center;
    gap: 0.5rem;
}

.site-footer__bar-caption {
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    min-height: calc(2 * 1.45em);
    margin: 0;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: normal;
    color: #fff;
}

.site-footer__bar-caption--placeholder {
    visibility: hidden;
    user-select: none;
    min-height: 1.45em;
}

.site-footer__bar-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 1.875rem;
}

.site-footer__bar-media--empty {
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .site-footer__bar-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .site-footer__bar-inner {
        grid-template-columns: 1fr;
    }

}

.site-footer__social-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.site-footer__social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    background: var(--footer-social-bg, #edd485);
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.15s ease;
}

.site-footer__social-btn:hover,
.site-footer__social-btn:focus-visible,
.site-footer__social-btn:active {
    color: #fff;
}

.site-footer__social-btn svg {
    display: block;
    width: 1.0125rem;
    height: 1.0125rem;
    fill: currentColor;
}

.site-footer__social-btn .site-footer__social-icon--max {
    width: 1.125rem;
    height: 1.125rem;
}

.site-footer__pay-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.site-footer__pay-logo {
    display: block;
    width: 3.625rem;
    height: 1.375rem;
    object-fit: fill;
    flex: 0 0 auto;
}

.site-footer__counter {
    display: inline-block;
    min-height: 1.5rem;
    text-align: center;
}
