/* Fonts

font-family: "Gayathri", sans-serif; > Font-weight 100, 400 et 700
font-family: "Plus Jakarta Sans", sans-serif; > Font-weight 200 à 800

*/

/* COULEURS */

:root {
	--brun-fonce: #1F0A04;
	--brun: #9A7967;
	--beige: #D1CDCB;
	--beige-fonce: #D1BEB3;
	--beige-clair: #EFEAE6;
	--taupe: #877F7B;
	--gris-fond: #F5F5F5;
	--gris-pale: #F0F0F0;
	--gris: #D9D9D9;
	--noir: #000;
	--blanc: #fff;

	/* Triplets RGB pour les transparences */
	--blanc-rgb: 255, 255, 255;
	--brun-fonce-rgb: 31, 10, 4;
	--beige-rgb: 209, 205, 203;
	--beige-fonce-rgb: 209, 190, 179;
}


/* WORDPRESS */

#main {
	margin-top: 0;
	max-width: 100%;
}

/* Le header en overlay doit passer sous la barre d'admin. */
body.admin-bar header.main {
	top: 32px;
}

/* Bandeau « development site » de WPML. */
.otgs-development-site-front-end {
	display: none;
}

/* Sélecteur de langue WPML : on neutralise les styles du plugin. */
.wpml-ls-legacy-list-horizontal {
	border: 0;
	padding: 0;
}

/* Les <li> en inline-block reposent sur la ligne de base et décalent le bloc :
   on passe la liste en flex pour l'aligner sur les autres liens de la nav. */
.wpml-ls-legacy-list-horizontal ul,
.wpml-ls-legacy-list-horizontal li {
	display: flex;
	align-items: center;
	gap: 1vw;
}

.wpml-ls-legacy-list-horizontal a {
	padding: 0;
	line-height: inherit;
}


/* COMMON */

body {
	overflow-x: hidden;
	background: var(--blanc);
	font-size: 0.9vw;
	line-height: 1.2;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: var(--noir);
}

h1, h2 {
	font-family: "Gayathri", sans-serif;
}

h1 {
	font-size: 3.4vw;
	font-weight: 100;
	line-height: 3.7vw;
	letter-spacing: 3.3px;
	-webkit-text-stroke-width: 0.25px;
	-webkit-text-stroke-color: currentColor;
	margin: 0;
}

h2 {
	font-size: 1.8vw;
	font-weight: 400;
	line-height: 2.3vw;
	letter-spacing: 1.8px;
	text-align: center;
	color: var(--noir);
	-webkit-text-stroke-width: 0.25px;
	-webkit-text-stroke-color: currentColor;
	margin: 0;
}

.sous-titre-hero {
	font-size: 1.2vw;
	font-weight: 500;
	line-height: 1.5vw;
	letter-spacing: 0.28px;
}

*:focus {
	outline: 0 !important;
	box-shadow: none !important;
}

a, button {
	transition: all 0.25s ease;
}

p {
	font-size: 1.1vw;
	line-height: 1.7vw;
	margin-bottom: 1vw;
}

.texte-gras {
	font-weight: 600;
}

h3 {
	font-size: 1.4vw;
	line-height: 1.6vw;
	font-weight: 500;
	letter-spacing: 0.29px;
	color: var(--noir);
	margin: 0;
}

.sous-titre {
	font-size: 1.3vw;
	line-height: 1.6vw;
	font-weight: 500;
	letter-spacing: 0.28px;
	color: var(--brun);
}

.petit-texte {
	font-size: 1vw;
	line-height: 1.5vw;
}

.chiffre {
	font-size: 1.9vw;
	line-height: 2.5vw;
	font-weight: 400;
}

.tel-link {
	pointer-events: none;
  	cursor: default; 
}

.noscroll {
	overflow: hidden;
}

.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: var(--blanc);
	top: 0;
	left: 0;
	z-index: 1000;
}


/* LINKS + BTNS */

