/* ========================================================================== utilities.css — Classes utilitaires -------------------------------------------------------------------------- Dernière couche de la cascade : ces classes doivent pouvoir surcharger un composant sans recourir à !important. Volontairement peu nombreuses — une bibliothèque utilitaire complète n'aurait pas de sens sans outil de purge. ========================================================================== */ @layer utilities { /* ====================================================================== MASQUAGE VISUEL ACCESSIBLE Retire l'élément de l'affichage tout en le laissant lisible par les lecteurs d'écran. À utiliser pour les libellés, les intitulés de sections de navigation, les annonces de contexte. Ne PAS utiliser display:none ni visibility:hidden pour cet usage : ces propriétés retirent aussi l'élément de l'arbre d'accessibilité. ====================================================================== */ .visually-hidden { position: absolute !important; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; } /* ====================================================================== RÉGION D'ANNONCE (live region) Conteneur des messages dynamiques destinés aux lecteurs d'écran (confirmation de copie d'adresse, par exemple). ====================================================================== */ .sr-status { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); } /* ====================================================================== FLUX D'IMPRESSION ====================================================================== */ /* Élément affiché uniquement à l'écran */ .screen-only { } /* Élément affiché uniquement à l'impression (révélé par print.css) */ .print-only { display: none; } /* ====================================================================== DIVERS ====================================================================== */ /* Empêche la coupure d'un groupe de mots (« Bac 3 », « Office 365 ») */ .nowrap { white-space: nowrap; } /* Retire la marge basse résiduelle du dernier enfant d'un bloc */ .flow-end { margin-block-end: 0 !important; } }