/* Carrusel de sectores: conserva los colores definidos en style.css. */

.carrusel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right,
            transparent 0%,
            #1E1E24 5%,
            #1E1E24 95%,
            transparent 100%);
    mask-image: linear-gradient(to right,
            transparent 0%,
            #1E1E24 5%,
            #1E1E24 95%,
            transparent 100%);
}

.carrusel-pista {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    width: max-content;
    max-width: none;
    animation: none;
}

.carrusel-pista>* {
    flex: 0 0 auto;
}

/* JavaScript agrega las copias y calcula distancia y duración. */
.carrusel-pista.lista {
    animation: desplazar var(--duracion-carrusel, 30s) linear infinite;
}

.carrusel-pista.lista.fuera-de-vista,
.carrusel-pista.lista.pestana-oculta,
.carrusel:hover .carrusel-pista.lista,
.carrusel:focus-within .carrusel-pista.lista {
    animation-play-state: paused;
}

@keyframes desplazar {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(var(--distancia-carrusel, 0px));
    }
}

@media (max-width: 900px) {
    .carrusel {
        -webkit-mask-image: none;
        mask-image: none;
    }

    .carrusel-pista {
        gap: 16px;
    }

    .carrusel-pista>.tarjeta-sector {
        width: clamp(230px, 34vw, 280px);
    }
}

@media (max-width: 600px) {
    .carrusel-pista {
        gap: 12px;
    }

    .carrusel-pista>.tarjeta-sector {
        width: min(76vw, 260px);
    }

    .carrusel-pista .sector-imagen {
        height: 150px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .carrusel {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .carrusel-pista.lista {
        animation: none;
        transform: none;
    }
}