/* ==========================================================================
   FINITIONS PREMIUM — EMI-LAB (Phase 7)
   Accessibilité (focus), sélection de texte, défilement doux, micro-reveals.
   100% CSS, sans dépendance ni écriture en base. Progressive enhancement :
   tout ce qui n'est pas supporté dégrade proprement (contenu visible).
   ========================================================================== */

/* --- Défilement doux pour la navigation par ancres (profils, etc.) -------- */
html { scroll-behavior: smooth; }

/* --- Sélection de texte aux couleurs de la marque ------------------------- */
::selection { background: rgba(247, 148, 29, 0.28); color: #252525; }       /* orange */
::-moz-selection { background: rgba(247, 148, 29, 0.28); color: #252525; }

/* --- Focus visible (clavier) — anneau orange lisible sur clair ET sur teal - */
a:focus-visible,
button:focus-visible,
.emi-home-btn:focus-visible,
.emi-home-axe:focus-visible,
.emi-home-mem:focus-visible,
.emi-home-evt:focus-visible,
.emi-home-partner:focus-visible,
.emi-prof-link:focus-visible,
.emi-prof-nav a:focus-visible,
.emilab-ft-list a:focus-visible,
.emilab-ft-social a:focus-visible,
.emilab-ft-contact-line a:focus-visible,
.emi-affiliation-bar__logo:focus-visible,
header .tg-header__area ul#menu-main-menu > li > a:focus-visible {
  outline: 3px solid var(--clr-gold-700) !important;   /* orange #f7941d */
  outline-offset: 3px !important;
  border-radius: var(--radius-sm);
}

/* --- Micro-interaction : soulignement animé des liens de texte ------------- */
.emi-home-axe-link,
.emi-home-evt-link { transition: color var(--transition-base), gap var(--transition-base); }

/* ==========================================================================
   REVEALS AU DÉFILEMENT — CSS scroll-driven (animation-timeline: view()).
   Encadré par prefers-reduced-motion ET @supports : si non supporté ou si
   l'utilisateur préfère moins d'animation, les éléments restent simplement
   visibles, sans saut ni disparition.
   ========================================================================== */

@keyframes emi-fin-rise {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: no-preference) {

  /* Entrée du hero au chargement (séquencée) */
  .emi-home-hero-badge,
  .emi-home-hero-title,
  .emi-home-hero-sub,
  .emi-home-hero-cta,
  .emi-home-hero-stats {
    animation: emi-fin-rise 0.7s var(--ease-out-quart) both;
  }
  .emi-home-hero-badge { animation-delay: 0.05s; }
  .emi-home-hero-title { animation-delay: 0.12s; }
  .emi-home-hero-sub   { animation-delay: 0.22s; }
  .emi-home-hero-cta   { animation-delay: 0.32s; }
  .emi-home-hero-stats { animation-delay: 0.42s; }

  /* Reveal au scroll des blocs de contenu (uniquement si supporté) */
  @supports (animation-timeline: view()) {
    .emi-home-section-head,
    .emi-home-axe,
    .emi-home-mem,
    .emi-home-evt,
    .emi-home-cta-inner {
      animation: emi-fin-rise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 42%;
    }
  }
}
