/* Le Bon Milieu. Une seule largeur, un seul bouton, rien ne bouge au survol. */

:root {
	--lbm-foret: #1f4d3a;
	--lbm-foret-fonce: #163a2b;
	--lbm-encre: #183027;
	--lbm-encre-douce: #3f5449;
	--lbm-sauge: #8baa92;
	--lbm-sauge-pale: #e6ede6;
	--lbm-sable: #eadcc8;
	--lbm-sable-pale: #f5eee3;
	--lbm-ocre: #e4b254;
	--lbm-brume: #f5f6f1;
	--lbm-blanc: #fff;
	--lbm-trait: #d7dcd2;

	--lbm-largeur: 1440px;
	--lbm-lecture: 640px;
	--lbm-marge: 64px;
	--lbm-section: 80px;

	--lbm-h1: clamp(34px, 3.8vw, 52px);
	--lbm-h1-accueil: clamp(38px, 4.7vw, 66px);
	--lbm-h2: clamp(25px, 2.9vw, 38px);
	--lbm-h3: 22px;

	--lbm-bouton-h: 52px;
	--lbm-cible: 32px;
	--lbm-rayon: 16px;
}

@media (max-width: 1100px) {
	:root { --lbm-marge: 40px; --lbm-section: 64px; }
}

@media (max-width: 640px) {
	:root { --lbm-marge: 20px; --lbm-section: 48px; --lbm-cible: 44px; }
}

@media (pointer: coarse) {
	:root { --lbm-cible: 44px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

html { scroll-padding-top: 24px; }

body {
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

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

:focus-visible {
	outline: 3px solid var(--lbm-foret);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Conteneur commun */
.lbm-enveloppe,
.lbm-section,
.lbm-entete__interieur,
.lbm-pied__interieur,
.lbm-pied__bas-interieur,
.lbm-page {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--lbm-largeur) + 2 * var(--lbm-marge));
	margin-inline: auto;
	padding-inline: var(--lbm-marge);
}

/* WordPress ajoute un espace entre les blocs de premier niveau. */
.wp-site-blocks > * { margin-block: 0; }

/* Le pied de page reste au bas de la fenêtre sur les pages courtes. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
}

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

/* Bouton */
.lbm-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--lbm-bouton-h);
	padding: 0 26px;
	border-radius: 999px;
	background: var(--lbm-foret);
	color: var(--lbm-blanc);
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s linear;
}

button.lbm-bouton {
	border: 0;
	font-family: inherit;
	cursor: pointer;
}

.lbm-bouton:hover,
.lbm-bouton:focus-visible {
	background: var(--lbm-foret-fonce);
	color: var(--lbm-blanc);
}

/* L'action qui compte le plus : ocre, et nulle part ailleurs. */
.lbm-bouton--action,
button.lbm-bouton--action { background: var(--lbm-ocre); color: var(--lbm-encre); }

.lbm-bouton--action:hover,
.lbm-bouton--action:focus-visible,
button.lbm-bouton--action:hover,
button.lbm-bouton--action:focus-visible { background: #d9a13c; color: var(--lbm-encre); }

.lbm-lien-fort {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 17px;
	font-weight: 700;
	color: var(--lbm-foret);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}


/* En-tête */
.lbm-entete {
	position: relative;
	z-index: 40;
	background: var(--lbm-brume);
	border-bottom: 1px solid var(--lbm-trait);
}

.lbm-entete__interieur {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 80px;
	padding-block: 12px;
}

.lbm-entete__logo { display: flex; flex: none; align-items: center; min-height: 44px; line-height: 0; }

.lbm-entete__logo img {
	display: block;
	width: auto;
	height: 56px;
}

@media (max-width: 640px) {
	.lbm-entete__logo img { height: 46px; }
}

.lbm-menu ul {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lbm-menu a:not(.lbm-bouton) {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	color: var(--lbm-encre);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
}

.lbm-menu a:not(.lbm-bouton):hover,
.lbm-menu a[aria-current="page"] {
	color: var(--lbm-foret);
	border-bottom-color: var(--lbm-ocre);
}

.lbm-menu .lbm-bouton {
	min-height: 44px;
	padding: 0 20px;
	font-size: 15px;
}

.lbm-menu__panneau,
.lbm-menu__long { display: none; }

/* Bouton du menu : tablette et téléphone. */
.lbm-menu-bouton { display: none; }

@media (max-width: 1275px) {
	.lbm-entete--js .lbm-menu-bouton {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		min-height: 44px;
		padding: 0 16px;
		border: 1.5px solid var(--lbm-foret);
		border-radius: 999px;
		background: transparent;
		color: var(--lbm-foret);
		font: inherit;
		font-size: 15px;
		font-weight: 700;
		cursor: pointer;
		transition: background-color .15s linear;
	}

	.lbm-menu-bouton:hover { background: var(--lbm-sauge-pale); }

	.lbm-menu-bouton__icone {
		position: relative;
		display: block;
		box-sizing: border-box;
		width: 18px;
		height: 12px;
		border-block: 2px solid currentColor;
	}

	.lbm-menu-bouton__icone::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 3px;
		height: 2px;
		background: currentColor;
	}

	.est-ouvert .lbm-menu-bouton__icone { border: 0; }

	.est-ouvert .lbm-menu-bouton__icone::before,
	.est-ouvert .lbm-menu-bouton__icone::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 5px;
		height: 2px;
		background: currentColor;
		transform: rotate(45deg);
	}

	.est-ouvert .lbm-menu-bouton__icone::after { transform: rotate(-45deg); }

	.lbm-entete--js .lbm-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		box-sizing: border-box;
		max-height: calc(100dvh - 64px);
		overflow-y: auto;
		padding: 4px var(--lbm-marge) 20px;
		background: var(--lbm-brume);
		border-bottom: 1px solid var(--lbm-trait);
	}

	.lbm-entete--js.est-ouvert .lbm-menu { display: block; }

	.lbm-menu ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.lbm-menu li + li { border-top: 1px solid var(--lbm-trait); }

	.lbm-menu a:not(.lbm-bouton) {
		display: flex;
		min-height: 52px;
		font-size: 18px;
		border-bottom: 0;
		white-space: normal;
	}

	.lbm-menu a:not(.lbm-bouton):hover,
	.lbm-menu a[aria-current="page"] {
		text-decoration: underline;
		text-decoration-color: var(--lbm-ocre);
		text-decoration-thickness: 2px;
		text-underline-offset: 4px;
	}

	.lbm-menu__panneau { display: block; }

	.lbm-menu__long { display: inline; }

	.lbm-menu__court { display: none; }

	.lbm-menu li.lbm-menu__action {
		padding-top: 16px;
		border-top: 0;
	}

	.lbm-menu .lbm-bouton {
		display: flex;
		min-height: var(--lbm-bouton-h);
		font-size: 17px;
	}
}

@media (max-width: 640px) {
	.lbm-entete__interieur {
		min-height: 60px;
		padding-block: 8px;
	}

	.lbm-entete__logo img { width: 148px; }
}

/* Accueil : première section */
.lbm-section.lbm-une {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 56px;
	padding-block: 48px var(--lbm-section);
}

.lbm-une__texte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-block: 24px;
}

.lbm-une h1 {
	margin: 0;
	font-size: var(--lbm-h1-accueil);
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.lbm-une__appui {
	max-width: 34em;
	margin: 24px 0 0;
	font-size: 20px;
	line-height: 1.5;
	color: var(--lbm-encre);
}

.lbm-une__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
	margin-top: 36px;
}

.lbm-une__visuel {
	margin: 0;
	overflow: hidden;
	min-height: 460px;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-sable);
}

