/* ============================================================
   ICP · MODULE D'ANIMATIONS (réutilisable, réversible)
   Révélation au scroll + cascade (stagger) + hover lift.
   - Réversible : retirer l'enqueue (functions.php) = plus aucune anim.
   - Réutilisable : ajouter les classes sur n'importe quel élément/page.
   - Accessibilité : tout est désactivé si prefers-reduced-motion.
   Le JS (anim.js) ajoute .is-visible quand l'élément entre dans l'écran.
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {

  /* --- Révélation simple : fondu + glissé vers le haut --- */
  .icp-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1s cubic-bezier(.22, .61, .36, 1),
                transform 1s cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
  }
  .icp-reveal.is-visible { opacity: 1; transform: none; }

  /* Variantes de direction */
  .icp-reveal--zoom  { transform: scale(.96); }
  .icp-reveal--left  { transform: translateX(-28px); }
  .icp-reveal--right { transform: translateX(28px); }

  /* --- Cascade : les enfants directs d'un parent .icp-stagger --- */
  .icp-stagger > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1s cubic-bezier(.22, .61, .36, 1),
                transform 1s cubic-bezier(.22, .61, .36, 1);
    will-change: opacity, transform;
  }
  .icp-stagger.is-visible > * { opacity: 1; transform: none; }
  .icp-stagger.is-visible > *:nth-child(1)  { transition-delay: .10s; }
  .icp-stagger.is-visible > *:nth-child(2)  { transition-delay: .28s; }
  .icp-stagger.is-visible > *:nth-child(3)  { transition-delay: .46s; }
  .icp-stagger.is-visible > *:nth-child(4)  { transition-delay: .64s; }
  .icp-stagger.is-visible > *:nth-child(5)  { transition-delay: .82s; }
  .icp-stagger.is-visible > *:nth-child(6)  { transition-delay: 1.00s; }
  .icp-stagger.is-visible > *:nth-child(7)  { transition-delay: 1.18s; }
  .icp-stagger.is-visible > *:nth-child(8)  { transition-delay: 1.36s; }
  .icp-stagger.is-visible > *:nth-child(9)  { transition-delay: 1.54s; }
  .icp-stagger.is-visible > *:nth-child(10) { transition-delay: 1.72s; }
  .icp-stagger.is-visible > *:nth-child(11) { transition-delay: 1.90s; }
  .icp-stagger.is-visible > *:nth-child(12) { transition-delay: 2.08s; }
}

/* --- Hover lift (logos / cartes) — léger, user-initiated --- */
.icp-hover-lift { transition: transform .25s ease, box-shadow .25s ease; }
.icp-hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(15, 45, 74, 0.12);
}
