/* Les Cachotteries — styles du thème
   Les valeurs (couleurs, tailles, espacements) viennent de theme.json :
   ici on n'utilise que ses variables, jamais de couleur en dur. */

/* ============ Base ============ */
body {
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	text-wrap: balance;
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--gris-950);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* ============ Mise en page commune ============ */
/* Largeur de la maquette (1120 px de contenu) avec les marges latérales du site. */
.cach-reseau__ligne,
.cach-entete__ligne {
	box-sizing: content-box;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
}

.cach-icone-btn,
.cach-rs .wp-social-link,
.cach-recherche .wp-block-search__button,
.cach-nav-mobile .wp-block-navigation__responsive-container-open {
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: var(--wp--custom--rayon--plein);
	border: 1px solid var(--wp--preset--color--gris-300);
	background: var(--wp--preset--color--gris-0);
	color: var(--wp--preset--color--gris-950);
	display: grid;
	place-items: center;
}

/* ============ Barre des villes ============ */
.cach-reseau {
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
	font-size: 12.5px;
}
.cach-reseau__ligne {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	height: 34px;
}
.cach-villes {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
}
.cach-villes a {
	display: flex;
	align-items: center;
	gap: 6px;
	opacity: .62;
	color: inherit;
	text-decoration: none;
}
.cach-villes a i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--c);
}
.cach-villes a.is-active,
.cach-villes a:hover {
	opacity: 1;
}
.cach-villes a.is-active {
	font-weight: 600;
}
.cach-reseau__pro {
	white-space: nowrap;
	opacity: .85;
	color: inherit;
	text-decoration: none;
}
.cach-reseau__pro:hover {
	opacity: 1;
}
@media (max-width: 520px) {
	.cach-reseau__pro {
		display: none;
	}
}

/* ============ En-tête ============ */
.cach-entete-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 20;
	background: color-mix(in srgb, var(--wp--preset--color--gris-50) 90%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--gris-200);
}
@media (max-width: 600px) {
	.cach-entete-part {
		top: 0;
	}
}
.cach-entete__ligne {
	height: 64px;
	gap: 18px;
}

/* Logo */
.cach-logo {
	display: flex;
	align-items: center;
	gap: 9px;
	flex: 0 0 auto;
	color: var(--wp--preset--color--gris-950);
	text-decoration: none;
}
.cach-logo__dessin {
	height: 34px;
	width: auto;
	color: var(--wp--preset--color--ville-marque);
}
.cach-logo b {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 17px;
	font-weight: 800;
	line-height: .95;
	letter-spacing: var(--wp--custom--chasse--titre);
}
.cach-logo b span {
	display: block;
	font-weight: 700;
	color: var(--wp--preset--color--ville-700);
}

/* Menu principal (ordinateur) */
.cach-nav-bureau {
	display: none !important;
	margin-left: 12px;
	gap: 4px;
	font-size: 15px;
	font-weight: 600;
}
.cach-nav-bureau .wp-block-navigation__container {
	gap: 4px;
}
.cach-nav-bureau .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 8px 12px;
	border-radius: var(--wp--custom--rayon--plein);
	color: var(--wp--preset--color--gris-700);
}
.cach-nav-bureau .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.cach-nav-bureau .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.cach-nav-bureau .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--gris-100);
	color: var(--wp--preset--color--gris-950);
}
.cach-nav-bureau .cach-menu-plus > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--gris-600);
}
.cach-nav-bureau .cach-menu-plus > .wp-block-navigation-item__content::after {
	content: " ▾";
}
.cach-nav-bureau .wp-block-navigation__submenu-container {
	padding: 8px !important;
	border: 1px solid var(--wp--preset--color--gris-200) !important;
	border-radius: var(--wp--custom--rayon--m);
	background: var(--wp--preset--color--gris-0) !important;
	box-shadow: 0 12px 32px rgb(19 16 12 / .12);
	font-weight: 500;
	min-width: 220px !important;
}
.cach-nav-bureau .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 12px !important;
	border-radius: var(--wp--custom--rayon--s);
}
.cach-nav-bureau .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--gris-100);
}

/* Partie droite */
.cach-entete__ligne > .cach-entete__droite {
	margin-left: auto;
	gap: 8px;
}
.cach-rs--entete {
	display: none !important;
	gap: 6px !important;
}
.cach-rs .wp-social-link {
	margin: 0;
}
.cach-rs .wp-social-link a {
	width: 100%;
	height: 100%;
	padding: 0;
	display: grid;
	place-items: center;
}
.cach-rs .wp-social-link svg {
	width: 17px;
	height: 17px;
}
.cach-recherche .wp-block-search__button {
	margin: 0;
}
.cach-recherche .wp-block-search__button svg {
	width: 18px;
	height: 18px;
	min-width: 18px;
}
.cach-recherche .wp-block-search__inside-wrapper {
	align-items: center;
	padding: 0;
	border: 0;
	border-radius: var(--wp--custom--rayon--plein);
}
.cach-recherche:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	border: 1.5px solid var(--wp--preset--color--gris-950);
	border-radius: var(--wp--custom--rayon--plein);
	padding: 8px 14px;
	font-size: 16px;
}
.cach-contact {
	display: none !important;
}
.cach-nav-mobile .wp-block-navigation__responsive-container-open svg {
	width: 18px;
	height: 18px;
}
.cach-nav-mobile .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--30) var(--wp--style--root--padding-right) var(--wp--preset--spacing--40) var(--wp--style--root--padding-left);
	font-family: var(--wp--preset--font-family--titre);
	font-size: var(--wp--preset--font-size--l);
	font-weight: 700;
}
.cach-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	font-family: var(--wp--preset--font-family--texte);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
}

