/* ==========================================================
   LAL MARQUEE PRO · DIVI 5
========================================================== */

.lal_d5_marquee {
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    min-width: 0;
}

.lal-d5-marquee {
    position: relative;
    width: 100%;
    max-width: none;
    min-width: 0;
    background: var(--lal-marquee-bg, #ff4e25);
}

.lal-d5-marquee-full .lal-d5-marquee-shell {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.lal-d5-marquee-shell,
.lal-d5-marquee-nav {
    width: 100%;
    overflow: hidden;
    background: var(--lal-marquee-bg, #ff4e25);
}

.lal-d5-marquee-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    width: max-content;
    animation: lal-d5-marquee-infinite var(--lal-marquee-speed, 34s) linear infinite;
    will-change: transform;
}

.lal-d5-marquee-right .lal-d5-marquee-track {
    animation-direction: reverse;
}

.lal-d5-marquee-set {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    flex: none;
    gap: var(--lal-marquee-gap, 24px);
    padding: 0 calc(var(--lal-marquee-gap, 24px) / 2);
    min-height: var(--lal-marquee-height, 62px);
    box-sizing: border-box;
}

.lal-d5-marquee-child {
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content;
    margin: 0 !important;
    padding: 0 !important;
}

.lal-d5-marquee-item-inner {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: var(--lal-marquee-gap, 24px);
    min-width: max-content;
}

.lal-d5-marquee-link {
    display: inline-flex;
    align-items: center;
    flex: none;
    white-space: nowrap;
    font-family: var(--lal-marquee-font, Georgia, "Times New Roman", serif);
    font-size: var(--lal-marquee-font-size, 17px);
    font-weight: var(--lal-marquee-weight, 400);
    line-height: 1;
    color: var(--lal-marquee-text, #171717) !important;
    text-decoration: none !important;
    transition: opacity .25s ease, transform .25s cubic-bezier(.22,.61,.36,1);
}

.lal-d5-marquee-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    color: var(--lal-marquee-sep, #171717);
    font-size: var(--lal-marquee-sep-size, 7px);
    line-height: 1;
    opacity: var(--lal-marquee-sep-opacity, .72);
}

.lal-d5-marquee-separator::before {
    content: var(--lal-marquee-separator, "✦");
}

.lal-d5-marquee-clone {
    pointer-events: none;
}

.lal-d5-marquee-empty {
    font-family: Poppins, Arial, sans-serif;
    font-size: 12px;
    color: var(--lal-marquee-text, #171717);
    white-space: nowrap;
}

@media (hover: hover) {
    .lal-d5-marquee-link[href]:hover {
        color: var(--lal-marquee-text, #171717) !important;
        opacity: var(--lal-marquee-hover-opacity, .55);
        transform: translateY(-1px);
    }

    .lal-d5-marquee-pause:hover .lal-d5-marquee-track {
        animation-play-state: paused;
    }
}

.lal-d5-marquee-link[href]:focus-visible {
    outline: 2px solid var(--lal-marquee-text, #171717);
    outline-offset: 5px;
    border-radius: 2px;
}

@keyframes lal-d5-marquee-infinite {
    from { transform: translate3d(0,0,0); }
    to { transform: translate3d(-50%,0,0); }
}

@media (prefers-reduced-motion: reduce) {
    .lal-d5-marquee-nav {
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .lal-d5-marquee-track {
        animation: none !important;
        transform: none !important;
        will-change: auto;
    }

    .lal-d5-marquee-clone {
        display: none !important;
    }

    .lal-d5-marquee-link {
        transition: none !important;
    }
}
