/* Erikavoyage : styles complémentaires à theme.json, pensés d'abord pour le mobile. */

:root {
	--ev-section: clamp(3rem, 7vw, 5.5rem);
	--ev-large: 1200px;
	--ev-texte: 760px;
	--ev-entete: 64px;
	--ev-barre-admin: var(--wp-admin--admin-bar--height, 0px);
	--ev-vert: var(--wp--preset--color--vert);
	--ev-sauge-fonce: var(--wp--preset--color--sauge-fonce);
	--ev-menthe-clair: var(--wp--preset--color--menthe-clair);
	--ev-creme: var(--wp--preset--color--creme);
	--ev-gris: var(--wp--preset--color--gris);
	--ev-bordure: var(--wp--preset--color--bordure);
	--ev-ombre: 0 12px 32px rgba(36, 66, 68, 0.14);
}

html {
	scroll-padding-top: calc(var(--ev-barre-admin) + var(--ev-entete) + 24px);
	-webkit-text-size-adjust: 100%;
}

body {
	font-variant-numeric: lining-nums;
	overflow-wrap: break-word;
}

.ev-menu-ouvert,
.ev-menu-ouvert body {
	overflow: hidden;
}

:where(a, button, input, summary):focus-visible {
	outline: 2px solid var(--ev-sauge-fonce);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ev-icone {
	flex: 0 0 auto;
}

.ev-surtitre {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ev-sauge-fonce);
}

/* ---------- En-tête ---------- */

.ev-entete-site {
	position: sticky;
	top: var(--ev-barre-admin);
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid var(--ev-bordure);
}

@media (max-width: 600px) {
	.ev-entete-site {
		top: 0;
	}
}

.ev-entete__barre {
	min-height: var(--ev-entete);
	gap: 12px;
}

.ev-entete .wp-block-site-logo img {
	display: block;
	width: auto;
	height: 26px;
}

.ev-menu-bloc {
	position: relative;
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	margin-right: -10px;
}

.ev-bouton-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ev-vert);
	cursor: pointer;
}

.ev-bouton-icone:hover {
	background: var(--ev-menthe-clair);
}

/* ---------- Menu mobile (par niveaux) ---------- */

.ev-menu {
	position: fixed;
	top: var(--ev-barre-admin);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	background: #fff;
	visibility: hidden;
	transform: translateX(100%);
	transition: transform 0.25s ease, visibility 0s linear 0.25s;
}

.ev-menu.est-ouvert {
	visibility: visible;
	transform: none;
	transition: transform 0.25s ease;
}

.ev-menu__tete {
	display: flex;
	flex: 0 0 var(--ev-entete);
	align-items: center;
	justify-content: space-between;
	padding: 0 10px 0 var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--ev-bordure);
}

.ev-menu__logo img {
	display: block;
	width: auto;
	height: 26px;
}

.ev-menu__corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 16px var(--wp--preset--spacing--30) 24px;
}

.ev-recherche {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 10px;
	height: 48px;
	margin-bottom: 8px;
	padding: 0 16px;
	border-radius: 999px;
	background: #f1f5f3;
	color: var(--ev-gris);
}

.ev-recherche:focus-within {
	outline: 2px solid var(--ev-sauge-fonce);
}

.ev-recherche input {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ev-vert);
	font: inherit;
	font-size: 16px;
}

.ev-recherche input:focus {
	outline: none;
}