/* Pastilles (mobile) */
.cach-puces {
	border-top: 1px solid var(--wp--preset--color--gris-200);
}
.cach-puces .wp-block-navigation__container {
	flex-wrap: nowrap !important;
	gap: 8px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 10px var(--wp--style--root--padding-right) 12px var(--wp--style--root--padding-left);
	width: 100%;
}
.cach-puces .wp-block-navigation-item {
	flex: 0 0 auto;
}
.cach-puces .wp-block-navigation-item__content {
	display: block;
	padding: 8px 14px;
	border-radius: var(--wp--custom--rayon--plein);
	border: 1px solid var(--wp--preset--color--gris-300);
	background: var(--wp--preset--color--gris-0);
	color: var(--wp--preset--color--gris-700);
	font-size: 14px;
	font-weight: 600;
}
.cach-puces .wp-block-navigation-item:nth-child(-n+5) .wp-block-navigation-item__content {
	border-color: var(--wp--preset--color--ville-100);
	background: var(--wp--preset--color--ville-50);
	color: var(--wp--preset--color--gris-950);
}
.cach-puces .current-menu-item .wp-block-navigation-item__content {
	border-color: var(--wp--preset--color--gris-950);
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
}

@media (min-width: 980px) {
	.cach-nav-bureau,
	.cach-contact {
		display: flex !important;
	}
	.cach-nav-mobile,
	.cach-puces {
		display: none !important;
	}
}
@media (min-width: 1080px) {
	.cach-rs--entete {
		display: flex !important;
	}
}

/* ============ Pilule (bouton en forme de gélule) ============ */
.cach-pilule {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
	font-family: var(--wp--preset--font-family--titre);
	font-size: .9375rem;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none;
}
.cach-pilule--clair,
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--wp--preset--color--gris-0);
	color: var(--wp--preset--color--gris-950);
	border: 1.5px solid var(--wp--preset--color--gris-950);
}

/* ============ Pied de page ============ */
footer.wp-block-template-part {
	margin-top: 64px;
	border-top: 1px solid var(--wp--preset--color--gris-300);
}
.cach-pied {
	box-sizing: content-box;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
	padding: 36px var(--wp--style--root--padding-right) 40px var(--wp--style--root--padding-left);
	font-size: 14px;
	color: var(--wp--preset--color--gris-700);
}
.cach-pied a {
	color: inherit;
	text-decoration: none;
}
.cach-pied a:hover {
	color: var(--wp--preset--color--gris-950);
}
.cach-pied__grille {
	display: grid;
	gap: 28px;
}
.cach-pied__grille > * {
	margin: 0 !important;
}
.cach-pied__slogan {
	margin: 14px 0 0;
	max-width: 34ch;
}
.cach-pied__slogan::first-letter {
	text-transform: uppercase;
}
.cach-pied__titre {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--wp--preset--color--gris-950);
}
.cach-pied__menu {
	gap: 7px;
	font-size: 14px;
}
.cach-pied__menu .wp-block-navigation__container {
	gap: 7px;
}
.cach-liste {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 7px;
}
.cach-encart-groupe {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 28px;
	padding: 16px 18px;
	border: 1px solid var(--wp--preset--color--gris-200);
	border-radius: 16px;
	background: var(--wp--preset--color--gris-0);
}
.cach-pied .cach-encart-groupe .cach-pilule {
	color: var(--wp--preset--color--gris-0);
}
.cach-encart-groupe b {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.05rem;
	color: var(--wp--preset--color--gris-950);
}
.cach-pied__legal {
	margin-top: 22px;
	font-size: 13px;
	color: var(--wp--preset--color--gris-600);
}
.cach-pied__legal .wp-block-navigation__container {
	gap: 0;
}
.cach-pied__legal .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: "·";
	margin: 0 .5em;
}
@media (max-width: 560px) {
	.cach-encart-groupe {
		flex-direction: column;
		align-items: flex-start;
	}
}
@media (min-width: 900px) {
	.cach-pied__grille {
		grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
	}
}
/* Colonne sans lien (ex. « Aussi » quand le menu principal a 5 rubriques ou moins) : masquée. */
.cach-pied__colonne:has(> .cach-pied__titre:only-child) {
	display: none;
}
@media (min-width: 900px) {
	.cach-pied__grille:has(> .cach-pied__colonne > .cach-pied__titre:only-child) {
		grid-template-columns: 1.6fr 1fr 1fr 1fr;
	}
}

/* ============ Contenu des pages ============ */
.cach-page {
	box-sizing: content-box;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
}
.cach-page > *,
.cach-article > *,
.cach-article__tete > *,
.cach-section > *,
.cach-carte > *,
.cach-carte__img > * {
	margin-block: 0;
}

/* Fil d'Ariane (Yoast) */
.cach-fil {
	padding-top: 22px;
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-600);
}
.cach-fil a {
	color: var(--wp--preset--color--gris-700);
	text-decoration: none;
}
.cach-fil a:hover {
	text-decoration: underline;
}

/* Badges */
.cach-badge {
	display: inline-block;
	padding: 3px 9px;
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--ville-marque);
	color: var(--wp--preset--color--gris-950);
	font-size: 12px;
	font-weight: 700;
	font-variant-caps: all-small-caps;
	letter-spacing: .02em;
	line-height: 1.4;
}
a.cach-badge {
	text-decoration: none;
	transition: background-color .2s, transform .2s;
}
a.cach-badge:hover {
	background: var(--wp--preset--color--ville-400);
	transform: translateY(-1px);
}
.cach-badge--clair {
	background: var(--wp--preset--color--ville-50);
	color: var(--wp--preset--color--ville-700);
	border: 1px solid var(--wp--preset--color--ville-100);
}

/* Pastille ronde avec l'initiale de l'auteur */
.cach-initiale {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--ville-100);
	color: var(--wp--preset--color--ville-700);
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 800;
}
.cach-initiale--grande {
	width: 64px;
	height: 64px;
	font-size: 1.5rem;
}

