/* ==========================================================================
   Voile de sortie léger pour les navigations internes (site-transition.js).
   Réutilise EXACTEMENT le même panneau que l'animation d'entrée
   (.avf-diag-shape, défini dans site-preloader.css) : même forme, même
   géométrie, mesurées directement dans Figma (calque "Vector 3", position
   couvrante x=-1080px / 1920px).

   DÉCONNECTÉ de l'animation d'entrée (pas de logo, pas de peek, pas de
   reveal vertical) : ce voile couvre juste l'écran le temps que la vraie
   navigation navigateur ait lieu, puis disparaît avec la page. La page
   suivante ne le rejoue pas en sens inverse — voir site-transition.js pour
   le détail de ce choix (correctif demandé par Pierre : l'animation
   d'accueil ne doit apparaître qu'une fois par session, jamais entre deux
   pages internes).

   Le point de départ "hors-champ" (avant que l'utilisateur clique) n'est
   pas une valeur Figma — c'est un choix d'implémentation arbitraire (le
   panneau doit juste démarrer entièrement invisible avant de glisser vers
   la position couvrante -56.25vw, même easing que .avf-phase-recover dans
   site-preloader.css).

   Timing : Smart animate, Ease in back, 400ms (relevé dans le prototype
   Figma, onglet Prototype). Equivalent cubic-bezier(.36,0,.66,-.56).
   ========================================================================== */

.avf-transition-panel {
  position: fixed;
  inset: 0;
  z-index: 999999;
  pointer-events: none;
  overflow: hidden;
}

.avf-transition-panel .avf-diag-shape {
  /* Hors-champ, à gauche. */
  transform: translateX(-220vw);
}

.avf-transition-panel.is-active .avf-diag-shape {
  /* Couvrant : même position que #avf-preloader par défaut (Figma Frame
     27/22/20, x=-1080px / 1920px). */
  transform: translateX(-56.25vw);
  transition: transform 0.4s cubic-bezier(0.36, 0, 0.66, -0.56);
}

@media (prefers-reduced-motion: reduce) {
  .avf-transition-panel {
    display: none;
  }
}