.ev-nav__liste,
.ev-nav__sous-liste,
.ev-nav__liste-secondaire {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ev-nav__lien,
.ev-nav__deplier {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 56px;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid var(--ev-bordure);
	background: none;
	color: var(--ev-vert);
	font: inherit;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

.ev-nav__lien:hover,
.ev-nav__deplier:hover {
	color: var(--ev-sauge-fonce);
}

.ev-nav__lien[aria-current="page"] {
	color: var(--ev-sauge-fonce);
}

.ev-nav__texte {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.ev-nav__desc {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--ev-gris);
}

.ev-nav__icone {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	height: 44px;
	border-radius: 12px;
	background: var(--ev-menthe-clair);
}

.ev-nav__liste > li > .ev-nav__deplier,
.ev-nav__liste > li > .ev-nav__lien {
	min-height: 72px;
}

.ev-nav__liste > li > .ev-nav__deplier .ev-nav__titre,
.ev-nav__liste > li > .ev-nav__lien .ev-nav__titre {
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.3125rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Sur mobile, la rubrique s'ouvre en panneau : son lien direct est proposé dans le panneau. */
.ev-nav__lien--parent {
	display: none;
}

.ev-nav__panneau {
	position: fixed;
	top: var(--ev-barre-admin);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0 var(--wp--preset--spacing--30) 24px;
	background: #fff;
	visibility: hidden;
	transform: translateX(100%);
	transition: transform 0.25s ease, visibility 0s linear 0.25s;
}

.ev-nav__panneau.est-ouvert {
	visibility: visible;
	transform: none;
	transition: transform 0.25s ease;
}

/* À la fermeture du menu, les panneaux se referment sans glisser en plus du menu. */
.ev-menu:not(.est-ouvert) .ev-nav__panneau {
	transition: none;
}

.ev-nav__panneau-tete {
	position: sticky;
	top: 0;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: var(--ev-entete);
	margin: 0 calc(-1 * var(--wp--preset--spacing--30)) 4px;
	padding: 0 10px;
	border-bottom: 1px solid var(--ev-bordure);
	background: #fff;
}

.ev-nav__retour {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 4px;
	height: 44px;
	padding: 0 8px 0 2px;
	border: 0;
	background: none;
	color: var(--ev-vert);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 700;
	cursor: pointer;
}

.ev-nav__panneau-titre {
	margin: 0;
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.3125rem;
	font-weight: 500;
	text-transform: uppercase;
}

.ev-nav__panneau-tete .ev-menu-fermer {
	justify-self: end;
}

.ev-nav__tout {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	border-bottom: 1px solid var(--ev-bordure);
	color: var(--ev-sauge-fonce);
	font-weight: 700;
	text-decoration: none;
}

.ev-menu__secondaire {
	margin-top: 8px;
}

.ev-menu__pied {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: auto;
	padding-top: 20px;
}

.ev-menu__pied .wp-block-buttons {
	display: block;
}

.ev-menu__pied .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	box-sizing: border-box;
}

/* Réseaux sociaux : pastilles rondes de 44 px (remplace les styles de WordPress, non chargés) */
.wp-block-social-links {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-social-links .wp-social-link {
	display: block;
	margin: 0;
	border-radius: 999px;
}

.wp-block-social-links .wp-block-social-link-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.wp-block-social-links.ev-reseaux {
	gap: 8px;
	justify-content: center;
}

.wp-block-social-links.ev-reseaux .wp-social-link {
	background: var(--ev-menthe-clair);
	color: var(--ev-vert);
}

.wp-block-social-links.ev-reseaux .wp-block-social-link-anchor {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
}

.wp-block-social-links.ev-reseaux .wp-block-social-link-anchor svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.ev-menu,
	.ev-nav__panneau {
		transition: none !important;
	}
}

/*
 * Téléphone : la barre d'administration de WordPress (comptes connectés) n'est plus fixe sous 600 px.
 * Le menu part donc du haut de l'écran et passe devant elle, sinon on voit la page au-dessus.
 */
@media (max-width: 600px) {
	.ev-menu,
	.ev-nav__panneau {
		top: 0;
	}

	.ev-menu {
		z-index: 100000;
	}
}

/* ---------- Menu ordinateur (listes déroulantes) ---------- */

@media (min-width: 960px) {
	:root {
		--ev-entete: 72px;
	}

	.ev-menu-ouvrir,
	.ev-menu__tete,
	.ev-menu__secondaire,
	.ev-menu__pied .wp-block-social-links,
	.ev-nav__panneau-tete {
		display: none;
	}

	.ev-menu,
	.ev-menu__corps {
		display: contents;
		visibility: visible;
		transform: none;
	}

	.ev-menu-bloc {
		margin-right: 0;
	}

	.ev-entete .wp-block-site-logo img {
		height: 32px;
	}

	.ev-nav {
		order: 1;
		margin: 0 auto;
	}

	.ev-recherche-ouvrir {
		order: 2;
	}

	.ev-menu__pied {
		order: 3;
		margin: 0 0 0 8px;
		padding: 0;
	}

	.ev-menu__pied .wp-block-button__link {
		min-height: 44px;
		padding: 0 20px;
		font-size: 0.9375rem;
	}

	.ev-recherche {
		position: absolute;
		top: calc(100% + 14px);
		right: 0;
		z-index: 2;
		display: none;
		width: 360px;
		margin: 0;
		border: 1px solid var(--ev-bordure);
		background: #fff;
		box-shadow: var(--ev-ombre);
	}

	.ev-recherche.est-ouvert {
		display: flex;
	}

	.ev-nav__liste {
		display: flex;
		align-items: center;
		gap: 6px;
	}

	.ev-nav__liste > li {
		position: relative;
		display: flex;
		align-items: center;
	}

	.ev-nav__liste > li > .ev-nav__lien,
	.ev-nav__liste > li > .ev-nav__deplier {
		gap: 2px;
		width: auto;
		min-height: 44px;
		padding: 0 8px;
		border: 0;
		font-family: var(--wp--preset--font-family--oswald);
		font-size: 1.0625rem;
		font-weight: 500;
		text-transform: uppercase;
	}

	.ev-nav__liste > li > .ev-nav__lien--parent {
		display: flex;
		padding-right: 0;
	}

	.ev-nav__liste > li:not(.sans-lien) > .ev-nav__deplier {
		padding: 0 6px 0 2px;
	}

	.ev-nav__liste > li:not(.sans-lien) > .ev-nav__deplier .ev-nav__texte {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.ev-nav__liste > li > .ev-nav__deplier .ev-nav__titre {
		font-size: inherit;
	}

	.ev-nav__liste .ev-nav__icone,
	.ev-nav__liste .ev-nav__desc {
		display: none;
	}

	.ev-nav__liste > li > .ev-nav__deplier > .ev-icone {
		width: 16px;
		height: 16px;
		transform: rotate(90deg);
		transition: transform 0.2s ease;
	}

	.ev-nav__liste > li > .ev-nav__deplier[aria-expanded="true"] > .ev-icone {
		transform: rotate(-90deg);
	}

	.ev-nav__liste > li > .ev-nav__lien[aria-current="page"] {
		text-decoration: underline;
		text-underline-offset: 6px;
	}

	.ev-nav__panneau {
		position: absolute;
		top: 100%;
		right: auto;
		bottom: auto;
		left: 50%;
		display: none;
		width: max-content;
		min-width: 240px;
		max-width: min(820px, 90vw);
		overflow: visible;
		padding: 10px 18px 14px;
		border: 1px solid var(--ev-bordure);
		border-radius: 16px;
		box-shadow: var(--ev-ombre);
		translate: -50% 0;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.ev-nav__liste > li:hover > .ev-nav__panneau,
	.ev-nav__liste > li > .ev-nav__panneau.est-ouvert {
		display: block;
	}

	.ev-nav__tout {
		min-height: 44px;
		margin-bottom: 4px;
		font-size: 0.9375rem;
	}

	.ev-nav__sous-liste .ev-nav__lien {
		min-height: 40px;
		padding: 6px 0;
		border: 0;
		font-size: 0.9375rem;
	}

	/* Troisième niveau (Monde › continents › pays) : une colonne par continent */
	.ev-nav__sous-liste:has(> .a-enfants) {
		display: grid;
		grid-template-columns: repeat(4, minmax(150px, 1fr));
		gap: 8px 32px;
	}

	.ev-nav__panneau .a-enfants > .ev-nav__deplier {
		display: none;
	}

	.ev-nav__panneau .a-enfants > .ev-nav__lien--parent {
		display: flex;
		min-height: 36px;
		border: 0;
		color: var(--ev-sauge-fonce);
		font-family: var(--wp--preset--font-family--oswald);
		font-size: 1rem;
		font-weight: 500;
		text-transform: uppercase;
	}

	.ev-nav__panneau .ev-nav__panneau {
		position: static;
		display: block;
		width: auto;
		min-width: 0;
		padding: 0;
		border: 0;
		box-shadow: none;
		translate: none;
	}

	.ev-nav__panneau .ev-nav__panneau .ev-nav__tout {
		display: none;
	}
}

/* ---------- Mise en page générale ---------- */

.wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-site-blocks > main {
	flex: 1;
}

.ev-fil-ariane {
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--ev-gris);
}

.ev-fil-ariane a {
	color: var(--ev-gris);
	text-decoration: none;
}

.ev-fil-ariane a:hover {
	color: var(--ev-vert);
	text-decoration: underline;
}

.ev-fil-ariane .breadcrumb_last {
	color: var(--ev-vert);
	font-weight: 600;
}

.ev-page__fil {
	padding-top: 16px;
}

/* ---------- Rythme vertical des contenus ---------- */

.wp-block-post-content {
	padding-bottom: var(--ev-section);
}

.ev-page > .wp-block-post-content {
	margin-top: 0;
}

.ev-page__fil + .wp-block-post-content {
	margin-top: 1.5rem;
}

/* Sections pleine largeur (bandes de couleur) : de l'air avant et après, collées entre elles */
.wp-block-post-content > .alignfull {
	margin-top: var(--ev-section);
	margin-bottom: 0;
}

.wp-block-post-content > .alignfull + * {
	margin-top: var(--ev-section);
}

.wp-block-post-content > .alignfull:first-child,
.wp-block-post-content > .alignfull + .alignfull {
	margin-top: 0;
}

.wp-block-post-content > .alignfull:last-child {
	margin-bottom: calc(-1 * var(--ev-section));
}

/*
 * Titres de section. Sélecteurs volontairement plus précis que la règle d'espacement de WordPress
 * (« :root :where(.is-layout-constrained) > * »), sinon elle les écrase et tout se colle.
 */
.wp-block-post-content > h2,
.wp-block-group > h2,
.wp-block-column > h2 {
	margin-block-start: clamp(3rem, 6vw, 5rem);
	margin-block-end: 0;
}

.wp-block-post-content > h2:first-child,
.wp-block-group > h2:first-child,
.wp-block-column > h2:first-child {
	margin-block-start: 0;
}

.wp-block-post-content > .ev-puces + h2 {
	margin-block-start: 2.25rem;
}

.wp-block-post-content > h3,
.wp-block-group > h3,
.wp-block-column > h3 {
	margin-block-start: 2.25rem;
}

.wp-block-post-content > :is(h2, h3) + *,
.wp-block-group > :is(h2, h3) + *,
.wp-block-column > :is(h2, h3) + * {
	margin-block-start: 1rem;
}

/* Section dont le titre est rangé dans des colonnes ou un groupe (ex. FAQ + infos pratiques des pages pays) */
.wp-block-post-content > :is(.wp-block-columns, .wp-block-group:not(.alignfull)):not(:first-child):is(:has(> h2:first-child), :has(> .wp-block-column:first-child > h2:first-child), :has(> .wp-block-column > .ev-surtitre:first-child + h2)) {
	margin-block-start: clamp(3rem, 6vw, 5rem);
}

/* Fin de section (liste d'articles, bouton) : un peu d'air avant le titre suivant */
.wp-block-post-content > .wp-block-query + .wp-block-buttons {
	margin-block-start: 2rem;
}

/* Grille, liste d'articles ou colonnes juste après un texte : plus d'air */
:is(.wp-block-post-content, .wp-block-group, .wp-block-column) > :is(p, ul, ol) + :is(.wp-block-query, .wp-block-columns, .wp-block-gallery, .is-layout-grid, .ev-carrousel) {
	margin-block-start: clamp(2rem, 3.5vw, 2.75rem);
}

/* Articles : titres un peu moins espacés que sur les pages */
.ev-article .wp-block-post-content > h2 {
	margin-block-start: clamp(2.75rem, 5vw, 3.75rem);
}

/* Colonnes image + texte : le texte se centre verticalement face à l'image */
.wp-block-columns:has(> .wp-block-column > .wp-block-image:only-child) {
	align-items: center !important;
}

/* Hero des pages (1re bande) : image moins haute, recadrée sans déformation */
.wp-block-post-content > .ev-bande:first-child .wp-block-image img {
	width: 100%;
	aspect-ratio: 1 !important;
	object-fit: cover;
}

@media (min-width: 782px) {
	.wp-block-post-content > .ev-bande:first-child .wp-block-image img {
		aspect-ratio: 5 / 4 !important;
		max-height: 520px;
	}

	/* Intro image + texte sous l'en-tête crème (pages Conseils voyage…) : image moins haute */
	.ev-entete-page + .wp-block-columns .wp-block-image img {
		width: 100%;
		aspect-ratio: 4 / 3 !important;
		object-fit: cover;
	}

	/* Deux sections image + texte qui se suivent : l'image change de côté */
	.ev-colonnes-inversees {
		flex-direction: row-reverse;
	}
}

/* ---------- En-tête de page (pages hub) ---------- */

.ev-entete-page {
	padding-top: 1.75rem;
	padding-bottom: 2.25rem;
	background: var(--ev-creme);
}

.ev-entete-page > * + * {
	margin-top: 0.75rem;
}

.ev-entete-page :is(h1, p) {
	text-align: left !important;
}

/* Titre et sous-titre alignés sur le bord gauche du conteneur de 1200 px (comme le fil d'Ariane) */
.ev-entete-page.is-layout-constrained > * {
	max-width: var(--ev-large) !important;
}

.ev-entete-page p {
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--ev-sauge-fonce);
}

/* Le fil d'Ariane se fond dans l'en-tête crème de la page */
.ev-page:has(> .wp-block-post-content > .ev-entete-page:first-child) > .ev-page__fil {
	padding-bottom: 0;
	background: var(--ev-creme);
}

.ev-page:has(> .wp-block-post-content > .ev-entete-page:first-child) > .ev-page__fil + .wp-block-post-content {
	margin-top: 0;
}

@media (min-width: 960px) {
	.ev-entete-page {
		padding-top: 2.5rem;
		padding-bottom: 3.5rem;
	}
}

/* Surtitre au-dessus d'un titre de section : il porte l'espace de la section, le titre se colle à lui */
:where(.wp-block-post-content, .ev-bande) > .ev-surtitre:not(:first-child) {
	margin-top: clamp(2.75rem, 6vw, 4.5rem);
}

:where(.wp-block-post-content, .ev-bande, .wp-block-column) > .ev-surtitre + :is(h1, h2) {
	margin-top: 0.5rem !important;
}

.wp-block-post-content > .alignfull + .ev-surtitre {
	margin-top: var(--ev-section);
}

/* ---------- Accueil ---------- */

.ev-hero {
	padding-top: clamp(1.75rem, 5vw, 4rem);
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.ev-hero h1 {
	font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4rem);
	line-height: 1.05;
}

.ev-hero .wp-block-column > * + * {
	margin-top: 1.25rem;
}

.ev-hero .wp-block-buttons {
	margin-top: 1.75rem;
}

.ev-hero__image img {
	border-radius: 20px;
}

@media (max-width: 781px) {
	.ev-hero__image img {
		aspect-ratio: 1 !important;
	}
}

/* Cartes destination : image arrondie + nom avec flèche */
.ev-carte-destination > * + * {
	margin-top: 10px;
}

.ev-carte-destination img {
	border-radius: 16px;
}

.ev-carte-destination__titre {
	margin-bottom: 0;
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
}

.ev-carte-destination__titre a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

/* Le lien couvre toute la carte (::before), la flèche suit le nom (::after) */
.ev-carte-destination__titre a::before {
	content: "";
	position: absolute;
	inset: 0;
}

.ev-carte-destination__titre a::after {
	content: "→";
	position: static;
	font-weight: 600;
}

.ev-carte-destination.ev-carte-lien:hover .ev-carte-destination__titre a {
	text-decoration: underline;
}

/* Carrousel (mobile) devenant une grille de 4 cartes (ordinateur) */
.ev-carrousel {
	display: flex;
	gap: 14px;
	margin-right: calc(-1 * var(--wp--preset--spacing--30));
	padding-right: var(--wp--preset--spacing--30);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.ev-carrousel > .ev-carte-destination {
	flex: 0 0 68%;
	margin: 0 !important;
	scroll-snap-align: start;
}

@media (min-width: 782px) {
	.ev-carrousel {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.5rem;
		margin-right: 0;
		padding-right: 0;
		overflow: visible;
	}
}

.ev-grille-destinations {
	gap: 14px !important;
}

@media (min-width: 782px) {
	.ev-grille-destinations {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 1.5rem !important;
	}
}

/* Pastilles de liens (destinations secondaires) */
ul.ev-liens-pastilles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	list-style: none;
}

ul.ev-liens-pastilles li {
	margin: 0;
}

ul.ev-liens-pastilles a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--ev-menthe-clair);
	color: var(--ev-vert);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
}