.lbm-une__visuel img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 40% 35%;
}

@media (max-width: 480px) {
	.lbm-une h1 br { display: none; }
}

@media (max-width: 900px) {
	.lbm-section.lbm-une {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-top: 28px;
	}
	.lbm-une__texte { padding-block: 0; }
	.lbm-une__appui { font-size: 19px; }
	.lbm-une__visuel { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Sections */
.lbm-section { padding-block: 0 var(--lbm-section); }

.lbm-section > h2 {
	margin: 0 0 28px;
	font-size: var(--lbm-h2);
}

/* Guide vedette */
.lbm-vedette__panneau {
	overflow: hidden;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-sable-pale);
}

.lbm-vedette__photo {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

.lbm-vedette__panneau {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
}

.lbm-vedette h2 {
	margin: 0;
	font-size: clamp(28px, 3vw, 40px);
}

.lbm-vedette__texte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(28px, 4vw, 56px);
}

.lbm-vedette p {
	margin: 16px 0 24px;
	font-size: 18px;
	line-height: 1.55;
}

@media (max-width: 900px) {
	.lbm-vedette__panneau { grid-template-columns: minmax(0, 1fr); }
	.lbm-vedette__photo { min-height: 0; aspect-ratio: 16 / 10; }
}

/* Comprendre, comparer, avancer */
.lbm-demarche {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: 32px 56px;
}

.lbm-demarche h2 { margin: 0; font-size: var(--lbm-h2); }

.lbm-demarche__etapes {
	display: grid;
	gap: 0;
	margin: 0;
}

.lbm-demarche__etape {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 7fr);
	gap: 8px 32px;
	padding-block: 24px;
	border-top: 1px solid var(--lbm-trait);
}

.lbm-demarche__etape:first-child { padding-top: 0; border-top: 0; }

.lbm-demarche dt {
	font-family: var(--wp--preset--font-family--lora);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--lbm-foret);
}

.lbm-demarche dd { margin: 0; }

@media (max-width: 900px) {
	.lbm-demarche { grid-template-columns: minmax(0, 1fr); }
	.lbm-demarche__etape { grid-template-columns: minmax(0, 1fr); }
}

/* Mission */
.lbm-mission {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: stretch;
	overflow: hidden;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
	border: 1px solid var(--lbm-trait);
}

.lbm-mission__texte {
	align-self: center;
	padding: clamp(28px, 4.5vw, 64px);
}

.lbm-mission h2 { margin: 0; font-size: var(--lbm-h2); }

.lbm-mission p { margin: 16px 0 24px; max-width: 42em; }

.lbm-mission__photo {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
}

@media (max-width: 900px) {
	.lbm-mission { grid-template-columns: minmax(0, 1fr); }
	.lbm-mission__photo { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
}

/* Parcours */
.lbm-parcours__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lbm-parcours__liste a,
.lbm-sujets a {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1.5px var(--lbm-foret);
	color: var(--lbm-foret);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .15s linear;
}

.lbm-parcours__liste a:hover,
.lbm-sujets a:hover { background: var(--lbm-sauge-pale); color: var(--lbm-foret); }

.lbm-sujets a[aria-current="page"] {
	background: var(--lbm-foret);
	color: var(--lbm-blanc);
}

.lbm-sujets ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Recherche */
.lbm-recherche { max-width: var(--lbm-lecture); margin-bottom: 24px; }

.lbm-recherche label {
	display: block;
	margin-bottom: 8px;
	font-size: 17px;
	font-weight: 700;
}

.lbm-recherche__ligne { display: flex; gap: 10px; }

.lbm-recherche input[type="search"] {
	flex: 1;
	box-sizing: border-box;
	min-width: 0;
	min-height: var(--lbm-bouton-h);
	padding: 0 22px;
	border: 1.5px solid var(--lbm-encre-douce);
	border-radius: 999px;
	background: var(--lbm-blanc);
	color: var(--lbm-encre);
	font: inherit;
	font-size: 18px;
}

.lbm-recherche input[type="search"]::placeholder { color: var(--lbm-encre-douce); opacity: 1; }

@media (max-width: 480px) {
	.lbm-recherche__ligne { flex-direction: column; }
}

.lbm-recents__suite { margin: 32px 0 0; }

/* Sur téléphone, trois guides suffisent avant le bouton : l'invitation arrive plus vite. */
@media (max-width: 640px) {
	.lbm-recents .lbm-carte:nth-child(n+4) { display: none; }
}

/* Cartes de guide */
.lbm-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 20px;
}

.lbm-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 28px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
	overflow: hidden;
	transition: border-color .15s linear;
}

/* Photo pleine largeur en haut de la carte. */
.lbm-carte__photo,
.lbm-liste .lbm-carte .wp-block-post-featured-image {
	display: block;
	box-sizing: border-box;
	width: calc(100% + 56px);
	max-width: none;
	height: auto;
	margin: -28px -28px 22px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.lbm-liste .lbm-carte .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lbm-carte__photo,
.lbm-carte .wp-block-post-featured-image img { transition: filter .15s linear; }

.lbm-carte:hover .lbm-carte__photo,
.lbm-carte:hover .wp-block-post-featured-image img { filter: brightness(.92); }

.lbm-carte:hover,
.lbm-carte:focus-within { border-color: var(--lbm-foret); }

.lbm-carte__titre {
	margin: 0;
	font-size: var(--lbm-h3);
	line-height: 1.3;
}

.lbm-carte__titre a {
	color: var(--lbm-foret);
	text-decoration: none;
}

/* Toute la carte est cliquable. */
.lbm-carte__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}


.lbm-carte__resume {
	flex: 1;
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.55;
}

.lbm-carte__sujet {
	margin: 18px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--lbm-encre-douce);
}

/* Liste des guides : même carte, venant du bloc Requête. */
.lbm-liste .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lbm-liste .wp-block-post-template > li { margin: 0; display: flex; }

.lbm-liste .lbm-carte { width: 100%; }

.lbm-liste .lbm-carte > * { margin-block: 0; }

.lbm-liste .wp-block-post-title {
	font-size: var(--lbm-h3);
	line-height: 1.3;
}

.lbm-liste .wp-block-post-title a {
	color: var(--lbm-foret);
	text-decoration: none;
}

.lbm-liste .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--lbm-rayon);
}


.lbm-liste .wp-block-post-excerpt { flex: 1; margin-top: 12px; font-size: 16px; line-height: 1.55; }

.lbm-liste .wp-block-post-excerpt__excerpt { margin: 0; }

.lbm-liste .wp-block-post-terms {
	margin-top: 18px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lbm-encre-douce);
}

