/**
 * Partners Slider — Marquee infini de logos partenaires
 *
 * Défilement automatique CSS pur, full-width, boucle infinie.
 * Logos en niveaux de gris, couleur au survol. Pause au hover.
 */

/* =============================================================================
   Layout — Full width, no container
   ============================================================================= */
.block--partners-slider {
    padding: var(--space-xl) 0;
    overflow: hidden;
}

/* =============================================================================
   Marquee — CSS infinite scroll
   ============================================================================= */
.partners-marquee {
    position: relative;
    width: 100%;
    overflow: hidden;
    /* Fade edges */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.partners-marquee__track {
    display: flex;
    align-items: center;
    gap: 3rem;
    width: max-content;
    animation: partners-scroll 60s linear infinite;
}

/* Pause on hover */
.partners-marquee:hover .partners-marquee__track {
    animation-play-state: paused;
}

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

/* =============================================================================
   Logo items
   ============================================================================= */
.partners-marquee__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: var(--space-sm) var(--space-md);
    height: 120px;
}

.partners-marquee__logo {
    max-height: 95px;
    max-width: 232px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.5);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.partners-marquee__item:hover .partners-marquee__logo,
.partners-marquee__item:focus .partners-marquee__logo {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.1);
}

/* =============================================================================
   Responsive
   ============================================================================= */
@media (max-width: 768px) {
    .block--partners-slider {
        padding: var(--space-xl) 0;
    }

    .partners-marquee__track {
        gap: 2rem;
        animation-duration: 30s;
    }

    .partners-marquee__item {
        height: 70px;
    }

    .partners-marquee__logo {
        max-height: 50px;
        max-width: 120px;
    }
}

@media (max-width: 480px) {
    .partners-marquee__track {
        gap: 1.5rem;
        animation-duration: 22s;
    }

    .partners-marquee__item {
        height: 55px;
        padding: var(--space-xs) var(--space-sm);
    }

    .partners-marquee__logo {
        max-height: 40px;
        max-width: 100px;
    }
}

/* =============================================================================
   Prefers reduced motion
   ============================================================================= */
@media (prefers-reduced-motion: reduce) {
    .partners-marquee__track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: auto;
    }

    .partners-marquee {
        -webkit-mask-image: none;
        mask-image: none;
    }
}