ul.ev-liens-pastilles a:hover {
	background: var(--wp--preset--color--menthe);
}

/* Tuiles (conseils) */
.ev-tuiles {
	gap: 12px !important;
	margin-top: 2rem;
}

/* Ordinateur : toutes les tuiles sur une ligne, quel que soit leur nombre (6 sur l'accueil) */
@media (min-width: 960px) {
	.ev-tuiles {
		grid-template-columns: none !important;
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
		gap: 1rem !important;
	}
}

.ev-tuile.ev-carte-lien {
	min-height: 112px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.ev-tuile .ev-tuile__titre a {
	color: inherit;
	text-decoration: none;
}

/* Carte entièrement cliquable (lien étiré sur toute la carte) */
.ev-carte-lien {
	position: relative;
}

.ev-carte-lien:not(.ev-carte-destination) a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.ev-carte-lien:hover {
	transform: translateY(-2px);
	transition: transform 0.2s ease;
}

/* Boutons : pleine largeur sur mobile */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid currentColor;
	background: transparent;
	color: var(--ev-vert);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--ev-menthe-clair);
	color: var(--ev-vert);
}

@media (max-width: 599px) {
	.wp-block-buttons > .wp-block-button {
		flex-basis: 100%;
		width: 100%;
	}

	.wp-block-buttons > .wp-block-button > .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}
}