/* Le sujet reste un vrai lien, au-dessus du lien qui couvre la carte. */
.lbm-liste .wp-block-post-terms a {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: var(--lbm-cible);
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* Haut de page */
.lbm-haut {
	position: fixed;
	right: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 20;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--lbm-foret);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.lbm-haut:hover,
.lbm-haut:focus-visible {
	background: var(--lbm-foret-fonce);
	color: #fff;
}

.lbm-haut[hidden] { display: none; }

.wp-block-post-title:focus { outline: none; }

@media (max-width: 640px) {
	/* Sur téléphone, la flèche seule : le bouton cache moins de texte. */
	.lbm-haut {
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		font-size: 20px;
	}

	.lbm-haut__texte {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

@media print {
	.lbm-haut { display: none; }
}

/* Pagination */
.lbm-liste .wp-block-query-pagination { margin-top: 28px; font-weight: 700; }

.lbm-liste .wp-block-query-pagination a {
	display: inline-flex;
	align-items: center;
	min-height: var(--lbm-cible);
	color: var(--lbm-foret);
}

/* Pages */
.lbm-page { padding-block: 48px var(--lbm-section); }

.lbm-page__tete { max-width: 880px; margin-bottom: 36px; }

.lbm-page__tete h1,
.lbm-page h1.wp-block-post-title,
.lbm-page h1.wp-block-query-title,
.lbm-page h1.wp-block-heading {
	margin: 0;
	font-size: var(--lbm-h1);
	line-height: 1.15;
}

.lbm-page__tete p { margin: 16px 0 0; font-size: 20px; line-height: 1.55; }

.lbm-page .lbm-sujets { margin-bottom: 32px; }

.lbm-page__corps {
	display: grid;
	grid-template-columns: minmax(0, var(--lbm-lecture)) minmax(0, 400px);
	justify-content: space-between;
	align-items: start;
	gap: 40px 72px;
}

.lbm-encart {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-sable-pale);
}

.lbm-encart h2 {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
}

.lbm-encart p { margin: 12px 0 22px; font-size: 16px; line-height: 1.55; }

@media (max-width: 1000px) {
	.lbm-page__corps { grid-template-columns: minmax(0, 1fr); }
}

.lbm-texte { max-width: var(--lbm-lecture); }

.lbm-texte h2 { margin: 48px 0 16px; font-size: clamp(25px, 2.4vw, 32px); }

.lbm-texte h3 { margin: 32px 0 12px; font-size: var(--lbm-h3); }

.lbm-texte > :first-child { margin-top: 0; }

/* Guide */

.lbm-fil li { display: flex; align-items: center; }

.lbm-fil ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
	font-size: 14px;
	font-weight: 500;
}

.lbm-fil li + li::before {
	content: "/";
	margin-inline: 10px;
	color: var(--lbm-encre-douce);
	font-weight: 400;
}

.lbm-fil a {
	display: inline-flex;
	align-items: center;
	min-height: var(--lbm-cible);
	color: var(--lbm-encre-douce);
	text-decoration: none;
}


/* Haut du guide */
.lbm-guide > * { margin-block: 0; }

.lbm-guide__hero {
	background: var(--lbm-sable-pale);
	border-bottom: 1px solid var(--lbm-sable);
}

.lbm-guide__hero-grille {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: 32px 64px;
	padding-block: 40px 48px;
}

.lbm-guide__tete h1 {
	margin: 0;
	font-size: clamp(30px, 3.2vw, 46px);
	line-height: 1.15;
}

.lbm-guide__tete .wp-block-post-excerpt { margin-top: 16px; }

.lbm-guide__tete .wp-block-post-excerpt__excerpt {
	margin: 0;
	font-size: 19px;
	line-height: 1.5;
	color: var(--lbm-encre-douce);
}

.lbm-lecture {
	margin: 20px 0 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--lbm-encre-douce);
}

.lbm-lecture a {
	color: var(--lbm-encre);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-lecture a:hover { color: var(--lbm-foret); }

.lbm-demarche__etape dd a,
.lbm-avis a {
	color: var(--lbm-encre);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-demarche__etape dd a:hover,
.lbm-avis a:hover { color: var(--lbm-foret); }

.lbm-guide .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	border-radius: var(--lbm-rayon);
	aspect-ratio: 4 / 3;
}

.lbm-guide .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Trois colonnes : le plan, le texte et l'invitation. */
.lbm-guide__corps {
	display: grid;
	grid-template-columns: 250px minmax(0, 640px) 280px;
	justify-content: space-between;
	gap: 48px;
	padding-block: 48px 0;
}

.lbm-guide__texte { min-width: 0; }

.lbm-avis-haut {
	max-width: var(--lbm-lecture);
	margin: 0 0 28px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--lbm-encre-douce);
}

.lbm-guide__rail .lbm-demande {
	position: sticky;
	top: 48px;
	margin: 0;
	padding: 22px;
}

.lbm-guide__rail .lbm-demande__titre { font-size: 20px; }

.lbm-guide__rail .lbm-demande p { font-size: 15px; line-height: 1.5; }

.lbm-guide__rail .lbm-bouton {
	width: 100%;
	min-height: 46px;
	padding: 0 12px;
	font-size: 15px;
}

/* Sous cette largeur, l'invitation reste dans le texte. */
@media (min-width: 1321px) {
	.lbm-article .lbm-demande { display: none; }
}

@media (max-width: 1320px) {
	.lbm-guide__corps {
		grid-template-columns: 250px minmax(0, 640px);
		justify-content: start;
		gap: 64px;
	}

	.lbm-guide__rail { display: none; }
}