/* ============ Article ============ */
.cach-article {
	max-width: 760px;
	margin-inline: auto;
}
.cach-article__tete {
	padding-top: 8px;
}
.cach-article__tete > .cach-badge {
	margin-top: 16px;
}
.cach-article__titre {
	margin: 14px 0 !important;
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1;
}
.cach-chapo {
	margin: 0;
	font-size: clamp(1.08rem, 3vw, 1.25rem);
	line-height: 1.5;
	color: var(--wp--preset--color--gris-700);
}
.cach-chapo p {
	margin: 0;
}
.cach-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 22px 0 !important;
	font-size: 14px;
	color: var(--wp--preset--color--gris-600);
}
.cach-meta a {
	color: inherit;
	text-decoration: none;
}
.cach-meta b {
	color: var(--wp--preset--color--gris-950);
	font-weight: 600;
}
.cach-article__photo {
	margin: 6px 0 26px !important;
	border-radius: var(--wp--custom--rayon--bloc);
	overflow: hidden;
}
.cach-article__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Image de remplacement (article sans image à la une) */
.cach-image--vide {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--ville-50);
}
.cach-image--vide > a {
	position: absolute;
	inset: 0;
}
.cach-sans-image {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: flex-end;
	padding: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--ville-50);
}
.cach-sans-image > span {
	position: relative;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 3.2rem;
	font-weight: 800;
	line-height: .85;
	letter-spacing: -.04em;
	color: var(--wp--preset--color--ville-100);
}
.cach-sans-image__dessin {
	position: absolute;
	right: -16px;
	top: -12px;
	width: 62%;
	height: auto;
	color: var(--wp--preset--color--ville-100);
}
.cach-article__photo .cach-sans-image > span {
	font-size: clamp(3.2rem, 12vw, 6rem);
}

/* Texte de l'article */
.cach-corps {
	font-size: 1.07rem;
	line-height: 1.72;
}
.cach-corps > * {
	margin-block: 0 16px;
}
.cach-corps h2 {
	margin: 38px 0 12px;
	font-size: clamp(1.5rem, 5vw, 2rem);
	line-height: 1.05;
}
.cach-corps h3 {
	margin: 28px 0 10px;
	font-size: var(--wp--preset--font-size--l);
}
.cach-corps a {
	text-underline-offset: 3px;
}
.cach-corps img {
	max-width: 100%;
	height: auto;
	border-radius: var(--wp--custom--rayon--carte);
}
.cach-corps .wp-caption {
	max-width: 100% !important;
}
.cach-corps .wp-caption-text,
.cach-corps figcaption {
	margin-top: 6px;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--gris-600);
}
.cach-corps iframe,
.cach-corps .instagram-media {
	max-width: 100% !important;
}

/* Fiches lieu Elementor : leurs boutons gardent leur propre mise en forme */
.cach-corps .elementor .elementor-button {
	color: var(--wp--preset--color--gris-0);
	text-decoration: none;
}

/* Sommaire (Easy Table of Contents) */
.cach-corps #ez-toc-container,
.cach-corps #ez-toc-container * {
	text-align: left;
}
.cach-corps #ez-toc-container {
	display: block;
	width: auto !important;
	margin: 0 0 26px;
	padding: 16px 18px;
	border: 0;
	border-radius: 16px;
	background: var(--wp--preset--color--gris-100);
	box-shadow: none;
}
.cach-corps #ez-toc-container .ez-toc-title {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--gris-950);
}
.cach-corps #ez-toc-container nav ul,
.cach-corps #ez-toc-container nav ol {
	font-size: 15px;
}
.cach-corps #ez-toc-container a {
	color: var(--wp--preset--color--gris-700);
	text-decoration: none;
}
.cach-corps #ez-toc-container a:hover {
	color: var(--wp--preset--color--gris-950);
	text-decoration: underline;
}

/* Encadré auteur et partage */
.cach-auteur {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 34px 0 !important;
	padding: 22px 0;
	border-block: 1px solid var(--wp--preset--color--gris-300);
}
.cach-auteur__nom {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.15rem;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1.5px solid var(--wp--preset--color--gris-950);
}
.cach-auteur p {
	margin: 4px 0 0;
	font-size: 14.5px;
	color: var(--wp--preset--color--gris-700);
}
.cach-partage {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px !important;
}
.cach-partage .cach-pilule {
	font-size: 14px;
	cursor: pointer;
}

/* ============ Sections et cartes ============ */
.cach-section {
	padding-top: 44px;
}
.cach-titre-section {
	margin: 0 0 16px !important;
	font-size: clamp(1.6rem, 6vw, 2.6rem);
	line-height: 1;
}

.cach-carte__img {
	position: relative;
	border-radius: var(--wp--custom--rayon--carte);
	overflow: hidden;
	background: var(--wp--preset--color--gris-100);
}
.cach-carte__img .wp-block-post-featured-image {
	margin: 0;
}
.cach-carte__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}
.cach-carte:hover .cach-carte__img img {
	transform: scale(1.04);
}
.cach-carte__img .cach-badge {
	position: absolute;
	left: 10px;
	top: 10px;
	z-index: 1;
}
.cach-carte__titre {
	margin: 12px 0 5px !important;
	font-size: 1.12rem;
	line-height: 1.15;
}
.cach-carte__titre a {
	text-decoration: none;
}
.cach-carte__meta {
	margin: 0;
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-600);
}

