/* [ABC-4-226] Indicateur d'envoi commun (assets/importmap/envoi-en-cours.js) : bouton « en cours » de tous les formulaires.
   Même composant que rif-france et eusep. Reprend le spinner de Bootstrap 5.3 (spinner-border spinner-border-sm) ; les
   règles .envoi-en-cours-spinner le redonnent à l'identique, car les pages d'EPE chargent Bootstrap 4 (Encore) ou rien
   (double authentification, retour de paiement). La couleur est celle du texte du bouton (currentcolor) : même rendu dans
   la charte de chaque bouton. */
.envoi-en-cours { cursor: progress; }
/* Bouton en cours : pleine opacité (un bouton désactivé tombe à 0,65 et affaiblit le contraste du texte). */
.envoi-en-cours:disabled, .btn.envoi-en-cours:disabled { opacity: 1; }
.envoi-en-cours-spinner { display: inline-block; width: 1rem; height: 1rem; vertical-align: -0.125em; border: 0.2em solid currentcolor; border-right-color: transparent; border-radius: 50%; animation: envoi-en-cours-tourne 0.75s linear infinite; margin-right: 0.5em; }
@keyframes envoi-en-cours-tourne { to { transform: rotate(360deg); } }
/* Mouvement réduit : aucune animation, le libellé « Envoi en cours… » suffit. */
@media (prefers-reduced-motion: reduce) {
  .envoi-en-cours-spinner { display: none; }
}
/* Zone d'annonce role=status : lue par les lecteurs d'écran, invisible à l'écran (même effet que .visually-hidden). */
.envoi-en-cours-annonce { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
