/**
 * Infinite Marquee Widget Styles
 */

.infinite-marquee-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.infinite-marquee {
    display: flex;
    width: 100%;
    overflow: hidden;
}

.infinite-marquee-track {
    display: flex;
    align-items: center;
    gap: var(--marquee-gap, 40px);
    width: max-content;
    flex-shrink: 0;
    animation: marquee-scroll var(--marquee-speed, 20s) linear infinite;
    will-change: transform;
}

.direction-left .infinite-marquee-track {
    animation-name: marquee-scroll-left;
}

.direction-right .infinite-marquee-track {
    animation-name: marquee-scroll-right;
}

.infinite-marquee-wrapper.pause-on-hover:hover .infinite-marquee-track {
    animation-play-state: paused;
}

.infinite-marquee-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease, color 0.3s ease;
    cursor: default;
}

.infinite-marquee-item.has-link {
    cursor: pointer;
}

.infinite-marquee-item.has-link:hover {
    transform: scale(1.1);
}

.infinite-marquee-item i,
.infinite-marquee-item svg {
    display: inline-block;
    line-height: 1;
}

.infinite-marquee-item img {
    display: block;
    width: auto;
    height: 32px;
    max-width: none;
    object-fit: contain;
    box-sizing: border-box;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

.infinite-marquee-item a {
    display: flex;
    align-items: center;
}

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

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

@media (max-width: 767px) {
    .infinite-marquee-track {
        gap: calc(var(--marquee-gap, 40px) * 0.7);
    }
}
