/* 
   Infinite Ticker Styles 
   Logic: Two identical tracks. Both animate -100%. 
   This creates a perfect loop if content inside track is wide enough.
*/
.angie-ticker-wrapper {
    overflow: hidden;
    white-space: nowrap;
    width: 100vw; /* Force full viewport width */
    position: relative;
    display: flex;
    margin-left: calc(50% - 50vw); /* Break out of container */
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    left: 50%;
    right: 50%;
    transform: translateX(-50%);
}
.angie-ticker-track {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    /* Start animation immediately */
    animation: angieTickerScroll linear infinite;
    /* Width will be set by JS to match content width */
    width: max-content; 
    min-width: 100%;
}
.angie-ticker-wrapper.pause-on-hover:hover .angie-ticker-track {
    animation-play-state: paused;
}
.angie-ticker-content-set {
    display: flex;
    align-items: center;
}
.angie-ticker-item {
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
}
.angie-ticker-item a {
    text-decoration: none;
    transition: color 0.3s ease;
    display: inline-block;
}
.angie-ticker-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 15px;
    font-size: 0.7em;
    opacity: 0.7;
}
.angie-ticker-separator svg {
    width: 1em;
    height: 1em;
}
@keyframes angieTickerScroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
/* Ensure smooth rendering */
.angie-ticker-track {
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

class AngieInfiniteTickerHandler extends elementorModules.frontend.handlers.Base {
    getDefaultSettings() {
        return {
            selectors: {
                wrapper: '.angie-ticker-wrapper',
                track: '.angie-ticker-track',
                contentSet: '.angie-ticker-content-set',
            },
        };
    }