/*
 * Clarté : feuille de style du thème.
 * Reprise de la maquette validée (site/apercus/maquette-v2.html) et des jetons de design-v2.md §3,
 * adaptée au balisage des blocs WordPress. Les couleurs viennent de theme.json.
 */

:root {
	--fond: var(--wp--preset--color--fond, #F7F5F0);
	--surface: var(--wp--preset--color--surface, #FFFFFF);
	--encre: var(--wp--preset--color--encre, #15171A);
	--encre-2: var(--wp--preset--color--encre-2, #4B4F55);
	--trait: var(--wp--preset--color--trait, #E4E0D6);
	--nuit: var(--wp--preset--color--nuit, #111820);
	--nuit-texte: var(--wp--preset--color--nuit-texte, #C9CDD3);
	--jaune: var(--wp--preset--color--jaune, #FFD43B);
	--jaune-survol: #F2C400;
	--jaune-doux: var(--wp--preset--color--jaune-doux, #FFF1BF);
	--focus: var(--wp--preset--color--focus, #1F5FD0);

	--rayon-bloc: 28px;
	--rayon-photo: 24px;
	--rayon-carte: 20px;
	--pilule: 999px;

	--courbe: cubic-bezier(0.16, 1, 0.3, 1);
	--trace: cubic-bezier(0.45, 0, 0.2, 1);

	--conteneur: 1240px;
	--gouttiere: 24px;
	--section: 112px;
	--marge-bloc: 16px;
	--pad-bloc: 56px;

	--texte: 1.125rem;
	--texte-petit: 1.0625rem;
	--texte-mini: 1rem;
	--h1: clamp(2.5rem, 3.2vw + 1.4rem, 4.5rem);
	--h2: clamp(2rem, 1.6vw + 1.4rem, 3rem);
	--h3: 1.5rem;
	/* Longueur de ligne : 68 caractères au plus. Montserrat 400 : 0,488 em par caractère en moyenne (textes du site), 68 × 0,488 ≈ 33 em ; 31,5 em laisse une marge pour les lignes riches en lettres étroites. */
	--mesure: 31.5em;

	--police: "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Pictogrammes (trait de 1,75 px), utilisés en masque : ils prennent la couleur du texte */
	--ic-fleche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--ic-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--ic-telephone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.4v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 3.1 3.6 2 2 0 0 1 5.1 1.4h3a2 2 0 0 1 2 1.7c.1.9.4 1.9.7 2.8a2 2 0 0 1-.5 2.1L9.1 9.3a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.9.6 2.8.7a2 2 0 0 1 1.7 2.1z'/%3E%3C/svg%3E");
	--ic-courriel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Cpath d='M3.8 6.6L12 13l8.2-6.4'/%3E%3C/svg%3E");
	--ic-cadenas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3M12 14.5v2'/%3E%3C/svg%3E");
	--ic-horloge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
	--ic-commentaire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5a2 2 0 0 1-2 2H9l-5 4v-14a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 12.5h5'/%3E%3C/svg%3E");
	--ic-coche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--ic-signature: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M8.5 16.5c1.2-1.6 2.2-1.6 3 0s1.8 1.6 3.5-.5'/%3E%3C/svg%3E");
	--ic-contrat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 12.5h6M9 16h4'/%3E%3C/svg%3E");
	--ic-corbeille: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9.5 7V4.5h5V7M6.5 7l.8 11.6a2 2 0 0 0 2 1.9h5.4a2 2 0 0 0 2-1.9L17.5 7M10 11v5.5M14 11v5.5'/%3E%3C/svg%3E");
	--ic-lieu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11a6.5 6.5 0 0 1 13 0c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
	--ic-bouclier: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.6-3.2 8.3-7.5 9.5-4.3-1.2-7.5-4.9-7.5-9.5V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
	--ic-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5a8.5 8.5 0 0 0-7.4 12.7L3.5 20.5l4.4-1.1A8.5 8.5 0 1 0 12 3.5z'/%3E%3Cpath d='M9.3 8.4c.3-.4.8-.4 1.1 0l.7 1.1c.2.3.1.7-.1.9l-.4.4c.4.9 1.1 1.6 2 2l.4-.4c.2-.2.6-.3.9-.1l1.1.7c.4.3.4.8 0 1.1-.7.6-1.6.7-2.4.3-1.5-.8-2.8-2.1-3.6-3.6-.4-.8-.3-1.7.3-2.4z'/%3E%3C/svg%3E");
	--ic-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
	--ic-fermer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body {
	margin: 0;
	background: var(--fond);
	color: var(--encre);
	font-family: var(--police);
	font-size: var(--texte);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; letter-spacing: -0.01em; text-wrap: balance; }
p, ul, ol, blockquote, figure { margin: 0; }
p { text-wrap: pretty; }
a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: 0.2em; }
a:hover { text-decoration-thickness: 2.5px; }
button { font: inherit; color: inherit; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
strong { font-weight: 600; }

:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.sur-sombre :focus-visible, .pied-zone :focus-visible { outline-color: #FFFFFF; }
main:focus { outline: none; }

.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > * { margin-block: 0; }
.contenu-page > *, .principal > * { margin-block: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: inherit; }

/* Les groupes de composants gèrent eux-mêmes leurs espacements */
:where(.conteneur, .interieur, .heros-texte, .engagement, .metier, .etape, .carte, .appel-final, .pied, .barre-navigation, .ligne-navigation, .faq-grille, .confidentialite-grille, .etapes-grille, .page-word, .commentaire, .entete-section, .exemple-grille, .metiers, .engagements, .etapes, .faq, .garanties, .changements, .changements-actions, .metiers-suite, .devis, .entete-page-grille, .entete-page-texte, .cartes, .vous-etes, .colonnes-section, .colonne-texte, .encadre, .formulaire-grille, .contact-grille, .contact-cartes, .pied-grille, .pied-colonne, .pied-identification, .barre-mobile, .barre-utilitaire, .liens-coordonnees) > * {
	margin-block: 0;
}

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

/* Lien d'évitement ajouté par WordPress */
.skip-link.screen-reader-text:focus {
	clip: auto !important; clip-path: none; width: auto; height: auto; margin: 0;
	position: fixed !important; left: 16px; top: 12px; z-index: 100000;
	background: var(--encre); color: #FFFFFF; padding: 12px 20px; border-radius: var(--pilule);
	font-weight: 500; text-decoration: none; font-size: var(--texte-petit);
}

.conteneur { width: min(100% - 2 * var(--gouttiere), var(--conteneur)); margin-inline: auto; }
.wp-block-group.conteneur, .wp-block-group.interieur { max-width: none; }

/* Pictogramme générique : un pseudo-élément masqué par un des --ic-* */
.ic::before, .lien-fleche a::after, .liste-metiers a::after, .menu-icone::after {
	content: ""; display: inline-block; flex: none;
	width: 20px; height: 20px;
	background-color: currentColor;
	-webkit-mask: var(--icone, var(--ic-fleche)) center / contain no-repeat;
	mask: var(--icone, var(--ic-fleche)) center / contain no-repeat;
}

/* ---------- Valeurs à confirmer ---------- */
.a-confirmer, .a-confirmer-long {
	background: var(--jaune-doux);
	color: var(--encre);
	border-radius: 4px;
	padding: 0.05em 0.3em;
	text-decoration: underline dotted 1.5px;
	text-underline-offset: 0.22em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	white-space: nowrap;
	font-weight: inherit;
}
.a-confirmer-long, .logo .a-confirmer { white-space: normal; }
.sur-sombre .a-confirmer, .sur-sombre .a-confirmer-long { color: var(--encre); }

/* ---------- Surtitre : point jaune, casse normale ---------- */
.surtitre {
	display: flex; align-items: baseline; gap: 10px;
	font-size: var(--texte-petit); font-weight: 500; line-height: 1.45;
}
.surtitre::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: var(--jaune); flex: none; transform: translateY(-1px);
}

/* ---------- Boutons ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 56px; padding: 10px 26px;
	border: 2px solid transparent; border-radius: var(--pilule);
	font-family: var(--police); font-size: var(--texte-petit); font-weight: 500; line-height: 1.2;
	text-align: center; text-wrap: balance;
	text-decoration: none; cursor: pointer;
	background: var(--jaune); color: var(--encre);
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
	touch-action: manipulation;
}
.wp-block-button .wp-block-button__link:active { transform: scale(0.98); }
.wp-block-button .wp-block-button__link:hover { background: var(--jaune-survol); color: var(--encre); }
/* Flèche des boutons d'action */
.wp-block-button:not(.sans-fleche):not(.is-style-blanc):not(.is-style-contour) .wp-block-button__link::after {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
	transition: transform 200ms var(--courbe);
}
.wp-block-button .wp-block-button__link:hover::after { transform: translateX(3px); }
.is-style-noir .wp-block-button__link { background: var(--encre); color: #FFFFFF; }
.is-style-noir .wp-block-button__link:hover { background: #2E3136; color: #FFFFFF; }
.is-style-blanc .wp-block-button__link { background: #FFFFFF; color: var(--encre); }
.is-style-blanc .wp-block-button__link:hover { background: #E9E6DF; }
.is-style-contour .wp-block-button__link { background: transparent; color: var(--encre); box-shadow: inset 0 0 0 1.5px var(--encre); }
.is-style-contour .wp-block-button__link:hover { background: #ECE9E2; }
/* Pictogramme devant le libellé (Appeler, Écrire un e-mail) */
.wp-block-button.ic-telephone .wp-block-button__link::before,
.wp-block-button.ic-courriel .wp-block-button__link::before,
.wp-block-button.ic-whatsapp .wp-block-button__link::before {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--icone) center / contain no-repeat; mask: var(--icone) center / contain no-repeat;
}
.ic-telephone { --icone: var(--ic-telephone); }
.ic-courriel { --icone: var(--ic-courriel); }
.ic-whatsapp { --icone: var(--ic-whatsapp); }
.ic-cadenas { --icone: var(--ic-cadenas); }
.ic-horloge { --icone: var(--ic-horloge); }
.ic-commentaire { --icone: var(--ic-commentaire); }
.ic-coche { --icone: var(--ic-coche); }
.ic-signature { --icone: var(--ic-signature); }
.ic-contrat { --icone: var(--ic-contrat); }
.ic-corbeille { --icone: var(--ic-corbeille); }
.ic-lieu { --icone: var(--ic-lieu); }
.ic-bouclier { --icone: var(--ic-bouclier); }

/* Lien fléché (« Voir comment… », « Nos garanties… ») */
.lien-fleche a {
	display: inline-flex; align-items: center; gap: 10px;
	min-height: 44px; font-weight: 500;
	text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.22em;
}
.lien-fleche a::after { transition: transform 200ms var(--courbe); }
.lien-fleche a:hover::after { transform: translateX(3px); }
.lien-seul a, a.lien-seul { display: inline-flex; align-items: center; min-height: 44px; }

/* Liens de contact avec pictogramme */
.liens-contact a, .appel-final-liens a, .liens-coordonnees a {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
}
.liens-contact a[href^="tel:"]::before, .appel-final-liens a[href^="tel:"]::before, .liens-coordonnees a[href^="tel:"]::before,
.liens-contact a[href^="mailto:"]::before, .appel-final-liens a[href^="mailto:"]::before, .liens-coordonnees a[href^="mailto:"]::before {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-telephone) center / contain no-repeat; mask: var(--ic-telephone) center / contain no-repeat;
}
.liens-contact a[href^="mailto:"]::before, .appel-final-liens a[href^="mailto:"]::before, .liens-coordonnees a[href^="mailto:"]::before {
	-webkit-mask-image: var(--ic-courriel); mask-image: var(--ic-courriel);
}
.liens-contact { display: flex; flex-wrap: wrap; gap: 4px 28px; }

/* ---------- Bandeau du site de test ---------- */
.bandeau-test {
	background: var(--jaune-doux); color: var(--encre); border-bottom: 1px solid var(--trait);
	font-size: var(--texte-mini); line-height: 1.4; text-align: center; padding: 6px 16px;
}
.bandeau-test .a-confirmer { background: var(--surface); }

/* ---------- Barre utilitaire (tablette seulement) ---------- */
.barre-utilitaire { display: none; border-bottom: 1px solid var(--trait); }
.barre-utilitaire .liens-contact { justify-content: flex-end; font-size: var(--texte-petit); font-weight: 500; }
.barre-utilitaire .liens-contact a { text-decoration: none; }
.barre-utilitaire .liens-contact a:hover { text-decoration: underline; }

/* ---------- En-tête ---------- */
.entete { position: sticky; top: calc(-1 * var(--decalage-entete, 0px)); z-index: 50; background: var(--fond); }
.admin-bar .entete { top: calc(var(--wp-admin--admin-bar--height, 32px) - var(--decalage-entete, 0px)); }
.barre-navigation { border-bottom: 1px solid var(--trait); }
.ligne-navigation { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.ligne-navigation > * { margin: 0 !important; }
.logo { display: inline-flex; align-items: center; min-height: 44px; min-width: 0; font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; }
.logo a { text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
/* Logo Scribeero (assets/marque/), affiché tel quel : 40 px de haut sur ordinateur, réduit sur tablette et mobile */
.logo-image { display: block; width: auto; height: 40px; max-width: 100%; }
@media (max-width: 63.9375em) { .logo-image { height: 34px; } }
@media (max-width: 47.4375em) { .logo-image { height: 30px; } }
.ligne-navigation .navigation { margin-left: auto !important; }
.ligne-navigation .bouton-entete .wp-block-button__link { min-height: 56px; padding: 0 24px; white-space: nowrap; }

/* Navigation du cœur WordPress, habillée comme la maquette */
.navigation.wp-block-navigation { font-size: var(--texte-petit); font-weight: 500; gap: 4px; }
.navigation .wp-block-navigation__container { gap: 4px; align-items: center; }
.navigation .wp-block-navigation-item__content {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px !important;
	text-decoration: none; white-space: nowrap; border-radius: var(--pilule);
}
.navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.navigation .wp-block-navigation-submenu__toggle:hover { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.25em; }
.navigation .wp-block-navigation-submenu__toggle { background: none; border: 0; cursor: pointer; font: inherit; color: inherit; }
/* Chevron du déroulant « Secteurs » */
.navigation .wp-block-navigation__submenu-icon { display: none !important; }
.navigation .wp-block-navigation-submenu__toggle::after {
	content: ""; width: 18px; height: 18px; background-color: currentColor; flex: none;
	-webkit-mask: var(--ic-chevron) center / contain no-repeat; mask: var(--ic-chevron) center / contain no-repeat;
	transition: transform 200ms var(--courbe);
}
.navigation .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { transform: rotate(180deg); }
.navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	top: calc(100% + 10px) !important; left: 0 !important;
	width: 330px !important; min-width: 330px !important;
	background: var(--surface) !important; border: 1px solid var(--trait) !important; border-radius: var(--rayon-carte);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); padding: 8px !important;
}
.navigation .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; width: 100%;
	min-height: 48px; padding: 0 14px !important; border-radius: 12px;
}
.navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	content: ""; width: 20px; height: 20px; flex: none; background-color: var(--encre-2);
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
}
.navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--fond); text-decoration: none; }
.navigation .nav-appel .wp-block-navigation-item__content::before {
	content: ""; width: 18px; height: 18px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-telephone) center / contain no-repeat; mask: var(--ic-telephone) center / contain no-repeat;
}
.navigation .nav-appel .wp-block-navigation-item__content { gap: 8px; }
/* Entrées réservées au menu mobile */
.navigation .nav-mobile { display: none; }

/* Bouton « Menu » et panneau mobile */
.navigation .wp-block-navigation__responsive-container-open,
.navigation .wp-block-navigation__responsive-container-close {
	align-items: center; gap: 8px; min-height: 48px; padding: 0 18px;
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--pilule);
	font-family: var(--police); font-size: var(--texte-petit); font-weight: 500; color: var(--encre); cursor: pointer;
}
.navigation .wp-block-navigation__responsive-container-open::before,
.navigation .wp-block-navigation__responsive-container-close::before {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-menu) center / contain no-repeat; mask: var(--ic-menu) center / contain no-repeat;
}
.navigation .wp-block-navigation__responsive-container-close::before { -webkit-mask-image: var(--ic-fermer); mask-image: var(--ic-fermer); }
.navigation .wp-block-navigation__responsive-container-close { position: absolute; top: 8px; right: var(--gouttiere); display: inline-flex; }
.navigation .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--fond) !important; color: var(--encre) !important;
	padding: 0 !important;
}
.navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding: 72px var(--gouttiere) 40px !important; align-items: stretch !important;
	width: min(100%, 720px); margin-inline: auto;
}
.navigation .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.navigation .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; }
.navigation .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; width: 100%; min-height: 52px;
	padding: 0 !important; border-bottom: 1px solid var(--trait); border-radius: 0;
	font-size: 1.125rem; font-weight: 500;
}
.navigation .is-menu-open .wp-block-navigation-submenu__toggle {
	min-height: 0; border-bottom: 0; margin-top: 20px; pointer-events: none;
	font-size: var(--texte-mini); font-weight: 400; color: var(--encre-2);
}
.navigation .is-menu-open .wp-block-navigation-submenu__toggle::after { display: none; }
.navigation .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important; width: 100% !important; min-width: 0 !important; border: 0 !important;
	padding: 0 !important; background: transparent !important; box-shadow: none; gap: 0 !important;
}
.navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0 !important; border-radius: 0; }
.navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: transparent; text-decoration: underline; }
.navigation .is-menu-open .nav-mobile { display: flex; }
.navigation .is-menu-open .nav-service { margin-top: 0; }
.navigation .is-menu-open .nav-appel .wp-block-navigation-item__content,
.navigation .is-menu-open .nav-courriel .wp-block-navigation-item__content {
	justify-content: flex-start; border-bottom: 0; font-size: var(--texte-petit); min-height: 48px;
}
.navigation .is-menu-open .nav-courriel .wp-block-navigation-item__content::before {
	content: ""; width: 18px; height: 18px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-courriel) center / contain no-repeat; mask: var(--ic-courriel) center / contain no-repeat;
}
.navigation .is-menu-open .nav-essai { margin: 28px 0 16px; }
.navigation .is-menu-open .nav-essai .wp-block-navigation-item__content {
	justify-content: center; gap: 10px; min-height: 56px; border: 0; border-radius: var(--pilule);
	background: var(--jaune); color: var(--encre); font-size: var(--texte-petit);
}
.navigation .is-menu-open .nav-essai .wp-block-navigation-item__content::after {
	content: ""; width: 20px; height: 20px; background-color: currentColor;
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
}
.navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(.has-child):not(.nav-mobile):not(.nav-appel) > .wp-block-navigation-item__content::after {
	content: ""; width: 20px; height: 20px; flex: none; background-color: var(--encre-2);
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
}
html.has-modal-open { overflow: hidden; }

