/* Slowed down all animations from 0.8-1.2s to 1.2-1.6s */

/* Fade and slide up */
.scroll-fade-up {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 1.3s ease, transform 1.3s ease;
}

.scroll-fade-up.animated {
  opacity: 1;
  transform: translateY(0);
}

/* Individual event detail items slide from alternating sides */
.scroll-slide-from-left {
  opacity: 0;
  transform: translateX(-120px);
  transition: opacity 1.3s ease, transform 1.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-slide-from-left.animated {
  opacity: 1;
  transform: translateX(0);
}

.scroll-slide-from-right {
  opacity: 0;
  transform: translateX(120px);
  transition: opacity 1.3s ease, transform 1.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-slide-from-right.animated {
  opacity: 1;
  transform: translateX(0);
}

/* Reduced slide distance from 120% to 80% so elements are detectable */
.scroll-slide-left {
  opacity: 0;
  transform: translateX(-80%);
  transition: opacity 1.5s ease, transform 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-slide-left.animated {
  opacity: 1;
  transform: translateX(0);
}

.scroll-slide-right {
  opacity: 0;
  transform: translateX(80%);
  transition: opacity 1.5s ease, transform 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-slide-right.animated {
  opacity: 1;
  transform: translateX(0);
}

/* Gallery zoom effect */
.scroll-zoom-in {
  opacity: 0;
  transform: scale(0.3) translateY(50px);
  transition: opacity 1.3s cubic-bezier(0.34, 1.56, 0.64, 1), transform 1.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-zoom-in.animated {
  opacity: 1;
  transform: scale(1) translateY(0);
}

/* Bounce in effect */
.scroll-bounce-in {
  opacity: 0;
  transform: translateY(50px) scale(0.9);
  transition: opacity 1.2s ease, transform 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.scroll-bounce-in.animated {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Rotate and fade in */
.scroll-rotate-in {
  opacity: 0;
  transform: rotate(-10deg) scale(0.9);
  transition: opacity 1.3s ease, transform 1.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.scroll-rotate-in.animated {
  opacity: 1;
  transform: rotate(0) scale(1);
}

/* Slide up effect */
.scroll-slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.1s ease, transform 1.1s ease;
}

.scroll-slide-up.animated {
  opacity: 1;
  transform: translateY(0);
}

/* Pulse in effect */
.scroll-pulse-in {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 1.3s ease, transform 1.3s ease;
}

.scroll-pulse-in.animated {
  opacity: 1;
  transform: scale(1);
}

/* Hero title animation with better timing */
.hero-title-entrance {
  animation: heroTitleEntry 1.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
  animation-delay: 0.5s !important;
}

@keyframes heroTitleEntry {
  0% {
    opacity: 0;
    transform: translateY(60px) scale(0.8);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Slowed down section titles animation from 1.2s to 1.8s */
.section-title-entrance {
  transition: opacity 1.8s ease, transform 1.8s ease;
}

.section-title-entrance.animated {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .scroll-slide-left,
  .scroll-slide-right {
    transform: translateY(40px) !important;
  }

  .scroll-slide-left.animated,
  .scroll-slide-right.animated {
    transform: translateY(0) !important;
  }
}
