/* Coqpit Logo Slider widget - structural styles (colors/spacing/filters come from Elementor controls) */

.coqpit-logo-slider {
    width: 100%;
    overflow: hidden;
    /* Lets .coqpit-logo-slider__item size itself with "cqw" against THIS
       (definite-width) box, instead of a % against .coqpit-logo-slider__track,
       whose width is "max-content" in marquee mode (so % there is indeterminate
       and gets ignored by the browser - see items_per_view control). */
    container-type: inline-size;
}

.coqpit-logo-slider__track {
    display: flex;
    align-items: center;
    width: max-content;
}

/* Static mode (no marquee): center a single, wrapping row of logos */
.coqpit-logo-slider--static .coqpit-logo-slider__track {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
}

/* Marquee mode: animated, seamless loop (the DOM contains the logo set
   twice - see render() - so translateX(-50%) always lands exactly on the
   start of the second copy). */
.coqpit-logo-slider--marquee .coqpit-logo-slider__track {
    animation-name: coqpit-logo-slider-scroll;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.coqpit-logo-slider--pause-on-hover .coqpit-logo-slider__track:hover {
    animation-play-state: paused;
}

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

.coqpit-logo-slider__item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.coqpit-logo-slider__img {
    display: block;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    transition-property: filter, opacity;
    transition-timing-function: ease;
}

.coqpit-logo-slider__empty {
    text-align: center;
    opacity: 0.6;
}

/* Users with a preference against motion still see the logos, just static */
@media (prefers-reduced-motion: reduce) {
    .coqpit-logo-slider--marquee .coqpit-logo-slider__track {
        animation: none;
    }
}
