/* Base CSS Scroller Styles (same as portfolio) */
.css-scroller {
    overflow: hidden;
    background: var(--primary-color, #333);
    color: #fff;
    padding: 40px 0;
    margin-bottom: 8px;
    mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
    -webkit-mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
    direction: ltr; /* Force LTR direction */
}

.css-scroller-inner {
    display: flex;
    width: max-content;
    animation: cssScroll var(--duration, 25s) linear infinite;
    will-change: transform;
    direction: ltr; /* Force LTR direction */
    transform: translateZ(0);
    backface-visibility: hidden;
}

.css-scroller-item {
    display: flex;
    align-items: center;
    padding: 0 8px; /* Default 16px total spacing */
    white-space: nowrap;
    direction: ltr; /* Force LTR direction */
}

.logo-image {
    height: 40px;
    filter: brightness(0.7);
    opacity: 0.9;
    transition: opacity 0.3s ease, filter 0.3s ease;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
    transform: translateZ(0);
}

.logo-image:hover {
    opacity: 1;
    filter: brightness(1);
}

/* Core Animation (same as portfolio) */
@keyframes cssScroll {
    to { 
        transform: translateX(-50%); 
    }
}

/* Pause on hover */
.css-scroller:hover .css-scroller-inner {
    animation-play-state: paused;
}

/* Direction control */
.css-scroller-inner.reverse-direction {
    animation-direction: reverse;
}

/* Specific Scroller Styles */
.sponsors-scroller {
    margin-top: 20px;
    background-color: var(--primary-color, #333);
}

.sponsors-scroller .css-scroller-item {
    padding: 0 20px; /* 20px total spacing for sponsors */
}

.sponsors-scroller .logo-image {
    height: 60px;
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

.sponsors-scroller .logo-image:hover {
    opacity: 1;
    filter: brightness(0) invert(1);
}

.icons-scroller-1 {
    background-color: var(--primary-color, #9900ff);
    padding: 60px 0;
}

.icons-scroller-1 .css-scroller-item {
    padding: 0 20px; /* 20px total spacing for icons */
}

.icons-scroller-2 {
    background-color: var(--primary-color, #9900ff);
    padding: 60px 0;
}

.icons-scroller-2 .css-scroller-item {
    padding: 0 20px; /* 20px total spacing for icons */
}

/* RTL Immunity */
.css-scroller,
.css-scroller-inner,
.css-scroller-item {
    direction: ltr !important;
    text-align: left !important;
}


/* Performance optimizations */
.css-scroller-inner {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

.logo-image {
    transform: translateZ(0);
    contain: layout style;
}

/* Reduced motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .css-scroller-inner {
        animation-duration: calc(var(--duration, 25s) * 3);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .css-scroller {
        padding: 30px 0;
    }
    
    .css-scroller-item {
        padding: 0 8px; /* Updated to maintain 16px default spacing on mobile */
    }
    
    .logo-image {
        height: 30px;
        transition-duration: 0.2s;
    }
    
    .sponsors-scroller .logo-image {
        height: 40px;
    }
    
    .icons-scroller-1,
    .icons-scroller-2 {
        padding: 40px 0;
    }
}

@media (max-width: 480px) {
    .css-scroller {
        padding: 20px 0;
    }
    
    .css-scroller-item {
        padding: 0 8px; /* Updated to maintain 16px default spacing on small mobile */
    }
    
    .logo-image {
        height: 24px;
        transition: none;
        filter: none !important;
    }
    
    .sponsors-scroller .logo-image {
        height: 30px;
        filter: brightness(0) invert(1) !important;
    }
    
    .icons-scroller-1,
    .icons-scroller-2 {
        padding: 30px 0;
    }
}

/* Battery-conscious mode */
@media (max-width: 768px) and (prefers-reduced-motion: no-preference) {
    .css-scroller-inner {
        animation-duration: calc(var(--duration, 25s) * 2);
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .logo-image {
        border: 2px solid #fff;
    }
}

/* Performance-critical low-power mode */
@media (max-width: 480px) and (prefers-reduced-motion: reduce) {
    .css-scroller-inner {
        animation: none !important;
        transform: none !important;
    }

    .logo-image {
        transition: none !important;
        transform: none !important;
        filter: none !important;
    }
}