.tm-row-wrapper {
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}

.tm-track {
    display: flex;
    white-space: nowrap;
    width: max-content;
    will-change: transform;
    animation: tm-marquee-scroll var(--tm-speed, 15s) linear infinite;
    animation-direction: var(--tm-direction-dir, normal);
    gap: var(--tm-gap, 20px);
}

.tm-list {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.tm-item {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.tm-item-text {
    white-space: nowrap;
    transition: color 0.3s ease;
}

.tm-divider {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.tm-divider svg {
    display: block;
}

/* Hover Pausing */
.tm-pause-on-hover:hover .tm-track {
    animation-play-state: paused;
}

/* Reverse Animation on Stacked Elements */
.elementor-widget-text_marquee_e5c8f9fa:nth-child(even) .tm-reverse-stacked .tm-track {
    animation-direction: reverse;
}

/* Continuous Scroll Animation Keyframe */
@keyframes tm-marquee-scroll {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-25%, 0, 0); /* 4 sets, shifting left by 1 full set (25%) makes a perfect endless loop */
    }
}
