:root {
    --footer-bottom-inner-gap: 4rem;
    --footer-bottom-inner-gap-half: calc(var(--footer-bottom-inner-gap) / 2);
}

footer .footer__bottom .address h4:last-of-type {
    margin-top: 2rem;
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {
    footer .footer__bottom .container {
        grid-template-columns: 40% 40% 20%;
    }
}

@media screen and (min-width: 960px) and (max-width: 1024px) {
    footer .footer__bottom .container {
        grid-template-columns: 40% 40% 20%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    footer .footer__bottom .container {
        display: flex;
        flex-wrap: wrap;
        gap: var(--footer-bottom-inner-gap);
    }
    footer .footer__bottom .container > div {
        padding: 0;
        width: calc(50% - var(--footer-bottom-inner-gap-half));
    }
    footer .footer__bottom .container > div:first-of-type {
        width: 100%;
    }
    footer .footer__bottom .container > div:last-of-type {
        width: auto;
        margin-left: auto;
    }
}

@media screen and (max-width: 768px) {
    footer .footer__bottom .container {
        display: flex;
        flex-wrap: wrap;
        gap: 3rem;
    }
}

@media screen and (max-width: 540px) {
    footer .logo {
        order: 0;
    }
}