#footer-real {
    background-color: #005f8d;
    color: #ffffff;
    padding: 31px 0 34px;
}

#footer-real h5 {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.3px;
    margin-bottom: 14px;
    text-transform: uppercase;
    color: #ffffff;
}

#footer-real .fr-footer-title-spaced {
    margin-top: 28px;
}

#footer-real .fr-footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-real .fr-footer-list li a {
    position: relative;
    display: inline-block;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    transition: color 0.2s ease;
}

#footer-real .fr-footer-list li a::before {
    content: "";
    position: absolute;
    top: 1px;
    bottom: 1px;
    left: -10px;
    width: 4px;
    background-color: #f4c400;
    opacity: 0;
    transition: opacity 0.2s ease;
}

#footer-real .fr-footer-list li a:hover,
#footer-real .fr-footer-list li a:focus-visible {
    color: #f4c400;
    text-decoration: none;
}

#footer-real .fr-footer-list li a:hover::before,
#footer-real .fr-footer-list li a:focus-visible::before {
    opacity: 1;
}

#footer-real .fr-privacy-link-wrap {
    margin-top: 28px;
}

#footer-real .fr-privacy-link {
    display: inline-flex;
    align-items: center;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

#footer-real .fr-privacy-link:hover {
    color: #ffa500;
    text-decoration: none;
}

#footer-real .fr-privacy-link::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background: url("../img/new_footer/icono-seguridad.png") no-repeat center center;
    background-size: contain;
    margin-right: 10px;
    flex-shrink: 0;
}

#footer-real .fr-acreditacion-box {
    width: 200px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}

#footer-real .fr-acreditacion-box img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

#footer-real .fr-redes {
    margin-top: -100px;
}

#footer-real .fr-logo-usm {
    width: 180px;
    max-width: 100%;
    margin-top: 28px;
}

#footer-real .fr-logo-usm img {
    display: block;
    width: 100%;
    height: auto;
}

#footer-real .fr-social-icons {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin: 34px 0 0;
}

#footer-real .fr-social-icons a:hover,
#footer-real .fr-social-icons a:focus-visible {
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
}

/* Facebook */
#footer-real .fr-social-facebook:hover,
#footer-real .fr-social-facebook:focus-visible {
    background-color: #1877f2;
}

/* X */
#footer-real .fr-social-x:hover,
#footer-real .fr-social-x:focus-visible {
    background-color: #050505;
    color: #006894;
}

/* YouTube */
#footer-real .fr-social-youtube:hover,
#footer-real .fr-social-youtube:focus-visible {
    background-color: #ff0033;
}

/* Instagram */
#footer-real .fr-social-instagram:hover,
#footer-real .fr-social-instagram:focus-visible {
    background:
        radial-gradient(
            circle at 30% 107%,
            #fdf497 0%,
            #fdf497 5%,
            #fd5949 45%,
            #d6249f 60%,
            #285aeb 90%
        );
}

/* LinkedIn */
#footer-real .fr-social-linkedin:hover,
#footer-real .fr-social-linkedin:focus-visible {
    background-color: #0a86c7;
}

#footer-real .fr-x-icon {
    font-family: Arial, sans-serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
}

#footer-real .fr-social-icons a {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    background-color: #ffffff;
    color: #005f8d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 17px;
    line-height: 1;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

#footer-real-bottom {
    background-color: #303030;
    padding: 39px 0;
}

#footer-real-bottom .container {
    max-width: 1200px;
}

#footer-real-bottom .fr-partners-logos {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: nowrap;
}

#footer-real-bottom .fr-partners-logos img {
    height: 58px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    display: block;
    filter: brightness(0) invert(1);
    opacity: 1;
}

#footer-real-meta.fr-footer3 {
    background-color: #191919;
    color: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 0.77em;
    line-height: 1.35;
    padding: 14px 0;
}

#footer-real-meta.fr-footer3 .row {
    align-items: center;
}

#footer-real-meta.fr-footer3 p {
    margin: 0;
}

#footer-real-meta.fr-footer3 strong {
    font-weight: 700;
}

@media (max-width: 1199px) {
    #footer-real .fr-redes {
        margin-top: -90px;
    }

    #footer-real-bottom .fr-partners-logos {
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
    }

    #footer-real-bottom .fr-partners-logos img {
        height: 48px;
        max-width: 140px;
    }
}

@media (max-width: 991px) {
    #footer-real {
        padding: 42px 0 28px;
    }

    #footer-real .fr-redes {
        margin-top: 0;
    }

    #footer-real .fr-logo-usm {
        margin: 10px auto 0;
    }

    #footer-real .fr-social-icons {
        justify-content: center;
        margin-top: 20px;
    }

    #footer-real-bottom .fr-partners-logos {
        gap: 18px;
    }

    #footer-real-bottom .fr-partners-logos img {
        height: 42px;
        max-width: 120px;
    }
}

@media (max-width: 767px) {
    #footer-real {
        padding: 38px 0 24px;
    }

    #footer-real .fr-acreditacion-box {
        margin-top: 24px;
    }

    #footer-real .fr-social-icons {
        gap: 12px;
    }

    #footer-real .fr-social-icons a {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    #footer-real-bottom {
        padding: 20px 0;
    }

    #footer-real-bottom .fr-partners-logos {
        justify-content: center;
        gap: 16px;
    }

    #footer-real-bottom .fr-partners-logos img {
        height: 36px;
        max-width: 110px;
    }

    #footer-real-meta.fr-footer3 {
        text-align: center;
        padding: 12px 0;
    }

    #footer-real-meta.fr-footer3 p {
        margin: 4px 0;
    }
}