/* Plan du guide */
.lbm-sommaire {
	position: sticky;
	top: 48px;
	max-height: calc(100dvh - 96px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.lbm-sommaire__titre {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 18px;
	font-weight: 600;
	color: var(--lbm-foret);
}

.lbm-sommaire ul,
.lbm-sommaire-plie ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.35;
}

.lbm-sommaire li,
.lbm-sommaire-plie li { margin: 0; }

.lbm-sommaire a,
.lbm-sommaire-plie a {
	display: flex;
	align-items: center;
	min-height: var(--lbm-cible);
	padding: 4px 0;
	font-weight: 500;
	color: var(--lbm-encre-douce);
	text-decoration: none;
}

.lbm-sommaire a {
	padding: 4px 8px 4px 12px;
	border-left: 2px solid var(--lbm-trait);
}

.lbm-sommaire a[aria-current] {
	border-left-color: var(--lbm-ocre);
	font-weight: 600;
	color: var(--lbm-encre);
}

.lbm-sommaire-plie {
	display: none;
	margin-bottom: 24px;
	padding: 4px 20px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
}

.lbm-sommaire-plie summary {
	padding: 12px 0;
	font-weight: 700;
	color: var(--lbm-foret);
	cursor: pointer;
}

.lbm-sommaire-plie ul { font-size: 16px; }

.lbm-sommaire-plie a { color: var(--lbm-encre); }

.lbm-sommaire-plie[open] ul { padding-bottom: 12px; }

@media (max-width: 1000px) {
	.lbm-guide__hero-grille {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 20px 28px;
	}

	.lbm-guide .wp-block-post-featured-image { aspect-ratio: 16 / 10; }

	.lbm-guide__corps {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding-top: 24px;
	}

	.lbm-sommaire { display: none; }

	.lbm-sommaire-plie { display: block; }
}

/* Sur tablette, la photo laisse le début du guide visible. */
@media (min-width: 641px) and (max-width: 1000px) {
	.lbm-guide .wp-block-post-featured-image { aspect-ratio: 2 / 1; }
}

/* Téléphone : un seul renvoi vers le sujet. */
@media (max-width: 640px) {
	.lbm-fil li:not(:last-child) { display: none; }

	.lbm-fil li:last-child::before {
		content: "‹";
		margin: 0 6px 0 0;
		font-size: 19px;
		line-height: 1;
		color: var(--lbm-foret);
	}

	.lbm-fil ol { margin-bottom: 4px; }

	.lbm-guide__tete h1 { line-height: 1.2; }

	.lbm-guide__tete .wp-block-post-excerpt { margin-top: 12px; }

	.lbm-guide__tete .wp-block-post-excerpt__excerpt { font-size: 17px; }

	.lbm-lecture { margin-top: 14px; }

	.lbm-avis-haut { margin-bottom: 20px; }
}

/* Corps de l'article */
.lbm-article > * { margin-block: 0 22px; }

.lbm-article h2 {
	margin-block: 56px 16px;
	padding-top: 40px;
	border-top: 1px solid var(--lbm-trait);
	font-size: clamp(25px, 2.2vw, 31px);
	line-height: 1.2;
	scroll-margin-top: 24px;
}

.lbm-article h3 {
	margin-block: 36px 10px;
	font-size: 21px;
	line-height: 1.3;
}

.lbm-article > :first-child { margin-top: 0; }

/* Le texte garde une ligne confortable; les tableaux gardent toute la colonne. */
.lbm-article > p,
.lbm-article > ul,
.lbm-article > ol,
.lbm-article > h2,
.lbm-article > h3,
.lbm-article > h4,
.lbm-article > blockquote,
.lbm-avis { max-width: var(--lbm-lecture); }

.lbm-article ul,
.lbm-article ol { padding-left: 1.9em; }

.lbm-article li { margin-bottom: 8px; }

.lbm-article a { text-underline-offset: 3px; }

/* Liste à cocher, aussi utile une fois imprimée. */
.lbm-article .lbm-a-cocher {
	padding-left: 0;
	list-style: none;
}

.lbm-article .lbm-a-cocher li {
	position: relative;
	padding-left: 34px;
}

.lbm-article .lbm-a-cocher li::before {
	content: "";
	position: absolute;
	top: .28em;
	left: 0;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	border: 2px solid var(--lbm-foret);
	border-radius: 4px;
	background: var(--lbm-blanc);
}

.lbm-article .wp-block-table {
	margin-inline: 0;
	overflow-x: auto;
}

.lbm-article .wp-block-table table {
	table-layout: auto;
	width: 100%;
	border: 1px solid var(--lbm-trait);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	overflow: hidden;
	font-size: 17px;
	line-height: 1.45;
	background: var(--lbm-blanc);
}

.lbm-article .wp-block-table th,
.lbm-article .wp-block-table td {
	padding: 12px 14px;
	border: 0;
	border-right: 1px solid var(--lbm-trait);
	border-bottom: 1px solid var(--lbm-trait);
	word-break: normal;
	hyphens: manual;
	text-align: left;
	vertical-align: top;
}

.lbm-article .wp-block-table th:last-child,
.lbm-article .wp-block-table td:last-child { border-right: 0; }

.lbm-article .wp-block-table tbody tr:last-child td { border-bottom: 0; }

.lbm-ligne {
	display: inline-block;
	width: min(100%, 280px);
	height: 1.2em;
	border-bottom: 1px solid var(--lbm-encre);
	vertical-align: baseline;
}

.lbm-article .wp-block-table th {
	background: var(--lbm-sauge-pale);
	color: var(--lbm-encre);
	font-weight: 700;
}

.lbm-article .wp-block-table thead { border-bottom: 0; }

.lbm-article .wp-block-table .has-text-align-right { text-align: right; }

/* Sur téléphone, chaque rangée devient une fiche : rien à faire défiler de côté. */
@media screen and (max-width: 760px) {
	.lbm-article .wp-block-table { overflow: visible; }

	.lbm-article .wp-block-table thead { display: none; }

	.lbm-article .wp-block-table table,
	.lbm-article .wp-block-table tbody,
	.lbm-article .wp-block-table tr,
	.lbm-article .wp-block-table td { display: block; }

	.lbm-article .wp-block-table table {
		border: 0;
		border-radius: 0;
		overflow: visible;
		background: none;
	}

	.lbm-article .wp-block-table tr {
		margin-bottom: 12px;
		border: 1px solid var(--lbm-trait);
		border-radius: 12px;
		background: var(--lbm-blanc);
		overflow: hidden;
	}

	.lbm-article .wp-block-table tr:last-child { margin-bottom: 0; }

	.lbm-article .wp-block-table td,
	.lbm-article .wp-block-table tbody tr:last-child td {
		min-height: 44px;
		box-sizing: border-box;
		border-right: 0;
		border-bottom: 1px solid var(--lbm-trait);
	}

	.lbm-article .wp-block-table td:last-child,
	.lbm-article .wp-block-table tbody tr:last-child td:last-child { border-bottom: 0; }

	.lbm-article .wp-block-table td:first-child {
		background: var(--lbm-sauge-pale);
		font-weight: 700;
	}

	.lbm-article .wp-block-table td::before {
		content: attr(data-titre);
		display: block;
		margin-bottom: 2px;
		font-size: 14px;
		font-weight: 600;
		color: var(--lbm-encre-douce);
	}

	.lbm-article .wp-block-table .has-text-align-right { text-align: left; }
}

.lbm-avis {
	margin: 48px 0 0;
	padding: 20px 24px;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-sable-pale);
	font-size: 15px;
	line-height: 1.55;
}

.lbm-apparentes { padding-block: var(--lbm-section) 0; }

.lbm-apparentes h2 { margin: 0 0 28px; font-size: var(--lbm-h2); }

.lbm-guide__fin { padding-bottom: var(--lbm-section); }

/* Pied de page */
.lbm-pied {
	background: var(--lbm-sable-pale);
	border-top: 1px solid var(--lbm-sable);
	color: var(--lbm-encre-douce);
	font-size: 15px;
}

.lbm-pied__haut {
	display: grid;
	grid-template-columns: minmax(0, 600px) auto;
	justify-content: space-between;
	align-items: start;
	gap: 24px 56px;
	padding-block: 36px 28px;
}

.lbm-pied__marque img {
	display: block;
	width: 170px;
	height: auto;
}

.lbm-pied__marque p {
	margin: 12px 0 0;
	line-height: 1.5;
}

.lbm-pied__marque .lbm-pied__slogan {
	font-family: var(--wp--preset--font-family--lora);
	font-size: 17px;
	line-height: 1.3;
	color: var(--lbm-encre);
}

.lbm-pied__contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.lbm-pied__contact address {
	font-style: normal;
	line-height: 1.5;
	color: var(--lbm-encre);
}

.lbm-pied__contact address a { font-weight: 600; }

.lbm-pied__contact address a,
.lbm-pied__bas p:last-child a {
	color: var(--lbm-encre);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-pied__separe { border-top: 1px solid var(--lbm-sable); }

.lbm-pied__colonnes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 40px;
	padding-block: 28px 32px;
}

.lbm-pied__titre {
	margin: 0 0 6px;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 17px;
	font-weight: 600;
	color: var(--lbm-foret);
}

.lbm-pied__bascule { display: none; }

.lbm-pied__liens ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lbm-pied__liens a {
	display: inline-flex;
	align-items: center;
	min-height: var(--lbm-cible);
	color: var(--lbm-encre-douce);
	text-decoration: none;
}

.lbm-pied__liens a.lbm-pied__fort {
	font-weight: 700;
	color: var(--lbm-encre);
}

.lbm-pied__bas {
	border-top: 1px solid var(--lbm-sable);
	font-size: 14px;
}

.lbm-pied__bas-interieur {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 2px 32px;
	padding-block: 8px;
}

.lbm-pied__bas p { margin: 0; }

.lbm-pied__ville { white-space: nowrap; }

.lbm-pied__bas a {
	color: var(--lbm-encre-douce);
	text-underline-offset: 3px;
}


.lbm-pied__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
}

.lbm-pied__legal a {
	display: inline-flex;
	align-items: center;
	min-height: var(--lbm-cible);
	text-decoration: none;
}


/* Laisse la place au bouton Haut de page, fixé en bas à droite. */
.single-lbm_guide .lbm-pied__bas-interieur { padding-bottom: 80px; }