/* ---------- Article ---------- */

.ev-article__tete {
	padding-top: 16px;
	padding-bottom: 28px;
	background: var(--ev-creme);
}

.ev-article__tete > * + * {
	margin-top: 14px;
}

.ev-article__tete .wp-block-post-title {
	font-size: clamp(1.9375rem, 1.5rem + 2vw, 2.75rem);
	line-height: 1.12;
}

.ev-infos-article {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ev-infos-article__avatar {
	width: 40px;
	height: 40px;
	border-radius: 999px;
}

.ev-infos-article__texte {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--ev-gris);
}

.ev-infos-article__auteur {
	color: var(--ev-vert);
	font-weight: 700;
}

.ev-article__corps {
	padding-top: 24px;
}

/* Image à la une plus large que le texte sur ordinateur */
.ev-article__corps > .wp-block-post-featured-image {
	max-width: 1000px !important;
	margin-bottom: 0.5rem;
}

@media (min-width: 960px) {
	.ev-article__tete {
		padding-top: 24px;
		padding-bottom: 40px;
	}

	.ev-article__corps {
		padding-top: 40px;
	}
}

/* Avec les raccourcis « Dans cette page » collés sous l'en-tête, le titre visé doit passer dessous
   (s'ajoute au scroll-padding-top de html, qui compte déjà l'en-tête) */
.wp-block-post-content:has(> .ev-puces) :is(h2, h3) {
	scroll-margin-top: 100px;
}

/* Défilement doux vers les ancres, et le titre atteint s'illumine brièvement */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}

	.wp-block-post-content :is(h2, h3):target {
		animation: ev-cible 1.8s ease-out;
	}
}

@keyframes ev-cible {
	0%,
	35% {
		background: var(--ev-menthe-clair);
		box-shadow: 0 0 0 10px var(--ev-menthe-clair);
	}

	100% {
		background: transparent;
		box-shadow: 0 0 0 10px transparent;
	}
}

.wp-block-image figcaption,
.wp-element-caption {
	text-align: center;
}

.wp-block-table {
	overflow-x: auto;
}

/* Sommaire */
.ev-sommaire {
	border: 1px solid #d6e2de;
	border-radius: 14px;
	padding: 0 16px;
}

.ev-sommaire > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.ev-sommaire > summary::-webkit-details-marker {
	display: none;
}

.ev-sommaire__titre {
	display: flex;
	align-items: center;
	gap: 10px;
}

.ev-sommaire[open] > summary > .ev-icone:last-child {
	transform: rotate(180deg);
}

