.sifuim-text-marquee-wrapper {
    overflow: hidden;
    width: 100%;
    display: flex;
    white-space: nowrap;
    position: relative;
    /* Transform Controls */
    transform: rotate(var(--marquee-rotate, 0deg)) skewY(var(--marquee-skew, 0deg));
}

.sifuim-text-marquee-content {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    animation: sifuim-marquee-scroll var(--marquee-speed, 20s) linear infinite;
    animation-direction: var(--marquee-direction, normal);
}

.sifuim-text-marquee-item {
    display: inline-flex;
    align-items: center;
    padding-right: var(--marquee-gap, 2rem);
    /* Typography is handled by Elementor settings on this class or parent */
}

/* Pause on Hover */
.sifuim-text-marquee-wrapper:hover .sifuim-text-marquee-content {
    animation-play-state: var(--marquee-play-state, running);
}

.sifuim-text-marquee-wrapper.pause-on-hover:hover .sifuim-text-marquee-content {
    --marquee-play-state: paused;
}

/* Text Styles */
.sifuim-text-marquee-text {
    /* Gradient Text Support */
    background-clip: text;
    -webkit-background-clip: text;
    /* Color is set via inline style or class if gradient */
}

/* Stroke Text Effect */
.sifuim-text-marquee-item.stroke-text .sifuim-text-marquee-text {
    color: transparent;
    -webkit-text-stroke-width: var(--text-stroke-width, 1px);
    -webkit-text-stroke-color: var(--text-stroke-color, #000);
}

/* Separator */
.sifuim-text-marquee-separator {
    margin-left: var(--separator-gap, 1rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1; /* Ensure icons align properly */
}

.sifuim-text-marquee-separator i,
.sifuim-text-marquee-separator svg {
    display: block; /* Fix vertical alignment issues */
    width: auto;
    height: auto;
}

/* Full Width Logic (Breakout) */
.sifuim-marquee-full-width-desktop {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: none; /* Override Elementor limits */
}

@media (max-width: 1024px) {
    .sifuim-marquee-full-width-tablet {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .sifuim-marquee-full-width-mobile {
        width: 100vw;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
        max-width: none;
    }
}

/* Animation Keyframes */
@keyframes sifuim-marquee-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
