/* ===========================
   animation.css
   Reusable scroll animations
   =========================== */

/* --- Slide Animations --- */
.slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease;
}
.slide-up.show {
  opacity: 1;
  transform: translateY(0);
}

.slide-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: all 0.8s ease;
}
.slide-left.show {
  opacity: 1;
  transform: translateX(0);
}

.slide-right {
  opacity: 0;
  transform: translateX(40px);
  transition: all 0.8s ease;
}
.slide-right.show {
  opacity: 1;
  transform: translateX(0);
}

/* --- Zoom Animations --- */
.zoom-in {
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.8s ease;
}
.zoom-in.show {
  opacity: 1;
  transform: scale(1);
}

.zoom-out {
  opacity: 0;
  transform: scale(1.2);
  transition: all 0.8s ease;
}
.zoom-out.show {
  opacity: 1;
  transform: scale(1);
}

/* --- Rotate Animations --- */
.rotate-in {
  opacity: 0;
  transform: rotate(-8deg) scale(0.95);
  transition: all 0.9s ease;
}
.rotate-in.show {
  opacity: 1;
  transform: rotate(0) scale(1);
}

/* --- Flip Animations --- */
.flip-y {
  opacity: 0;
  transform: rotateY(90deg);
  transition: all 1.7s ease;
  transform-origin: center;
}
.flip-y.show {
  opacity: 1;
  transform: rotateY(0);
}

.flip-x {
  opacity: 0;
  transform: rotateX(90deg);
  transition: all 0.8s ease;
  transform-origin: center;
}
.flip-x.show {
  opacity: 1;
  transform: rotateX(0);
}

/* --- Combo Fade + Slide --- */
.fade-slide-up {
  opacity: 0;
  transform: translateY(40px) scale(0.95);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.fade-slide-up.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.fade-slide-left {
  opacity: 0;
  transform: translateX(-40px) scale(0.95);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.fade-slide-left.show {
  opacity: 1;
  transform: translateX(0) scale(1);
}
.fade-slide-right {
  opacity: 0;
  transform: translateX(40px) scale(0.95);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.fade-slide-right.show {
  opacity: 1;
  transform: translateX(0) scale(1);
}
/* --- Combo Fade + Zoom --- */
.fade-zoom-in {
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.fade-zoom-in.show {
  opacity: 1;
  transform: scale(1);
}
.fade-zoom-out {
  opacity: 0;
  transform: scale(1.2);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.fade-zoom-out.show {
  opacity: 1;
  transform: scale(1);
}
/* ===========================
   End of animation.css
   =========================== */