.ev-sommaire__liste {
	margin: 0 0 16px;
	padding-left: 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.ev-sommaire__liste li {
	margin: 6px 0;
}

.ev-sommaire__liste ol {
	padding-left: 1.25rem;
	list-style: lower-alpha;
}

.ev-sommaire a {
	text-decoration: none;
}

.ev-sommaire a:hover {
	text-decoration: underline;
}

/* Raccourcis « Dans cette page » (pages hub) : restent visibles sous l'en-tête */
.ev-puces {
	position: sticky;
	top: calc(var(--ev-barre-admin) + var(--ev-entete));
	z-index: 50;
	margin-right: calc(-1 * var(--wp--preset--spacing--30));
	margin-left: calc(-1 * var(--wp--preset--spacing--30));
	padding: 10px 0 10px var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--ev-bordure);
	background: #fff;
}

@media (max-width: 600px) {
	.ev-puces {
		top: var(--ev-entete);
	}
}

.ev-puces__titre {
	margin: 0 0 6px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ev-gris);
}

.ev-puces__liste {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0 var(--wp--preset--spacing--30) 2px 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.ev-puces__liste a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--ev-menthe-clair);
	color: var(--ev-vert);
	font-size: 0.9375rem;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.ev-puces__liste a:hover {
	background: var(--wp--preset--color--menthe);
}

/* Section en cours de lecture */
.ev-puces__liste a[aria-current="true"] {
	background: var(--ev-vert);
	color: #fff;
}

/* Fondus et chevrons quand la liste dépasse à gauche ou à droite */
.ev-puces__defile {
	position: relative;
}

.ev-puces__defile::before,
.ev-puces__defile::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 2px;
	z-index: 1;
	width: 64px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.ev-puces__defile::before {
	left: 0;
	background: linear-gradient(to right, #fff 35%, rgba(255, 255, 255, 0));
}

.ev-puces__defile::after {
	right: 0;
	background: linear-gradient(to left, #fff 35%, rgba(255, 255, 255, 0));
}

.ev-puces.peut-gauche .ev-puces__defile::before,
.ev-puces.peut-droite .ev-puces__defile::after {
	opacity: 1;
}

.ev-puces__fleche {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--ev-bordure);
	border-radius: 999px;
	background: #fff;
	color: var(--ev-vert);
	box-shadow: 0 2px 10px rgba(36, 66, 68, 0.16);
	cursor: pointer;
	translate: 0 -50%;
}

.ev-puces__fleche:hover {
	background: var(--ev-menthe-clair);
}

.ev-puces__fleche--gauche {
	left: 0;
}

.ev-puces__fleche--droite {
	right: 8px;
}

.ev-puces.peut-gauche .ev-puces__fleche--gauche,
.ev-puces.peut-droite .ev-puces__fleche--droite {
	display: flex;
}

/* À lire aussi */
.ev-a-lire {
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30);
	background: var(--ev-creme);
}

.ev-a-lire__contenu {
	max-width: var(--wp--style--global--content-size, 720px);
	margin: 0 auto;
}

.ev-a-lire__titre {
	margin: 0 0 8px;
}