/* Rangée de cartes : défilement sur mobile, 4 colonnes sur ordinateur */
.cach-rangee {
	display: flex;
	gap: 14px;
	margin: 0 calc(-1 * var(--wp--style--root--padding-right)) 0 calc(-1 * var(--wp--style--root--padding-left));
	padding: 0 var(--wp--style--root--padding-right) 0 var(--wp--style--root--padding-left);
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.cach-rangee > li {
	flex: 0 0 72%;
	margin: 0;
	scroll-snap-align: start;
}
@media (min-width: 700px) {
	.cach-rangee > li {
		flex-basis: 40%;
	}
}
@media (min-width: 900px) {
	.cach-section {
		padding-top: 64px;
	}
}
@media (min-width: 980px) {
	.cach-rangee {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 22px;
		margin: 0;
		padding: 0;
		overflow: visible;
	}
}

/* ============ Catégorie ============ */
.cach-categorie__tete {
	padding: 10px 0 4px;
}
.cach-categorie__tete > * {
	margin-block: 0;
}
.cach-categorie__titre {
	font-size: var(--wp--preset--font-size--affiche);
	line-height: .9;
	color: var(--wp--preset--color--ville-vif);
}
/* « à Lille », « autour de Lille » : plus petit, sous le nom, pour que le titre tienne. */
.cach-categorie__titre .cach-categorie__nom {
	display: block;
	overflow-wrap: anywhere;
}
.cach-categorie__titre .cach-categorie__suite {
	display: block;
	margin-top: .12em;
	font-size: .38em;
	line-height: 1.05;
	color: var(--wp--preset--color--gris-950);
}
.cach-categorie__compte {
	margin-top: 12px !important;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.1rem;
	font-weight: 700;
}
.cach-categorie__description {
	max-width: none;
	margin-top: 10px !important;
	line-height: 1.55;
	color: var(--wp--preset--color--gris-700);
}
.cach-categorie__description p {
	max-width: none;
	margin: 0 0 8px;
}

/* Grille : 2 colonnes sur mobile, 3 sur ordinateur */
.cach-grille {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 14px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}
.cach-grille > li {
	margin: 0;
	min-width: 0;
}
.cach-grille .cach-carte__titre {
	font-size: 1rem;
}
/* Résumé court sous le titre des cartes, affiché en entier (aucun texte caché). */
.cach-carte__resume {
	margin: 4px 0 6px !important;
	font-size: 14px;
	line-height: 1.45;
	color: var(--wp--preset--color--gris-700);
}
.cach-carte__resume p {
	margin: 0;
}
.cach-carte__resume .wp-block-post-excerpt__more-text {
	display: none;
}

/* Article vedette : le premier de la première page */
body.category:not(.paged) .cach-grille > li:first-child {
	grid-column: 1 / -1;
	margin-bottom: 8px;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte {
	display: grid;
	border-radius: 20px;
	overflow: hidden;
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__img {
	border-radius: 0;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__img .wp-block-post-featured-image {
	aspect-ratio: 16 / 10 !important;
	height: 100%;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__corps {
	padding: 22px;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__titre {
	margin: 0 0 10px !important;
	font-size: clamp(1.5rem, 5.5vw, 2.4rem);
	line-height: 1.02;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__resume {
	display: block;
	margin: 0 0 10px;
	color: var(--wp--preset--color--gris-300);
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__resume p {
	margin: 0;
}
body.category:not(.paged) .cach-grille > li:first-child .wp-block-post-excerpt__more-text {
	display: none;
}
body.category:not(.paged) .cach-grille > li:first-child .cach-carte__meta {
	color: var(--wp--preset--color--gris-400);
}

/* « Voir plus d'adresses » */
.cach-plus {
	margin-top: 34px !important;
}
.cach-plus .wp-block-query-pagination-next {
	display: inline-flex;
	padding: 10px 18px;
	border: 1.5px solid var(--wp--preset--color--gris-950);
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-0);
	color: var(--wp--preset--color--gris-950);
	font-family: var(--wp--preset--font-family--titre);
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none;
}

/* Pastilles « Continuer à explorer » */
.cach-autres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cach-autres a {
	padding: 10px 16px;
	border: 1px solid var(--wp--preset--color--gris-300);
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-0);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}
.cach-autres small {
	margin-left: 4px;
	font-size: inherit;
	font-weight: 500;
	color: var(--wp--preset--color--gris-600);
}

@media (min-width: 900px) {
	.cach-grille {
		grid-template-columns: repeat(3, 1fr);
		gap: 34px 24px;
	}
	.cach-grille .cach-carte__titre {
		font-size: 1.2rem;
	}
	body.category:not(.paged) .cach-grille > li:first-child .cach-carte {
		grid-template-columns: 1.3fr 1fr;
	}
	body.category:not(.paged) .cach-grille > li:first-child .cach-carte__img .wp-block-post-featured-image {
		aspect-ratio: auto !important;
		min-height: 340px;
	}
	body.category:not(.paged) .cach-grille > li:first-child .cach-carte__corps {
		align-self: center;
		padding: 36px;
	}
}

/* ============ Page Contact ============ */
.cach-contact-page > * {
	margin-block: 0;
}
.cach-contact__titre {
	max-width: 9ch;
	margin-top: 40px !important;
	font-size: clamp(2.6rem, 10vw, 7rem);
	line-height: var(--wp--custom--interligne--affiche);
}
.cach-contact__intro {
	max-width: 44ch;
	margin: 20px 0 28px !important;
	font-size: 1.1rem;
	color: var(--wp--preset--color--gris-700);
}
.cach-contact__formulaire {
	display: grid;
	gap: 16px;
	max-width: 760px;
}
.cach-contact__champ label {
	font-size: 15px;
	font-weight: 600;
}
.cach-contact__champ label span {
	font-weight: 400;
	color: var(--wp--preset--color--gris-600);
}
.cach-contact__champ input,
.cach-contact__champ textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--gris-200);
	border-radius: 10px;
	background: var(--wp--preset--color--gris-0);
	color: var(--wp--preset--color--gris-950);
	font: inherit;
	font-size: 17px;
}
.cach-contact__champ input:focus,
.cach-contact__champ textarea:focus {
	border-color: var(--wp--preset--color--gris-950);
	outline: none;
}
.cach-contact__champ [aria-invalid="true"] {
	border-color: var(--wp--preset--color--erreur);
}
.cach-contact__erreur {
	margin: 6px 0 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--erreur);
}
.cach-contact__erreur-globale,
.cach-contact__alerte {
	margin: 0 0 12px;
	font-weight: 600;
	color: var(--wp--preset--color--erreur);
}
.cach-contact__piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.cach-contact__bouton {
	padding: 14px 22px;
	border: 0;
	font-size: 17px;
	cursor: pointer;
}
.cach-contact__bouton:disabled {
	opacity: .6;
	cursor: default;
}
.cach-contact__merci {
	max-width: 52ch;
	padding: 24px;
	border-radius: var(--wp--custom--rayon--bloc);
	background: var(--wp--preset--color--gris-0);
	box-shadow: 0 1px 0 var(--wp--preset--color--gris-300);
}
.cach-contact__merci p {
	margin: 8px 0 0;
	color: var(--wp--preset--color--gris-700);
}
.cach-contact__merci .cach-contact__merci-titre {
	margin: 0;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--gris-950);
}
.cach-contact__coordonnees {
	margin: 24px 0 0;
	font-size: 15px;
	color: var(--wp--preset--color--gris-700);
}
.cach-contact__coordonnees a {
	font-weight: 600;
	color: var(--wp--preset--color--gris-950);
	text-decoration: none;
}
.cach-contact__coordonnees a:hover {
	text-decoration: underline;
}
.cach-contact__mention {
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--wp--preset--color--gris-600);
}
.cach-contact__mention + .cach-contact__mention {
	margin-top: 6px;
}
.cach-contact__mention a {
	color: inherit;
	text-decoration: underline;
}
@media (min-width: 900px) {
	.cach-contact__formulaire {
		grid-template-columns: 1fr 1fr;
	}
	.cach-contact__champ--large,
	.cach-contact__envoi {
		grid-column: 1 / -1;
	}
}

/* ============ Accueil ============ */
.cach-lecteur {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.cach-accueil > *,
.cach-hero > * {
	margin-block: 0;
}
.cach-hero {
	padding: 34px 0 8px;
}
.cach-hero__titre {
	max-width: 12ch;
	font-size: clamp(2.3rem, 10.5vw, 6.2rem);
	line-height: .95;
}
/* Mot tournant : tous les mots dans la même case, un seul visible. */
.cach-mot {
	display: inline-grid;
	vertical-align: bottom;
	overflow: hidden;
	height: 1.02em;
	color: var(--wp--preset--color--ville-vif);
}
.cach-mot > span {
	grid-area: 1 / 1;
	opacity: 0;
	transform: translateY(100%);
}
.cach-mot > span.is-visible {
	opacity: 1;
	transform: none;
}
.cach-mot.is-anime > span {
	transition: opacity .35s, transform .35s;
}
.cach-mot > span.is-sortant {
	opacity: 0;
	transform: translateY(-100%);
}
.cach-hero__accroche {
	max-width: 44ch;
	margin: 18px 0 22px !important;
	font-size: clamp(1.02rem, 2.8vw, 1.2rem);
	line-height: 1.5;
	color: var(--wp--preset--color--gris-700);
}

/* Barre de recherche */
.cach-recherche-accueil {
	max-width: 560px;
}
.cach-recherche-accueil .wp-block-search__inside-wrapper {
	align-items: center;
	gap: 10px;
	padding: 6px 6px 6px 18px !important;
	border: 1.5px solid var(--wp--preset--color--gris-950) !important;
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-0);
}
.cach-recherche-accueil .wp-block-search__input {
	flex: 1;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 16px;
}
.cach-recherche-accueil .wp-block-search__input:focus {
	outline: none;
}
.cach-recherche-accueil .wp-block-search__inside-wrapper:focus-within {
	outline: 2px solid var(--wp--preset--color--gris-950);
	outline-offset: 2px;
}
.cach-recherche-accueil .wp-block-search__button {
	margin: 0;
	padding: 10px 16px;
	border: 0;
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
	font-family: var(--wp--preset--font-family--titre);
	font-size: .9375rem;
	font-weight: 700;
}

/* Les quatre chiffres */
.cach-chiffres {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 34px !important;
	border-block: 1px solid var(--wp--preset--color--gris-300);
}
.cach-chiffres > div {
	padding: 20px 12px 22px;
	border-bottom: 1px solid var(--wp--preset--color--gris-300);
}
.cach-chiffres > div:nth-child(odd) {
	padding-left: 0;
	border-right: 1px solid var(--wp--preset--color--gris-300);
}
.cach-chiffres > div:nth-child(n+3) {
	border-bottom: 0;
}
.cach-chiffres b {
	display: block;
	font-family: var(--wp--preset--font-family--titre);
	font-size: clamp(2.1rem, 9vw, 4.2rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.03em;
	line-height: .9;
	white-space: nowrap;
}
.cach-chiffres b small {
	margin-right: .2em;
	font-size: .34em;
	font-weight: 600;
	letter-spacing: 0;
	vertical-align: .9em;
}
.cach-chiffres > div > span {
	display: block;
	max-width: 22ch;
	margin-top: 8px;
	font-size: 14px;
	color: var(--wp--preset--color--gris-700);
}
@media (min-width: 900px) {
	.cach-chiffres {
		grid-template-columns: repeat(4, 1fr);
	}
	.cach-chiffres > div,
	.cach-chiffres > div:nth-child(odd) {
		padding: 30px 22px;
		border-bottom: 0;
		border-right: 1px solid var(--wp--preset--color--gris-300);
	}
	.cach-chiffres > div:first-child {
		padding-left: 0;
	}
	.cach-chiffres > div:last-child {
		border-right: 0;
	}
}

/* Titres de section de l'accueil */
.cach-titre-sec {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 16px;
}
.cach-titre-sec h2 {
	margin: 0;
	font-size: clamp(1.6rem, 6vw, 2.6rem);
	line-height: 1;
}
.cach-titre-sec h2 a {
	text-decoration: none;
}
.cach-titre-sec__sous {
	display: block;
	margin: 6px 0 0;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--wp--preset--color--gris-600);
}
.cach-titre-sec > a {
	padding-bottom: 1px;
	border-bottom: 1.5px solid var(--wp--preset--color--gris-950);
	font-size: 14.5px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}
.cach-ville {
	color: var(--wp--preset--color--ville-700);
}

/* Défilé de reels : toute la largeur de l'écran */
.cach-defile {
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	-webkit-mask: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
	mask: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.cach-piste,
.cach-piste__copie {
	display: flex;
	gap: 12px;
	width: max-content;
}
.cach-piste {
	animation: cach-defile 44s linear infinite;
}
.cach-defile:hover .cach-piste,
.cach-defile:focus-within .cach-piste {
	animation-play-state: paused;
}
@keyframes cach-defile {
	to {
		transform: translateX(calc(-50% - 6px));
	}
}
.cach-reel {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 150px;
	aspect-ratio: 9 / 16;
	padding: 10px;
	overflow: hidden;
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wp--preset--color--gris-100);
	color: var(--wp--preset--color--gris-0);
	text-decoration: none;
}
.cach-reel img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cach-reel::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgb(19 16 12 / .88));
}
.cach-reel > * {
	position: relative;
	z-index: 1;
}
.cach-reel .cach-reel__lecture {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgb(255 255 255 / .22);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.cach-reel .cach-reel__lecture::after {
	content: "";
	margin-left: 2px;
	border-left: 9px solid var(--wp--preset--color--gris-0);
	border-block: 6px solid transparent;
}
.cach-reel b {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 14px;
	line-height: 1.15;
}
.cach-reel small {
	margin-top: 2px;
	font-size: 12px;
	opacity: .85;
}
@media (min-width: 900px) {
	.cach-reel {
		width: 190px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cach-piste {
		animation: none;
	}
	.cach-piste__copie {
		display: none;
	}
	.cach-defile {
		overflow-x: auto;
	}
}

/* À la une : 1 grande carte, 3 petites */
.cach-une {
	display: grid;
	gap: 18px;
}
.cach-carte__corps > * {
	margin-block: 0;
}
.cach-carte--grande .cach-carte__titre {
	font-size: clamp(1.4rem, 5vw, 2.1rem);
}
.cach-une__petites {
	display: grid;
	gap: 16px;
}
.cach-carte--petite {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 14px;
	align-items: center;
}
.cach-carte--petite .cach-carte__titre {
	margin-top: 6px !important;
	font-size: 1.02rem;
}
@media (min-width: 900px) {
	.cach-une {
		grid-template-columns: 1.5fr 1fr;
		gap: 28px;
	}
	.cach-carte--petite {
		grid-template-columns: 150px 1fr;
	}
}
.cach-carte__img figure > a {
	display: block;
	height: 100%;
}

/* Rangées de catégories */
.cach-rubriques > * {
	margin-block: 0;
}
.cach-rangee .cach-carte__titre {
	font-size: 1.12rem;
}
.cach-grandes-cartes {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cach-grande-carte {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--wp--custom--rayon--carte);
	background: var(--wp--preset--color--gris-100);
	color: var(--wp--preset--color--gris-0);
	text-decoration: none;
}
.cach-grande-carte > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}
.cach-grande-carte:hover > img {
	transform: scale(1.04);
}
.cach-grande-carte::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgb(19 16 12 / .85));
}
.cach-grande-carte__legende {
	position: absolute;
	right: 16px;
	bottom: 16px;
	left: 16px;
	z-index: 1;
	display: block;
}
.cach-grande-carte__titre {
	display: block;
	margin: 6px 0 4px;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: var(--wp--custom--chasse--titre);
}
.cach-grande-carte__meta {
	display: block;
	font-size: 13.5px;
	color: rgb(255 255 255 / .8);
}
@media (min-width: 700px) {
	.cach-grandes-cartes {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

/* Suivez-nous partout */
.cach-rs-cartes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.cach-rs-carte {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 150px;
	padding: 18px;
	border: 1px solid var(--wp--preset--color--gris-200);
	border-radius: var(--wp--custom--rayon--bloc);
	background: var(--wp--preset--color--gris-0);
	text-decoration: none;
}
.cach-rs-carte__nom {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
}
.cach-rs-carte__nom i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--gris-500);
}
.cach-rs-carte--tiktok .cach-rs-carte__nom i {
	background: var(--wp--preset--color--gris-950);
}
.cach-rs-carte b {
	margin-top: 10px;
	font-family: var(--wp--preset--font-family--titre);
	font-size: clamp(1.7rem, 6vw, 2.4rem);
	letter-spacing: -.03em;
	line-height: 1;
}
.cach-rs-carte small {
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-600);
}
.cach-rs-carte .cach-pilule {
	align-self: flex-start;
	margin-top: auto;
	padding: 8px 14px;
	font-size: 14px;
}
/* Instagram, le réseau principal : carte sombre sur toute la largeur (mobile) */
.cach-rs-carte--instagram {
	grid-column: 1 / -1;
	border-color: var(--wp--preset--color--gris-950);
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
}
.cach-rs-carte--instagram .cach-rs-carte__nom i {
	background: var(--wp--preset--color--ville-marque);
}
.cach-rs-carte--instagram small {
	color: var(--wp--preset--color--gris-400);
}
.cach-rs-carte--instagram .cach-pilule {
	background: var(--wp--preset--color--ville-marque);
	color: var(--wp--preset--color--gris-950);
}
@media (min-width: 900px) {
	.cach-rs-cartes {
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
	}
	.cach-rs-carte--instagram {
		grid-column: auto;
	}
}

