.footer {
    background: var(--dark-blue);
    margin-top: auto;
}

.footer .container {
    min-height: auto;
    display: block;
}

.footer__top {
    padding: var(--spacing-2xl) 0 var(--spacing-lg);
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 95px;
}

.footer__brand {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.footer__logo-link {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    text-decoration: none;
}

.footer__logo {
    width: 295px;
    max-height: 64px;
    flex-shrink: 0;
}

.footer__company-name {
    font-weight: var(--font-weight-semibold);
    color: var(--00);
}

.footer__info {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 88px;
}

.footer__title {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    color: var(--00);
    margin-bottom: 20px;
}

.footer__text,
.footer__nav-link,
.footer__link {
    font-size: var(--font-size-base);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--00);
    opacity: 0.8;
}


.footer__contacts .footer__text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.footer__nav-link,
.footer__link {
    white-space: nowrap;
}

.footer__nav-link:hover,
.footer__link:hover,
.footer__privacy:hover {
    color: var(--main-blue);
}

.footer__map {
    height: 265px;
    background: var(--dark-blue);
    overflow: hidden;
}


.footer__map-image {
    width: 100%;
    height: 100%;
}

.footer__bottom {
    padding: var(--spacing-lg) 0 var(--spacing-2xl);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer__copyright,
.footer__privacy {
    font-size: var(--font-size-xs);
    color: var(--00);
    opacity: 0.8;
}

.footer__privacy {
    transition: color var(--transition-base);
}

@media (max-width: 1200px) {
    .footer__top {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }

    .footer__info {
        grid-template-columns: auto auto auto;
    }
}

@media (max-width: 1024px) {
    .footer__map-image {
        background-position: 62% center;
    }
}

@media (max-width: 768px) {
    .footer__top {
        padding: var(--spacing-xl) 0;
    }

    .footer__title {
        margin-bottom: 18px;
    }

    .footer__logo {
        width: 194px;
        max-height: 42px;
    }

    .footer__text,
    .footer__nav-link,
    .footer__link,
    .footer__company-name {
        font-size: var(--font-size-sm);
    }

    .footer__info {
        grid-template-columns: 1fr 1fr;
        gap: var(--spacing-lg);
    }

    .footer__address {
        grid-column: 1 / -1;
    }

    .footer__map {
        margin: 0 auto;
    }

    .footer__bottom {
        flex-direction: column-reverse;
        gap: var(--spacing-sm);
        align-items: flex-start;
    }
}