.ev-cartes-compactes {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ev-cartes-compactes li + li .ev-carte-compacte {
	border-top: 1px solid #e6e2d9;
}

.ev-carte-compacte {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	color: var(--ev-vert);
	text-decoration: none;
}

.ev-carte-compacte__image {
	flex: 0 0 104px;
	width: 104px;
	height: 78px;
	border-radius: 12px;
	object-fit: cover;
}

.ev-carte-compacte__texte {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ev-carte-compacte__titre {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.ev-carte-compacte:hover .ev-carte-compacte__titre {
	text-decoration: underline;
}

.ev-carte-compacte__date {
	font-size: 0.8125rem;
	color: var(--ev-gris);
}

/* Autrice */
.ev-auteur-zone {
	padding-top: var(--wp--preset--spacing--50);
}

.ev-auteur {
	padding: 24px;
	border-radius: 20px;
	background: var(--ev-vert);
	color: #e3ece9;
}

.ev-auteur__tete {
	gap: 14px;
}

.ev-auteur .wp-block-avatar img {
	border: 3px solid #4b6667;
	border-radius: 999px;
}

.ev-auteur .wp-block-post-author-name {
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.375rem;
	font-weight: 500;
	color: #fff;
}

.ev-auteur .wp-block-post-author-name a {
	color: inherit;
	text-decoration: none;
}

.ev-auteur .ev-surtitre {
	color: var(--wp--preset--color--menthe);
}

.ev-auteur .wp-block-post-author-biography {
	margin-top: 12px;
	font-size: 1rem;
	line-height: 1.6;
}

.ev-auteur a {
	color: #fff;
}

/* Commentaires */
.ev-commentaires-zone {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}

.ev-commentaire {
	padding: 16px 0;
	border-bottom: 1px solid var(--ev-bordure);
}

.ev-commentaire .wp-block-avatar img {
	border-radius: 999px;
}

.ev-commentaire .wp-block-comment-author-name {
	font-weight: 700;
}

.ev-commentaire .wp-block-comment-date {
	font-size: 0.8125rem;
	color: var(--ev-gris);
}

.ev-commentaires :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #c9d6d2;
	border-radius: 12px;
	font: inherit;
	font-size: 16px;
}

.ev-commentaires .wp-block-post-comments-form input[type="submit"] {
	width: 100%;
	min-height: 48px;
	border: 0;
	border-radius: 999px;
	background: var(--ev-vert);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

@media (min-width: 600px) {
	.ev-commentaires .wp-block-post-comments-form input[type="submit"] {
		width: auto;
		padding: 0 28px;
	}
}

/* ---------- Listes d'articles (archives, recherche) ---------- */

.ev-archive {
	padding-top: 16px;
	padding-bottom: var(--wp--preset--spacing--50);
}

.ev-grille .wp-block-post-template {
	margin-top: var(--wp--preset--spacing--40);
}

.ev-grille .wp-block-post-featured-image {
	margin-bottom: 10px;
}

.ev-grille__titre {
	margin: 0;
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
}

.ev-grille__titre a {
	text-decoration: none;
}

.ev-grille__titre a:hover {
	text-decoration: underline;
}

.ev-grille__date {
	margin-top: 4px;
	font-size: 0.8125rem;
	color: var(--ev-gris);
}

.ev-grille__date::before {
	content: "Mis à jour le ";
}

.wp-block-query-pagination {
	margin-top: var(--wp--preset--spacing--40);
	gap: 8px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border-radius: 999px;
	text-decoration: none;
}

.wp-block-query-pagination .current {
	background: var(--ev-vert);
	color: #fff;
}

.wp-block-search__input {
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid #c9d6d2;
	border-radius: 999px;
	font-size: 16px;
}

/* ---------- Styles de blocs proposés dans l'éditeur ---------- */

ul.is-style-fleches,
ul.is-style-coches {
	padding-left: 0;
	list-style: none;
}

ul.is-style-fleches > li,
ul.is-style-coches > li {
	position: relative;
	padding-left: 1.9em;
}

ul.is-style-fleches > li + li,
ul.is-style-coches > li + li {
	margin-top: 0.5em;
}

ul.is-style-fleches > li::before,
ul.is-style-coches > li::before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1.1em;
	height: 1.1em;
	background-color: var(--ev-sauge-fonce);
	-webkit-mask: var(--ev-puce) center / contain no-repeat;
	mask: var(--ev-puce) center / contain no-repeat;
}

ul.is-style-fleches {
	--ev-puce: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
}

ul.is-style-coches {
	--ev-puce: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

.wp-block-group.is-style-encadre-creme,
.wp-block-group.is-style-encadre-menthe,
.wp-block-group.is-style-encadre-bordure {
	padding: 20px;
	border-radius: 16px;
}

.wp-block-group.is-style-encadre-creme {
	background: var(--ev-creme);
}

.wp-block-group.is-style-encadre-menthe {
	background: var(--ev-menthe-clair);
}

.wp-block-group.is-style-encadre-bordure {
	border: 1px solid #d6e2de;
}

/* ---------- Encadré « Infos pratiques » (maquette A) ---------- */

.wp-block-group.ev-infos-pratiques {
	overflow: hidden;
	border-radius: 16px;
	background: #edf3f0;
}

.wp-block-group.ev-infos-pratiques > * {
	margin-block: 0;
}

.ev-infos-pratiques__titre {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 20px 6px;
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.1875rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ev-vert);
}

.ev-infos-pratiques__titre::before {
	content: "";
	flex: 0 0 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--ev-vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'%3E%3Cline x1='12' y1='16' x2='12' y2='11'/%3E%3Cline x1='12' y1='7.5' x2='12.01' y2='7.5'/%3E%3C/svg%3E") center / 18px no-repeat;
}

.wp-block-group.ev-infos-pratiques > .ev-infos-pratiques__liste {
	padding: 0 20px 6px;
	list-style: none;
}

.ev-infos-pratiques__liste > li {
	margin: 0;
	padding: 11px 0;
	border-top: 1px solid #d3e0db;
	font-size: 1rem;
	line-height: 1.5;
}

.ev-infos-pratiques__liste > li:first-child {
	border-top: 0;
}

/* Pied de carte : « À lire aussi », carte de la randonnée, bouton de réservation… */
.wp-block-group.ev-infos-pratiques > :not(.ev-infos-pratiques__titre, .ev-infos-pratiques__liste) {
	padding: 14px 20px;
	background: #e1ebe7;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.45;
}

.wp-block-group.ev-infos-pratiques > :not(.ev-infos-pratiques__titre, .ev-infos-pratiques__liste) + :not(.ev-infos-pratiques__titre, .ev-infos-pratiques__liste) {
	border-top: 1px solid #d3e0db;
}

.wp-block-group.ev-infos-pratiques > ul.is-style-fleches {
	padding-left: 20px;
}

@media (min-width: 782px) {
	.ev-infos-pratiques__titre {
		padding: 20px 28px 8px;
		font-size: 1.25rem;
	}

	.wp-block-group.ev-infos-pratiques > .ev-infos-pratiques__liste {
		padding: 0 28px 12px;
	}

	/* Infos courtes (classe posée par le script ou la composition) : deux colonnes sur ordinateur */
	.wp-block-group.ev-infos-pratiques--colonnes > .ev-infos-pratiques__liste {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
	}

	.ev-infos-pratiques--colonnes .ev-infos-pratiques__liste > li:nth-child(2) {
		border-top: 0;
	}

	.ev-infos-pratiques--colonnes .ev-infos-pratiques__liste > li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.wp-block-group.ev-infos-pratiques > :not(.ev-infos-pratiques__titre, .ev-infos-pratiques__liste) {
		padding: 14px 28px;
	}

	.wp-block-group.ev-infos-pratiques > ul.is-style-fleches {
		padding-left: 28px;
	}
}

/* ---------- Formules du Travel Planner : une carte par formule ---------- */

.wp-block-group.ev-formules {
	gap: 24px;
	align-items: stretch;
}

.wp-block-group.ev-formule {
	display: flex;
	flex-direction: column;
	padding: 28px 24px 24px;
	border: 1px solid var(--ev-bordure);
	border-top: 4px solid var(--wp--preset--color--menthe);
	border-radius: 20px;
	background: #fff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wp-block-group.ev-formule:hover {
	box-shadow: var(--ev-ombre);
	transform: translateY(-3px);
}

.wp-block-group.ev-formule > * {
	margin-block: 0;
}

.ev-formule > h3 {
	font-size: 1.25rem;
	line-height: 1.3;
}

.ev-formule > h3 + p {
	margin-top: 10px;
	color: var(--ev-gris);
	font-size: 1rem;
	line-height: 1.55;
}

.wp-block-group.ev-formule > ul {
	margin: 20px 0 24px;
	padding-top: 20px;
	border-top: 1px solid var(--ev-bordure);
	font-size: 1rem;
}

/* Prix : calé en bas de la carte, au même niveau sur les trois formules */
.wp-block-group.ev-formule > p:has(+ .wp-block-buttons) {
	margin-top: auto;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--ev-menthe-clair);
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--ev-vert);
}

.ev-formule > p:has(+ .wp-block-buttons) strong {
	font-weight: 500;
}

.wp-block-group.ev-formule > .wp-block-buttons {
	margin-top: 16px;
}

.ev-formule .wp-block-button,
.ev-formule .wp-block-button__link {
	width: 100%;
}

.ev-formule .wp-block-button .wp-block-button__link {
	border-color: var(--ev-vert);
	background: var(--ev-vert);
	color: #fff;
}