/* Newsletter */
.cach-newsletter {
	display: grid;
	gap: 18px;
	padding: 30px 22px;
	border-radius: 22px;
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
}
.cach-newsletter h2 {
	margin: 0;
	font-size: clamp(1.6rem, 6vw, 2.4rem);
	line-height: 1;
}
.cach-newsletter p {
	max-width: 44ch;
	margin: 12px 0 0;
	font-size: 15px;
	color: var(--wp--preset--color--gris-300);
}
@media (min-width: 900px) {
	.cach-newsletter {
		grid-template-columns: 1.2fr 1fr;
		align-items: center;
		padding: 44px;
	}
}

/* ============ Auteurs ============ */
.cach-initiale--photo {
	overflow: hidden;
	background: var(--wp--preset--color--gris-100);
}
.cach-initiale--photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cach-initiale--profil {
	width: 120px;
	height: 120px;
	font-size: 3rem;
}
.cach-auteur__tous {
	display: inline-block;
	margin-top: 8px;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.cach-profil {
	display: grid;
	gap: 22px;
	padding: 26px 0 8px;
}
.cach-profil h1 {
	margin: 0;
	font-size: clamp(2.4rem, 10vw, 4.6rem);
	line-height: .95;
}
.cach-profil p {
	max-width: 58ch;
	margin: 14px 0 0;
	line-height: 1.6;
	color: var(--wp--preset--color--gris-700);
}
.cach-profil__stats {
	display: flex;
	gap: 28px;
	margin-top: 18px;
}
.cach-profil__stats b {
	display: block;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.8rem;
	letter-spacing: var(--wp--custom--chasse--titre);
}
.cach-profil__stats span {
	font-size: 13.5px;
	color: var(--wp--preset--color--gris-600);
}
.cach-grille--sans-marge {
	margin-top: 0;
}
@media (min-width: 900px) {
	.cach-profil {
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 36px;
	}
}
/* Biographies : les longues adresses web passent à la ligne. */
.cach-auteur p,
.cach-profil p {
	overflow-wrap: anywhere;
}
@media (max-width: 599px) {
	.cach-auteur {
		align-items: flex-start;
	}
}

/* ============ Recherche et 404 ============ */
.cach-recherche-tete {
	padding: 34px 0 0;
}
.cach-recherche-tete h1,
.cach-404__titre {
	margin: 0;
	font-size: var(--wp--preset--font-size--xxxl);
	line-height: 1;
}
.cach-404__titre {
	max-width: 14ch;
	margin-top: 34px !important;
}
.cach-recherche-page {
	margin-top: 22px !important;
}
.cach-vide {
	margin: 30px 0 16px !important;
	font-size: 1.1rem;
	color: var(--wp--preset--color--gris-700);
}
.cach-404 > * {
	margin-block: 0;
}
.cach-page > .cach-resultats {
	margin-top: 30px;
}
.cach-resultats .cach-grille {
	margin-top: 0;
}

/* ============ Fiche lieu ============ */
.cach-fiche {
	margin: 26px 0 !important;
	overflow: hidden;
	border: 1.5px solid var(--wp--preset--color--gris-950);
	border-radius: 20px;
	background: var(--wp--preset--color--gris-0);
	font-size: 15px;
	line-height: 1.5;
}
.cach-fiche__image {
	margin: 0;
	background: var(--wp--preset--color--gris-100);
}
.cach-corps .cach-fiche__image img {
	display: block;
	width: 100%;
	max-height: 560px;
	object-fit: contain;
	border-radius: 0;
}
.cach-fiche__haut {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--wp--preset--color--gris-200);
}
.cach-fiche__surtitre {
	margin: 0 !important;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--ville-700);
}
.cach-corps .cach-fiche__nom {
	margin: 2px 0 0 !important;
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 700;
	letter-spacing: var(--wp--custom--chasse--titre);
	font-size: 1.3rem;
	line-height: 1.15;
}
.cach-fiche__note {
	flex: 0 0 auto;
	padding: 4px 10px;
	border-radius: 12px;
	background: var(--wp--preset--color--ville-marque);
	color: var(--wp--preset--color--gris-950);
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.3rem;
	font-weight: 800;
}
.cach-fiche dl {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px 16px;
	margin: 0;
	padding: 16px 18px;
}
.cach-fiche dt {
	font-weight: 500;
	color: var(--wp--preset--color--gris-600);
}
.cach-fiche dd {
	margin: 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}
