/* Moteur d'animation des blocs (PROJET_ANIMATION.md, étape 7 - pont éditeur V2 <-> V1).
   Même moteur que le front V2 (frontofficev2/app/templates/_animation.css.twig), dupliqué ici
   faute de mécanisme de partage de fichiers entre les deux repos. Garder les deux fichiers
   synchronisés en cas de modification.
   Le contenu reste TOUJOURS visible tant que moduliti-animation.js n'a pas confirmé être
   opérationnel (classe .moduliti-anim-actif posee sur <html>) : aucune regle ici ne masque
   quoi que ce soit par défaut. */
.moduliti-animation {
    transition-property: opacity, transform;
    transition-duration: var(--anim-duree, 1000ms);
    transition-delay: var(--anim-delai, 0ms);
    transition-timing-function: ease;
}
html.moduliti-anim-actif .moduliti-animation:not(.moduliti-anim-in) { opacity: 0; }
/* Un fondu purement opacité (sans transform) se perçoit beaucoup plus "faible" qu'un effet
   avec mouvement, même à durée identique (retour du 23/07, mécaniquement correct - confirmé
   par mesure d'opacité horodatée - seule la perception manquait de poids). Léger zoom, distinct
   du zoom-in franc ci-dessous, pour lui donner du relief sans le confondre avec un directionnel. */
html.moduliti-anim-actif .moduliti-animation[data-animation="fade"]:not(.moduliti-anim-in) { transform: scale(0.8); }
html.moduliti-anim-actif .moduliti-animation[data-animation="fade-up"]:not(.moduliti-anim-in) { transform: translateY(200px); }
html.moduliti-anim-actif .moduliti-animation[data-animation="fade-down"]:not(.moduliti-anim-in) { transform: translateY(-200px); }
html.moduliti-anim-actif .moduliti-animation[data-animation="fade-left"]:not(.moduliti-anim-in) { transform: translateX(200px); }
html.moduliti-anim-actif .moduliti-animation[data-animation="fade-right"]:not(.moduliti-anim-in) { transform: translateX(-200px); }
html.moduliti-anim-actif .moduliti-animation[data-animation="zoom-in"]:not(.moduliti-anim-in) { transform: scale(0.5); }
.moduliti-anim-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .moduliti-animation, html.moduliti-anim-actif .moduliti-animation:not(.moduliti-anim-in) {
        transition: none !important; opacity: 1 !important; transform: none !important;
    }
}
