/* Dynamic Marquee Styles */
.dynamic-marquee-container {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 0;
    z-index: 100;
}

.marquee-content {
    display: inline-flex;
    align-items: center;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.marquee-item-wrapper {
    display: inline-flex;
    align-items: center;
}

/* Animations */
@keyframes marquee-left {
    0% {
        transform: translateX(100vw);
    }

    100% {
        transform: translateX(-100%);
    }
}

@keyframes marquee-right {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100vw);
    }
}

.marquee-left {
    animation-name: marquee-left;
}

.marquee-right {
    animation-name: marquee-right;
}

/* Pause on Hover */
.pause-on-hover:hover .marquee-content {
    animation-play-state: paused;
}

/* Content Item Styles */
.marquee-separator {
    margin: 0 30px;
    font-size: 1.2em;
    opacity: 0.6;
}

.marquee-text-item {
    margin: 0 30px;
    font-weight: 500;
}

.marquee-image-item {
    height: 40px;
    width: auto;
    margin: 0 40px;
    object-fit: contain;
}

.marquee-product-item {
    display: inline-flex;
    align-items: center;
    margin: 0 30px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s;
}

.marquee-product-item:hover {
    transform: scale(1.05);
}

.marquee-product-item img {
    height: 40px;
    width: 40px;
    border-radius: 4px;
    margin-right: 12px;
    object-fit: cover;
}

.marquee-product-item .product-price {
    margin-left: 10px;
    font-weight: bold;
    color: hsl(var(--base));
}

@media (max-width: 768px) {
    .marquee-text-item {
        margin: 0 20px;
    }

    .marquee-image-item {
        height: 30px;
        margin: 0 20px;
    }

    .marquee-product-item {
        margin: 0 15px;
    }
}