.marquee-container {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.marquee-col {
    overflow: hidden;
    flex: 1;
    position: relative;
}

.marquee-items {
    display: flex;
    flex-direction: column;
    will-change: transform;
}

.marquee-item {
    flex-shrink: 0;
}

/* Vertical Animation */
@keyframes scroll-down {
    0% { 
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); 
    }
    100% { 
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); 
    }
}

@keyframes scroll-up {
    0% { 
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); 
    }
    100% { 
        -webkit-transform: translateY(-60%);
        -moz-transform: translateY(-60%);
        -ms-transform: translateY(-60%);
        transform: translateY(-60%); 
    }
}

.vertical .marquee-col:nth-child(odd) .marquee-items {
    -webkit-animation: scroll-down linear infinite;
    -moz-animation: scroll-down linear infinite;
    -ms-animation: scroll-down linear infinite;
    animation: scroll-down linear infinite;
}

.vertical .marquee-col:nth-child(even) .marquee-items {
    -webkit-animation: scroll-up linear infinite;
    -moz-animation: scroll-up linear infinite;
    -ms-animation: scroll-up linear infinite;
    animation: scroll-up linear infinite;
}

/* Horizontal Animation */
@keyframes scroll-left {
    0% { 
        -webkit-transform: translateX(60%);
        -moz-transform: translateX(60%);
        -ms-transform: translateX(60%);
        transform: translateX(60%); 
    }
    100% { 
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0); 
    }
}

@keyframes scroll-right {
    0% { 
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0); 
    }
    100% { 
        -webkit-transform: translateX(60%);
        -moz-transform: translateX(60%);
        -ms-transform: translateX(60%);
        transform: translateX(60%); 
    }
}

.horizontal .marquee-col:nth-child(odd) .marquee-items {
    -webkit-animation: scroll-left linear infinite;
    -moz-animation: scroll-left linear infinite;
    -ms-animation: scroll-left linear infinite;
    animation: scroll-left linear infinite;
}

.horizontal .marquee-col:nth-child(even) .marquee-items {
    -webkit-animation: scroll-right linear infinite;
    -moz-animation: scroll-right linear infinite;
    -ms-animation: scroll-right linear infinite;
    animation: scroll-right linear infinite;
}

/* Horizontal layout adjustments */
.horizontal .marquee-items {
    flex-direction: row;
    flex-wrap: nowrap;
}

.horizontal .marquee-item {
    margin-right: 20px;
    min-width: 200px;
}

/* Pause on hover effect */
.pause-on-hover .marquee-items:hover {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -ms-animation-play-state: paused;
    animation-play-state: paused;
}

/* Responsive styles */
@media (max-width: 768px) {
    .marquee-container {
        flex-direction: column;
    }
    
    .marquee-col {
        margin-bottom: 10px;
    }
    
    .horizontal .marquee-item {
        min-width: 150px;
        margin-right: 10px;
    }
}

@media (max-width: 480px) {
    .horizontal .marquee-item {
        min-width: 120px;
        margin-right: 8px;
    }
}

/* Smooth transitions for responsive changes */
.marquee-col {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
