/* ============================================= */
/* ANIMACIONES AL SCROLL - COMPATIBLE UNIVERSAL  */
/* Compatible con IE10+, Chrome, Firefox, Safari */
/* y navegadores móviles antiguos                */
/* ============================================= */

/**
 * INSTRUCCIONES:
 * 1. Enlaza este archivo CSS en tu HTML
 * 2. Añade la clase 'scroll-animation' a los elementos a animar
 * 3. Agrega una clase de efecto (ej: 'fade-up', 'slide-left')
 * 4. Incluye el JavaScript de inicialización (ver más abajo)
 */

/* Estilos base con prefijos para máxima compatibilidad */
.scroll-animation {
  opacity: 0;
  -webkit-transition: all 0.6s ease-out;
  -moz-transition: all 0.6s ease-out;
  -o-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
  
  /* Mejora de rendimiento */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* ------------------------------------- */
/* EFECTOS DE ANIMACIÓN (con prefijos)   */
/* ------------------------------------- */

/* Fade In (Aparecer) */
.fade-in {
  opacity: 0;
}

/* Desplazamiento desde abajo */
.fade-up {
  -webkit-transform: translateY(50px);
  -moz-transform: translateY(50px);
  -ms-transform: translateY(50px);
  -o-transform: translateY(50px);
  transform: translateY(50px);
}

/* Desplazamiento desde arriba */
.fade-down {
  -webkit-transform: translateY(-50px);
  -moz-transform: translateY(-50px);
  -ms-transform: translateY(-50px);
  -o-transform: translateY(-50px);
  transform: translateY(-50px);
}

/* Desplazamiento desde izquierda */
.slide-left {
  -webkit-transform: translateX(-35px);
  -moz-transform: translateX(-35px);
  -ms-transform: translateX(-35px);
  -o-transform: translateX(-35px);
  transform: translateX(-35px);
}

/* Desplazamiento desde derecha */
.slide-right {
  -webkit-transform: translateX(35px);
  -moz-transform: translateX(35px);
  -ms-transform: translateX(35px);
  -o-transform: translateX(35px);
  transform: translateX(35px);
}

/* Zoom In */
.zoom-in {
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
}

/* Zoom Out */
.zoom-out {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

/* Rotación desde izquierda */
.rotate-left {
  -webkit-transform: rotate(-15deg);
  -moz-transform: rotate(-15deg);
  -ms-transform: rotate(-15deg);
  -o-transform: rotate(-15deg);
  transform: rotate(-15deg);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

/* Rotación desde derecha */
.rotate-right {
  -webkit-transform: rotate(15deg);
  -moz-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
  -o-transform: rotate(15deg);
  transform: rotate(15deg);
  -webkit-transform-origin: right center;
  -moz-transform-origin: right center;
  -ms-transform-origin: right center;
  -o-transform-origin: right center;
  transform-origin: right center;
}

/* ------------------------------------- */
/* ESTADO VISIBLE (con prefijos)         */
/* ------------------------------------- */

.scroll-animation.is-visible {
  opacity: 1;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  transform: none !important;
  filter: none !important;
}

/* ------------------------------------- */
/* AJUSTES DE DURACIÓN                   */
/* ------------------------------------- */

.duration-1 {
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.duration-2 {
  -webkit-transition-duration: 0.8s;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.duration-3 {
  -webkit-transition-duration: 1.2s;
  -moz-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s;
}

/* ------------------------------------- */
/* RETRASOS DE ANIMACIÓN                 */
/* ------------------------------------- */

.delay-1 {
  -webkit-transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.delay-2 {
  -webkit-transition-delay: 0.4s;
  -moz-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.delay-3 {
  -webkit-transition-delay: 0.6s;
  -moz-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.delay-4 {
  -webkit-transition-delay: 0.8s;
  -moz-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.delay-5 {
  -webkit-transition-delay: 1.0s;
  -moz-transition-delay: 1.0s;
  -o-transition-delay: 1.0s;
  transition-delay: 1.0s;
}

.delay-6 {
  -webkit-transition-delay: 1.2s;
  -moz-transition-delay: 1.2s;
  -o-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.delay-7 {
  -webkit-transition-delay: 1.4s;
  -moz-transition-delay: 1.4s;
  -o-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

.delay-8 {
  -webkit-transition-delay: 1.6s;
  -moz-transition-delay: 1.6s;
  -o-transition-delay: 1.6s;
  transition-delay: 1.6s;
}