/* Base du site public (maquette Site public.dc.html, bloc <style>). */
strong,
b,
th {
	font-weight: 600;
}

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

/*
 * « clip » coupe ce qui dépasse sur les côtés sans faire de body une zone de défilement : avec « hidden », les
 * éléments en position: sticky (en-tête du site, menu de l'espace…) ne restaient pas en haut. « hidden » d'abord
 * pour les navigateurs qui ne connaissent pas « clip » (Safari avant la version 16).
 */
html,
body {
	overflow-x: hidden;
	overflow-x: clip;
}

body {
	margin: 0;
	background: var(--vs-vert-eau);
	color: var(--vs-encre);
	font-family: var(--vs-police);
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--vs-petrole);
	text-decoration: underline;
	text-underline-offset: 3px;
}

a:hover {
	color: var(--vs-petrole-clair);
}

button,
input,
textarea,
select {
	font-family: inherit;
}

:focus-visible {
	outline: 3px solid var(--vs-caramel);
	outline-offset: 2px;
}

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

[hidden] {
	display: none !important;
}

@keyframes vs-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