.btn-brand {
	display: inline-block;
	padding: 0.4vw 1.4vw;
	border: 1px solid var(--brun);
	border-radius: 5vw;
	font-size: 1vw;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: var(--beige);
	text-decoration: none;
}

.btn-brand:hover {
	background: var(--brun);
	color: var(--brun-fonce);
}

.btn-main {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3vw;
	padding: 0 2.3vw;
	border-radius: 1.6vw;
	background: rgba(var(--beige-rgb), 0.8);
	font-size: 1.1vw;
	line-height: 1.7vw;
	font-weight: 400;
	color: var(--noir);
	text-decoration: none;
}

/* Même survol que les boutons et icônes du pied de page. */
.btn-main:hover {
	background: var(--brun);
	color: var(--blanc);
}


/* HEADER */

header.main {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 7.8vw;
	padding: 0 4.5vw;
	background: transparent;
}

header.main .logo {
	display: block;
	width: 20.3vw;
	line-height: 0;
}

/* Les deux versions du logo sont présentes, le CSS choisit laquelle afficher. */
header.main .logo-fonce {
	display: none;
}

header.main.light .logo-pale {
	display: none;
}

header.main.light .logo-fonce {
	display: block;
}

/* Le wrapper disparaît de la mise en page en desktop :
   les deux nav restent des enfants directs du header. */
header.main #menu_panel {
	display: contents;
}

header.main .hamburger {
	display: none;
	padding: 0;
	border: 0;
	background: transparent;
}

header.main .nav-brands {
	display: flex;
	align-items: center;
	gap: 0.9vw;
}

header.main .nav-main {
	display: flex;
	align-items: center;
	gap: 2vw;
}

header.main .nav-main a {
	font-size: 1vw;
	font-weight: 400;
	color: var(--brun);
	text-decoration: none;
}

header.main .nav-main a:hover {
	color: var(--beige);
}

header.main .nav-main .lang i {
	font-size: 0.7vw;
	margin-left: 0.2vw;
}

header.main .nav-main a.active {
	text-decoration: underline;
}

/* Header des pages internes */

header.main.light {
	position: static;
	background: var(--blanc);
}

header.main.light .btn-brand {
	color: var(--noir);
}

header.main.light .btn-brand:hover {
	background: var(--brun);
	color: var(--blanc);
}

header.main.light .nav-main a:hover {
	color: var(--brun-fonce);
}

header.main.light .btn-brand.active {
	background: var(--brun);
	border-color: var(--brun);
	color: var(--blanc);
}


/* FOOTER */

footer.main {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 5.3vw 0 4.5vw;
	background: rgba(var(--beige-fonce-rgb), 0.75);
}

footer.main .nav-brands {
	display: flex;
	align-items: center;
	gap: 1vw;
	margin-bottom: 1.4vw;
}

footer.main .btn-brand {
	padding: 0.4vw 1vw;
	border-color: transparent;
	background: var(--beige-fonce);
	color: var(--brun-fonce);
}

footer.main .btn-brand:hover {
	background: var(--brun);
	color: var(--blanc);
}

footer.main .footer-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.8vw;
	width: 43vw;
	height: 5.3vw;
	border-top: 1px solid rgba(var(--brun-fonce-rgb), 0.25);
	border-bottom: 1px solid rgba(var(--brun-fonce-rgb), 0.25);
}

footer.main .footer-links > a {
	font-size: 1vw;
	color: var(--brun-fonce);
	text-decoration: none;
}

footer.main .footer-links > a:hover {
	color: var(--brun);
}

footer.main .footer-links .sep {
	width: 1px;
	height: 2vw;
	background: rgba(var(--brun-fonce-rgb), 0.25);
}

footer.main .socials {
	display: flex;
	align-items: center;
	gap: 1.2vw;
}

footer.main .socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.8vw;
	height: 2.8vw;
	border-radius: 50%;
	background: var(--beige-fonce);
	font-size: 1.1vw;
	color: var(--brun-fonce);
	text-decoration: none;
}

