/* ==========================================================================
   Movement.org — Logo Slider styles
   ========================================================================== */

.logo-slider-wrap {
    margin: 2em 0;
}

.logo-slider-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-slider-item img {
    display: block;
    max-height: 120px;
    width: auto;
    object-fit: contain;
}

/* ---- Grid mode (≤5 logos) ---- */
.logo-slider-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 3em;
}

/* ---- Scrolling mode (>5 logos) ---- */
.logo-slider-viewport {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.logo-slider-track {
    display: flex;
    align-items: center;
    gap: 4em;
    width: max-content;
    animation-name: mvmt-logo-scroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: var(--mvmt-logo-duration, 30s);
}

.logo-slider-track.is-ready {
    animation-play-state: running;
}

@keyframes mvmt-logo-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .logo-slider-track {
        animation: none !important;
        transform: none !important;
    }
    .logo-slider-viewport {
        overflow-x: auto;
    }
}