@media (max-width: 1000px) {
	.lbm-pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Une vraie zone de toucher pour les liens seuls sur leur ligne. */
@media (max-width: 640px), (pointer: coarse) {
	.lbm-lien-seul > a,
	.lbm-lien-seul > strong > a,
	.lbm-lecture a,
	.lbm-encart__courriel,
	.lbm-pied__contact address a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding-block: 4px;
		box-sizing: border-box;
	}

	.lbm-article li.lbm-lien-seul { margin-block: 0; }

	.lbm-pied__liens a { padding-block: 6px; line-height: 1.3; box-sizing: border-box; }
}

@media (max-width: 760px) {
	.lbm-pied__haut {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 28px 24px;
	}

	.lbm-pied__contact .lbm-bouton { width: 100%; box-sizing: border-box; justify-content: center; }

	.lbm-pied__colonnes { grid-template-columns: minmax(0, 1fr); gap: 0; padding-block: 0; }

	/* Sur téléphone, des rubriques qu'on ouvre : on voit tout le pied d'un coup d'œil. */
	.lbm-pied--js .lbm-pied__titre { display: none; }

	.lbm-pied--js .lbm-pied__bascule {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		min-height: 54px;
		padding: 0;
		border: 0;
		background: none;
		font-family: var(--wp--preset--font-family--lora);
		font-size: 18px;
		font-weight: 600;
		color: var(--lbm-foret);
		text-align: left;
		cursor: pointer;
	}

	.lbm-pied--js .lbm-pied__bascule::after {
		content: "";
		flex: none;
		width: 9px;
		height: 9px;
		margin-right: 4px;
		border-right: 2px solid var(--lbm-foret);
		border-bottom: 2px solid var(--lbm-foret);
		transform: rotate(45deg) translate(-2px, -2px);
	}

	.lbm-pied--js .lbm-pied__bascule[aria-expanded="true"]::after { transform: rotate(-135deg) translate(-2px, -2px); }

	.lbm-pied--js .lbm-pied__liens { border-bottom: 1px solid var(--lbm-sable); }

	.lbm-pied--js .lbm-pied__liens:last-child { border-bottom: 0; }

	.lbm-pied--js .lbm-pied__liens:not(.est-ouvert) ul { display: none; }

	.lbm-pied--js .lbm-pied__liens.est-ouvert ul { padding-bottom: 10px; }

	.lbm-pied__bas-interieur {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* L'invitation de l'accueil, en vert forêt. */
.lbm-appel .lbm-vedette__panneau { background: var(--lbm-foret); }

.lbm-appel h2,
.lbm-appel p { color: var(--lbm-blanc); }

/* Photos des pages */
.lbm-page__photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 1;
	margin-bottom: 40px;
	border-radius: var(--lbm-rayon);
	object-fit: cover;
	object-position: 50% 40%;
}

.lbm-encart-groupe {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lbm-encart__photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: var(--lbm-rayon);
	object-fit: cover;
}

/* Les visages de cette photo sont dans le haut de l'image. */
.page-template-default .lbm-page__photo[src*="salon-residence-large"] { object-position: 50% 12%; }

@media (max-width: 640px) {
	.lbm-page__photo { aspect-ratio: 16 / 10; margin-bottom: 28px; }
}

/* Formulaire de demande */
.lbm-contact {
	box-sizing: border-box;
	max-width: 720px;
	margin-top: 8px;
	padding: 32px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
}

.lbm-contact p { margin: 0; }

.lbm-contact__champs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 16px;
}

.lbm-contact__large { grid-column: 1 / -1; }

.lbm-contact label {
	display: block;
	margin-bottom: 6px;
	font-size: 15px;
	font-weight: 600;
	color: var(--lbm-encre);
}

.lbm-contact input,
.lbm-contact textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	padding: 12px 16px;
	border: 1px solid var(--lbm-sauge);
	border-radius: 12px;
	background: var(--lbm-brume);
	color: var(--lbm-encre);
	font: inherit;
	font-size: 17px;
	transition: border-color .15s linear, background-color .15s linear;
}

.lbm-contact input:hover,
.lbm-contact textarea:hover { border-color: var(--lbm-foret); }

.lbm-contact input:focus,
.lbm-contact textarea:focus {
	border-color: var(--lbm-foret);
	background: var(--lbm-blanc);
	outline: 2px solid var(--lbm-foret);
	outline-offset: -1px;
}

.lbm-contact textarea {
	display: block;
	line-height: 1.5;
	resize: vertical;
}

.lbm-contact textarea::placeholder { color: var(--lbm-encre-douce); opacity: 1; }

.lbm-contact__piege {
	position: absolute;
	left: -9999px;
}

.lbm-contact .lbm-contact__envoi { margin-top: 24px; }

.lbm-contact .lbm-contact__note {
	margin-top: 14px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--lbm-encre-douce);
}

.lbm-contact button[disabled] { opacity: .6; cursor: default; }

.lbm-contact [hidden] { display: none; }

.lbm-contact__erreur {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 600;
	color: #7a4a00;
}

.lbm-contact input[aria-invalid="true"],
.lbm-contact textarea[aria-invalid="true"] { border-color: #b8791f; }

.lbm-contact .lbm-contact__etat {
	margin-top: 16px;
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--lbm-sable-pale);
	font-weight: 600;
}

.lbm-contact .lbm-contact__etat[data-type="ok"] {
	margin-top: 0;
	background: var(--lbm-sauge-pale);
}

.lbm-contact__etat:focus { outline: none; }

.lbm-encart__courriel {
	font-size: 16px;
	font-weight: 600;
	color: var(--lbm-encre);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

@media (max-width: 640px) {
	.lbm-contact { padding: 20px; }

	.lbm-contact__champs { grid-template-columns: minmax(0, 1fr); }

	.lbm-contact .lbm-bouton { width: 100%; }
}

/* Appel à l'action des guides */
.lbm-demande {
	box-sizing: border-box;
	max-width: var(--lbm-lecture);
	margin-top: 48px;
	padding: 28px 32px;
	border-radius: var(--lbm-rayon);
	background: var(--lbm-sable-pale);
}

.lbm-article .lbm-demande { margin-block: 48px 0; }

.lbm-demande p { margin: 0 0 18px; font-size: 17px; }

.lbm-demande .lbm-demande__titre {
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--lbm-foret);
}

.lbm-demande .lbm-bouton,
.lbm-demande .lbm-bouton:hover {
	color: var(--lbm-encre);
	text-decoration: none;
}

@media (max-width: 640px) {
	.lbm-demande { padding: 22px; }
}

