/* ==========================================================================
   STAN CREATION — CORE ANIMATIONS
   Regroupement strict des animations globales (ENTER / LEAVE)
   Aucune valeur modifiée
   ========================================================================== */


/* ==========================================================================
   1) TOKENS — ANIMATIONS GLOBALES
   ========================================================================== */

   :root {
    /* Piloté par JS (animation-speed.js) */
    --stan-enter-ease: cubic-bezier(.2,.9,.2,1);
    --stan-enter-dur: 650ms;
    --stan-enter-delay: 80ms;
    --stan-enter-stagger: 70ms;
  
    /* Effets */
    --pt-blur: 6px;
    --pt-shift: 1.6rem;
  
    /* Sortie */
    --pt-out-dur: 220ms;
  
    /* Compatibilité ancienne nomenclature */
    --pt-ease: var(--stan-enter-ease);
    --pt-in-dur: var(--stan-enter-dur);
    --pt-stagger-step: var(--stan-enter-stagger);
  }
  
  
  /* ==========================================================================
     2) BASE — ELEMENTS ANIMABLES
     ========================================================================== */
  
  [data-anim] {
    opacity: 0;
    filter: blur(var(--pt-blur));
    transform: translate3d(0, var(--pt-shift), 0);
  
    transition:
      opacity var(--pt-in-dur) var(--pt-ease),
      transform var(--pt-in-dur) var(--pt-ease),
      filter var(--pt-in-dur) var(--pt-ease);
  
    transition-delay: calc(var(--stan-enter-delay) + var(--d, 0ms));
  
    will-change: opacity, transform, filter;
  }
  
  
  /* ==========================================================================
     3) DIRECTIONS
     ========================================================================== */
  
  [data-anim="left"] {
    transform: translate3d(calc(-1 * var(--pt-shift)), 0, 0);
  }
  
  [data-anim="right"] {
    transform: translate3d(var(--pt-shift), 0, 0);
  }
  
  [data-anim="up"] {
    transform: translate3d(0, var(--pt-shift), 0);
  }
  
  
  /* ==========================================================================
     4) ENTER
     ========================================================================== */
  
  body.stancreation-page-enter-active [data-anim] {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0);
  }
  
  
  /* ==========================================================================
     5) LEAVE
     ========================================================================== */
  
  body.stancreation-page-leave-active [data-anim] {
    opacity: 0 !important;
    filter: blur(calc(var(--pt-blur) + 2px)) !important;
    transform: translate3d(0, calc(-1 * var(--pt-shift)), 0) !important;
  
    transition-duration: var(--pt-out-dur) !important;
    transition-timing-function: linear !important;
    transition-delay: 0ms !important;
  }
  
  
  /* ==========================================================================
     6) TRANSITION OVERLAY SAFETY
     ========================================================================== */
  
  body.stancreation-transition-active [data-anim] {
    will-change: auto;
  }