.cach-fiche__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 18px 18px;
}
.cach-corps .cach-fiche__actions a {
	padding: 9px 15px;
	font-size: 14px;
	text-decoration: none;
}
.cach-corps .cach-fiche__actions a.cach-pilule:not(.cach-pilule--clair) {
	color: var(--wp--preset--color--gris-0);
}
.cach-corps .cach-fiche__actions a.cach-pilule--clair {
	color: var(--wp--preset--color--gris-950);
}

/* ============ Page carte des escapades ============ */
.cach-carte-page__titre {
	max-width: 16ch;
	font-size: clamp(2.3rem, 8vw, 4.6rem);
}
.cach-contact-page > p,
.cach-contact-page > .wp-block-buttons {
	max-width: var(--wp--style--global--content-size);
	margin-top: 16px;
}
.cach-contact-page > h2 {
	margin: 44px 0 12px;
}
.cach-carte-page__videos {
	margin-top: 22px;
}
.cach-contact-page > .wp-block-image img {
	height: auto;
	border-radius: var(--wp--custom--rayon--bloc);
}
.cach-inscription {
	max-width: 560px;
	margin-top: 16px;
}

/* ============ Reprises de l'ancien CSS additionnel d'Astra ============ */
/* Images des articles centrées (comme avec Astra), sauf les émojis. */
.cach-corps img:not(.wp-smiley):not(.emoji) {
	display: block;
	margin-inline: auto;
}
.cach-corps .alignleft img,
.cach-corps img.alignleft {
	margin-left: 0;
}
.cach-corps .alignright img,
.cach-corps img.alignright {
	margin-right: 0;
}
/* Ancien bouton « bouton1 » utilisé dans quelques articles : devient une pilule. */
.cach-corps a.bouton1 {
	display: inline-block;
	padding: 12px 20px;
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
	font-family: var(--wp--preset--font-family--titre);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.cach-corps a.bouton1:hover {
	background: var(--wp--preset--color--gris-800);
}

/* ============ Accessibilité ============ */
/* Liens assez grands et espacés pour le doigt (24 px minimum). */
.cach-pied__legal .wp-block-navigation-item__content,
.cach-pied__menu .wp-block-navigation-item__content,
.cach-liste a {
	display: inline-block;
	min-height: 24px;
	padding-block: 3px;
}
.cach-corps #ez-toc-container nav li {
	margin-block: 4px;
}
.cach-corps #ez-toc-container a {
	display: inline-block;
	min-height: 24px;
	padding-block: 2px;
}
/* Le fil d'Ariane se distingue aussi par le soulignement, pas seulement par la couleur. */
.cach-fil a {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--wp--preset--color--gris-300);
}


