/**
 * Moteur V4 — utilities.css
 *
 * EXTRAIT de medson-clinical, prive de ses regles .med-* : ce fichier habille
 * la MECANIQUE des blocs et du chrome, jamais une identite.
 *
 * Utilitaires rares, volontairement peu nombreux : chaque classe ajoutée ici
 * est une décision de mise en page qui échappe aux tokens.
 */

/* Masqué à l'œil, lu par les lecteurs d'écran. */


/* ══ Accessibilite ═════════════════════════════════════════════════════
   Deux utilitaires que le socle emploie sans les definir — mesure du
   2026-09-27 : le lien devitement saffichait EN CLAIR en haut de chaque page,
   et le label du champ dinfolettre etait visible par-dessus son placeholder. */

/* Lu par les lecteurs decran, invisible a lecran. `clip-path` plutot que
   `display:none` : masquer vraiment un element le retire aussi de la
   restitution vocale. */
.sws-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Le lien devitement : hors champ jusquau focus clavier, ou il revient au
   premier plan. Il doit rester atteignable — cest tout son role. */
.sws-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
  padding: 12px 20px;
  background: var(--color-primary, #1a1a1a);
  color: var(--color-on-primary, #fff);
  text-decoration: none;
}

.sws-skip-link:focus {
  left: 8px;
  top: 8px;
}