footer.main .socials a:hover {
	background: var(--brun);
	color: var(--blanc);
}

footer.main .logo {
	display: block;
	width: 20.3vw;
	margin-top: 2.1vw;
	line-height: 0;
}


/* HOME */

#home #hero {
	display: flex;
	align-items: center;
	height: 59.7vw;
	padding: 7.8vw 0 0 13.2vw;
	background-color: var(--brun-fonce);
	background-image: var(--hero-img);
	background-position: center bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

/* La maquette place le bloc de texte au-dessus du centre de la photo, à 39.6 %
   de sa hauteur. La marge basse décale le bloc centré vers le haut de la moitié
   de sa valeur : 10.8vw pour remonter de 5.4vw. Passer par la marge plutôt que
   par « align-items: flex-start » garde le bloc équilibré si le titre s'allonge. */
#home #hero .hero-content {
	width: 50%;
	margin-bottom: 10.8vw;
	color: var(--beige);
}

#home #hero h1 {
	margin-bottom: 2vw;
}

#home #hero .sous-titre-hero {
	margin-bottom: 0;
}

#home #about {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46.9vw;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#home #about .about-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4.4vw;
	width: 58.6vw;
	text-align: center;
}

#home #about .crest {
	width: 10.7vw;
}

#home #about h2 {
	margin-bottom: 2.3vw;
}

#home #about p {
	margin-bottom: 0;
}

#home #about .texte-gras {
	margin-top: 0.6vw;
}

#home .collection {
	position: relative;
	display: flex;
	align-items: center;
	height: 46.9vw;
	background: var(--blanc);
	overflow: hidden;
}

#home .collection .zoom {
	position: absolute;
	top: 0;
	width: 41.6vw;
	height: 100%;
	object-fit: cover;
}

#home .collection .img {
	position: absolute;
	top: 7.4vw;
	width: 24.3vw;
}

#home .collection.img-left .zoom {
	left: 0;
}

#home .collection.img-left .img {
	left: 28.4vw;
}

#home .collection.img-left .collection-texte {
	margin-left: 58.6vw;
}

#home .collection.img-right .zoom {
	right: 0;
}

#home .collection.img-right .img {
	right: 28.4vw;
}

#home .collection.img-right .collection-texte {
	margin-left: 5.7vw;
}

#home .collection .collection-texte {
	position: relative;
	z-index: 2;
	width: 34.4vw;
}

#home .collection h3 {
	margin-bottom: 0.9vw;
}

#home .collection .collection-texte p {
	margin-bottom: 0;
}

#home .collection .collection-texte .sous-titre {
	margin-bottom: 2.9vw;
}

#home .collection .btn-main {
	margin-top: 3.5vw;
}

.cta-detaillant {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 28.6vw;
	overflow: hidden;
}

/* Le calque déborde de 15 % en haut et en bas : c'est la réserve dans laquelle
   la parallaxe fait glisser l'image sans jamais découvrir de vide. */
.cta-detaillant .cta-bg {
	position: absolute;
	top: -15%;
	left: 0;
	width: 100%;
	height: 130%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	will-change: transform;
}

.cta-detaillant .cta-content {
	position: relative;
	z-index: 2;
	width: 44vw;
	text-align: center;
}

.cta-detaillant .cta-content p {
	margin-bottom: 0;
}

.cta-detaillant .cta-content .sous-titre {
	margin-bottom: 2.6vw;
}

.cta-detaillant .btn-main {
	margin-top: 3.5vw;
}


/* À PROPOS */

#a-propos #hero {
	height: 51.9vw;
	padding: 7.6vw 0 0 12.1vw;
	background-image: var(--hero-img);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#a-propos #hero .hero-content {
	position: relative;
}

#a-propos #hero h1 {
	max-width: 34.7vw;
	margin-bottom: 8.8vw;
}

