/**
 * Slider Image Scroll Reveal — animación de entrada por scroll para
 * sliders de tipo "imágenes" de OZ-Sliders (.ozs--images).
 *
 * Cuando el slider entra al viewport del navegador, cada .ozs__slide visible
 * aparece con un fade + subida + zoom suave, en cascada de izquierda a derecha.
 *
 * No afecta a .ozs--cards (que ya tiene su propia animación) ni a otros
 * tipos de slider.
 */

/* Estado inicial: cada slide oculta y desplazada hacia abajo. */
.ozs.ozs--images .ozs__slide.ss-img-reveal {
	opacity: 0;
	transform: translate3d(0, 36px, 0) scale(0.94);
	transition:
		opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
	transition-delay: var(--ss-img-reveal-delay, 0s);
}

/* Estado visible (lo añade el JS al entrar al viewport). */
.ozs.ozs--images .ozs__slide.ss-img-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

/* Evita que el desplazamiento residual cree un mini scroll vertical. */
.ozs.ozs--images .ozs__viewport {
	overflow-y: hidden;
}

/* Oculta también la mini-barra horizontal del track en Chromium. */
.ozs.ozs--images .ozs__track::-webkit-scrollbar,
.ozs.ozs--images .ozs__track::-webkit-scrollbar-thumb,
.ozs.ozs--images .ozs__track::-webkit-scrollbar-track {
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
	display: none !important;
}

/* Respeta reduce-motion */
@media (prefers-reduced-motion: reduce) {
	.ozs.ozs--images .ozs__slide.ss-img-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
