/* ================================================================
   LE CLUB 33 — ANIMATIONS
   ================================================================ */

/* === HERO ENTRANCES ============================================= */
@keyframes logoIn {
  from {
    opacity: 0;
    transform: scale(0.88) translateY(24px);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
    filter: blur(0);
  }
}

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

@keyframes scrollPulse {
  0% {
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scaleY(1);
    transform-origin: top;
  }
}

/* === AOS EASING OVERRIDE ======================================== */
[data-aos] {
  pointer-events: none;
}

[data-aos].aos-animate {
  pointer-events: auto;
}

/* === GALLERY STAGGER ============================================ */
.gallery-item {
  will-change: transform, filter;
}

/* === PRESTATION LINE HOVER ====================================== */
.p-list li {
  transition: background 0.2s ease;
}

.p-list li:hover {
  background: rgba(196, 150, 90, 0.04);
}

/* === SMOOTH TRANSITIONS ========================================= */
.club-image img,
.gallery-item img,
.nav-links a,
.btn-ghost,
.btn-dark,
.nav-cta,
.mobile-link,
.footer-social a,
.footer-info a,
.avis-source {
  will-change: auto;
}

/* === PARALLAX RESERVATION SECTION ============================== */
@media (prefers-reduced-motion: no-preference) {
  .reservation-bg {
    transition: transform 0.08s linear;
  }
}

/* === RESPECT REDUCED MOTION ==================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .hero-brand,
  .hero-tagline,
  .hero-content .btn-ghost,
  .hero-scroll {
    animation: none;
    opacity: 1;
    transform: none;
  }

  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto;
  }
}