#a-propos #hero .sous-titre-hero {
	max-width: 33vw;
	font-weight: 600;
	margin-bottom: 0;
}

#a-propos #hero .badge {
	position: absolute;
	top: 8.5vw;
	left: 13.9vw;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8.7vw;
	height: 8.7vw;
	border-radius: 50%;
	background: var(--brun);
	color: var(--blanc);
	letter-spacing: normal;
	-webkit-text-stroke-width: 0;
}

#a-propos #hero .badge-texte {
	display: flex;
	flex-direction: column;
	align-items: center;
	transform: rotate(-10deg);
}

#a-propos #hero .badge-label {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 1vw;
	line-height: 1.2vw;
	font-weight: 300;
	letter-spacing: 1px;
}

#a-propos #hero .badge-annee {
	font-family: "Gayathri", sans-serif;
	font-size: 2.6vw;
	font-weight: 100;
	padding-top: 1vw;
}

#a-propos #intro {
	padding: 8.3vw 0 6.7vw;
}

#a-propos #intro .intro-content {
	width: 57.8vw;
	margin: 0 auto;
	text-align: center;
}

#a-propos #intro p:last-child {
	margin-bottom: 0;
}

#a-propos #valeurs {
	display: flex;
	height: 56.3vw;
	background: var(--gris-fond);
}

#a-propos #valeurs .valeurs-img {
	width: 50.8vw;
	height: 100%;
	object-fit: cover;
}

#a-propos #valeurs .valeurs-content {
	width: 37.7vw;
	margin-left: 5.8vw;
	padding-top: 7.2vw;
}

#a-propos #valeurs h2 {
	text-align: left;
	margin-bottom: 6vw;
}

#a-propos #valeurs .valeur {
	display: flex;
	padding: 1vw 0 0.8vw;
	border-top: 1px solid rgba(var(--brun-fonce-rgb), 0.2);
}

#a-propos #valeurs .valeur:last-child {
	border-bottom: 1px solid rgba(var(--brun-fonce-rgb), 0.2);
}

#a-propos #valeurs .valeur .chiffre {
	flex: 0 0 5.9vw;
	color: var(--brun);
}

#a-propos #valeurs .valeur .sous-titre {
	margin-bottom: 1.2vw;
}

#a-propos #valeurs .valeur p {
	margin-bottom: 0;
}

#a-propos #collections {
	height: 56.3vw;
	padding-top: 6.4vw;
	background: var(--beige-clair);
	text-align: center;
}

#a-propos #collections h2 {
	margin-bottom: 4.2vw;
}

#a-propos #collections .collections-liste {
	display: flex;
	justify-content: center;
	gap: 1.8vw;
}

#a-propos #collections .collection-card {
	display: block;
	width: 20.8vw;
	text-decoration: none;
}

#a-propos #collections .collection-img {
	overflow: hidden;
}

#a-propos #collections .collection-img img {
	display: block;
	width: 100%;
	transition: transform 0.5s ease;
}

#a-propos #collections .collection-card:hover .collection-img img {
	transform: scale(1.06);
}

#a-propos #collections .collection-card .btn-main {
	width: 17.9vw;
	height: 2.6vw;
	margin: 1.5vw auto 0;
	padding: 0;
}

#a-propos #collections .collection-card:hover .btn-main {
	background: var(--beige);
}

#a-propos #cta {
	position: relative;
	display: flex;
	height: 30.2vw;
	padding: 8.2vw 0 0 12.6vw;
	background: var(--taupe);
	color: var(--blanc);
	overflow: hidden;
}

#a-propos #cta .cta-m {
	position: absolute;
	top: 3vw;
	left: 0;
	z-index: 1;
	width: 50vw;
}

#a-propos #cta .cta-titre,
#a-propos #cta .cta-texte {
	position: relative;
	z-index: 2;
}

#a-propos #cta .cta-titre {
	width: 32vw;
}

