footer {
    background-color: var(--footer-grey-bg);
    text-align: center;
    padding: 30px 0;
    color: var(--footer-p-color);
}

.footer-inner-container.centered-column section:not(:last-of-type):not(:first-of-type) {
    border-bottom: solid 1px var(--footer-separator);
    padding: 1em 0;
}

.footer-inner-container.centered-column {
    padding: 0 15px;
}

section .kit-imgs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px;
}

section.kit p {
    font-size: 16px;
}

section.contact {
    display: grid;
    place-content: start center;
    place-items: start center;
    grid-template-columns: repeat(2, 1fr);
    gap: 5em;
}

section.contact .optica {
    display: grid;
    gap: 5px;
    width: 100%;
}

section.contact .optica hr {
    color: var(--footer-separator);
    width: 100%;
    margin: 15px 0;
}

section.beneficiario a, section.contact a {
    color: var(--footer-links-color);
    text-decoration: none !important;
    font-size: 16px;
}

section.contact .optica a[href^="mailto:"], section.contact .optica a[href^="tel:"] {
    font-weight: 700;
}

footer section.identity {
    padding: 0 15px 1em;
}

footer section.social {
    display: grid;
    grid-template-columns: 400px 400px;
    place-content: space-around;
    place-items: center;
}

[class^="socials-"] {
    display: flex;
    flex-flow: row;
    gap: 1em;
    justify-content: center;
    align-items: center;
}

footer section.menu .footer_menu ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    place-content: center;
    gap: 20px;
}

footer section.menu .footer_menu {
    grid-column: 2;
}

footer .legal_menu ul li a {
    font-size: 13px;
}

footer section.menu .footer_menu ul li a {
    font-size: 16px
}

footer .legal_menu ul li a, footer section.menu .footer_menu ul li a {
    text-decoration: none;
    color: var(--footer-links-color);
    
}

footer .legal_menu ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 70px));
    place-content: center;
}

footer section.menu .socials {
    display: grid;
    grid-column: 3;
    grid-template-columns: repeat(auto-fit, 31px);
    gap: 28px;
}


section.kit {
    padding: 20px 0;
}

@media (max-width: 1280px) {
    footer section.menu {
        grid-template-columns: 1fr;
        grid-row: 2;
    }

    footer section.menu .footer_menu, footer section.menu .socials {
        grid-column: unset;
    }

    footer section.menu .socials {
        place-content: center;
        grid-row: 1;
    }
}

@media (max-width: 1130px) {
    footer section.contact {
        grid-template-columns: 1fr;
        padding: 3em 0 2em !important;
        gap: 5em;
    }

    section.contact .optica hr {
        max-width: 600px;
        margin: 15px auto;
        width: 100%;
    }
}

@media (max-width: 1030px) {
    footer .legal_menu ul, footer section.menu .footer_menu ul {
        grid-template-columns: repeat(3, minmax(148px, 1fr));
    }
}
@media (max-width: 860px) {
footer section.social{
    grid-template-columns: 1fr;
}
}

@media (max-width: 580px) {
    section .kit-imgs {
        flex-flow: column;
        gap: 1.5em;
        padding-top: 2em;
    }
}


@media (max-width: 555px) {
    footer .legal_menu ul, footer section.menu .footer_menu ul {
        grid-template-columns: repeat(2, minmax(148px, 1fr));
    }
}

@media (max-width: 400px) {
    footer .legal_menu ul, footer section.menu .footer_menu ul {
        grid-template-columns: repeat(1, minmax(148px, 1fr));
    }
}