.ev-formule .wp-block-button .wp-block-button__link:hover {
	background: var(--wp--preset--color--vert-moyen);
	border-color: var(--wp--preset--color--vert-moyen);
}

/* Prestations à la carte : texte et bouton d'un côté, tarifs de l'autre */
.wp-block-group.ev-sur-mesure {
	margin-top: 24px;
	padding: 28px 24px;
	border-radius: 20px;
	background: var(--ev-creme);
}

.wp-block-group.ev-sur-mesure > * {
	margin-block: 0;
}

.ev-sur-mesure > h3 {
	font-size: 1.25rem;
	line-height: 1.3;
}

.ev-sur-mesure > h3 + p {
	margin-top: 10px;
	color: var(--ev-gris);
}

.wp-block-group.ev-sur-mesure > ul {
	margin: 16px 0 20px;
}

.ev-sur-mesure > ul > li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding-block: 12px;
	border-bottom: 1px solid #e6e0d5;
}

.ev-sur-mesure > ul > li + li {
	margin-top: 0;
}

.ev-sur-mesure > ul > li strong {
	flex: 0 0 auto;
	font-family: var(--wp--preset--font-family--oswald);
	font-size: 1.125rem;
	font-weight: 500;
}

@media (min-width: 782px) {
	.wp-block-group.ev-sur-mesure {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		align-content: start;
		column-gap: 56px;
		padding: 36px 40px;
	}

	.ev-sur-mesure > :not(ul) {
		grid-column: 1;
	}

	.wp-block-group.ev-sur-mesure > ul {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin: 0;
	}

	.ev-sur-mesure > .wp-block-buttons {
		align-self: end;
		margin-top: 20px;
	}
}

/* ---------- Encadré « Prix / Où l'acheter » (maquette A) ---------- */

.wp-block-group.ev-achat {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px 20px;
	border-radius: 16px;
	background: #edf3f0;
}

.wp-block-group.ev-achat > * {
	margin-block: 0;
}

.ev-achat :is(.ev-achat__prix, .ev-achat__boutiques) > strong:first-child {
	display: block;
	margin-bottom: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ev-sauge-fonce);
}

.ev-achat__prix {
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.45;
}

.ev-achat__boutiques {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid #d3e0db;
}

.ev-achat__boutiques > strong:first-child {
	flex: 0 0 100%;
	margin-bottom: 0;
}

.ev-achat__boutiques a,
.ev-achat__boutique {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 0.9375rem;
	line-height: 1.2;
}

.ev-achat__boutiques a {
	border: 1px solid #c9d8d2;
	background: #fff;
	color: var(--ev-vert);
	font-weight: 700;
	text-decoration: none;
}

.ev-achat__boutiques a:hover {
	border-color: var(--ev-vert);
}

.ev-achat__boutiques a::after {
	content: "";
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Surlignage hérité de Kadence sur les liens affiliés : inutile dans un bouton */
.ev-achat__boutiques mark {
	background: none !important;
	color: inherit !important;
}

/* Boutique sans lien (ex. « Supermarché ») */
.ev-achat__boutique {
	border: 1px dashed #b9cdc6;
	color: var(--ev-gris);
	font-weight: 600;
}

@media (min-width: 782px) {
	.wp-block-group.ev-achat {
		display: grid;
		grid-template-columns: 1fr 1.2fr;
		gap: 32px;
		padding: 20px 28px;
	}

	.ev-achat__boutiques {
		align-content: flex-start;
		padding-top: 0;
		padding-left: 32px;
		border-top: 0;
		border-left: 1px solid #d3e0db;
	}
}

/* Accordéons et blocs « Détails » */
.wp-block-details {
	padding: 0 16px;
	border: 1px solid var(--ev-bordure);
	border-radius: 16px;
}

.wp-block-details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 56px;
	cursor: pointer;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
}

.wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details > summary::after {
	content: "";
	flex: 0 0 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wp-block-details[open] > summary::after {
	transform: rotate(180deg);
}

.wp-block-details > :last-child {
	margin-bottom: 16px;
}

/* ---------- Pied de page ---------- */

.ev-pied-site {
	margin-top: auto;
}

.ev-pied {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--40);
	background: var(--ev-vert);
	color: #e3ece9;
}

.ev-pied a {
	color: #fff;
}

.ev-pied__haut {
	display: grid;
	gap: 24px;
}

.ev-pied__apropos > * + * {
	margin-top: 8px;
}

/* Le logo vert devient blanc sur le fond vert du pied de page */
.ev-pied__logo img {
	width: 170px;
	height: auto;
	filter: brightness(0) invert(1);
}

.ev-pied__apropos > .ev-pied__logo + * {
	margin-top: 16px;
}

.ev-pied .ev-surtitre {
	color: var(--wp--preset--color--menthe);
}

.ev-pied__apropos p:not([class]) {
	max-width: 440px;
	font-size: 1rem;
	line-height: 1.6;
}

.wp-block-social-links.ev-reseaux--clair {
	justify-content: flex-start;
	margin-top: 16px;
}

.wp-block-social-links.ev-reseaux--clair .wp-social-link {
	border: 1px solid #6f8a87;
	background: transparent;
	color: #fff;
}

.ev-liste-menu__titre {
	margin: 0 0 4px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--menthe);
}

.ev-liste-menu__liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ev-liste-menu__liste a {
	display: flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
	text-decoration: none;
}

.ev-liste-menu__liste a:hover {
	text-decoration: underline;
}

.ev-pied__bas {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #4b6667;
	font-size: 0.875rem;
}

.ev-pied__bas .ev-liste-menu__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0 18px;
}

.ev-pied__bas .ev-liste-menu__liste a {
	min-height: 36px;
	font-weight: 500;
	color: #e3ece9;
}

.ev-pied__cookies {
	margin: 0;
}

.ev-pied__cookies a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	color: #e3ece9;
}

.ev-pied__copyright {
	margin: 12px 0 0;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--menthe);
}

@media (min-width: 960px) {
	.ev-pied__haut {
		grid-template-columns: 2fr 1fr;
		gap: 48px;
	}

	.ev-pied__bas {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 24px;
	}

	.ev-pied__copyright {
		margin: 0 0 0 auto;
	}
}

/* ---------- Contenus : sections, tuiles, listes d'articles ---------- */

