/* =========================================================================
   Baudi — animation IDLE (respiration + clignement)              module autonome
   -------------------------------------------------------------------------
   Pose cible   : baudi-1-master.svg (fonctionne sur toute pose de face qui
                  possède #baudi, #baudi-paupiere-g et #baudi-paupiere-d).
   Déclencheur  : poser la classe racine  .baudi-anim-idle  sur l'élément
                  <svg class="baudi"> (ou sur un ancêtre : rien ne fuit hors
                  de cette classe).
   Durées       : respiration 3,5 s ease-in-out en boucle ;
                  clignement 4,2 s en boucle (fermeture ~150 ms), décalable
                  par instance avec --baudi-cligne-delai (ex. -1.3s).
   Calques      : #baudi (groupe racine, pivot au sol 60px 103px),
                  #baudi-paupiere-g/d (paupières blanches, opacity="0" au
                  repos dans le SVG, clipées sur l'œil).
   Dépendances  : aucune. Un seul Baudi animé par page (id uniques).
   ========================================================================= */

.baudi-anim-idle { display: block; overflow: visible; }

/* --- respiration : le groupe racine, origine au sol ----------------------- */
@keyframes baudi-idle-respire {
  0%, 100% { transform: scaleY(1)    scaleX(1); }
  50%      { transform: scaleY(.985) scaleX(1.004); }
}
.baudi-anim-idle #baudi {
  transform-origin: 60px 103px;
  animation: baudi-idle-respire 3.5s ease-in-out infinite;
}

/* --- clignement : paupière scaleY(0) au repos, origine sur son bord haut -- */
@keyframes baudi-idle-cligne {
  0%, 94.9%   { transform: scaleY(0); opacity: 0; }
  95%         { transform: scaleY(0); opacity: 1; }
  96.4%       { transform: scaleY(1); opacity: 1; }
  97.9%       { transform: scaleY(1); opacity: 1; }
  99.3%       { transform: scaleY(0); opacity: 1; }
  99.4%, 100% { transform: scaleY(0); opacity: 0; }
}
.baudi-anim-idle #baudi-paupiere-g,
.baudi-anim-idle #baudi-paupiere-d {
  animation: baudi-idle-cligne 4.2s linear infinite;
  animation-delay: var(--baudi-cligne-delai, 0s);
}

/* --- accessibilité : tout s'arrête ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .baudi-anim-idle, .baudi-anim-idle * { animation: none !important; transition: none !important; }
}
