/* ─── TRANSITION ENTRE PAGES ─── */
/* Fade-in à l'arrivée */
body.page-enter {
  opacity: 0;
  transform: translateY(6px);
}
body.page-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.25s cubic-bezier(0.23, 1, 0.32, 1),
              transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
}
/* Fade-out au départ */
body.page-exit {
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s cubic-bezier(0.77, 0, 0.175, 1),
              transform 0.2s cubic-bezier(0.77, 0, 0.175, 1);
}
/* Respecter les préférences d'accessibilité */
@media (prefers-reduced-motion: reduce) {
  body.page-enter,
  body.page-enter-active,
  body.page-exit {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
