/* ==========================================================================
   Carrousel Sponsors — défilement horizontal infini et fluide
   Section insérée après "Réseau des Ambassadeurs" sur la page d'accueil.
   ========================================================================== */

.sponsors-carousel-section {
    position: relative;
    padding: 65px 0 75px;
    background: #f5f7fc;
    overflow: hidden;
}

.sponsors-carousel-section .spc-title {
    text-align: center;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #11204a;
    margin: 0 0 10px;
}

.sponsors-carousel-section .spc-subtitle {
    text-align: center;
    font-size: 17px;
    color: #5a6478;
    margin: 0 auto;
    max-width: 640px;
}

/* Zone de défilement avec fondu sur les bords */
.spc-marquee {
    position: relative;
    margin-top: 45px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
            mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
}

.spc-track {
    display: flex;
    width: -webkit-max-content;
    width: max-content;
    animation: spc-scroll var(--spc-duration, 60s) linear infinite;
    will-change: transform;
}

/* Pause au survol pour laisser observer un badge */
.spc-marquee:hover .spc-track {
    animation-play-state: paused;
}

.spc-item {
    flex: 0 0 auto;
    width: 200px;
    margin-right: 26px;
}

.spc-card {
    display: block;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(17, 32, 74, 0.06);
    box-shadow: 0 8px 22px rgba(17, 32, 74, 0.10);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.spc-card img {
    display: block;
    width: 100%;
    height: auto;
}

.spc-item:hover .spc-card {
    transform: translateY(-6px);
    box-shadow: 0 16px 34px rgba(17, 32, 74, 0.18);
}

@-webkit-keyframes spc-scroll {
    from { -webkit-transform: translateX(0); }
    to   { -webkit-transform: translateX(-50%); }
}
@keyframes spc-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* Responsive */
@media (min-width: 768px) and (max-width: 1023px) {
    .spc-item { width: 178px; margin-right: 22px; }
}
@media (max-width: 767px) {
    .sponsors-carousel-section { padding: 48px 0 56px; }
    .sponsors-carousel-section .spc-title { font-size: 26px; }
    .sponsors-carousel-section .spc-subtitle { font-size: 15px; }
    .spc-marquee { margin-top: 34px; }
    .spc-item { width: 150px; margin-right: 18px; }
}

/* Accessibilité : respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
    .spc-track { animation: none; }
    .spc-marquee {
        overflow-x: auto;
        -webkit-mask-image: none;
                mask-image: none;
    }
}
