/* Visual V3 — transitions de vue entre pages (chargee seulement sous PUBLIC_VISUEL_V3).
   L'element actif de la barre laterale glisse vers la nouvelle section ; la page
   sortante s'efface, l'entrante apparait. Navigateurs sans transitions de vue :
   changement instantane. Mouvement reduit : rien n'anime. */
/* L'adhesion aux transitions de navigation est declaree en ligne dans <head> par l'ossature
   (app/layout.tsx), avant toute feuille : ici, seulement les animations. */

::view-transition-old(v3-navigation-active),
::view-transition-new(v3-navigation-active) {
  animation-duration: 260ms;
  animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
}

::view-transition-old(root) {
  animation: v3-sortie-page 180ms ease-out both;
}

::view-transition-new(root) {
  animation: v3-entree-page 260ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes v3-sortie-page {
  to {
    opacity: 0;
    transform: translateY(-4px);
  }
}

@keyframes v3-entree-page {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-old(v3-navigation-active),
  ::view-transition-new(v3-navigation-active) {
    animation: none;
  }
}
