/* ==========================================================================
   Base : remise à zéro, éléments HTML, conteneur, utilitaires.
   ========================================================================== */

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

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

body {
	font-family: var(--f-text);
	color: var(--c-text);
	background: var(--c-white);
	-webkit-font-smoothing: antialiased;
}

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

img {
	height: auto;
}

a {
	color: #2f9a3f;
	text-decoration: none;
}

a:hover {
	color: var(--c-green-link-hover);
}

ul,
ol {
	list-style: none;
}

button {
	font: inherit;
	color: inherit;
}

::selection {
	background: var(--c-green);
	color: var(--c-white);
}

/* Contenu principal : une image qui déborde à droite ne crée pas de défilement horizontal
   (clip, et non hidden, pour ne pas gêner les éléments collants) */
.site-main {
	overflow-x: clip;
}

/* Conteneur : largeur du contenu de la maquette */
.container {
	max-width: var(--container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 5px;
	padding-right: 5px;
}

/* Ponctuation verte en fin de titre (voir r_emonet_title()) */
.accent {
	color: var(--c-green);
}

/* Accessibilité */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	padding: 12px 20px;
	border-radius: 40px;
	background: var(--c-ink);
	color: var(--c-white);
	font-family: var(--f-title);
	text-transform: uppercase;
	transform: translateY(-200%);
}

.skip-link:focus {
	transform: none;
	color: var(--c-white);
}

/* Blocage du défilement quand le menu plein écran est ouvert */
html.menu-open {
	overflow: hidden;
}

/* Apparition en fondu vers le haut (animation de la maquette) */
@keyframes floatIn {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
