/*
 * utilities.css - FormaSources
 * Role : petites classes utilitaires transverses (accessibilite,
 *        alignement, rythme vertical). A charger en dernier.
 * Dependances : tokens.css.
 */

/* Masquage visuel tout en restant accessible aux lecteurs d'ecran */
.visually-hidden
{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Lien d'evitement clavier */
.skip-link
{
	position: absolute;
	left: var(--space-md);
	top: -100%;
	z-index: var(--z-menu);
	padding: var(--space-sm) var(--space-md);
	background-color: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	color: var(--color-primary);
	text-decoration: none;
}

.skip-link:focus
{
	top: var(--space-sm);
}

.text-center
{
	text-align: center;
}

.measure
{
	max-width: var(--measure);
}

.lead
{
	font-size: var(--text-body-lg);
	line-height: 1.7;
	color: var(--color-text-secondary);
}

/* Rythme vertical : espace entre elements freres directs */
.flow > * + *
{
	margin-top: var(--space-md);
}

/* Liste sans puce ni retrait (grilles de cartes) */
.plain-list
{
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Marges declarees en dernier : a specificite egale, elles doivent l'emporter
   sur les remises a plat ci-dessus, .plain-list en tete */
.mt-0
{
	margin-top: 0;
}

.mt-3xl
{
	margin-top: var(--space-3xl);
}

.mt-4xl
{
	margin-top: var(--space-4xl);
}

.mb-0
{
	margin-bottom: 0;
}