#a-propos #cta .cta-texte {
	width: 35vw;
	margin-top: 1.3vw;
	margin-left: 12vw;
}

#a-propos #cta .sous-titre-hero {
	margin-bottom: 3.8vw;
}


/* PAGES COLLECTION (Moffi · Goa · Dévia) */

.page-collection #intro {
	padding: 5.1vw 0 12.2vw;
	text-align: center;
}

.page-collection #intro .intro-content {
	width: 58.6vw;
	margin: 0 auto;
}

/* Hauteur commune à tous les logos de collection, la largeur suit les
   proportions du fichier. */
.page-collection #intro .logo-collection {
	width: auto;
	height: 7.5vw;
	margin-bottom: 3.8vw;
}

.page-collection #intro h2 {
	margin-bottom: 3.4vw;
}

.page-collection #intro p:last-child {
	margin-bottom: 0;
}

.page-collection #galerie {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2vw;
	padding-bottom: 2vw;
}

/* Largeurs calculées pour occuper 89vw, gouttières de 2vw comprises. */
.page-collection #galerie .galerie-img {
	position: relative;
	display: block;
	width: 43.5vw;
	cursor: zoom-in;
	overflow: hidden;
}

/* Voile assombrissant au survol, pour détacher la loupe de la photo. */
.page-collection #galerie .galerie-img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(var(--brun-fonce-rgb), 0.2);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.page-collection #galerie .galerie-img:hover::after {
	opacity: 1;
}

/* Pastille loupe : indique que la photo s'agrandit au clic. */
.page-collection #galerie .galerie-zoom {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.6vw;
	height: 3.6vw;
	border-radius: 50%;
	background: rgba(var(--blanc-rgb), 0.9);
	font-size: 1.3vw;
	color: var(--brun-fonce);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.8);
	transition: opacity 0.4s ease, transform 0.4s ease;
	pointer-events: none;
}

.page-collection #galerie .galerie-img:hover .galerie-zoom {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.page-collection #galerie.cols-3 .galerie-img {
	width: 28.3vw;
}

.page-collection #galerie .galerie-img img {
	display: block;
	width: 100%;
	transition: transform 0.5s ease;
}

.page-collection #galerie .galerie-img:hover img {
	transform: scale(1.03);
}


/* LIGHTBOX */

.lightbox {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1100;
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 3vw;
	background: rgba(var(--brun-fonce-rgb), 0.9);
	cursor: zoom-out;
}

.lightbox.open {
	display: flex;
}

.lightbox img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.lightbox .lightbox-close {
	position: absolute;
	top: 2vw;
	right: 2vw;
	font-size: 2vw;
	line-height: 1;
	color: var(--blanc);
	cursor: pointer;
}


/* CONTACT */

#contact #formulaire {
	padding: 7.2vw 0 4.1vw;
	background: radial-gradient(95.19% 85.91% at 44.01% 96.79%, rgba(var(--beige-rgb), 0.7) 0%, rgba(var(--beige-rgb), 0) 100%), var(--blanc);
}

#contact #formulaire .formulaire-inner {
	display: flex;
	justify-content: space-between;
	width: 73.4vw;
	margin: 0 auto;
}

#contact #formulaire .formulaire-infos {
	width: 33vw;
}

#contact #formulaire .formulaire-form {
	width: 36.1vw;
}

#contact #formulaire h1 {
	margin-bottom: 2.9vw;
}

#contact #formulaire .sous-titre {
	margin-bottom: 3vw;
}

#contact #formulaire p {
	margin-bottom: 0;
}

#contact #formulaire .infos-cols {
	display: flex;
}

#contact #formulaire .infos-cols > div {
	width: 14.2vw;
}

#contact #formulaire .infos-bloc {
	margin-top: 1.4vw;
}

#contact .tel-link {
	color: var(--noir);
	text-decoration: none;
}

#contact .lien-souligne {
	color: var(--noir);
	text-decoration: underline;
}

#contact .lien-souligne:hover {
	color: var(--brun);
}


