/* css/marquee.css */
.marquee-container {
    width: 100%;
    overflow: hidden;
    background-color: var(--black);
    padding: 3.5rem 0;
    position: relative;
    display: flex;
    border-top: 1px solid rgba(12, 250, 159, 0.1);
    border-bottom: 1px solid rgba(12, 250, 159, 0.1);
}

/* Difuminado elegante en los bordes */
.marquee-container::before,
.marquee-container::after {
    content: "";
    position: absolute;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.marquee-container::before {
    left: 0;
    background: linear-gradient(to right, var(--black), transparent);
}

.marquee-container::after {
    right: 0;
    background: linear-gradient(to left, var(--black), transparent);
}

.marquee {
    display: flex;
    width: max-content;
    /* Aceleración por hardware para fluidez extrema */
    will-change: transform;
    animation: scrollMarquee 30s linear infinite;
    align-items: center;
    gap: 5rem;
    padding-left: 5rem;
}

/* Pausar al pasar el mouse */
.marquee:hover {
    animation-play-state: paused;
}

.marquee img {
    height: 40px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(0.4);
    transition: filter 0.3s ease, transform 0.3s ease;
}

.marquee img:hover {
    filter: grayscale(0%) opacity(1);
    transform: scale(1.1);
}

@keyframes scrollMarquee {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

/* Responsive */
@media (max-width: 768px) {
    .marquee-container { padding: 2rem 0; }
    .marquee { gap: 3rem; padding-left: 3rem; }
    .marquee img { height: 30px; }
    .marquee-container::before, .marquee-container::after { width: 50px; }
}