/* Chiffres : les quatre valeurs ont la même taille, calculée sur la largeur de la bande
   pour qu'une valeur de 10 caractères (ex. « 25-54 ans », environ 4,5 fois la taille du
   texte en largeur) tienne sur une ligne dans sa case, sans déborder. */
.cach-chiffres {
	container-type: inline-size;
}
.cach-chiffres > div {
	min-width: 0;
}
.cach-chiffres b {
	/* 2 colonnes : moitié de la bande, moins les marges intérieures de la case. */
	font-size: min(clamp(2.1rem, 9vw, 4.2rem), calc((50cqi - 24px) / 4.5));
}
@media (min-width: 900px) {
	.cach-chiffres > div > span {
		max-width: none;
	}
	.cach-chiffres b {
		/* 4 colonnes : un quart de la bande, moins les marges intérieures de la case. */
		font-size: min(4.2rem, calc((25cqi - 44px) / 4.5));
	}
}

/* ============ Publications Instagram / TikTok : aperçu léger avant le clic ============ */
.cach-integration {
	max-width: 540px;
	margin: 26px auto !important;
	padding: 22px;
	border: 1px solid var(--wp--preset--color--gris-300);
	border-radius: var(--wp--custom--rayon--bloc);
	background: var(--wp--preset--color--gris-100);
	text-align: center;
}
.cach-integration > p {
	margin: 0;
}
.cach-integration__reseau {
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--gris-700);
}
.cach-integration__compte {
	margin-top: 4px !important;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 1.2rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}
