/* VL Marquee Widget — CSS Animation Variant (Section 7 style) */
.vl-marquee-wrapper {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.vl-marquee-row {
    overflow: hidden;
    white-space: nowrap;
    line-height: 1.5;
}

.vl-marquee-track {
    display: inline-flex;
    animation: vl-marquee-scroll 40s linear infinite;
    white-space: nowrap;
    /* gap via Elementor track_gap control */
}

.vl-marquee-track.vl-marquee-reverse {
    animation: vl-marquee-scroll 40s linear infinite reverse;
}

.vl-marquee-track span {
    /* font-family set inline by per-row control */
    /* font-weight via Elementor font_weight control */
    /* font-size via Elementor font_size control */
    /* text-transform via Elementor text_transform control */
    /* color via Elementor text_color control */
    flex-shrink: 0;
}

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

/* VL Marquee Widget — Velocity Variant (Section 10 style) */
.vl-marquee-velocity .vl-marquee-row {
    /* height via Elementor row_height control */
    overflow: hidden;
}

.vl-marquee-velocity .vl-marquee-track {
    display: flex;
    white-space: nowrap;
    /* gap via Elementor track_gap control */
    animation: none; /* JS drives this */
    will-change: transform;
}

.vl-marquee-velocity .vl-marquee-track span {
    /* font-family set inline by per-row control */
    /* font-weight via Elementor font_weight control */
    /* font-size via Elementor velocity_font_size control */
    line-height: 1.5;
    /* color via Elementor text_color control */
    /* text-transform via Elementor text_transform control */
    flex-shrink: 0;
}

/* Velocity variant — responsive sizes handled by Elementor responsive controls */