/* Hiérarchie du texte des guides */
.lbm-article h4 {
	margin-block: 28px 8px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.lbm-article > p:first-child { font-size: 20px; line-height: 1.5; }

.lbm-article ul:not(.lbm-a-cocher) li::marker { color: var(--lbm-foret); }

.lbm-essentiel {
	box-sizing: border-box;
	max-width: var(--lbm-lecture);
	margin-block: 36px 0;
	padding: 28px 32px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
}

.lbm-article .lbm-essentiel h2 {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	font-size: 24px;
}

.lbm-essentiel > * { margin-block: 0 14px; }

.lbm-essentiel > :last-child { margin-bottom: 0; }

.lbm-essentiel li { font-size: 17px; }

.lbm-article .lbm-conseil {
	padding: 16px 20px;
	border-radius: 12px;
	background: var(--lbm-sauge-pale);
}

.lbm-article .lbm-cle {
	margin-block: 28px;
	padding-left: 18px;
	border-left: 3px solid var(--lbm-ocre);
	font-family: var(--wp--preset--font-family--lora);
	font-size: 21px;
	line-height: 1.4;
	color: var(--lbm-foret);
}

.lbm-article .lbm-cle strong { font-weight: 500; }

@media (max-width: 640px) {
	.lbm-article h2 { margin-block: 44px 14px; padding-top: 32px; }

	.lbm-article h3 { margin-block: 28px 8px; font-size: 20px; }

	.lbm-article > p:first-child { font-size: 18px; }

	.lbm-article .lbm-cle { font-size: 19px; }

	.lbm-essentiel { padding: 22px; }

	.lbm-article .lbm-essentiel h2 { margin: 0 0 12px; padding: 0; font-size: 22px; }
}

/* Au survol, un même trait ocre partout. Rien ne bouge. */
.lbm-pied__liens a:hover,
.lbm-pied__legal a:hover,
.lbm-fil a:hover,
.lbm-sommaire a:hover,
.lbm-sommaire-plie a:hover,
.lbm-liste .wp-block-post-terms a:hover {
	color: var(--lbm-encre);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-carte__titre a:hover,
.lbm-liste .wp-block-post-title a:hover,
.lbm-article a:hover,
.lbm-texte a:hover,
.lbm-lien-fort:hover {
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-lien-fort:hover { text-underline-offset: 6px; }

/* Témoins */
.lbm-temoins {
	position: fixed;
	z-index: 30;
	left: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom));
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: calc(100vw - 48px);
	padding: 8px 8px 8px 20px;
	border: 1px solid var(--lbm-trait);
	border-radius: 999px;
	background: var(--lbm-blanc);
	color: var(--lbm-encre);
	font-size: 15px;
	line-height: 1.35;
}

.lbm-temoins[hidden] { display: none; }

.lbm-temoins p { margin: 0; }

.lbm-temoins a { white-space: nowrap; }

.lbm-temoins__court { display: none; }

.lbm-temoins__actions { display: flex; flex: none; gap: 6px; }

.lbm-temoins button {
	min-height: var(--lbm-cible);
	padding: 0 14px;
	border: 1px solid var(--lbm-foret);
	border-radius: 999px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .15s linear;
}

.lbm-temoins__non { background: var(--lbm-blanc); color: var(--lbm-foret); }
.lbm-temoins__non:hover { background: var(--lbm-sauge-pale); }
.lbm-temoins__oui { background: var(--lbm-foret); color: var(--lbm-blanc); }
.lbm-temoins__oui:hover { background: var(--lbm-foret-fonce); }

@media (max-width: 640px) {
	.lbm-temoins {
		left: 16px;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom));
		gap: 10px;
		max-width: none;
		padding: 8px 8px 8px 14px;
		border-radius: var(--lbm-rayon);
	}

	.lbm-temoins p { flex: 1; min-width: 0; }

	.lbm-temoins button { padding: 0 12px; }

	.lbm-temoins__long { display: none; }

	.lbm-temoins__court { display: inline; }
}

@media (max-width: 360px) {
	.lbm-temoins { gap: 6px; }

	.lbm-temoins a { white-space: normal; }

	.lbm-temoins button { padding: 0 8px; }
}

@media print {
	.lbm-temoins { display: none; }
}

/* 404 */
.lbm-perdu { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }

.lbm-perdu p { margin: 0; }

.lbm-perdu .lbm-recherche { width: 100%; margin-bottom: 0; }

/* Lien d'évitement ajouté par WordPress : lisible et net. */
.skip-link.screen-reader-text:focus {
	background: var(--lbm-blanc);
	color: var(--lbm-foret);
	font-weight: 700;
}

@media print {
	.lbm-entete, .lbm-pied, .lbm-sommaire, .lbm-sommaire-plie, .lbm-apparentes, .lbm-fil, .lbm-guide__rail, .lbm-demande { display: none; }
	.lbm-guide__corps { display: block; }
}

/* Calculateur de budget */
.lbm-budget {
	margin-block: 24px;
	padding: 24px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
}

.lbm-budget fieldset {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

.lbm-budget legend {
	margin-bottom: 8px;
	padding: 0;
	font-family: var(--wp--preset--font-family--lora, serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--lbm-foret);
}

.lbm-article .lbm-budget__ligne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	align-items: center;
	gap: 12px;
	margin: 0 0 8px;
}

.lbm-budget label {
	font-size: 16px;
	line-height: 1.35;
	color: var(--lbm-encre);
}

.lbm-budget__montant { position: relative; display: block; }

.lbm-budget__montant span {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	color: var(--lbm-encre-douce);
}

.lbm-budget input {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 8px 32px 8px 14px;
	border: 1px solid var(--lbm-sauge);
	border-radius: 12px;
	background: var(--lbm-brume);
	color: var(--lbm-encre);
	font: inherit;
	font-size: 17px;
	text-align: right;
	transition: border-color .15s linear, background-color .15s linear;
}

.lbm-budget input:hover { border-color: var(--lbm-foret); }

.lbm-budget input:focus {
	border-color: var(--lbm-foret);
	background: var(--lbm-blanc);
	outline: 2px solid var(--lbm-foret);
	outline-offset: -1px;
}

.lbm-budget__total {
	margin: 0;
	padding: 8px 18px;
	border-radius: 12px;
	background: var(--lbm-sauge-pale);
}

.lbm-budget__total > div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding-block: 8px;
}

.lbm-budget__total > div[hidden] { display: none; }

.lbm-budget__total dt { font-weight: 500; }

.lbm-budget__total dd {
	margin: 0;
	font-weight: 700;
	white-space: nowrap;
}

.lbm-budget__fort dt,
.lbm-budget__fort dd {
	font-size: 22px;
	font-weight: 700;
	color: var(--lbm-foret);
}

.lbm-article .lbm-budget__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 18px 0 0;
}

.lbm-budget button.lbm-lien-fort {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.lbm-article .lbm-budget__note {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--lbm-encre-douce);
}

@media (max-width: 480px) {
	.lbm-budget { padding: 18px; }

	.lbm-article .lbm-budget__ligne { grid-template-columns: minmax(0, 1fr) 118px; }
}

@media print {
	.lbm-pas-imprime { display: none !important; }

	body.lbm-imprime-budget .lbm-guide__corps { display: block; padding: 0; }

	body.lbm-imprime-budget .lbm-budget {
		box-sizing: border-box;
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
	}

	body.lbm-imprime-budget .lbm-budget::before {
		content: "Mon budget mensuel";
		display: block;
		margin-bottom: 16px;
		font-size: 24px;
		font-weight: 700;
	}

	body.lbm-imprime-budget .lbm-budget__actions,
	body.lbm-imprime-budget .lbm-budget__note { display: none; }

	/* Tout tient sur une page. */
	body.lbm-imprime-budget .lbm-budget fieldset { margin-bottom: 10px; }

	body.lbm-imprime-budget .lbm-budget legend { margin-bottom: 4px; font-size: 16px; }

	body.lbm-imprime-budget .lbm-budget .lbm-budget__ligne { margin-bottom: 3px; }

	body.lbm-imprime-budget .lbm-budget input { min-height: 30px; padding-block: 2px; font-size: 14px; }

	body.lbm-imprime-budget .lbm-budget__total > div { padding-block: 3px; }

	body.lbm-imprime-budget .lbm-budget__total { break-inside: avoid; }
}

/* Bandeau de l'aperçu */
.lbm-apercu {
	margin: 0;
	padding: 8px var(--lbm-marge);
	background: var(--lbm-sable);
	font-size: 15px;
	text-align: center;
}

.lbm-apercu a { color: var(--lbm-encre); }

/* Comparateur de trois résidences */
.lbm-compare__onglets {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
}

.lbm-compare__onglets button {
	flex: 1;
	min-height: 44px;
	padding: 0 10px;
	border: 0;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1.5px var(--lbm-foret);
	background: none;
	color: var(--lbm-foret);
	font: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .15s linear;
}

