/*
 * base.css — STABLE (skeleton-owned).
 * Reset neutre uniquement. AUCUNE décision de design : couleurs, typo, mises en
 * page viennent entièrement de theme.css (généré par l'IA), chargé après.
 */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body { margin: 0; }

img,
svg,
video { max-width: 100%; height: auto; }

a { color: inherit; }

h1, h2, h3, h4, h5, h6, p, figure, blockquote, ul, ol { margin: 0; }

ul, ol { padding: 0; }

button { font: inherit; }

/* Accessibilité : lien d'évitement + texte lecteur d'écran. */
.screen-reader-text {
	position: absolute !important;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	clip-path: none;
	width: auto;
	height: auto;
	padding: 8px 12px;
	background: #fff;
	color: #000;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