#contact #detaillants {
	height: 60.4vw;
	padding-top: 7vw;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#contact #detaillants .detaillants-inner {
	width: 43.2vw;
	margin-left: 13.5vw;
}

#contact #detaillants h2 {
	text-align: left;
	margin-bottom: 2.3vw;
}

#contact #detaillants p {
	margin-bottom: 0;
}

#contact #detaillants .detaillants-liste {
	direction: rtl;
	max-height: 33.7vw;
	margin-top: 4.7vw;
	margin-left: -3vw;
	padding-left: 3vw;
	overflow-y: auto;
}

#contact #detaillants .detaillant {
	direction: ltr;
}

#contact #detaillants .detaillant + .detaillant {
	margin-top: 5.7vw;
	padding-top: 2.7vw;
	border-top: 1px solid rgba(var(--brun-fonce-rgb), 0.25);
}

#contact #detaillants .detaillant h3 {
	margin-bottom: 0.9vw;
}

#contact #detaillants .detaillant .sous-titre {
	margin-bottom: 1.8vw;
}

#contact #detaillants .detaillants-liste::-webkit-scrollbar {
	width: 0.6vw;
}

#contact #detaillants .detaillants-liste::-webkit-scrollbar-track {
	background: var(--gris-pale);
}

#contact #detaillants .detaillants-liste::-webkit-scrollbar-thumb {
	background: var(--gris);
}


/* WPFORMS */

#contact .wpforms-container {
	max-width: 100% !important;
	margin: 0 !important;
}

#contact .wpforms-form .wpforms-field {
	padding: 0 0 1.7vw 0 !important;
}

#contact .wpforms-form .wpforms-field-label {
	display: none !important;
}

#contact .wpforms-form input[type=text],
#contact .wpforms-form input[type=email],
#contact .wpforms-form input[type=tel],
#contact .wpforms-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 1vw !important;
	border: 1px solid var(--brun) !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.1vw !important;
	line-height: 1.7vw !important;
	color: var(--brun-fonce) !important;
	box-shadow: none !important;
}

#contact .wpforms-form input[type=text],
#contact .wpforms-form input[type=email],
#contact .wpforms-form input[type=tel] {
	height: 2.5vw !important;
}

#contact .wpforms-form textarea {
	height: 17.6vw !important;
	padding: 0.8vw 1vw !important;
	resize: none !important;
}

#contact .wpforms-form ::placeholder {
	color: var(--brun-fonce) !important;
	opacity: 1 !important;
}

#contact .wpforms-form input:focus,
#contact .wpforms-form textarea:focus {
	border-color: var(--brun-fonce) !important;
}

#contact .wpforms-form .wpforms-submit-container {
	padding: 0 !important;
	margin-top: 1.5vw !important;
	text-align: right !important;
}

#contact .wpforms-form button[type=submit] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 2.8vw !important;
	padding: 0 2.3vw !important;
	border: 0 !important;
	border-radius: 1.6vw !important;
	background: rgba(var(--beige-rgb), 0.8) !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 1.1vw !important;
	line-height: 1.7vw !important;
	font-weight: 400 !important;
	color: var(--noir) !important;
}

#contact .wpforms-form button[type=submit]:hover {
	background: var(--brun) !important;
	color: var(--blanc) !important;
}

/* ERREUR 404 */

#erreur-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70vh;
	padding: 12vw 8vw 6vw;
	text-align: center;
}

#erreur-404 h1 {
	margin-bottom: 1.5vw;
	font-size: 4vw;
	line-height: 4.6vw;
	font-weight: 400;
	color: var(--brun-fonce);
}

#erreur-404 p {
	margin-bottom: 2.5vw;
	font-size: 1.1vw;
	line-height: 1.7vw;
	color: var(--brun-fonce);
}


/* PAGE SIMPLE (gabarit par défaut : conditions, confidentialité, etc.) */