.lbm-compare__onglets button:hover { background: var(--lbm-sauge-pale); }

.lbm-compare__onglets button[aria-pressed="true"] {
	background: var(--lbm-foret);
	color: var(--lbm-blanc);
}

.lbm-compare select,
.lbm-compare .lbm-compare__table input:not([data-cout]),
.lbm-compare textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 8px 12px;
	border: 1px solid var(--lbm-sauge);
	border-radius: 12px;
	background-color: var(--lbm-brume);
	color: var(--lbm-encre);
	font: inherit;
	font-size: 17px;
	text-align: left;
	transition: border-color .15s linear, background-color .15s linear;
}

.lbm-compare textarea {
	display: block;
	line-height: 1.5;
	resize: vertical;
}

.lbm-compare select:hover,
.lbm-compare textarea:hover { border-color: var(--lbm-foret); }

.lbm-compare select:focus,
.lbm-compare textarea:focus {
	border-color: var(--lbm-foret);
	background-color: var(--lbm-blanc);
	outline: 2px solid var(--lbm-foret);
	outline-offset: -1px;
}

.lbm-article .lbm-compare__suite { margin: 0 0 28px; }

.lbm-compare__resume {
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--lbm-trait);
}

.lbm-compare__resume:focus { outline: none; }

.lbm-compare__cartes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 12px;
}

.lbm-compare__carte {
	padding: 14px;
	border-radius: 12px;
	background: var(--lbm-sauge-pale);
}

.lbm-article .lbm-compare__nom {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: var(--lbm-foret);
}

.lbm-article .lbm-compare__statut {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.45;
}

.lbm-article .lbm-compare__statut[data-etat="non"],
.lbm-article .lbm-compare__statut[data-etat="doute"] {
	font-weight: 600;
	color: #7a4a00;
}

.lbm-compare__carte dl { margin: 0; }

.lbm-compare__carte dl > div {
	padding-block: 5px;
	font-size: 15px;
}

.lbm-compare__carte dd {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
}

.lbm-article .lbm-compare__rappel {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.5;
}

@media screen {
	.lbm-compare__feuille { display: none; }
}

@media (max-width: 640px) {
	.lbm-compare__onglets { gap: 6px; }

	.lbm-compare__onglets button { padding: 0 4px; font-size: 14px; }
}

@media print {
	body.lbm-imprime-outil,
	body.lbm-imprime-outil .lbm-guide { background: #fff; }

	body.lbm-imprime-outil .lbm-guide__corps { display: block; padding: 0; }

	body.lbm-imprime-outil .lbm-compare {
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
	}

	.lbm-compare__feuille { display: block; }

	.lbm-compare__feuille table {
		width: 100%;
		border-collapse: collapse;
		table-layout: fixed;
		font-size: 11.5px;
		line-height: 1.3;
	}

	.lbm-compare__feuille th,
	.lbm-compare__feuille td {
		padding: 4px 6px;
		border: 1px solid #8a948c;
		font-weight: 400;
		text-align: left;
		vertical-align: top;
		overflow-wrap: anywhere;
	}

	.lbm-compare__feuille tr > th:first-child:not([colspan]) { width: 31%; }

	.lbm-compare__feuille .lbm-compare__section th {
		background: #e6ede6;
		font-weight: 700;
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}

	.lbm-compare__fort th,
	.lbm-compare__fort td { font-weight: 700; }

	.lbm-compare__haut td { height: 64px; }

	.lbm-article .lbm-compare__titre-feuille {
		margin: 0 0 10px;
		font-size: 20px;
		font-weight: 700;
	}

	.lbm-article .lbm-compare__note-feuille {
		margin: 8px 0 0;
		font-size: 10.5px;
	}
}

/* Outils : accueil et page Outils */
.lbm-outils__grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 20px;
}

.lbm-outil {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	box-sizing: border-box;
	padding: 28px;
	border: 1px solid var(--lbm-trait);
	border-radius: var(--lbm-rayon);
	background: var(--lbm-blanc);
}

.lbm-outil h3 {
	margin: 0 0 10px;
	font-size: var(--lbm-h3);
}

.lbm-outil p {
	flex: 1;
	margin: 0 0 20px;
	font-size: 17px;
	line-height: 1.5;
}

.lbm-outil .lbm-bouton { padding-inline: 18px; text-align: center; }

.lbm-outils__appui { margin: 8px 0 24px; font-size: 18px; }

.lbm-outils__suite { margin: 20px 0 0; }

.lbm-texte .lbm-outils__grille { margin-bottom: 36px; }

/* L'icône dans l'appel à l'action des guides */
.lbm-demande__tete {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.lbm-demande__tete img {
	flex: none;
	width: 36px;
	height: auto;
}

.lbm-demande .lbm-demande__tete .lbm-demande__titre { margin: 0; }

/* Pages d'outils */
.lbm-page-outil__retour { margin: 0 0 12px; font-size: 16px; font-weight: 600; }

.lbm-page-outil__retour a {
	color: var(--lbm-foret);
	text-decoration: underline;
	text-decoration-color: var(--lbm-ocre);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.lbm-page-outil__contenu > .lbm-budget--deux { max-width: 860px; }

.lbm-page-outil__contenu > .lbm-compare { max-width: none; }

.lbm-page-outil__contenu > .lbm-demande { max-width: var(--lbm-lecture); }

.lbm-page-outil__contenu > figure.wp-block-table { max-width: var(--lbm-lecture); }

/* Calculateur à deux options */
.lbm-article .lbm-budget--deux .lbm-budget__ligne { grid-template-columns: minmax(0, 1fr) 150px 150px; }

.lbm-budget__noms > span { font-weight: 600; }

.lbm-budget .lbm-budget__noms input {
	padding-right: 12px;
	text-align: left;
	font-size: 16px;
}

.lbm-budget--deux .lbm-budget__total > div { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px; gap: 12px; }

.lbm-budget--deux .lbm-budget__total dd { text-align: right; }

.lbm-budget__entete dd { font-size: 15px; white-space: normal; overflow-wrap: anywhere; }

.lbm-budget__total > div[hidden] { display: none !important; }

.lbm-article .lbm-budget__difference {
	margin: 12px 0 0;
	font-weight: 600;
	color: var(--lbm-foret);
}

@media (max-width: 640px) {
	.lbm-article .lbm-budget--deux .lbm-budget__ligne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

	.lbm-budget--deux .lbm-budget__ligne > :first-child { grid-column: 1 / -1; }

	/* Sur téléphone, le titre passe au-dessus des deux montants. */
	.lbm-budget--deux .lbm-budget__total > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px 8px; }

	.lbm-budget--deux .lbm-budget__total dt { grid-column: 1 / -1; }

	.lbm-budget--deux .lbm-budget__total dd { text-align: left; }

	.lbm-budget--deux .lbm-budget__entete dt { display: none; }

	.lbm-budget--deux .lbm-budget__fort dt,
	.lbm-budget--deux .lbm-budget__fort dd { font-size: 18px; }
}

/* Comparateur : un tableau, une colonne à la fois sous 900 px */
.lbm-compare__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.lbm-compare__table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 10px 8px;
	background: var(--lbm-blanc);
	border-bottom: 2px solid var(--lbm-foret);
	font-family: var(--wp--preset--font-family--lora, serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--lbm-foret);
	text-align: left;
	overflow-wrap: anywhere;
}

.lbm-compare__table thead td { width: 28%; }

.lbm-compare__table tbody th,
.lbm-compare__table tbody td {
	padding: 6px 8px;
	vertical-align: middle;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
}

