/* ============================================================
   Kayden Couverture — animations.css
   Reveal au scroll, masques de lumière, keyframes
   ============================================================ */

/* Reveal générique : translation courte + fondu */
[data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
  will-change: opacity, transform;
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
}

/* Léger décalage en cascade pour les groupes */
[data-reveal]:nth-child(2) { transition-delay: 0.06s; }
[data-reveal]:nth-child(3) { transition-delay: 0.12s; }
[data-reveal]:nth-child(4) { transition-delay: 0.18s; }

/* Reveal des grandes images : rideau de lumière de bas en haut */
.artisan__media,
.ba {
  clip-path: inset(0 0 0 0);
}
.artisan__media[data-reveal] img {
  transform: scale(1.08);
  transition: transform 1.2s var(--ease);
}
.artisan__media[data-reveal].is-in img {
  transform: scale(1);
}

/* Keyframes */
@keyframes scrollDot {
  0% { top: -50%; }
  100% { top: 100%; }
}

@keyframes floatPulse {
  0% { box-shadow: 0 12px 30px -8px rgba(234, 166, 35, 0.7), 0 0 0 0 rgba(234, 166, 35, 0.5); }
  70% { box-shadow: 0 12px 30px -8px rgba(234, 166, 35, 0.7), 0 0 0 16px rgba(234, 166, 35, 0); }
  100% { box-shadow: 0 12px 30px -8px rgba(234, 166, 35, 0.7), 0 0 0 0 rgba(234, 166, 35, 0); }
}

/* Lever de soleil au chargement du hero */
.hero__media img {
  animation: heroDawn 1.4s var(--ease) both;
}
@keyframes heroDawn {
  0% { opacity: 0; transform: scale(1.06); filter: brightness(0.7); }
  100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}

/* ============================================================
   prefers-reduced-motion : tout statique, rien ne bouge
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }

  .hero__media img,
  .artisan__media img { transform: none !important; filter: none !important; opacity: 1 !important; }

  .hero__scroll-line::after,
  .floating-call.is-pulse { animation: none !important; }

  [data-parallax] { transform: none !important; }

  /* Showcase réalisations : on fige le défilement, scroll horizontal manuel */
  .showcase { overflow-x: auto; }
  .showcase__row { animation: none !important; }
  .showcase__row [aria-hidden="true"] { display: none; }
}
