/* ==========================================================================
   IRRAZ AESTHETIC — Animations & Micro-Interactions Stylesheet
   ========================================================================== */

/* Page Load Sequence */
@keyframes fadeInSlideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInSlideUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.92);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes floatGentle {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@keyframes goldShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes pulseRing {
  0% {
    box-shadow: 0 0 0 0 rgba(197, 168, 128, 0.5);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(197, 168, 128, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(197, 168, 128, 0);
  }
}

/* Header Load Stagger */
.site-header .header-brand {
  animation: fadeInSlideDown 0.8s var(--ease-editorial) forwards;
}

.site-header .nav-link {
  animation: fadeInSlideDown 0.8s var(--ease-editorial) forwards;
}

.site-header .nav-link:nth-child(1) { animation-delay: 0.08s; }
.site-header .nav-link:nth-child(2) { animation-delay: 0.12s; }
.site-header .nav-link:nth-child(3) { animation-delay: 0.16s; }
.site-header .nav-link:nth-child(4) { animation-delay: 0.2s; }
.site-header .nav-link:nth-child(5) { animation-delay: 0.24s; }
.site-header .nav-link:nth-child(6) { animation-delay: 0.28s; }
.site-header .nav-link:nth-child(7) { animation-delay: 0.32s; }
.site-header .nav-link:nth-child(8) { animation-delay: 0.36s; }
.site-header .nav-link:nth-child(9) { animation-delay: 0.4s; }

.site-header .btn-book-header {
  animation: scaleIn 0.8s var(--ease-editorial) 0.45s forwards;
}

/* Hero Section Animations */
.hero-content .eyebrow {
  animation: fadeInSlideUp 0.8s var(--ease-editorial) 0.2s both;
}

.hero-headline {
  animation: fadeInSlideUp 0.9s var(--ease-editorial) 0.35s both;
}

.hero-subheading {
  animation: fadeInSlideUp 0.9s var(--ease-editorial) 0.5s both;
}

.hero-actions {
  animation: fadeInSlideUp 0.9s var(--ease-editorial) 0.65s both;
}

.hero-floating-tags {
  animation: fadeInSlideUp 0.9s var(--ease-editorial) 0.8s both;
}

.hero-visual-wrapper {
  animation: scaleIn 1.1s var(--ease-editorial) 0.4s both;
}

.hero-floating-pill:nth-child(odd) {
  animation: floatGentle 4.5s ease-in-out infinite;
}

.hero-floating-pill:nth-child(even) {
  animation: floatGentle 5s ease-in-out 1.2s infinite;
}

/* Scroll Triggered Reveal Classes (IntersectionObserver) */
.reveal-fade-up {
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.8s var(--ease-editorial), transform 0.8s var(--ease-editorial);
  will-change: opacity, transform;
}

.reveal-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger > * {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity 0.7s var(--ease-editorial), transform 0.7s var(--ease-editorial);
}

.reveal-stagger.is-visible > * {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0.08s; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 0.14s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 0.2s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 0.26s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 0.32s; }
.reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 0.38s; }
.reveal-stagger.is-visible > *:nth-child(7) { transition-delay: 0.44s; }
.reveal-stagger.is-visible > *:nth-child(8) { transition-delay: 0.5s; }
.reveal-stagger.is-visible > *:nth-child(9) { transition-delay: 0.56s; }
.reveal-stagger.is-visible > *:nth-child(10) { transition-delay: 0.62s; }
.reveal-stagger.is-visible > *:nth-child(11) { transition-delay: 0.68s; }
.reveal-stagger.is-visible > *:nth-child(12) { transition-delay: 0.74s; }

/* Pulse Indicator on active node */
.journey-step-item.active .journey-node,
.journey-step-card.active .journey-node {
  animation: pulseRing 2.5s infinite;
}

/* Gold Shimmer Button Effect */
.btn-shimmer {
  background-size: 200% auto;
  animation: goldShimmer 4s linear infinite;
}

/* Interactive Ripple / Hover Glow */
.glow-on-hover:hover {
  box-shadow: 0 12px 35px rgba(197, 168, 128, 0.35);
}
