/* Configuração base */
.animated {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease-out, transform 1.4s ease-out;
}

/* Quando o elemento entra na tela */
.animated.show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 100ms; /* 1000ms de atraso antes da animação */
}

/* ========================= */
/* 🎭 TIPOS DE ANIMAÇÕES 🎭 */
/* ========================= */

/* Fade In (suave) */
.fade-in {
  transform: translateY(10px);
}
.fade-in.show {
  transform: translateY(0);
  opacity: 1;
}

/* Fade In com Slide Up */
.slide-up {
  transform: translateY(40px);
}
.slide-up.show {
  transform: translateY(0);
  opacity: 1;
}

/* Slide Down */
.slide-down {
  transform: translateY(-40px);
}
.slide-down.show {
  transform: translateY(0);
  opacity: 1;
}

/* Slide Left */
.slide-left {
  transform: translateX(-50px);
}
.slide-left.show {
  transform: translateX(0);
  opacity: 1;
}

/* Slide Right */
.slide-right {
  transform: translateX(50px);
}
.slide-right.show {
  transform: translateX(0);
  opacity: 1;
}

/* Zoom In */
.zoom-in {
  transform: scale(0.8);
}
.zoom-in.show {
  transform: scale(1);
  opacity: 1;
}

/* Zoom Out */
.zoom-out {
  transform: scale(1.2);
}
.zoom-out.show {
  transform: scale(1);
  opacity: 1;
}

/* Rotate In */
.rotate-in {
  transform: rotate(-30deg);
}
.rotate-in.show {
  transform: rotate(0);
  opacity: 1;
}

/* Flip Horizontal */
.flip-horizontal {
  transform: rotateY(90deg);
}
.flip-horizontal.show {
  transform: rotateY(0);
  opacity: 1;
}

/* Flip Vertical */
.flip-vertical {
  transform: rotateX(90deg);
}
.flip-vertical.show {
  transform: rotateX(0);
  opacity: 1;
}

/* Bounce */
.bounce {
  opacity: 1;
}
.bounce.show {
  animation: bounceAnimation 1.5s ease-in-out infinite;
}

@keyframes bounceAnimation {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

/* Pulse */
.pulse.show {
  animation: pulseAnimation 1.2s infinite;
}

@keyframes pulseAnimation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