.lbm-compare__table tbody th { line-height: 1.35; color: var(--lbm-encre); }

.lbm-compare__table .lbm-compare__section th {
	padding: 24px 8px 8px;
	font-family: var(--wp--preset--font-family--lora, serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--lbm-foret);
}

.lbm-compare__table .lbm-compare__fort th,
.lbm-compare__table .lbm-compare__fort output { font-weight: 700; color: var(--lbm-foret); }

.lbm-compare__table .lbm-compare__haut th { vertical-align: top; padding-top: 14px; }

.lbm-compare__table tr[hidden] { display: none; }

.lbm-compare__table td .lbm-budget__montant input { width: 100%; }

.lbm-compare .lbm-compare__table tr[data-besoin] th input { margin-bottom: 2px; }

.lbm-compare__retirer {
	min-height: var(--lbm-cible);
	padding: 0;
	border: 0;
	background: none;
	color: var(--lbm-encre-douce);
	font: inherit;
	font-size: 15px;
	text-decoration: underline;
	cursor: pointer;
}

.lbm-article .lbm-compare__suite { margin: 20px 0; }

.lbm-compare__resume h2 {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	font-size: 24px;
}

@media (min-width: 900px) {
	.lbm-compare__onglets,
	.lbm-compare__suite { display: none; }
}

@media (max-width: 899px) {
	.lbm-compare__table,
	.lbm-compare__table tbody,
	.lbm-compare__table tr,
	.lbm-compare__table th,
	.lbm-compare__table td { display: block; width: auto; }

	.lbm-compare__table thead { display: none; }

	.lbm-compare[data-actif="a"] .lbm-compare__table td[data-col]:not([data-col="a"]),
	.lbm-compare[data-actif="b"] .lbm-compare__table td[data-col]:not([data-col="b"]),
	.lbm-compare[data-actif="c"] .lbm-compare__table td[data-col]:not([data-col="c"]) { display: none; }

	.lbm-compare__table tbody th { padding: 10px 0 4px; }

	.lbm-compare__table tbody td { padding: 0 0 8px; }

	.lbm-compare__table .lbm-compare__section th { padding: 22px 0 4px; }

	.lbm-compare__table .lbm-compare__fort td { font-size: 20px; }
}

@media print {
	.lbm-compare__feuille tr.lbm-compare__haut td { height: 56px; }
}

/* Le PDF à imprimer */
.lbm-article .lbm-pdf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 18px 0 0;
}

.lbm-pdf span { font-size: 15px; color: var(--lbm-encre-douce); }

/* L'appel à l'action reste visible sur les pages d'outils, à toutes les largeurs. */
.lbm-page-outil .lbm-article .lbm-demande { display: block; margin-block: 40px 0; }

/* Impression des outils : une seule feuille */
@media print {
	body.lbm-imprime-budget .lbm-page,
	body.lbm-imprime-outil .lbm-page { padding: 0; }

	body.lbm-imprime-budget,
	body.lbm-imprime-budget .lbm-guide { background: #fff; }

	body.lbm-imprime-budget .lbm-budget { background: none; }

	body.lbm-imprime-budget .lbm-budget::before { margin-bottom: 8px; }

	body.lbm-imprime-budget .lbm-budget__total { padding: 4px 0; background: none; }

	body.lbm-imprime-budget .lbm-budget__total dt,
	body.lbm-imprime-budget .lbm-budget__total dd { font-size: 13px; line-height: 1.3; }

	body.lbm-imprime-budget .lbm-budget__fort dt,
	body.lbm-imprime-budget .lbm-budget__fort dd { font-size: 15px; }

	body.lbm-imprime-budget .lbm-budget__difference { margin-top: 4px; font-size: 13px; }

	body.lbm-imprime-budget .lbm-budget label { font-size: 13px; }

	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__ligne,
	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__total > div { grid-template-columns: minmax(0, 1fr) 130px 130px; }

	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__ligne > :first-child,
	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__total dt { grid-column: auto; }

	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__total dd { text-align: right; }

	body.lbm-imprime-budget .lbm-budget--deux .lbm-budget__entete dt { display: block; }

	.lbm-compare__feuille table { font-size: 11px; }

	.lbm-compare__feuille th,
	.lbm-compare__feuille td { padding: 3px 5px; }

	.lbm-compare__feuille tr > th:first-child:not([colspan]) { width: 36%; }

	.lbm-compare__feuille tr.lbm-compare__haut td { height: 48px; }
}

/* La marque sur tout ce qui s'imprime */
.lbm-marque-imprimee { display: none; }

@media print {
	.lbm-temoins { display: none !important; }

	.lbm-marque-imprimee { display: block; }

	.lbm-marque-imprimee--haut { margin-bottom: 12px; }

	.lbm-marque-imprimee--haut img { display: block; width: auto; height: 52px; }

	.lbm-marque-imprimee--bas {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-top: 12px;
		padding-top: 8px;
		border-top: 1px solid #8a948c;
		break-inside: avoid;
	}

	.lbm-marque-imprimee--bas img { flex: none; width: auto; height: 30px; }

	.lbm-marque-imprimee--bas p {
		margin: 0;
		font-size: 10.5px;
		line-height: 1.35;
		color: #183027;
	}

	/* Sur une feuille d'outil, la marque remplace la note de bas. */
	body.lbm-imprime-outil .lbm-compare__titre-feuille { margin-bottom: 6px; font-size: 18px; }

	body.lbm-imprime-outil .lbm-compare__feuille th,
	body.lbm-imprime-outil .lbm-compare__feuille td { padding-block: 2.5px; }

	body.lbm-imprime-outil .lbm-compare__feuille tr.lbm-compare__haut td { height: 40px; }

	body.lbm-imprime-budget .lbm-budget::before { margin-bottom: 6px; font-size: 20px; }

	body.lbm-imprime-budget .lbm-budget input { min-height: 26px; }
}

@media print {
	/* Autour d'un outil imprimé, aucune marge héritée de la page. */
	.lbm-impr-chemin {
		margin: 0 !important;
		padding: 0 !important;
		min-height: 0 !important;
	}

	.lbm-article .lbm-compare__note-feuille { margin-top: 5px; }
}

@media print {
	.lbm-compare__feuille tr > th:first-child:not([colspan]) { width: 40%; }

	body.lbm-imprime-outil .lbm-compare__feuille table { font-size: 10.5px; }

	body.lbm-imprime-outil .lbm-compare__feuille tr.lbm-compare__haut td { height: 32px; }

	body.lbm-imprime-outil .lbm-marque-imprimee--haut { margin-bottom: 8px; }

	body.lbm-imprime-outil .lbm-marque-imprimee--haut img { height: 44px; }

	body.lbm-imprime-outil .lbm-marque-imprimee--bas { margin-top: 8px; padding-top: 6px; }
}

/* Quand la colonne de texte rétrécit, les tableaux se resserrent au lieu de couper les mots. */
@media screen and (min-width: 761px) and (max-width: 1420px) {
	.lbm-article .wp-block-table table { font-size: 15px; }

	.lbm-article .wp-block-table th,
	.lbm-article .wp-block-table td { padding: 10px 9px; }
}

/* La page Résidences par région */
.lbm-regions {
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--lbm-trait);
}

.lbm-texte .lbm-region {
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--lbm-trait);
}

.lbm-texte .lbm-region h2 { margin: 0 0 6px; font-size: var(--lbm-h3); }

.lbm-region p { margin: 0; }

.lbm-region .lbm-region__ville { margin-top: 8px; }

.lbm-regions__note { margin-top: 16px; font-size: 16px; line-height: 1.5; }
