/* Base styles for animations */
[class*="slide-"] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Slide directions */
.slide-up {
  transform: translateY(30px);
}

.slide-down {
  transform: translateY(-30px);
}

.slide-left {
  transform: translateX(-30px);
}

.slide-right {
  transform: translateX(30px);
}

/* Delay utilities */
.delay-100 {
  transition-delay: 100ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.delay-300 {
  transition-delay: 300ms;
}

.delay-400 {
  transition-delay: 400ms;
}

/* Animation in state */
.animate-in {
  opacity: 1 !important;
  transform: translate(0) !important;
}
