/* ===== SPONSORS ===== */
.sponsors {
    text-align: center;
}

.sponsors h2 {
    font-size: 3.7rem;
    margin-bottom: 1.5rem;
}

.sponsor-marquee {
    background: white;
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    /* Création d'un nouveau contexte d'empilement pour l'optimisation */
    transform: translateZ(0);
}

.sponsor-track {
    display: flex;
    align-items: center;
    width: max-content;
    /* Utilisation de translate3d pour forcer l'accélération matérielle (GPU) */
    animation: scroll 40s linear infinite;
    will-change: transform;
    /* Indique au navigateur que cet élément va bouger */
}

@keyframes scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

.sponsor-logo {
    margin-right: 3rem;
    /* Optimisation pour les images */
    transform: translateZ(0);
}

.sponsor-logo img {
    max-width: 140px;
    max-height: 70px;
    opacity: 0.8;
    filter: grayscale(30%);
    transition: opacity 0.3s ease, filter 0.3s ease, transform 0.3s ease;
    /* Évite le flou lors de la transformation */
    backface-visibility: hidden;
}

.sponsor-logo img:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

@media (max-width: 600px) {
    .sponsors h2 {
        font-size: 2.5rem;
    }

    .sponsor-marquee {
        padding: 1.5rem 1rem;
    }

    .sponsor-logo img {
        max-width: 100px;
        max-height: 50px;
    }
}