/* ---------- Grands blocs ---------- */
.bloc-large {
	width: min(100% - 2 * var(--marge-bloc), 1408px);
	margin-inline: auto !important;
	border-radius: var(--rayon-bloc);
}
.bloc-large > .interieur { width: min(100% - 2 * var(--pad-bloc), var(--conteneur)); margin-inline: auto; }
.section { padding-block: var(--section); }
.section.sans-haut { padding-top: 0; }
.section-bloc { padding-block: calc(var(--section) / 2); }
.section-bloc.sans-haut { padding-top: 0; }

/* ---------- Héros de l'accueil ---------- */
.heros {
	margin-top: 8px !important;
	position: relative; overflow: hidden;
	background: var(--nuit); color: #FFFFFF;
	display: grid; grid-template-columns: minmax(0, 1fr);
}
.heros-photo { position: relative; margin: 0; }
.heros-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.heros-texte { position: relative; z-index: 2; min-width: 0; }
.heros h1 { font-size: var(--h1); font-weight: 600; line-height: 1.1; letter-spacing: -0.01em; color: #FFFFFF; }
.heros .surtitre { color: #FFFFFF; }
.heros-sousligne { font-size: 1.3125rem; line-height: 1.55; color: #FFFFFF; max-width: var(--mesure); }
.heros-actions { gap: 12px; }
ul.heros-metiers {
	display: flex; flex-wrap: wrap; align-items: center; column-gap: 22px; padding: 0; list-style: none;
	font-size: var(--texte-petit); line-height: 1.4; color: var(--nuit-texte); max-width: 46em;
}
.heros-metiers li { display: inline-flex; align-items: center; margin: 0; }
.heros-metiers a { display: inline-flex; align-items: center; min-height: 44px; color: #FFFFFF; }
.heros-conditions { font-size: var(--texte-petit); line-height: 1.55; color: #FFFFFF; max-width: var(--mesure); }

/* Surligneur du héros : seule animation de marque */
.surligne {
	white-space: nowrap;
	background-color: transparent;
	background-image: linear-gradient(var(--jaune), var(--jaune));
	background-repeat: no-repeat;
	background-size: 100% 100%;
	border-radius: 0.18em;
	color: var(--encre);
	padding: 0 0.16em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.surligne .surligne-texte { color: inherit; }
@media (prefers-reduced-motion: no-preference) {
	.js .surligne.surligne-pret { animation: surligner 900ms var(--trace) 400ms both; animation-play-state: paused; color: transparent; padding: 0; }
	.js .surligne.surligne-pret .surligne-texte {
		display: inline; padding: 0 0.16em;
		color: transparent;
		background-image: linear-gradient(var(--encre), var(--encre)), linear-gradient(#FFFFFF, #FFFFFF);
		background-repeat: no-repeat;
		background-size: 100% 100%, 100% 100%;
		-webkit-background-clip: text;
		background-clip: text;
		animation: encrer 900ms var(--trace) 400ms both; animation-play-state: paused;
	}
	.js .est-visible .surligne.surligne-pret, .js .est-visible .surligne.surligne-pret .surligne-texte { animation-play-state: running; }
}
@keyframes surligner { from { background-size: 0% 100%; } to { background-size: 100% 100%; } }
@keyframes encrer { from { background-size: 0% 100%, 100% 100%; } to { background-size: 100% 100%, 100% 100%; } }

/* ---------- Titres de section ---------- */
.titre-section, .section h2.wp-block-heading, .section-bloc h2.wp-block-heading { font-size: var(--h2); line-height: 1.15; letter-spacing: -0.01em; font-weight: 600; }
.entete-section { display: grid; gap: 20px; margin-bottom: 56px !important; }
.entete-section .chapo { color: var(--encre-2); max-width: var(--mesure); }
.chapo { color: var(--encre-2); }
h3.wp-block-heading { font-size: var(--h3); font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }

/* ---------- En-tête des pages intérieures ---------- */
.fil-ariane { font-size: var(--texte-mini); color: var(--encre-2); margin-bottom: 4px !important; }
.fil-ariane a { color: var(--encre); display: inline-flex; align-items: center; min-height: 44px; }
.entete-page { padding-block: 40px 88px; }
.entete-page-grille { display: grid; grid-template-columns: 7fr 5fr; gap: 56px; align-items: center; }
.entete-page-grille.sans-photo { grid-template-columns: minmax(0, 1fr); }
.entete-page-texte { display: grid; gap: 18px; align-content: start; min-width: 0; }
.entete-page h1 { font-size: clamp(2.25rem, 2.4vw + 1.3rem, 3.5rem); line-height: 1.1; letter-spacing: -0.01em; max-width: 18em; }
.entete-page .accroche { font-size: 1.3125rem; line-height: 1.5; font-weight: 500; max-width: var(--mesure); }
.entete-page .chapo, .entete-page-texte > p:not([class]) { max-width: var(--mesure); }
.entete-page .wp-block-buttons { margin-top: 8px !important; }
.entete-page .petit, .petit { font-size: var(--texte-petit); line-height: 1.55; color: var(--encre-2); }
.entete-page-photo { margin: 0; border-radius: var(--rayon-photo); overflow: hidden; background: var(--trait); }
.entete-page-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.entete-simple .entete-page-texte { max-width: 52rem; }

/* ---------- Engagements ---------- */
.engagements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.engagement {
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 32px; display: flex; flex-direction: column; gap: 14px;
}
.engagement .pastille-ligne { position: relative; width: fit-content; margin-bottom: 12px !important; }
.pastille-ligne, .pastille {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 52px; height: 36px; padding: 0 14px; border-radius: var(--pilule);
	background: var(--encre); color: #FFFFFF;
	font-size: var(--texte-mini); font-weight: 500; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; line-height: 1;
}
.engagement .pastille-ligne::after {
	content: ""; position: absolute; left: calc(100% + 10px); top: 0;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--fond) var(--icone-fond, none) center / 20px no-repeat;
}
.engagement .ic-cadenas::after { --icone-fond: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3M12 14.5v2'/%3E%3C/svg%3E"); }
.engagement .ic-horloge::after { --icone-fond: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }
.engagement .ic-commentaire::after { --icone-fond: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5a2 2 0 0 1-2 2H9l-5 4v-14a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 12.5h5'/%3E%3C/svg%3E"); }
.engagement h3 { font-size: var(--h3); }
.engagement h3 a { text-decoration-thickness: 1.5px; display: inline-flex; align-items: center; min-height: 44px; }
.engagement > p:not(.pastille-ligne) { color: var(--encre-2); }
.detail { margin-top: auto !important; border-top: 1px solid var(--trait); padding-top: 4px; }
.detail > summary {
	display: inline-flex; align-items: center; gap: 8px; min-height: 48px;
	font-size: var(--texte-petit); font-weight: 500;
}
.detail > summary:hover { text-decoration: underline; text-underline-offset: 0.22em; }
.detail > summary::after {
	content: ""; width: 18px; height: 18px; background-color: currentColor;
	-webkit-mask: var(--ic-chevron) center / contain no-repeat; mask: var(--ic-chevron) center / contain no-repeat;
	transition: transform 200ms var(--courbe);
}
.detail[open] > summary::after { transform: rotate(180deg); }
.detail > :not(summary) { color: var(--encre-2); font-size: var(--texte-petit); margin: 0 0 12px; }
.detail a { color: var(--encre); font-weight: 500; }
html.details-ouverts .detail > summary { display: none; }
html.details-ouverts .detail { border-top: 0; padding-top: 0; margin-top: 0 !important; }

/* ---------- Votre métier (accueil) ---------- */
.metiers { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 40px 20px; }
.metier {
	position: relative; grid-column: span 2;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; align-content: start;
}
.metier > * { grid-column: 1; }
.metier > .metier-photo { grid-column: 1 / -1; margin-bottom: 20px !important; }
.metier-large { grid-column: span 3; }
.metier-photo { border-radius: var(--rayon-photo); overflow: hidden; background: var(--trait); }
.metier-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 500ms var(--courbe); }
.metier-large .metier-photo img { aspect-ratio: 16 / 9; }
.metier h3 { margin-bottom: 6px !important; }
.metier > p:not(.rond-lien) { color: var(--encre-2); line-height: 1.55; }
.rond-lien { grid-column: 2 !important; grid-row: 2 / span 2; align-self: start; }
.rond-lien a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%; overflow: hidden;
	box-shadow: inset 0 0 0 1.5px var(--encre); color: transparent; font-size: 0; white-space: nowrap;
	transition: background-color 200ms ease;
}
.rond-lien a::before {
	content: ""; width: 20px; height: 20px; flex: none; background-color: var(--encre);
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
	transition: transform 200ms var(--courbe), background-color 200ms ease;
}
.rond-lien a::after { content: ""; position: absolute; inset: 0; border-radius: var(--rayon-photo); }
.metier:not(.metier-double):hover .rond-lien a { background: var(--encre); }
.metier:not(.metier-double):hover .rond-lien a::before { background-color: #FFFFFF; transform: translateX(3px); }
.metier:hover .metier-photo img { transform: scale(1.03); }
.metier:not(.metier-double):hover h3 { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.2em; }
.metier-double > .metier-liens { grid-column: 1 / -1; }
ul.metier-liens { display: grid; gap: 8px; margin-top: 6px !important; padding: 0; list-style: none; }
.metier-liens li { margin: 0; }
.metier-liens a {
	position: relative; display: block;
	min-height: 64px; padding: 12px 76px 12px 18px;
	background: var(--surface); border: 1px solid var(--trait); border-radius: 16px;
	text-decoration: none; color: var(--encre-2); line-height: 1.5;
}
.metier-liens strong { display: block; font-weight: 600; color: var(--encre); }
.metier-liens a::after {
	content: ""; position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	box-shadow: inset 0 0 0 1.5px var(--encre);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
	transition: background-color 200ms ease;
}
.metier-liens a:hover strong { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.2em; }
.metier-liens a:hover::after {
	background: var(--encre) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat;
}

.metiers-suite {
	display: grid; grid-template-columns: 7fr 5fr; gap: 56px; align-items: start;
	margin-top: 56px !important;
}
ul.liste-metiers { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.liste-metiers li { margin: 0; }
.liste-metiers a {
	display: inline-flex; align-items: center; gap: 10px;
	min-height: 48px; padding: 0 20px;
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--pilule);
	font-size: var(--texte-petit); font-weight: 500; text-decoration: none;
}
.liste-metiers a::after { width: 18px; height: 18px; background-color: var(--encre-2); transition: transform 200ms var(--courbe); }
.liste-metiers a:hover { border-color: var(--encre); }
.liste-metiers a:hover::after { transform: translateX(3px); background-color: var(--encre); }
.devis { display: grid; gap: 10px; }
.devis-question { font-size: 1.375rem; font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; }
.devis-question a { font-weight: 600; display: inline-block; padding-block: 9px; }
.devis > p:last-child { color: var(--encre-2); font-size: var(--texte-petit); }

/* ---------- Comment ça se passe ---------- */
.etapes-grille {
	display: grid; grid-template-columns: 7fr 5fr; column-gap: 56px;
	grid-template-areas: "tete tete" "liste photo";
	align-items: start;
}
.etapes-tete { grid-area: tete; }
.etapes-photo { grid-area: photo; align-self: start; margin: 0; }
.etapes-photo img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 28% 50%; border-radius: var(--rayon-photo); }
.etapes { grid-area: liste; display: grid; gap: 12px; }
.etape {
	display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 20px; align-items: start;
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 28px;
}
.etape > * { grid-column: 2; }
.etape > .pastille { grid-column: 1; grid-row: 1 / span 3; width: 56px; height: 56px; min-width: 56px; padding: 0; border-radius: 50%; font-size: 1.25rem; }
.etape h3 { margin-bottom: 8px !important; }
.etape p:not(.pastille) { color: var(--encre-2); }
.etape p:not(.pastille) strong { color: var(--encre); }
.etapes-seules { max-width: 52rem; }

/* ---------- Exemple ---------- */
.bloc-jaune { background: var(--jaune); color: var(--encre); padding-block: 72px; }
.bloc-jaune .surtitre::before { background: var(--encre); }
.bloc-jaune .entete-section { grid-template-columns: 7fr 5fr; align-items: end; gap: 56px; margin-bottom: 48px !important; }
.bloc-jaune .entete-section h2 { margin-top: 16px !important; }
.note-exemple { font-size: var(--texte-petit); line-height: 1.55; }
.exemple-grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.carte {
	background: var(--surface); border-radius: var(--rayon-carte); padding: 32px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.carte-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 20px !important; padding-bottom: 16px; border-bottom: 1px solid var(--trait); }
.carte-tete > * { margin: 0 !important; }
.minutage { font-size: var(--texte-mini); color: var(--encre-2); }
/* Minutes et repères chiffrés : Montserrat à chiffres tabulaires (même largeur pour chaque chiffre), sans police à chasse fixe. */
.mono, .minute { font-family: var(--police); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.minutage .mono { color: var(--encre); font-weight: 500; }
.dictee { font-size: var(--texte-petit); line-height: 1.75; }
.dictee > * + * { margin-top: 12px !important; }
.dictee code {
	font-style: normal; font-family: var(--police); font-variant-numeric: tabular-nums; font-size: max(1rem, 0.9em);
	color: var(--encre-2); background: var(--fond); border-radius: 4px; padding: 0 0.25em; white-space: nowrap;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.bruit {
	font-family: var(--police); font-variant-numeric: tabular-nums; font-size: max(1rem, 0.9em);
	background: var(--fond); border: 1px solid var(--trait); border-radius: 6px; padding: 0.05em 0.35em;
	white-space: nowrap;
}
.dictee-suite > summary {
	display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin-top: 4px;
	font-weight: 500; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.22em;
}
.dictee-suite > summary::after {
	content: ""; width: 18px; height: 18px; background-color: currentColor;
	-webkit-mask: var(--ic-chevron) center / contain no-repeat; mask: var(--ic-chevron) center / contain no-repeat;
	transition: transform 200ms var(--courbe);
}
.dictee-suite[open] > summary::after { transform: rotate(180deg); }

.page-word {
	display: grid; grid-template-columns: minmax(0, 1fr) 240px; column-gap: 28px; row-gap: 14px;
	font-family: "Times New Roman", Times, serif; font-size: 1.125rem; line-height: 1.55;
	text-align: justify; -webkit-hyphens: auto; hyphens: auto;
}
.page-word > * { grid-column: 1; }
.page-word .doc-titre, .page-word h4 { text-align: left; font-weight: 700; letter-spacing: 0.02em; margin-top: 6px !important; font-size: 1.125rem; font-family: inherit; }
.page-word .wp-block-table { margin: 0; }
.page-word table { border-collapse: collapse; width: 100%; font-size: 1.0625rem; }
.page-word th, .page-word td { border: 1px solid #9A9A9A; padding: 6px 10px; text-align: left; }
.passage-douteux {
	background: var(--jaune-doux); color: var(--encre);
	box-shadow: inset 0 -2px 0 #E2B400; padding: 0 0.15em; border-radius: 2px;
}
.commentaire {
	grid-column: 2 !important; grid-row: 1 / span 20; align-self: end; position: relative;
	font-family: var(--police); text-align: left; -webkit-hyphens: manual; hyphens: manual;
	background: var(--fond); border: 1px solid var(--trait); border-radius: 14px;
	padding: 14px 16px; font-size: var(--texte-petit); line-height: 1.5;
}
.commentaire::before {
	content: ""; position: absolute; bottom: 14px; right: 100%; width: 28px;
	border-top: 1.5px dashed #B9A86A;
}
.commentaire-tete { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 8px !important; font-weight: 600; }
.commentaire-tete::before {
	content: ""; width: 18px; height: 18px; background-color: currentColor; order: -2;
	-webkit-mask: var(--ic-commentaire) center / contain no-repeat; mask: var(--ic-commentaire) center / contain no-repeat;
	margin-right: -2px;
}
.commentaire-tete .minute { margin-left: auto; font-weight: 500; background: var(--jaune-doux); border-radius: var(--pilule); padding: 1px 9px; }

/* « Ce qui a changé » */
.changements { margin-top: 48px !important; display: grid; grid-template-columns: 4fr 8fr; gap: 24px 56px; align-items: start; }
.changements > ul { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 36px; }
.changements-actions { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin-top: 8px !important; }

/* Listes à coches (garanties, « dans chaque dossier ») */
ul.liste-coches, .changements > ul, .colonne-texte ul.wp-block-list:not(.garanties):not(.liste-coordonnees):not(.liste-liens), .encadre ul.wp-block-list, .aside-formulaire ul.wp-block-list, .carte-texte ul.wp-block-list {
	list-style: none; padding: 0; display: grid; gap: 14px;
}
ul.liste-coches > li, .changements > ul > li, .colonne-texte ul.wp-block-list:not(.garanties):not(.liste-coordonnees):not(.liste-liens) > li, .encadre ul.wp-block-list > li, .aside-formulaire ul.wp-block-list > li, .carte-texte ul.wp-block-list > li {
	position: relative; padding-left: 36px; line-height: 1.55; margin: 0;
}
ul.liste-coches > li::before, .changements > ul > li::before, .colonne-texte ul.wp-block-list:not(.garanties):not(.liste-coordonnees):not(.liste-liens) > li::before, .encadre ul.wp-block-list > li::before, .aside-formulaire ul.wp-block-list > li::before, .carte-texte ul.wp-block-list > li::before {
	content: ""; position: absolute; left: 0; top: 0.2em; width: 22px; height: 22px; background-color: currentColor;
	-webkit-mask: var(--ic-coche) center / contain no-repeat; mask: var(--ic-coche) center / contain no-repeat;
}
.colonne-texte ol.wp-block-list, ol.liste-numeros {
	list-style: none; padding: 0; counter-reset: etape; display: grid; gap: 16px;
}
.colonne-texte ol.wp-block-list > li, ol.liste-numeros > li { counter-increment: etape; position: relative; padding-left: 52px; margin: 0; line-height: 1.55; }
.colonne-texte ol.wp-block-list > li::before, ol.liste-numeros > li::before {
	content: counter(etape); position: absolute; left: 0; top: -0.05em;
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%; background: var(--encre); color: #FFFFFF;
	font-size: var(--texte-mini); font-weight: 500;
}

/* ---------- Confidentialité (bloc sombre) ---------- */
.bloc-nuit { background: var(--nuit); color: #FFFFFF; padding-block: 88px; }
.confidentialite-grille { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: start; }
.confidentialite-grille .surtitre { color: #FFFFFF; margin-bottom: 20px !important; }
.confidentialite-grille h2 { color: #FFFFFF; }
.confidentialite-grille .lien-fleche { margin-top: 28px !important; color: #FFFFFF; }
.bloc-nuit p:not(.surtitre) { color: #FFFFFF; }
.bloc-nuit .chapo { color: var(--nuit-texte); }
ul.garanties { display: grid; padding: 0; list-style: none; }
.garanties > li {
	position: relative; display: block; min-height: 80px;
	padding: 25px 0 18px 62px; border-top: 1px solid rgba(255, 255, 255, 0.14);
	color: #FFFFFF; margin: 0; line-height: 1.55;
}
.garanties > li:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.garanties > li::before {
	content: ""; position: absolute; left: 0; top: 18px;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(255, 255, 255, 0.08) var(--icone-blanche, none) center / 20px no-repeat;
}
.garanties .ic-cadenas::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3M12 14.5v2'/%3E%3C/svg%3E"); }
.garanties .ic-signature::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M8.5 16.5c1.2-1.6 2.2-1.6 3 0s1.8 1.6 3.5-.5'/%3E%3C/svg%3E"); }
.garanties .ic-contrat::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 12.5h6M9 16h4'/%3E%3C/svg%3E"); }
.garanties .ic-corbeille::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9.5 7V4.5h5V7M6.5 7l.8 11.6a2 2 0 0 0 2 1.9h5.4a2 2 0 0 0 2-1.9L17.5 7M10 11v5.5M14 11v5.5'/%3E%3C/svg%3E"); }
.garanties .ic-lieu::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11a6.5 6.5 0 0 1 13 0c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E"); }
.garanties .ic-bouclier::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.6-3.2 8.3-7.5 9.5-4.3-1.2-7.5-4.9-7.5-9.5V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.garanties .ic-coche::before, .garanties li:not([class])::before { --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.bloc-nuit .note-bloc { margin-top: 28px !important; color: var(--nuit-texte); max-width: var(--mesure); }

/* ---------- Questions ---------- */
.faq-grille { display: grid; grid-template-columns: 4fr 8fr; gap: 72px; align-items: start; }
.faq { border-top: 1px solid var(--trait); }
.question { border-bottom: 1px solid var(--trait); margin: 0 !important; }
.question > summary {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: 72px; padding: 16px 0;
	font-size: var(--texte); font-weight: 500; line-height: 1.4;
}
.question > summary:hover { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 0.22em; }
.question > summary::after {
	content: ""; width: 22px; height: 22px; flex: none;
	background:
		linear-gradient(var(--encre), var(--encre)) center / 18px 2px no-repeat,
		linear-gradient(var(--encre), var(--encre)) center / 2px 18px no-repeat;
	border-radius: 2px;
}
.question[open] > summary::after { background: linear-gradient(var(--encre), var(--encre)) center / 18px 2px no-repeat; }
.question > :not(summary) { max-width: var(--mesure); color: var(--encre-2); margin: 0 0 10px !important; }
.question > :not(summary):last-child { padding-bottom: 18px; }
.question a { color: var(--encre); font-weight: 500; }
@media (prefers-reduced-motion: no-preference) {
	:root { interpolate-size: allow-keywords; }
	.question::details-content, .detail::details-content {
		height: 0; overflow: clip;
		transition: height 250ms var(--courbe), content-visibility 250ms allow-discrete;
	}
	.question[open]::details-content, .detail[open]::details-content { height: auto; }
}

/* ---------- Appel final ---------- */
.appel-final {
	background: var(--surface); border-radius: var(--rayon-bloc);
	padding: 96px 40px; text-align: center; display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 20px;
}
.appel-final h2 { font-size: clamp(2.25rem, 2.6vw + 1rem, 3.5rem) !important; letter-spacing: -0.01em; line-height: 1.1 !important; }
.appel-final p { max-width: var(--mesure); }
.appel-final .chapo { color: var(--encre-2); max-width: 30em; text-wrap: balance; }
.appel-final .wp-block-buttons { margin-top: 12px !important; justify-content: center; }
.appel-final-contact { margin-top: 16px !important; font-weight: 500; }
.appel-final-liens { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 28px; margin-top: -8px !important; }
.appel-final-liens a { flex-wrap: wrap; justify-content: center; font-size: var(--texte-petit); }
.appel-final-note {
	max-width: var(--mesure); margin: 20px auto 0 !important; text-align: center; text-wrap: balance;
	font-size: var(--texte-mini); color: var(--encre-2);
}

/* ---------- Sections de texte des pages intérieures ---------- */
.colonnes-section { display: grid; grid-template-columns: 4fr 8fr; gap: 24px 72px; align-items: start; }
.colonnes-section > .titre-colonne { display: grid; gap: 16px; }
.colonne-texte { display: grid; gap: 18px; max-width: var(--mesure); }
.colonne-texte > p { max-width: var(--mesure); }
.colonne-texte .petit { margin-top: 4px !important; }
/* Tout texte courant des pages : 68 caractères par ligne au plus (les règles plus précises l'emportent) */
main p, main li, main dd { max-width: var(--mesure); }
/* Listes à séparateurs ou à cartes : l'élément garde toute la largeur de sa colonne (colonnes déjà étroites) */
:is(.garanties, .metier-liens, .liste-liens, .liste-coordonnees, .liste-metiers, .heros-metiers) > li { max-width: none; }
.ligne-confiance { margin-inline: auto; max-width: none; }
.section + .section { padding-top: 0; }
.section.trait-haut { border-top: 1px solid var(--trait); }
.encadre {
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 24px 28px; display: grid; gap: 12px;
}
.encadre-teinte { background: var(--jaune-doux); border-color: transparent; }
.encadre h2, .encadre h3 { font-size: var(--h3) !important; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cartes.trois { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.carte-texte {
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 28px; display: flex; flex-direction: column; gap: 12px;
}
.carte-texte > p { color: var(--encre-2); }
.carte-texte > p.lien-fleche { margin-top: auto !important; color: var(--encre); }
.vous-etes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.vous-etes > p {
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 24px 28px; display: flex; flex-direction: column; gap: 6px; font-weight: 500;
}
.vous-etes > p a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-weight: 500; }
.vous-etes > p a::after {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-fleche) center / contain no-repeat; mask: var(--ic-fleche) center / contain no-repeat;
}
.vous-etes > p:only-child { grid-column: 1 / -1; max-width: var(--mesure); }

/* ---------- Formulaires (pages Essai, Devis, Contact) ---------- */
.formulaire-grille { display: grid; grid-template-columns: 7fr 5fr; gap: 56px; align-items: start; }
.formulaire-colonne { display: grid; gap: 18px; min-width: 0; }
.aside-formulaire {
	display: grid; gap: 16px; position: sticky; top: 104px;
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte); padding: 32px;
}
.aside-formulaire h2 { font-size: var(--h3) !important; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.info-donnees { font-size: var(--texte-mini); line-height: 1.55; color: var(--encre-2); }
.contact-grille { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: start; }
.contact-cartes { display: grid; gap: 20px; }
.carte-contact {
	background: var(--surface); border: 1px solid var(--trait); border-radius: var(--rayon-carte);
	padding: 28px; display: grid; gap: 10px;
}
.carte-contact .wp-block-buttons { margin-top: 8px !important; }
.carte-contact .wp-block-button, .carte-contact .wp-block-button__link { width: 100%; }
ul.liste-coordonnees { list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--trait); }
.liste-coordonnees > li { padding: 14px 0; border-bottom: 1px solid var(--trait); margin: 0; }
ul.liste-liens { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 40px; }
.liste-liens > li { margin: 0; }
.liste-liens a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 500; }

/* ---------- Pied de page : bloc sombre arrondi ---------- */
.pied {
	width: min(100% - 2 * var(--marge-bloc), 1408px); margin: 0 auto 16px !important;
	border-radius: var(--rayon-bloc);
	background: var(--nuit); color: var(--nuit-texte); padding: 88px 0 40px;
}
.pied-grille { display: grid; grid-template-columns: 4fr 3fr 3fr 3fr; gap: 40px; }
.pied .logo { color: #FFFFFF; margin-bottom: 14px !important; }
.pied-marque p:not(.logo) { font-size: var(--texte-petit); line-height: 1.55; max-width: 22em; }
.pied h2 { font-size: var(--texte-mini) !important; font-weight: 600; color: #FFFFFF; margin-bottom: 10px !important; letter-spacing: 0; line-height: 1.4; }
.pied ul { list-style: none; padding: 0; }
.pied ul li { margin: 0; }
.pied ul a {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; min-width: 44px;
	font-size: var(--texte-petit); text-decoration: none; color: var(--nuit-texte);
}
.pied ul a:hover { color: #FFFFFF; text-decoration: underline; }
.pied .liens-coordonnees a[href^="tel:"]::before, .pied .liens-coordonnees a[href^="mailto:"]::before { background-color: currentColor; }
.pied-identification {
	margin-top: 64px !important; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.14);
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 32px;
	font-size: var(--texte-mini);
}
.pied-identification ul { display: flex; flex-wrap: wrap; gap: 0 24px; }

/* ---------- Barre fixe (mobile et tablette) ---------- */
.barre-mobile { display: none; }

/* ---------- Apparitions au défilement ---------- */
@media (prefers-reduced-motion: no-preference) {
	.js .apparition {
		transition: opacity 700ms var(--courbe), transform 700ms var(--courbe);
		transition-delay: calc(var(--i, 0) * 80ms);
	}
	.js .apparition:not(.est-visible) { opacity: 0; transform: translateY(16px); }
	.js .apparition.sans-transition { transition: none; }
	.js .apparition:focus-within { opacity: 1; transform: none; transition: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Grand écran (≥ 1280 px) ---------- */
@media (min-width: 80em) {
	.exemple-grille { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
	.exemple-grille.egal { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
@media (max-width: 79.9375em) {
	.navigation .wp-block-navigation-item__content { padding: 0 10px !important; }
	.ligne-navigation { gap: 16px; }
	.navigation .nav-appel .a-confirmer { display: none; }
}
@media (min-width: 64em) and (max-width: 74.9375em) {
	.navigation .wp-block-navigation-item__content { padding: 0 8px !important; }
	.navigation .wp-block-navigation__container { gap: 2px; }
	.ligne-navigation { gap: 12px; }
}

/* ---------- Ordinateur (≥ 1200 px) : photo du héros en plein cadre ---------- */
@media (min-width: 75em) {
	.heros { min-height: min(max(560px, 80vh), 760px); align-items: end; }
	.heros-photo { position: absolute !important; inset: 0; }
	.heros-photo img { position: absolute; inset: 0; object-position: 62% 45%; }
	.heros-photo::after {
		content: ""; position: absolute; inset: 0; z-index: 1;
		background:
			linear-gradient(90deg, rgba(17, 24, 32, 0.92) 0%, rgba(17, 24, 32, 0.88) 46%, rgba(17, 24, 32, 0.78) 56%, rgba(17, 24, 32, 0.4) 66%, rgba(17, 24, 32, 0) 78%),
			linear-gradient(0deg, rgba(17, 24, 32, 0.55) 0%, rgba(17, 24, 32, 0) 40%);
	}
	.heros-texte {
		width: 54%;
		padding: 40px 0 40px max(56px, calc((100% - var(--conteneur)) / 2));
		display: grid; gap: 16px; align-content: end;
	}
	.heros h1 { font-size: clamp(2.75rem, 2vw + 1.6rem, 4rem); }
	.heros-actions { margin-top: 8px !important; }
}
@media (min-width: 75em) and (max-height: 51.25em) {
	.heros h1 { font-size: clamp(2.5rem, 6.4vh, 3.5rem); }
	.heros-sousligne { font-size: var(--texte); }
}

/* ---------- Ordinateur (≥ 1024 px) : menu complet ---------- */
@media (min-width: 64em) {
	.logo { flex: none; }
	.navigation .wp-block-navigation__responsive-container-open { display: none !important; }
	.navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block !important; position: relative !important; width: auto !important;
		background: transparent !important; inset: auto !important; z-index: auto !important;
	}
	.navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
}

/* ---------- Tablette et mobile (< 1024 px) ---------- */
@media (max-width: 63.9375em) {
	:root { --section: 88px; --pad-bloc: 32px; }
	html { scroll-padding-bottom: 104px; }
	.bouton-entete { display: none !important; }
	.ligne-navigation { min-height: 64px; }
	.navigation .wp-block-navigation__responsive-container-open { display: inline-flex !important; }
	.navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.engagements { grid-template-columns: minmax(0, 1fr); }
	.metiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.metier, .metier-large { grid-column: span 1; }
	.metier-large .metier-photo img { aspect-ratio: 4 / 3; }
	.metiers-suite, .confidentialite-grille, .faq-grille, .changements, .colonnes-section, .formulaire-grille, .contact-grille, .entete-page-grille { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.changements { gap: 24px; }
	.changements-actions { grid-column: 1; }
	.bloc-jaune .entete-section { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.etapes-grille { grid-template-columns: minmax(0, 1fr); grid-template-areas: "tete" "photo" "liste"; }
	.etapes-photo { margin-bottom: 24px !important; }
	.etapes-photo img { aspect-ratio: 3 / 2; object-position: 30% 50%; }
	.pied-grille { grid-template-columns: 1fr 1fr; }
	.pied { margin-bottom: calc(8px + 80px + env(safe-area-inset-bottom)) !important; }
	.aside-formulaire { position: static; }
	.entete-page-photo { order: -1; }
	.entete-page-photo img { aspect-ratio: 16 / 9; max-height: 320px; }
	.cartes.trois { grid-template-columns: minmax(0, 1fr); }

	.barre-mobile {
		display: flex; gap: 8px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: var(--surface); border-top: 1px solid var(--trait);
		transition: transform 250ms var(--courbe), visibility 0s linear 0s;
	}
	.barre-mobile.est-cachee { transform: translateY(110%); visibility: hidden; transition: transform 250ms var(--courbe), visibility 0s linear 250ms; }
	.barre-mobile .wp-block-button__link { min-height: 56px; font-size: var(--texte-mini); width: 100%; }
	.barre-mobile .bouton-appel { flex: none; }
	.barre-mobile .bouton-appel:only-child { flex: 1 1 auto; }
	.barre-mobile .bouton-appel:only-child .wp-block-button__link { flex-direction: row; gap: 10px; }
	.barre-mobile .bouton-appel .wp-block-button__link { flex-direction: column; gap: 2px; padding: 0 14px; line-height: 1.1; }
	.barre-mobile .bouton-principal { flex: 1 1 auto; }
	.barre-mobile .bouton-principal .wp-block-button__link { padding: 0 8px; }
	.barre-mobile .bouton-principal .wp-block-button__link::after { display: none; }
}
@media (max-width: 74.9375em) {
	.heros-photo img { aspect-ratio: 3 / 2; object-position: 78% 30%; }
	.heros-photo::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 28%;
		background: linear-gradient(180deg, rgba(17, 24, 32, 0) 0%, var(--nuit) 100%);
	}
	.heros-texte { padding: 8px var(--pad-bloc) 40px; display: grid; gap: 20px; }
	.heros-actions .wp-block-button { flex: 1 1 auto; }
	.heros-actions .wp-block-button__link { width: 100%; }
}
@media (min-width: 47.5em) and (max-width: 63.9375em) {
	.barre-utilitaire { display: block; }
}
@media (min-width: 47.5em) and (max-width: 74.9375em) {
	.heros-photo img { aspect-ratio: auto; height: min(34vh, 360px); }
	.heros h1 { font-size: clamp(2.5rem, 2.4vw + 1.4rem, 3.5rem); }
}
@media (max-width: 56.1875em) {
	.page-word { grid-template-columns: minmax(0, 1fr); text-align: left; }
	.commentaire { grid-column: 1 !important; grid-row: auto; margin-top: 4px !important; }
	.commentaire::before { top: auto; bottom: 100%; right: auto; left: 24px; width: 0; height: 14px; border-top: 0; border-left: 1.5px dashed #B9A86A; }
}

/* ---------- Mobile (< 760 px) ---------- */
@media (max-width: 47.4375em) {
	:root { --section: 72px; --gouttiere: 24px; --marge-bloc: 8px; --pad-bloc: 16px; }
	html { scroll-padding-top: 84px; }
	.heros { border-radius: 24px; }
	.heros-photo img { aspect-ratio: 16 / 9; max-height: 24vh; max-height: 24svh; }
	.heros-texte { padding-top: 0; gap: 16px; }
	.heros h1 { font-size: 2.25rem; }
	.heros-sousligne { font-size: var(--texte); }
	.heros-actions { flex-direction: column; align-items: stretch; }
	.heros-actions .wp-block-button { width: 100%; }
	.engagement { padding: 24px; }
	.metiers { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.metier-photo img, .metier-large .metier-photo img { aspect-ratio: 16 / 10; }
	.entete-section { margin-bottom: 40px !important; }
	.etape { grid-template-columns: minmax(0, 1fr); row-gap: 14px; padding: 24px; }
	.etape > * { grid-column: 1; }
	.etape > .pastille { grid-row: auto; justify-self: start; }
	.bloc-jaune, .bloc-nuit { padding-block: 56px; border-radius: 24px; }
	.carte { padding: 24px 20px; }
	.changements > ul { grid-template-columns: minmax(0, 1fr); }
	.faq-grille { gap: 28px; }
	.appel-final { padding: 56px 20px; border-radius: 24px; }
	.appel-final .wp-block-buttons, .appel-final .wp-block-button, .appel-final .wp-block-button__link { width: 100%; }
	.appel-final-liens { flex-direction: column; align-items: center; gap: 0; }
	.pied { width: calc(100% - 16px); border-radius: 24px; padding-top: 64px; }
	.pied-grille { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.pied-identification { flex-direction: column; align-items: flex-start; }
	.entete-page { padding-block: 16px 64px; }
	.entete-page .wp-block-buttons, .entete-page .wp-block-button, .entete-page .wp-block-button__link { width: 100%; }
	.cartes, .vous-etes, ul.liste-liens { grid-template-columns: minmax(0, 1fr); }
	.encadre, .carte-texte, .carte-contact, .aside-formulaire { padding: 24px 20px; }
	h1, h2, h3, .surtitre, .heros-texte { overflow-wrap: anywhere; }
	.a-confirmer, .bruit { white-space: normal; }
}
@media (max-width: 22.4375em) {
	:root { --gouttiere: 16px; }
	.barre-mobile .bouton-principal .wp-block-button__link { font-size: 1rem; padding: 0 10px; }
}

/* ---------- Écrans peu hauts ---------- */
@media (max-height: 37.5em) {
	.entete { position: relative; }
	html { scroll-padding-top: 16px; }
	.barre-mobile { padding-block: 6px calc(6px + env(safe-area-inset-bottom)); }
	.barre-mobile .wp-block-button__link { min-height: 48px; }
}

@media (hover: none) {
	.metier:hover .metier-photo img { transform: none; }
}

/* ---------- Couleurs forcées (contraste élevé) ---------- */
@media (forced-colors: active) {
	.surligne { outline: 2px solid Highlight; }
	.passage-douteux { outline: 2px solid Highlight; }
}

/* ---------- Impression ---------- */
@media print {
	.js .apparition { opacity: 1 !important; transform: none !important; transition: none !important; }
	.entete { position: static; }
	.barre-mobile, .skip-link, .barre-utilitaire, .wp-block-navigation__responsive-container-open { display: none !important; }
	.heros { break-inside: avoid; min-height: 0; }
	.heros, .bloc-nuit, .pied, .heros *, .bloc-nuit *, .pied * { color: #000000 !important; }
	.heros, .bloc-nuit, .pied { background: none !important; border: 1px solid #999999; }
	.heros-photo::after { display: none; }
	.heros-photo { position: relative !important; }
	.heros-photo img { position: static !important; height: auto; max-height: 9cm; }
	.heros-texte { width: auto !important; padding: 16px !important; }
	.surligne, .surligne-texte { animation: none !important; }
	.surligne, .passage-douteux { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.carte, .etape, .engagement, .question { break-inside: avoid; }
}

/* ---------- Ajustements ---------- */
.carte-contact h2 { font-size: var(--h3) !important; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.carte-contact .grand { font-size: 1.375rem; font-weight: 500; }
.encadre-teinte .a-confirmer, .encadre-teinte .a-confirmer-long { background: var(--surface); }
.appel-final-discret { padding: 40px 24px; gap: 8px; }
.section-pleine .entete-section { margin-bottom: 40px !important; }
.page-word table th { font-weight: 700; }
.titre-valide::before {
	content: ""; display: block; width: 56px; height: 56px; margin-bottom: 20px; border-radius: 50%;
	background: var(--jaune) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 28px no-repeat;
}
.navigation .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	position: static !important; width: 100% !important; min-width: 0 !important;
	background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none;
}
.navigation .is-menu-open .nav-appel .a-confirmer { display: inline; }
.barre-mobile .wp-block-buttons { width: 100%; flex-wrap: nowrap; gap: 8px; }
.carte-contact .wp-block-button__link { flex-wrap: wrap; }

/* ---------- Scribeero : numéro dans le menu, bandeau « Projet » des pages légales ---------- */
.navigation .nav-numero { margin-left: 0.25em; white-space: nowrap; }
@media (max-width: 79.9375em) { .navigation .nav-numero { display: none; } }
.navigation .is-menu-open .nav-numero { display: inline; }
.bandeau-projet {
	display: inline-flex; align-items: center; gap: 10px; width: fit-content;
	background: var(--jaune-doux); color: var(--encre); border: 1.5px solid #E2B400; border-radius: var(--pilule);
	padding: 8px 18px; font-size: var(--texte-petit); font-weight: 600;
}
.bandeau-projet::before {
	content: "!"; display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 22px; height: 22px; border-radius: 50%; background: var(--encre); color: #FFFFFF; font-size: 0.875rem; font-weight: 700;
}
.pied-identification p { max-width: var(--mesure); line-height: 1.55; }
.liste-coordonnees a { overflow-wrap: anywhere; }
.carte-contact .grand a, .liste-coordonnees a { display: inline-flex; align-items: center; min-height: 44px; }

/* Ligne de confiance sous le bandeau des engagements */
.ligne-confiance {
	display: flex; align-items: center; justify-content: center; gap: 12px;
	margin-top: 28px !important; text-align: center;
	font-size: var(--texte); font-weight: 500; color: var(--encre);
}
.ligne-confiance::before {
	content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%;
	background: var(--jaune) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 20px no-repeat;
}
@media (max-width: 47.4375em) { .ligne-confiance { justify-content: flex-start; text-align: left; } }

/* ---------- WhatsApp : simple lien wa.me, pictogramme monochrome, mot toujours écrit ---------- */
.liens-contact a[href^="https://wa.me"]::before, .appel-final-liens a[href^="https://wa.me"]::before,
.liens-coordonnees a[href^="https://wa.me"]::before, .liens-documents a[href^="https://wa.me"]::before,
.carte-contact .grand a[href^="https://wa.me"]::before {
	content: ""; width: 20px; height: 20px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-whatsapp) center / contain no-repeat; mask: var(--ic-whatsapp) center / contain no-repeat;
}
.liens-documents a[href^="https://wa.me"], .carte-contact .grand a[href^="https://wa.me"] { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.navigation .nav-whatsapp .wp-block-navigation-item__content { gap: 8px; }
.navigation .nav-whatsapp .wp-block-navigation-item__content::before {
	content: ""; width: 18px; height: 18px; flex: none; background-color: currentColor;
	-webkit-mask: var(--ic-whatsapp) center / contain no-repeat; mask: var(--ic-whatsapp) center / contain no-repeat;
}
.navigation .is-menu-open .nav-whatsapp .wp-block-navigation-item__content {
	justify-content: flex-start; border-bottom: 0; font-size: var(--texte-petit); min-height: 48px;
}
.navigation .is-menu-open .nav-whatsapp .wp-block-navigation-item__content::after { display: none; }
/* Avec le lien WhatsApp, le menu d'ordinateur est un peu plus serré */
@media (min-width: 80em) { .navigation .wp-block-navigation-item__content { padding: 0 11px !important; } }
@media (min-width: 64em) and (max-width: 74.9375em) {
	.navigation .wp-block-navigation-item__content { padding: 0 6px !important; }
	.ligne-navigation { gap: 10px; }
}

/* ---------- En-tête d'ordinateur avec le logo et Montserrat (11/10/2026) ----------
   Montserrat est plus large que la police précédente : téléphone (avec son numéro), WhatsApp et e-mail passent
   dans la barre du haut, qui défile avec la page ; la ligne de navigation garde le logo, les rubriques et le bouton d'essai.
   Le menu mobile garde « Appeler » et « WhatsApp ». */
@media (min-width: 64em) {
	.barre-utilitaire { display: block; }
	.navigation .wp-block-navigation__responsive-container:not(.is-menu-open) :is(.nav-appel, .nav-whatsapp) { display: none !important; }
	.navigation .wp-block-navigation-item__content { padding: 0 12px !important; }
	.ligne-navigation { gap: 24px; }
}
@media (min-width: 64em) and (max-width: 74.9375em) {
	.navigation .wp-block-navigation-item__content { padding: 0 8px !important; }
	.ligne-navigation { gap: 16px; }
}
