/* ---------- FOOTER VARIABLES ---------- */
:root {
    --footer-bg-img: url("../img/footer-bg.jpg");
    --footer-text: #fff;
    --footer-accent: #ffcc00;

    --space-s: 10px;
    --space-m: 16px;
    --space-l: 24px;
    --space-xl: 40px;
    --radius-s: 8px;
}

/* ---------- FOOTER ---------- */
.site-footer {
    background: var(--footer-bg-img) no-repeat center top / cover;
    color: var(--footer-text);
    padding: var(--space-xl) 0;
    min-height: 350px;
    flex-shrink: 0;
}

/* Контент футера */
.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(24px, 6vw, 50px);
    flex-wrap: wrap;
}

/* Блоки внутри футера (меню/контакты/карта) */
.footer-column {
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
    min-width: 240px;
}

/* Меню футера в столбик */
.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-s);
}

.footer-menu a {
    color: var(--footer-text);
    font-size: 15px;
    text-decoration: none;
    font-weight: 600;
}

.footer-menu a:hover,
.footer-menu a:focus-visible {
    color: var(--footer-accent);
    outline: none;
}

/* Контакты */
.footer-contacts p {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 15px 0;
}

.footer-contacts a {
    color: var(--footer-text);
    text-decoration: none;
}

.footer-contacts a:hover,
.footer-contacts a:focus-visible {
    color: var(--footer-accent);
    outline: none;
}

/* Иконки Font Awesome */
.footer-contacts i {
    color: var(--footer-accent);
    min-width: 20px;
    text-align: center;
}

/* Карта (адаптивная) */
.footer-map {
    flex: 1 1 320px;
}

.footer-map iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: none;
    border-radius: var(--radius-s);
}

/* Логотип футера */
.footer-logo {
    text-align: center;
    margin-bottom: var(--space-l);
}

.footer-logo-img {
    height: 60px;
    width: auto;
    display: block;
    margin: 0 auto;
}

.footer-text {
    margin-top: 8px;
    font-size: 14px;
    color: var(--footer-text);
    text-align: center;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
    .site-footer {
        padding: calc(var(--space-xl) + 16px) 0;
    }

    .footer-inner {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-xl);
    }

    .footer-column {
        min-width: 100%;
        width: 100%;
    }

    .footer-menu,
    .footer-contacts {
        align-items: center;
        text-align: center;
    }

    .footer-contacts p {
        justify-content: center;
    }

    .footer-map {
        order: 3;
        flex: 0 1 auto;
        width: 100%;
    }

    .footer-map iframe {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 16 / 9;
        display: block;
    }

    .footer-menu a {
        font-size: 14px;
        font-weight: 600;
    }

    .footer-menu {
        order: 1;
    }

    .footer-contacts {
        order: 2;
    }

    .footer-map {
        order: 3;
    }
}

@media (max-width: 768px) {
    .footer-inner {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-l);
    }

    .footer-column {
        min-width: 100%;
    }

    .footer-menu,
    .footer-contacts {
        align-items: center;
        text-align: center;
    }

    .footer-contacts p {
        justify-content: center;
    }

    .footer-map {
        order: 3;
    }

    .footer-logo-img {
        height: 52px;
    }

    .footer-text {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .footer-logo-img {
        height: 52px;
    }

    .footer-text {
        font-size: 13px;
    }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
    }
}