.cach-integration__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 16px;
	margin-top: 14px !important;
}
.cach-integration__actions .cach-pilule {
	border: 0;
	cursor: pointer;
}
.cach-corps .cach-integration__lien {
	font-size: 14px;
	color: var(--wp--preset--color--gris-700);
}
.cach-integration__note {
	margin-top: 12px !important;
	font-size: 12.5px;
	color: var(--wp--preset--color--gris-700);
}
.cach-integration__contenu:focus {
	outline: none;
}

/* ============ Pagination numérotée (sous « Voir plus ») ============ */
.cach-pagination {
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 18px !important;
	font-size: 15px;
	font-weight: 600;
}
.cach-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}
.cach-pagination .page-numbers,
.cach-pagination .wp-block-query-pagination-previous,
.cach-pagination .wp-block-query-pagination-next {
	display: inline-grid;
	place-items: center;
	min-width: 40px;
	min-height: 40px;
	margin: 0 !important;
	padding: 0 12px;
	border-radius: var(--wp--custom--rayon--plein);
	color: var(--wp--preset--color--gris-700);
	text-decoration: none;
}
.cach-pagination a.page-numbers:hover,
.cach-pagination .wp-block-query-pagination-previous:hover,
.cach-pagination .wp-block-query-pagination-next:hover {
	background: var(--wp--preset--color--gris-100);
	color: var(--wp--preset--color--gris-950);
}
.cach-pagination .page-numbers.current {
	background: var(--wp--preset--color--gris-950);
	color: var(--wp--preset--color--gris-0);
}
.cach-pagination .page-numbers.dots {
	min-width: 24px;
	padding: 0;
}
.cach-pagination .wp-block-query-pagination-numbers {
	flex: 0 1 auto;
}
/* Petit écran : flèches à la place des mots (toujours lus par les lecteurs d'écran), pour tenir sur une ligne. */
@media (max-width: 599px) {
	.cach-pagination {
		flex-wrap: nowrap;
		gap: 2px;
	}
	.cach-pagination .wp-block-query-pagination-previous,
	.cach-pagination .wp-block-query-pagination-next {
		padding: 0;
		font-size: 0;
	}
	.cach-pagination .wp-block-query-pagination-previous::before,
	.cach-pagination .wp-block-query-pagination-next::before {
		font-size: 22px;
		line-height: 1;
	}
	.cach-pagination .wp-block-query-pagination-previous::before {
		content: "‹";
	}
	.cach-pagination .wp-block-query-pagination-next::before {
		content: "›";
	}
	.cach-pagination .wp-block-query-pagination-numbers {
		flex-wrap: nowrap;
		gap: 2px;
	}
	.cach-pagination .page-numbers,
	.cach-pagination .wp-block-query-pagination-previous,
	.cach-pagination .wp-block-query-pagination-next {
		min-width: 32px;
		padding: 0 6px;
	}
	.cach-pagination .page-numbers.dots {
		min-width: 18px;
		padding: 0;
	}
}
/* Très petit écran : seulement la première page, la page en cours et la dernière
   (les pages voisines restent accessibles avec les flèches). */
@media (max-width: 479px) {
	.cach-pagination .wp-block-query-pagination-numbers > .page-numbers:not(.current):not(.dots):not(:first-child):not(:last-child) {
		display: none;
	}
}

/* Titre de section discret (ex. « Tous les articles » au-dessus de la grille d'une catégorie) :
   présent pour la structure de la page, affiché comme une petite étiquette. */
.cach-titre-discret {
	margin: 30px 0 0 !important;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris-700);
}
.cach-titre-discret + .cach-grille {
	margin-top: 14px;
}

/* « Nos classements » d'une catégorie : liens vers ses articles classement. */
.cach-classements {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cach-classements a {
	display: inline-block;
	padding: 10px 16px;
	border: 1px solid var(--wp--preset--color--gris-300);
	border-radius: var(--wp--custom--rayon--plein);
	background: var(--wp--preset--color--gris-0);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}
.cach-classements a:hover {
	border-color: var(--wp--preset--color--gris-950);
}

.cach-classements__plus {
	margin-top: 14px;
}
.cach-classements__plus summary {
	display: inline-block;
	margin-bottom: 12px;
	padding-bottom: 1px;
	border-bottom: 1.5px solid var(--wp--preset--color--gris-950);
	font-size: 14.5px;
	font-weight: 600;
	cursor: pointer;
}