/* Dans une section colorée, titres et liens prennent la couleur du texte de la section. */
.has-text-color :where(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

.has-vert-background-color a:where(:not(.wp-element-button)) {
	color: #fff;
}

.ev-bande {
	padding-top: var(--ev-section);
	padding-bottom: var(--ev-section);
}

.has-vert-background-color .ev-surtitre {
	color: var(--wp--preset--color--menthe);
}

/*
 * Trait sous les titres : le séparateur prend toute la largeur du conteneur (WordPress centre les éléments étroits)
 * et seuls ses 64 premiers pixels sont dessinés, au bord gauche comme le titre.
 */
hr.wp-block-separator.ev-trait {
	width: 100% !important;
	height: 3px;
	margin-top: 0.75rem;
	margin-bottom: 1.25rem;
	border: 0;
	background: linear-gradient(var(--wp--preset--color--menthe), var(--wp--preset--color--menthe)) left center / 64px 3px no-repeat;
	opacity: 1;
}

hr.wp-block-separator.ev-trait--centre {
	background-position: center;
}

.ev-tuile {
	padding: 18px;
	border-radius: 16px;
	background: var(--ev-menthe-clair);
}

.ev-tuile > * + * {
	margin-top: 8px;
}

.ev-tuile.has-vert-background-color {
	background: var(--wp--preset--color--vert-moyen);
	border: 1px solid #4b6667;
}

.ev-tuile .ev-icone-bloc {
	color: var(--ev-sauge-fonce);
}

.ev-tuile.has-vert-background-color .ev-icone-bloc {
	color: var(--wp--preset--color--menthe);
}

.ev-tuile__titre {
	margin: 0;
	font-weight: 700;
	line-height: 1.35;
}

.ev-tuile p:not(.ev-tuile__titre) {
	font-size: 0.9375rem;
	line-height: 1.55;
}

.ev-icone-bloc {
	display: flex;
	line-height: 0;
}

.wp-block-button.is-style-doux > .wp-block-button__link {
	background: var(--ev-menthe-clair);
	color: var(--ev-vert);
}

.wp-block-button.is-style-doux > .wp-block-button__link:hover {
	background: var(--wp--preset--color--menthe);
}

/* Listes d'articles compactes (pages hub) : vignette + titre + date */
.ev-liste-articles .wp-block-post-template {
	display: grid;
	gap: 0 32px;
	margin: 0;
	padding: 0;
}

.ev-liste-articles .wp-block-post {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--ev-bordure);
}

.ev-liste-articles .wp-block-post-featured-image {
	flex: 0 0 104px;
	width: 104px;
	margin: 0;
}

.ev-liste-articles .wp-block-post-featured-image img {
	width: 104px;
	height: 78px;
	border-radius: 12px;
	object-fit: cover;
}

.ev-liste-articles .ev-liste-articles__texte > * {
	margin: 0;
}

.ev-liste-articles .wp-block-post-title {
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
}

.ev-liste-articles .wp-block-post-title a {
	text-decoration: none;
}

.ev-liste-articles .wp-block-post-title a:hover {
	text-decoration: underline;
}

.ev-liste-articles .wp-block-post-date {
	margin-top: 4px;
	font-size: 0.8125rem;
	color: var(--ev-gris);
}

.ev-liste-articles .wp-block-post-date::before {
	content: "Mis à jour le ";
}

.ev-liste-articles {
	margin-top: 1rem;
}

/* Ordinateur : cartes verticales sur 3 colonnes (image, titre, date) */
@media (min-width: 782px) {
	.ev-liste-articles .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2rem 1.75rem;
	}

	.ev-liste-articles .wp-block-post {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding: 0;
		border: 0;
	}

	.ev-liste-articles .wp-block-post-featured-image {
		flex: none;
		width: 100%;
	}

	.ev-liste-articles .wp-block-post-featured-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
		border-radius: 16px;
	}

	.ev-liste-articles .wp-block-post-title {
		font-size: 1.0625rem;
	}
}

/* Exactement 4 articles : une seule ligne de 4 cartes plutôt que 3 + 1 */
@media (min-width: 1024px) {
	.ev-liste-articles .wp-block-post-template:has(> .wp-block-post:nth-child(4):last-child) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Grilles de cartes (destinations) : image + titre */
.ev-grille-cartes .wp-block-post-featured-image {
	margin: 0 0 8px;
}

.ev-grille-cartes .wp-block-post-featured-image img {
	border-radius: 12px;
}

.ev-grille-cartes .wp-block-post-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--raleway);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: none;
}

.ev-grille-cartes .wp-block-post-title a {
	text-decoration: none;
}

/* ---------- Formulaires (Contact Form 7) ---------- */

.wpcf7 form > p,
.wpcf7 fieldset {
	margin: 0 0 18px;
}

.wpcf7 label,
.wpcf7 legend {
	display: block;
	font-weight: 600;
	line-height: 1.4;
}

.wpcf7 fieldset {
	padding: 0;
	border: 0;
}

.wpcf7 legend {
	margin-bottom: 8px;
	padding: 0;
}

.wpcf7 :where(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], textarea, select) {
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid #c9d6d2;
	border-radius: 12px;
	background: #fff;
	color: var(--ev-vert);
	font: inherit;
	font-size: 16px;
}

.wpcf7 textarea {
	min-height: 160px;
}

.wpcf7 .wpcf7-list-item {
	display: block;
	margin: 0 0 6px;
}

.wpcf7 .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 32px;
	font-weight: 500;
}

.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 3px;
	accent-color: var(--ev-vert);
}

.wpcf7 input[type="submit"] {
	width: 100%;
	min-height: 52px;
	padding: 0 32px;
	border: 0;
	border-radius: 999px;
	background: var(--ev-vert);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
	background: var(--ev-sauge-fonce);
}

@media (min-width: 600px) {
	.wpcf7 input[type="submit"] {
		width: auto;
	}
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 0.875rem;
	color: #b42318;
}

.wpcf7 form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 12px;
}

.ev-formulaire__intro {
	font-weight: 600;
}

/* ---------- Éditeur ---------- */

.ev-bloc-apercu {
	padding: 12px 16px;
	border: 1px dashed #b9c9c4;
	border-radius: 12px;
	font-size: 14px;
	color: var(--ev-gris);
}
