.footer-marquee {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    padding-top: 10px;
    padding-bottom: 14px;
    border-top: 1px solid var(--bs-black);
    border-bottom: 1px solid var(--bs-black);
}

.marquee-track {
    display: inline-flex;
    gap: 24px;
    animation: marqueeScroll 40s linear infinite;
}

.marquee-footer-text {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 16px;
    line-height: 16px;
    font-weight: 500;
    font-family: 'Work Sans', sans-serif;
    white-space: nowrap;
}

@keyframes marqueeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.footer-wrapper {
    padding-top: 58px;
    padding-bottom: 42px;
}

.footer-brand {
    gap: 40px;
}

.footer-contact-title {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 16px;
}

.certifications-grid {
    display: flex;
    max-width: 290px;;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    width: 100%;
    margin-bottom: 42px;
}

.certifications-grid img {
    height: 32px;
}

.footer-email {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    font-style: normal;
    margin-bottom: 16px;
}

.footer-image-spanish {
    margin: 40px 0;
}

.locations-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: row;
    gap: 40px 129px;
}

.footer-location {
    width: 195px;
    height: 104px;
}

.footer-location-title {
    font-family: "Work Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    text-transform: uppercase;
    color: var(--bs-black);
}

.footer-location-address {
    color: var(--bs-black);
    font-family: "Work Sans";
    font-size: 14px;
    font-style: italic;
    font-weight: 600;
    line-height: 20px;
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 10%; /* 1.4px */
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.footer-location-link {
    text-decoration: none;
    margin-bottom: 16px;
}

.footer-location-phone {
    font-family: "Work Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
    color: var(--bs-black);
}

.footer-location-phone:hover {
    color: var(--bs-main-500);
}

.footer-bottom {
    padding: 11px 0;
}

.copyright-footer {
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.marquee-footer-text {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
}

/* Marquee de Certificaciones */
.certifications-marquee {
    overflow: hidden;
    width: 100%;
    order: 3;
    padding-top: 28px;
    padding-bottom: 40px;
}

.certifications-track {
    display: flex;
    align-items: center;
    gap: 32px;
    animation: marquee 7s linear infinite;
    width: max-content;
    cursor: grab;
    touch-action: pan-x;
}

.certifications-track img {
    height: 48px;
    width: auto;
    user-select: none;
    pointer-events: none;
}

.footer-sponsor-mobile {
    padding-top: 32px;
}

.footer-social {
    display: flex;
    gap: 16px;
}

.footer-social a {
    text-decoration: none !important;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

@media screen and (max-width: 1400px) {
    .footer-logo img {
        max-height: 40px;
        max-width: 209px;
    }
}

@media screen and (max-width: 1280px) {
    .locations-list {
        gap: 24px 24px;
    }
}

@media screen and (max-width: 1200px) {
    .footer-social {
        display: flex;
        gap: 8px;
    }

    .footer-wrapper {
        flex-direction: column;
        padding-top: 32px;
    }

    .footer-sponsor {
        display: none;
    }

    .footer-brand {
        align-items: center;
    }

    .footer-contact {
        display: flex;
        flex-direction: column-reverse;
    }

    .footer-image-spanish {
        order: 1;
        align-self: center;
        order: 4;
    }

    .footer-email-wrapper {
        order: 2;
    }

    .certifications-grid {
        display: flex;
        max-width: fit-content;
        align-self: center;
        order: 3;
    }

    .footer-contact {
        margin-bottom: 32px;
    }

    .footer-location {
        width: fit-content;
        height: fit-content;
    }

    .locations-list {
        gap: 24px 32px;
        margin-bottom: 24px;
    }

    .copyright-footer {
        text-align: center;
    }
}

@media screen and (max-width: 576px) {
    .site-footer {
        margin-bottom: 94px;
    }

    .marquee-track {
        animation: marqueeScroll 50s linear(0 0%, 1.19 10.29%) infinite;
    }
}

@media screen and (max-width: 992px) {
    .certifications-marquee {
        margin-left: -24px;
        width: calc(100% + 48px);
    }
}
