.site-footer {
    background:
        radial-gradient(circle at 18% 0%, rgba(40, 240, 255, 0.08), transparent 26%),
        radial-gradient(circle at 84% 8%, rgba(187, 92, 255, 0.08), transparent 24%),
        linear-gradient(180deg, #03090d 0%, #010405 100%);
    padding: 72px 5% 34px;
    border-top: 1px solid rgba(40, 240, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(216, 182, 106, 0.16), 0 -24px 70px rgba(40, 240, 255, 0.04);
}

.footer-container {
    padding-bottom: 34px;
    border-bottom: 1px solid rgba(40, 240, 255, 0.12);
}

.footer-text {
    line-height: 1.75;
}

.footer-socials {
    align-items: center;
    gap: 10px;
}

.social-separator {
    color: rgba(216, 182, 106, 0.5);
    font-size: 0.85rem;
    line-height: 1;
    user-select: none;
}

.footer-bottom {
    margin-top: 56px;
}

.footer-locations::before {
    content: "";
}

.footer-copyright-row {
    width: min(1180px, 100%);
    margin: 26px auto 0;
    padding-top: 22px;
    border-top: 1px solid rgba(216, 182, 106, 0.1);
    color: rgba(243, 239, 229, 0.68);
    font-size: 0.76rem;
    text-align: left;
}

@media (max-width: 768px) {
    .site-footer {
        padding: 48px 22px 56px;
    }

    .footer-container {
        gap: 42px;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .footer-bottom {
        margin-top: 24px;
        padding-top: 0;
        border-top: 0;
        gap: 24px;
    }

    .footer-socials {
        gap: 10px;
    }

    .footer-contact,
    .footer-legal,
    .footer-cities,
    .footer-copyright-row {
        position: relative;
        padding-top: 34px;
    }

    .footer-contact::before,
    .footer-legal::before,
    .footer-cities::before,
    .footer-copyright-row::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: min(240px, 78vw);
        height: 1px;
        transform: translateX(-50%);
        background: linear-gradient(90deg, transparent, #28f0ff, #bb5cff, transparent);
        box-shadow: 0 0 10px rgba(40, 240, 255, 0.2);
        opacity: 0.62;
    }

    .footer-legal {
        order: 1;
        gap: 14px;
    }

    .footer-cities {
        order: 2;
        line-height: 1.7;
        gap: 8px;
    }

    .footer-copyright-row {
        margin-top: 28px;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .site-footer {
        padding: 44px 18px 54px;
    }

    .footer-bottom {
        width: min(320px, 100%);
    }
}