.page-simple {
	padding: 11vw 0 6vw;
	background: var(--blanc);
}

.page-simple-inner {
	max-width: 60vw;
	margin: 0 auto;
	padding: 0 4vw;
}

.page-simple h1 {
	margin-bottom: 3vw;
	color: var(--brun-fonce);
	text-align: center;
}

/* Contenu de l'éditeur */

.page-contenu {
	color: var(--brun-fonce);
}

.page-contenu > *:first-child {
	margin-top: 0;
}

.page-contenu > *:last-child {
	margin-bottom: 0;
}

.page-contenu h2 {
	margin: 3vw 0 1.2vw;
	font-size: 1.8vw;
	line-height: 2.3vw;
	text-align: left;
	color: var(--brun-fonce);
}

.page-contenu h3 {
	margin: 2.5vw 0 1vw;
	font-size: 1.4vw;
	line-height: 1.8vw;
	color: var(--brun-fonce);
}

.page-contenu h4,
.page-contenu h5,
.page-contenu h6 {
	margin: 2vw 0 0.8vw;
	font-size: 1.2vw;
	line-height: 1.6vw;
	font-weight: 600;
	letter-spacing: 0.28px;
	color: var(--brun-fonce);
}

.page-contenu p {
	margin: 0 0 1.2vw;
}

.page-contenu a {
	color: var(--brun);
	text-decoration: underline;
	text-underline-offset: 0.25vw;
}

.page-contenu a:hover {
	color: var(--brun-fonce);
}

.page-contenu strong,
.page-contenu b {
	font-weight: 600;
}

.page-contenu ul,
.page-contenu ol {
	margin: 0 0 1.2vw;
	padding-left: 1.6vw;
}

.page-contenu li {
	margin-bottom: 0.5vw;
	font-size: 1.1vw;
	line-height: 1.7vw;
}

.page-contenu li::marker {
	color: var(--brun);
}

.page-contenu li > ul,
.page-contenu li > ol {
	margin: 0.5vw 0 0;
}

.page-contenu blockquote {
	margin: 2vw 0;
	padding: 0.5vw 0 0.5vw 1.6vw;
	border-left: 1px solid var(--brun);
	color: var(--brun);
}

.page-contenu blockquote p:last-child {
	margin-bottom: 0;
}

.page-contenu hr {
	margin: 3vw 0;
	border: 0;
	border-top: 1px solid var(--gris);
	opacity: 1;
}

.page-contenu img {
	max-width: 100%;
	height: auto;
	margin: 1.5vw 0;
}

.page-contenu figure {
	margin: 2vw 0;
}

.page-contenu figcaption {
	margin-top: 0.6vw;
	font-size: 1vw;
	line-height: 1.5vw;
	color: var(--taupe);
}

.page-contenu table {
	width: 100%;
	margin: 2vw 0;
	border-collapse: collapse;
	font-size: 1vw;
	line-height: 1.5vw;
}

.page-contenu th,
.page-contenu td {
	padding: 0.8vw 1vw;
	border: 1px solid var(--gris);
	text-align: left;
	vertical-align: top;
}

.page-contenu th {
	background: var(--gris-fond);
	font-weight: 600;
}

/* Blocs de l'éditeur : le bouton hérite du style du site plutôt que de Bootstrap. */

.page-contenu .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3vw;
	padding: 0 2.3vw;
	border: 0;
	border-radius: 1.6vw;
	background: rgba(var(--beige-rgb), 0.8);
	font-size: 1.1vw;
	line-height: 1.7vw;
	font-weight: 400;
	color: var(--noir);
	text-decoration: none;
}

.page-contenu .wp-block-button__link:hover {
	background: var(--brun);
	color: var(--blanc);
}

.page-contenu .alignleft {
	float: left;
	margin: 0.5vw 2vw 1.5vw 0;
}

.page-contenu .alignright {
	float: right;
	margin: 0.5vw 0 1.5vw 2vw;
}

.page-contenu .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
