.fes2026-marquee-viewport {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.fes2026-marquee-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: fes2026-marquee-left var(--fes2026-marquee-duration, 46s) linear infinite;
}

.fes2026-marquee--reverse .fes2026-marquee-track {
    animation-direction: reverse;
}

.fes2026-marquee-group {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
    padding-right: 10px;
}

.fes2026-marquee-item {
    flex: 0 0 min(300px, calc((100vw - 50px) / 6));
    width: min(300px, calc((100vw - 50px) / 6));
    min-width: 160px;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden;
}

.fes2026-marquee-item .elementor-carousel-image {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 169.84 / 399.84;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.fes2026-marquee-item > a {
    display: block;
}

.fes2026-marquee-fallback.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}

@keyframes fes2026-marquee-left {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 1024px) {
    .fes2026-marquee-item {
        flex-basis: calc((100vw - 30px) / 4);
        width: calc((100vw - 30px) / 4);
        min-width: 0;
    }
}

@media (max-width: 767px) {
    .fes2026-marquee-group {
        gap: 5px;
        padding-right: 5px;
    }

    .fes2026-marquee-item {
        flex-basis: calc((100vw - 5px) / 2);
        width: calc((100vw - 5px) / 2);
    }
}
