/* Marie Guerdin — feuille du site (piste A « Que ça circule », maquettes/piste-a.html).
 * Chargée par wpsw-base sur le site et dans l'éditeur (sélecteurs préfixés par .editor-styles-wrapper).
 * Couleurs : la palette du theme.json, plus les dérivés imposés par le brief §1 (vert sombre, sauge claire,
 * brique foncée, rose pâle) et la nuit de la bande « Vous vous reconnaissez peut-être », en variables --mg-….
 * Le brique (accent) est réservé à la pastille « Rendez-vous », aux prix et aux petits points (annotation a-13). */

:root {
	--mg-vert: #404d38;
	--mg-sauge-claire: #809971;
	--mg-brique-foncee: #9a4424;
	--mg-rose: #fce2de;
	--mg-nuit: #0b140d;
	--mg-nuit-bas: #0f1b13;
	--mg-blanc: #fff;
	--mg-texte-doux: #3a4434;
	--mg-lumiere: #8fe58a;
	--mg-lumiere-rose: #f0a49e;
	--mg-vague: clamp(64px, 7.6vw, 110px);
	--mg-vague-bas: clamp(36px, 5vw, 70px);
	--mg-etoile: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 46%27%3E%3Cpath d=%27M15 1.5 L18.4 16.8 L27.5 12.1 L22.2 21.8 L27.3 29.5 L18.4 27.8 L15 44.5 L11.6 27.8 L2.7 29.5 L7.8 21.8 L2.5 12.1 L11.6 16.8 Z%27 fill=%27%238fe58a%27 stroke=%27%232f3a2a%27 stroke-width=%271%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
	--mg-ico-tel: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M5 3.5h3.2l1.6 4.2-2.1 1.4a11 11 0 0 0 7.2 7.2l1.4-2.1 4.2 1.6V19a1.5 1.5 0 0 1-1.6 1.5C10.6 20 4 13.4 3.5 5.1A1.5 1.5 0 0 1 5 3.5z%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%271.6%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
	--mg-ico-cal: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Crect x=%273.5%27 y=%275%27 width=%2717%27 height=%2715.5%27 rx=%273%27 fill=%27none%27 stroke=%27%23000%27 stroke-width=%271.6%27/%3E%3Cpath d=%27M3.5 10h17M8 3v4M16 3v4%27 stroke=%27%23000%27 stroke-width=%271.6%27 fill=%27none%27 stroke-linecap=%27round%27/%3E%3C/svg%3E");
}

html { scroll-padding-top: 6rem; }
.wp-site-blocks { overflow-x: clip; }
a:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; border-radius: 4px; }

/* ———————————————————————— En-tête ————————————————————————
 * Étoile, nom et slogan à gauche ; menu (Accompagnements et son sous-menu) ; téléphone et pastille « Rendez-vous ».
 * Collé en haut, fond crème translucide ; une ombre fine apparaît au défilement (html.mg-tasse, site.js). */
.wp-site-blocks > header:has(.mg-entete) {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: rgba(251, 249, 244, 0.97);
	transition: box-shadow 0.4s;
}
@media (min-width: 1081px) {
	.wp-site-blocks > header:has(.mg-entete) {
		background: rgba(251, 249, 244, 0.9);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
}
.mg-tasse .wp-site-blocks > header:has(.mg-entete) {
	box-shadow: 0 1px 0 var(--wp--preset--color--border), 0 12px 24px -22px rgba(38, 46, 33, 0.45);
}
.wp-site-blocks > header:has(.mg-entete) + * { margin-block-start: 0; }
.mg-entete { padding-block: 0.7rem; transition: padding 0.4s; }
.mg-tasse .mg-entete { padding-block: 0.45rem; }
.mg-entete-rang { gap: 1.6rem; flex-wrap: nowrap !important; }

/* Marque : l'étoile (logo du site) reste à côté du nom et du slogan, que wpsw-base masque d'ordinaire quand un logo existe. */
.wpsw-marque { gap: 0.75rem; flex: none; }
.wpsw-marque .wp-block-site-logo img { width: 24px; height: auto; max-height: none; }
.wpsw-a-logo .wpsw-marque .wp-block-site-title {
	position: static; width: auto; height: auto; margin: 0; overflow: visible; clip-path: none; white-space: nowrap;
}
.mg-nom { gap: 0.1rem !important; }
.mg-nom > * { margin: 0; }
.mg-nom .wp-block-site-tagline { white-space: nowrap; }

/* Menu */
.mg-menu { flex: 1 1 auto; min-width: 0; }
.mg-menu .wp-block-navigation__container { gap: 0.4rem 1.4rem; flex-wrap: nowrap; }
.mg-menu .wp-block-navigation-item__content { white-space: nowrap; }
.mg-menu .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); }
.mg-menu .wp-block-navigation-item__content:hover,
.mg-menu .wp-block-navigation-submenu__toggle:hover { color: var(--wp--preset--color--primary); }
.mg-menu .wp-block-navigation-submenu__toggle { font-weight: 600; }
.mg-menu .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }
.mg-menu .has-child .wp-block-navigation__submenu-container {
	background: var(--mg-blanc);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
	padding: 0.6rem;
	box-shadow: 0 18px 40px -24px rgba(38, 46, 33, 0.35);
}
.mg-menu .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 0.9rem;
	border-radius: 12px;
	white-space: nowrap;
}
.mg-menu .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); }
/* Le sous-menu s'ouvre au clic (bouton « Accompagnements », lisible au clavier) et aussi au survol sur ordinateur. */
@media (min-width: 1081px) and (hover: hover) {
	.mg-menu .has-child:hover > .wp-block-navigation__submenu-container {
		visibility: visible; opacity: 1; width: auto; height: auto; min-width: 300px; overflow: visible;
	}
	.mg-menu .has-child > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; inset: -0.8rem 0 auto; height: 0.8rem;
	}
}

/* Téléphone et Rendez-vous */
.mg-appels { gap: 1.4rem; flex: none; align-items: center; }
.mg-appels .wp-block-buttons { margin: 0; }
.mg-appels .wp-block-button.is-style-outline > .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 0.45rem;
	border: 0; background: none; padding: 0.4rem 0;
	color: var(--mg-vert); font-weight: 700;
}
.mg-appels .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--wp--preset--color--primary); }
.mg-appels .wp-block-button.is-style-outline > .wp-block-button__link::before,
.mg-rdv .wp-block-button__link::before {
	content: ""; flex: none; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: var(--mg-ico-tel) center / contain no-repeat; mask: var(--mg-ico-tel) center / contain no-repeat;
}
.mg-rdv .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 0.55rem;
	min-height: 42px; padding: 0.55rem 1.2rem;
}
.mg-rdv .wp-block-button__link::before { -webkit-mask-image: var(--mg-ico-cal); mask-image: var(--mg-ico-cal); }

/* Sous 1 080 px : le menu passe au bouton (pastille ronde), avant que la ligne ne déborde. */
@media (max-width: 1080px) {
	.mg-menu { flex: 0 0 auto; margin-inline-start: auto; }
	.mg-menu .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.mg-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.mg-menu .wp-block-navigation__responsive-container-open {
	width: 46px; height: 46px; align-items: center; justify-content: center;
	border: 1px solid var(--wp--preset--color--border); border-radius: 50%;
	background: var(--mg-blanc); color: var(--wp--preset--color--contrast);
}
.mg-menu:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}
.mg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.mg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 500;
}
.mg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0; box-shadow: none; background: none; padding: 0 0 0.4rem 1rem;
}
.mg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.0625rem; padding: 0.35rem 0; }

/* Mobile : étoile et nom, bouton de menu ; téléphone et Rendez-vous dans une barre fixe en bas de l'écran,
 * sur toutes les pages (engagement 1 de l'audit : téléphone visible sans défiler à 375 px). */
@media (max-width: 860px) {
	.mg-entete { padding-block: 0.55rem; }
	.wpsw-marque .wp-block-site-logo img { width: 22px; }
	.mg-entete .wp-block-site-title { font-size: 1.3rem; }
	.mg-entete .wp-block-site-tagline { display: none; }
	.mg-appels {
		position: fixed; inset: auto 0 0; z-index: 60;
		display: grid !important; grid-template-columns: 1fr 1fr; gap: 0.6rem;
		padding: 0.6rem 0.8rem calc(0.6rem + env(safe-area-inset-bottom));
		background: rgba(251, 249, 244, 0.97);
		border-top: 1px solid var(--wp--preset--color--border);
	}
	.mg-appels .wp-block-buttons, .mg-appels .wp-block-button, .mg-appels .wp-block-button__link { width: 100%; }
	.mg-appels .wp-block-button__link { justify-content: center; min-height: 50px; padding-inline: 0.6rem !important; white-space: nowrap; font-size: 1rem; }
	.mg-appels .wp-block-button.is-style-outline > .wp-block-button__link {
		border: 1.5px solid var(--wp--preset--color--primary); border-radius: 999px; padding: 0.6rem;
	}
	.mg-pied { padding-bottom: calc(var(--wp--preset--spacing--40) + 76px) !important; }
}

/* ———————————————————————— Titres et petits éléments ———————————————————————— */
/* Titres des grandes sections des pages intérieures : centrés, l'étoile au-dessus (le surtitre de la maquette).
 * Seulement sur les titres : l'accueil porte ces ancres sur ses sections (voir « Accueil »). */
h2:is(#approches, #seance, #temoignages, #lieux, #faq) { text-align: center; }
h2:is(#approches, #seance, #temoignages, #lieux, #faq)::before {
	content: ""; display: block; width: 15px; height: 23px; margin: 0 auto 0.9rem;
	background: var(--mg-etoile) center / contain no-repeat;
}
#approches + p { text-align: center; max-width: 46rem; margin-inline: auto; color: var(--mg-texte-doux); }
.wp-block-group:has(> #approches) > #approches + p { margin-block-end: var(--wp--preset--spacing--50); }

/* Surtitre (pages intérieures) : Quicksand, brique foncé, précédé de l'étoile ; pas de capitales. */
.is-style-surtitre {
	display: flex; align-items: center; gap: 0.6rem;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 600; line-height: 1.3;
	letter-spacing: 0; text-transform: none; color: var(--mg-brique-foncee);
}
.is-style-surtitre::before {
	content: ""; flex: none; width: 15px; height: 23px; background: var(--mg-etoile) center / contain no-repeat;
}
.is-style-surtitre.has-text-align-center { justify-content: center; }

/* Formulaire : bouton brique en pastille (les champs viennent de formulaires.css de wpsw-base). */
.wpcf7-form input[type="submit"] {
	background: var(--wp--preset--color--accent); color: var(--mg-blanc);
	border-radius: 999px; font-weight: 700; padding: 0.85rem 1.6rem; min-height: 48px;
}
.wpcf7-form input[type="submit"]:hover { background: var(--mg-brique-foncee); }

/* ———————————————————————— Héros : le fil de laine ————————————————————————
 * Texte sur 5 colonnes à gauche, film sur 7 colonnes jusqu'au bord droit de l'écran, bords fondus par masque.
 * Sans JavaScript, sous mouvement réduit ou si le mp4 est illisible : l'image finale seule, libellés à leur place.
 * Le film n'est montré que sous html.wpsw-anime (posée par wpsw-base dès l'en-tête, hors mouvement réduit) ou
 * html.corde-active (site.js) ; html.corde-repli (site.js : mp4 illisible, erreur) ramène l'image. */
.corde-heros {
	display: grid;
	grid-template-columns: max(var(--wp--style--root--padding-left, 1.25rem), calc((100% - var(--wp--style--global--wide-size)) / 2)) minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	padding-block: 2.2rem 3.5rem;
	position: relative;
}
.corde-heros > * { margin: 0 !important; }
.corde-texte { grid-column: 2; margin-inline-end: -6vw !important; position: relative; z-index: 2; }
.corde-texte > * { margin-block: 0; }
.corde-lieu {
	display: flex; align-items: center; gap: 0.7rem;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 600; line-height: 1.35;
	color: var(--mg-brique-foncee); margin-block-end: 1.4rem !important;
}
.corde-lieu::before { content: ""; flex: none; width: 28px; height: 1px; background: currentColor; }
.corde-titre { max-width: 11.2em; margin-block-end: 1.6rem !important; padding-block-end: 0.06em; }
.corde-accroche { font-size: 1.1875rem; max-width: 34em; color: #323b2c; }
.corde-reperes { list-style: none; margin: 1.8rem 0 2rem !important; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; }
.corde-reperes li {
	display: flex; align-items: center; gap: 0.5rem; margin: 0;
	font-family: var(--wp--preset--font-family--heading); font-size: 1rem; font-weight: 600; line-height: 1.3; color: var(--mg-vert);
}
.corde-reperes li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.corde-lien a {
	font-weight: 700; text-decoration: none; color: var(--wp--preset--color--primary);
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
	padding-bottom: 2px; transition: background-size 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.corde-lien a:hover { background-size: 40% 1px; color: var(--mg-vert); }

.corde {
	grid-column: 3; position: relative; aspect-ratio: 5 / 4; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(0deg, transparent 0, #000 9%, #000 94%, transparent);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(0deg, transparent 0, #000 9%, #000 94%, transparent);
	mask-composite: intersect;
}
.corde > * { margin: 0 !important; }
.corde-image, .corde-film { position: absolute; inset: 0; }
.corde-image img, .corde-film video { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.corde-film { display: none; }
.wpsw-anime:not(.corde-repli) .corde-film, .corde-active .corde-film { display: block; }
.wpsw-anime:not(.corde-repli) .corde-image, .corde-active .corde-image { display: none; }

/* Les trois temps : texte réel posé sur le film ; place finale ici, place et opacité suivies par site.js pendant le film. */
.corde-points { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; pointer-events: none; }
.corde-points li {
	position: absolute; translate: -50% -100%; margin: 0;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 600; line-height: 1;
	letter-spacing: 0.01em; white-space: nowrap; color: var(--mg-vert);
	padding: 0.35rem 0.7rem;
	text-shadow: 0 0 0.5rem var(--wp--preset--color--base), 0 0 0.9rem var(--wp--preset--color--base);
	transition: opacity 0.9s;
}
.corde-points li:nth-child(1) { left: 80.2%; top: 52.4%; }
.corde-points li:nth-child(2) { left: 54.3%; top: 33.2%; }
.corde-points li:nth-child(3) { left: 51.8%; top: 46.7%; }
.corde-active .corde-points li { opacity: 0; }
/* En attendant site.js (au plus 3,5 s), les libellés attendent le film ; si le script ne vient pas, ils reparaissent. */
.wpsw-anime:not(.corde-repli):not(.corde-active) .corde-points li { animation: mg-secours 0s linear 3.5s both; }
@keyframes mg-secours { from { opacity: 0; } to { opacity: 1; } }

.corde-pause {
	position: absolute; right: 1.2rem; bottom: 1rem; z-index: 3;
	display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px;
	font: 600 1rem/1 var(--wp--preset--font-family--body); color: var(--mg-vert);
	background: rgba(255, 255, 255, 0.85); border: 1px solid var(--wp--preset--color--border); border-radius: 999px;
	padding: 0.55rem 0.95rem; cursor: pointer;
}
.corde-pause[hidden] { display: none; }
.corde-pause svg { width: 12px; height: 12px; }
.corde-pause:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

@media (max-width: 860px) {
	.corde-heros {
		grid-template-columns: var(--wp--style--root--padding-left, 1.25rem) minmax(0, 1fr) var(--wp--style--root--padding-right, 1.25rem);
		padding-block: 0 3rem;
	}
	.corde {
		grid-column: 1 / -1; grid-row: 1;
		-webkit-mask-image: linear-gradient(0deg, transparent 0, #000 14%); -webkit-mask-composite: source-over;
		mask-image: linear-gradient(0deg, transparent 0, #000 14%); mask-composite: add;
	}
	.corde-texte { grid-column: 2; grid-row: 2; margin: -1.2rem 0 0 !important; }
	.corde-lieu { font-size: 1rem; margin-block-end: 0.9rem !important; }
	.corde-titre { font-size: clamp(2.3rem, 9.4vw, 3rem); margin-block-end: 1.1rem !important; }
	.corde-accroche { font-size: 1.0625rem; }
	.corde-points li { font-size: 1rem; padding: 0.25rem 0.55rem; }
	.corde-pause { right: 0.8rem; top: 0.6rem; bottom: auto; } /* en bas, il chevaucherait le texte qui remonte sur le film */
}

/* ———————————————————————— Bandes et vagues ————————————————————————
 * Le bord supérieur de chaque bande colorée est une vague (E7), dessinée en CSS (SVG en data:), jamais par un bloc.
 * Deux bandes sauge pâle qui se suivent n'en font qu'une : ni vague ni écart entre elles. Une bande qui suit une autre
 * bande colorée la touche, et sa vague mord sur le bas de la précédente (la lueur verte de la maquette quand la
 * précédente est la bande de nuit). Bande sombre : vert sombre (appel, pied), ou nuit pour la bande des situations. */
.wp-block-group.is-style-bande-sombre { background: var(--mg-vert); color: var(--wp--preset--color--base); }
.wp-block-post-content > .alignfull:is(.is-style-bande-teintee, .is-style-bande-sombre) { position: relative; }
.wp-block-post-content > .alignfull:is(.is-style-bande-teintee, .is-style-bande-sombre):not(:first-child) { margin-block-start: var(--mg-vague) !important; }
.wp-block-post-content > .alignfull:is(.is-style-bande-teintee, .is-style-bande-sombre):not(:first-child)::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: var(--mg-vague);
	background-repeat: no-repeat; background-position: center; background-size: 100% 100%; pointer-events: none;
}
.wp-block-post-content > .is-style-bande-teintee::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 110%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 74C190 30 380 12 610 34S1030 104 1250 84 1440 40 1440 40V110H0Z%27 fill=%27%23eef2e9%27/%3E%3C/svg%3E"); }
.wp-block-post-content > .is-style-bande-sombre::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 100%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 46C220 88 470 96 720 64S1170 4 1440 30V100H0Z%27 fill=%27%23404d38%27/%3E%3C/svg%3E"); }

/* Bande de nuit : une bande sombre dont une colonne porte une liste (« Vous vous reconnaissez peut-être »). */
.wp-block-post-content > .wp-block-group.is-style-bande-sombre:has(> .wp-block-columns > .wp-block-column > .wp-block-list) {
	background: linear-gradient(180deg, var(--mg-nuit), var(--mg-nuit-bas)); color: #e6eedf;
}
.wp-block-post-content > .is-style-bande-sombre:has(> .wp-block-columns > .wp-block-column > .wp-block-list)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 120%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 70C140 112 300 118 470 78S800 -2 1010 30 1330 100 1440 50V120H0Z%27 fill=%27%230b140d%27/%3E%3C/svg%3E"); }

/* Bandes qui se touchent */
.wp-block-post-content > :is(.is-style-bande-teintee, .is-style-bande-sombre) + .alignfull:is(.is-style-bande-teintee, .is-style-bande-sombre):not(:first-child) { margin-block-start: 0 !important; }
.wp-block-post-content > :is(.is-style-bande-teintee, .is-style-bande-sombre):has(+ :is(.is-style-bande-teintee, .is-style-bande-sombre)) {
	padding-bottom: calc(var(--wp--preset--spacing--70) + var(--mg-vague)) !important;
}
.wp-block-post-content > .is-style-bande-sombre + .alignfull.is-style-bande-teintee:not(:first-child)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 -90 1440 200%27 preserveAspectRatio=%27none%27%3E%3Cdefs%3E%3Cfilter id=%27l%27 filterUnits=%27userSpaceOnUse%27 x=%27-300%27 y=%27-200%27 width=%272040%27 height=%27500%27%3E%3CfeGaussianBlur stdDeviation=%2730%27/%3E%3C/filter%3E%3Cfilter id=%27f%27 filterUnits=%27userSpaceOnUse%27 x=%27-300%27 y=%27-200%27 width=%272040%27 height=%27500%27%3E%3CfeGaussianBlur stdDeviation=%279%27/%3E%3C/filter%3E%3CclipPath id=%27c%27%3E%3Cpath d=%27M0 74C190 30 380 12 610 34S1030 104 1250 84 1440 40 1440 40V-300H0Z%27/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path=%27url(%23c)%27%3E%3Cpath d=%27M0 74C190 30 380 12 610 34S1030 104 1250 84 1440 40 1440 40%27 fill=%27none%27 stroke=%27%239fc58f%27 stroke-width=%2786%27 opacity=%27.62%27 filter=%27url(%23l)%27/%3E%3Cpath d=%27M0 74C190 30 380 12 610 34S1030 104 1250 84 1440 40 1440 40%27 fill=%27none%27 stroke=%27%23e8f3cf%27 stroke-width=%2730%27 opacity=%27.9%27 filter=%27url(%23f)%27/%3E%3C/g%3E%3Cpath d=%27M0 74C190 30 380 12 610 34S1030 104 1250 84 1440 40 1440 40V110H0Z%27 fill=%27%23eef2e9%27/%3E%3C/svg%3E"); }
/* La lueur déborde sur la bande de nuit : le dessin est plus haut que la vague et un masque l'efface vers le haut, pour
 * qu'elle ne s'arrête pas net sur le noir (signalement 343). */
.wp-block-post-content > .is-style-bande-sombre + .alignfull.is-style-bande-teintee:not(:first-child)::before {
	height: calc(var(--mg-vague) * 200 / 110);
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 46%); mask-image: linear-gradient(180deg, transparent 0, #000 46%);
}
/* Sauge pâle suivie de sauge pâle : une seule longue bande */
.wp-block-post-content > .is-style-bande-teintee + .alignfull.is-style-bande-teintee:not(:first-child)::before { content: none; }
.wp-block-post-content > .is-style-bande-teintee + .is-style-bande-teintee { padding-top: var(--wp--preset--spacing--40) !important; }
.wp-block-post-content > .is-style-bande-teintee:has(+ .is-style-bande-teintee) { padding-bottom: var(--wp--preset--spacing--40) !important; }

/* En-tête de page (pages intérieures) : première bande sauge pâle, bord inférieur en vague. */
.wp-block-post-content > .is-style-bande-teintee:first-child:not(:has(+ :is(.is-style-bande-teintee, .is-style-bande-sombre)))::after {
	content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px); height: var(--mg-vague-bas);
	background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 80%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 0H1440V34C1250 74 1010 80 760 52S300 6 0 40Z%27 fill=%27%23eef2e9%27/%3E%3C/svg%3E") no-repeat center / 100% 100%; pointer-events: none;
}
.wp-block-post-content > .is-style-bande-teintee:first-child:not(:has(+ :is(.is-style-bande-teintee, .is-style-bande-sombre))) + * {
	margin-block-start: calc(var(--wp--preset--spacing--60) + var(--mg-vague-bas)) !important;
}

/* Pied : la dernière bande sombre d'une page (« Envie d'en parler ? ») et le pied forment un seul aplat vert ;
 * une page qui finit autrement reçoit la vague au-dessus du pied. */
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-block-post-content > .is-style-bande-sombre:last-child { margin-block-end: 0; padding-bottom: var(--wp--preset--spacing--50) !important; }
body:has(.wp-block-post-content > :is(.is-style-bande-sombre, .mg-vert):last-child) :is(main, .wp-site-blocks > footer) { margin-block-end: 0; padding-block-end: 0; }
body:not(:has(.wp-block-post-content > :is(.is-style-bande-sombre, .mg-vert):last-child)) .wp-site-blocks > footer { position: relative; margin-block-start: var(--mg-vague); }
body:not(:has(.wp-block-post-content > :is(.is-style-bande-sombre, .mg-vert):last-child)) .wp-site-blocks > footer::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: var(--mg-vague);
	background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 100%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 46C220 88 470 96 720 64S1170 4 1440 30V100H0Z%27 fill=%27%23404d38%27/%3E%3C/svg%3E") no-repeat center / 100% 100%; pointer-events: none;
}

/* ———————————————————————— Vous vous reconnaissez peut-être (bande de nuit) ———————————————————————— */
.wp-block-post-content > .is-style-bande-sombre:has(> .wp-block-columns > .wp-block-column > .wp-block-list) > .wp-block-columns {
	max-width: var(--wp--style--global--wide-size); gap: clamp(2rem, 6vw, 6rem);
}
@media (min-width: 782px) {
	.is-style-bande-sombre > .wp-block-columns:has(> .wp-block-column > .wp-block-list) > .wp-block-column:first-child { flex: 5 1 0; }
	.is-style-bande-sombre > .wp-block-columns:has(> .wp-block-column > .wp-block-list) > .wp-block-column:last-child { flex: 7 1 0; }
}
.is-style-bande-sombre > .wp-block-columns:has(> .wp-block-column > .wp-block-list) h2 { color: var(--mg-blanc); margin-block-end: 1.5rem; }
.is-style-bande-sombre > .wp-block-columns:has(> .wp-block-column > .wp-block-list) p { color: #d6e2cc; }
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list {
	list-style: none; margin: 0.5rem 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.75rem, 3.5vw, 3.25rem);
	border-top: 1px solid rgba(185, 228, 173, 0.45);
}
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li {
	position: relative; margin: 0;
	font-weight: 300; font-size: 1.125rem; line-height: 1.45; letter-spacing: 0.005em; color: #eef3e8;
	padding: 0.95rem 0.25rem 0.95rem 2.1rem; border-bottom: 1px solid rgba(238, 243, 232, 0.16);
}
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li::before {
	content: ""; position: absolute; left: 0; top: 1.75rem; width: 1.15rem; height: 1px; background: var(--mg-lumiere);
	transition: width 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li::after {
	content: ""; position: absolute; left: 1.15rem; top: calc(1.75rem - 2px); width: 5px; height: 5px; border-radius: 50%;
	background: var(--mg-lumiere); box-shadow: 0 0 6px var(--mg-lumiere);
	transition: left 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li:is(:nth-child(4n+1), :nth-child(4n+4))::after { background: var(--mg-lumiere-rose); box-shadow: 0 0 6px var(--mg-lumiere-rose); }
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li:hover::before { width: 1.5rem; }
.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list > li:hover::after { left: 1.5rem; }
@media (max-width: 781px) {
	.is-style-bande-sombre > .wp-block-columns > .wp-block-column > .wp-block-list { grid-template-columns: minmax(0, 1fr); }
}

/* ———————————————————————— Cartes d'approches (grille à pictos) ————————————————————————
 * Cartes blanches à grands coins arrondis, picto centré, prix en pied de carte, toute la carte cliquable. */
.wp-block-group.is-style-bento:has(> .wp-block-group > .is-style-picto) { grid-auto-rows: auto; gap: 1.25rem; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) {
	background: var(--mg-blanc); border-radius: 28px; padding: 1.7rem 1.5rem 1.4rem;
	display: flex; flex-direction: column; position: relative;
}
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > * { margin-block: 0; max-width: none; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) h3 { font-size: 1.25rem; margin-block-end: 0.7rem; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > p { font-size: 1rem; color: var(--mg-texte-doux); }
.wp-block-group.is-style-bento > .wp-block-group > p:has(> strong:last-child) { flex: 1; display: flex; flex-direction: column; gap: 0.9rem; }
.wp-block-group.is-style-bento > .wp-block-group > p > br:has(+ strong:last-child) { display: none; }
.wp-block-group.is-style-bento > .wp-block-group > p > strong:last-child {
	margin-block-start: auto; padding-block-start: 0.9rem; border-top: 1px solid var(--wp--preset--color--border);
	font-family: var(--wp--preset--font-family--heading); font-size: 1.3rem; font-weight: 600; line-height: 1.15;
	color: var(--mg-brique-foncee);
}
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > p:last-child { margin-block-start: 1.1rem; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > p:last-child a {
	font-weight: 700; text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px;
	transition: background-size 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > p:last-child a::after { content: ""; position: absolute; inset: 0; border-radius: 28px; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto):hover > p:last-child a { background-size: 40% 1px; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto):has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) a:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; border-radius: 4px; }
@media (max-width: 1100px) {
	.wp-block-group.is-style-bento:has(> .wp-block-group > .is-style-picto) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 599px) {
	.wp-block-group.is-style-bento:has(> .wp-block-group > .is-style-picto) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Pictos : grands, centrés ; au survol de la carte, le point brique respire (1 → 1,15 ; 1,6 s), coupé sous mouvement réduit.
 * Le picto est une image (SVG de la médiathèque) : le point qui respire est posé par-dessus, à la place du point du dessin. */
.wp-block-image.is-style-picto { position: relative; width: 96px; }
.wp-block-image.is-style-picto img { width: 100%; height: auto; aspect-ratio: 1; border-radius: 0; }
.wp-block-group.is-style-bento > .wp-block-group > .wp-block-image.is-style-picto { width: 116px; margin: 0.4rem auto 1.5rem; }
.wp-block-image.is-style-picto::after {
	content: ""; position: absolute; left: var(--mg-pt-x, 50%); top: var(--mg-pt-y, 50%); width: var(--mg-pt-d, 0);
	aspect-ratio: 1; border-radius: 50%; background: var(--mg-brique-foncee); translate: -50% -50%;
	opacity: 0; pointer-events: none;
}
.wp-block-image.is-style-picto:has(img[src*="picto-adultes"]) { --mg-pt-x: 50%; --mg-pt-y: 48.08%; --mg-pt-d: 16.54%; }
.wp-block-image.is-style-picto:has(img[src*="picto-enfants"]) { --mg-pt-x: 67.31%; --mg-pt-y: 32.31%; --mg-pt-d: 13.85%; }
.wp-block-image.is-style-picto:has(img[src*="picto-constellations"]) { --mg-pt-x: 67.31%; --mg-pt-y: 79.23%; --mg-pt-d: 13.85%; }
.wp-block-image.is-style-picto:has(img[src*="picto-qhht"]) { --mg-pt-x: 54.23%; --mg-pt-y: 14.23%; --mg-pt-d: 14.62%; }
@media (prefers-reduced-motion: no-preference) {
	:is(.wp-block-group, .wp-block-column):hover > .wp-block-image.is-style-picto::after {
		opacity: 1; animation: mg-respire 1.6s ease-in-out infinite alternate;
	}
}
@keyframes mg-respire { from { scale: 1; } to { scale: 1.15; } }

/* ———————————————————————— Quelle approche pour vous ? (aiguillage) ———————————————————————— */
.wp-block-group:has(> #aiguillage) > #aiguillage {
	text-align: center; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 500; margin-block-end: 2rem;
}
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem;
}
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee > .wp-block-columns {
	display: block; position: relative; margin: 0 !important;
	border: 0; border-left: 1px solid var(--mg-sauge-claire); padding: 1.3rem 1.5rem 0 !important;
}
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee > .wp-block-columns:last-child { border-bottom: 0; }
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee > .wp-block-columns::before {
	content: ""; position: absolute; left: -4px; top: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary);
}
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee .wp-block-column > * { margin-block: 0; }
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee h3 { font-size: 1.125rem; line-height: 1.3; margin-block-end: 0.4rem; }
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee p { font-size: 1rem; color: var(--mg-texte-doux); }
.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee p a { font-weight: 700; }
@media (max-width: 1100px) { .wp-block-group:has(> #aiguillage) > .is-style-liste-filetee { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 781px) {
	.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee { grid-template-columns: minmax(0, 1fr); }
	.wp-block-group:has(> #aiguillage) > .is-style-liste-filetee > .wp-block-columns { padding-top: 1rem !important; }
}
/* « Vous hésitez ? C'est normal. 07 82 51 46 84 » : une bande sauge pâle qui ne porte qu'un paragraphe avec un numéro. */
.wp-block-post-content > .is-style-bande-teintee:has(> p:only-child a[href^="tel:"]) > p {
	text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 500; line-height: 1.5;
}
.wp-block-post-content > .is-style-bande-teintee:has(> p:only-child a[href^="tel:"]) > p a { font-weight: 700; white-space: nowrap; }

/* ———————————————————————— Comment se passe une séance ————————————————————————
 * Les trois temps : numéro dans un cercle fin sauge, reliés par un filet (toute section à grands numéros). */
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) { gap: clamp(1.5rem, 4vw, 3.5rem); }
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column { position: relative; }
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column > * { margin-block: 0; }
.wp-block-columns > .wp-block-column > .is-style-chiffre:first-child {
	width: 2.9rem; height: 2.9rem; border-radius: 50%; border: 1px solid var(--wp--preset--color--primary);
	display: grid; place-items: center; background: var(--mg-blanc);
	font-size: 1.25rem; font-weight: 500; line-height: 1; letter-spacing: 0; color: var(--wp--preset--color--primary);
	margin-block-end: 1.3rem;
}
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column:not(:last-child)::after {
	content: ""; position: absolute; top: 1.45rem; left: 3.6rem; right: calc(-1 * clamp(1.5rem, 4vw, 3.5rem));
	height: 1px; background: linear-gradient(90deg, var(--mg-sauge-claire), transparent);
}
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) h3 { font-size: 1.45rem; font-weight: 500; margin-block-end: 0.6rem; }
.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) p:not(.is-style-chiffre) { font-size: 1.0625rem; color: var(--mg-texte-doux); }
@media (max-width: 781px) {
	.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column { padding-inline-start: 4rem; min-height: 3rem; }
	.wp-block-columns > .wp-block-column > .is-style-chiffre:first-child { position: absolute; left: 0; top: 0; }
	.wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column::after { display: none; }
}
/* Les retours fréquents : encadré blanc à filet sauge clair, mots en gras vert sombre (a-13 : jamais de rouge), après les trois temps. */
.wp-block-group:has(> #seance) { display: flex; flex-direction: column; }
.wp-block-group:has(> #seance) > * { margin-block: 0; }
.wp-block-group:has(> #seance) > #seance { margin-block-end: 3rem; }
.wp-block-group:has(> #seance) > p {
	order: 2; margin: 3rem auto 0; max-width: 48rem;
	background: var(--mg-blanc); border: 1px solid var(--mg-sauge-claire); border-radius: 24px; padding: 1.4rem 1.8rem;
	text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: 1.2rem; font-weight: 500; line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}
.wp-block-group:has(> #seance) > p strong { font-weight: 700; color: var(--mg-vert); }

/* ———————————————————————— Engagements (et toute rangée d'atouts) ———————————————————————— */
.wp-block-columns:not([class*="are-vertically-aligned"]):has(> .wp-block-column > h3:first-child + p:last-child) > .wp-block-column {
	border-top: 1px solid var(--mg-sauge-claire); padding-top: 1rem;
}
.wp-block-columns:not([class*="are-vertically-aligned"]):has(> .wp-block-column > h3:first-child + p:last-child) > .wp-block-column > h3 {
	font-size: 1.125rem; line-height: 1.3; color: var(--mg-vert); margin-block: 0 0.35rem;
}
.wp-block-columns:not([class*="are-vertically-aligned"]):has(> .wp-block-column > h3:first-child + p:last-child) > .wp-block-column > p {
	font-size: 1rem; color: var(--mg-texte-doux); margin: 0;
}
@media (min-width: 782px) and (max-width: 1100px) {
	.wp-block-columns:not([class*="are-vertically-aligned"]):has(> .wp-block-column:nth-child(4) > h3:first-child + p:last-child) { flex-wrap: wrap !important; }
	.wp-block-columns:not([class*="are-vertically-aligned"]):has(> .wp-block-column:nth-child(4) > h3:first-child + p:last-child) > .wp-block-column { flex-basis: calc(50% - 1.5rem) !important; }
}
#engagements {
	display: flex; align-items: center; gap: 0.6rem;
	font-size: 1.0625rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; color: var(--mg-brique-foncee); margin-block-end: 1.25rem;
}
#engagements::before { content: ""; flex: none; width: 15px; height: 23px; background: var(--mg-etoile) center / contain no-repeat; }

/* ———————————————————————— Qui suis-je : le portrait à sa taille réelle ———————————————————————— */
.wp-block-columns:has(#qui) { gap: clamp(2.5rem, 7vw, 7rem); }
.wp-block-columns:has(#qui) > .wp-block-column:has(> .wp-block-image) { display: flex; justify-content: flex-end; align-items: center; }
.wp-block-columns:has(#qui) .wp-block-image { position: relative; width: 100%; max-width: 360px; margin: 0; }
.wp-block-columns:has(#qui) .wp-block-image::before {
	content: ""; position: absolute; inset: 0; border: 1.5px solid var(--wp--preset--color--accent); border-radius: 44px;
	translate: 10px 10px; pointer-events: none;
}
/* Format portrait fixe (2:3, celui de la photo) : un rapport « auto » laisserait WordPress donner 1 500 px de haut à l'image tant qu'elle n'est pas chargée (sizes="auto"). */
.wp-block-columns:has(#qui) .wp-block-image img { position: relative; width: 100%; height: auto !important; aspect-ratio: 2 / 3 !important; object-fit: cover; border-radius: 44px; }
@media (max-width: 781px) {
	.wp-block-columns:has(#qui) > .wp-block-column:has(> .wp-block-image) { justify-content: flex-start; }
	.wp-block-columns:has(#qui) .wp-block-image { max-width: 300px; }
}

/* ———————————————————————— Témoignages : cartes blanches, guillemet sauge clair ———————————————————————— */
.wp-block-group.is-style-carte:has(> .wp-block-quote) {
	height: 100%; background: var(--mg-blanc); border: 1px solid var(--wp--preset--color--border); border-radius: 26px;
	box-shadow: none; padding: 1.6rem 1.6rem 1.3rem;
}
.wp-block-group.is-style-carte > .wp-block-quote { border: 0; padding: 0; margin: 0; }
.wp-block-group.is-style-carte > .wp-block-quote::before {
	content: "“"; display: block; height: 1.6rem;
	font-family: var(--wp--preset--font-family--heading); font-size: 3.6rem; font-weight: 300; line-height: 0.6; color: var(--mg-sauge-claire);
}
.wp-block-group.is-style-carte > .wp-block-quote p { font-size: 1.0625rem; margin: 0; }
.wp-block-group.is-style-carte > .wp-block-quote cite {
	display: block; margin-top: 1rem; font-style: normal;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 600; color: var(--wp--preset--color--primary);
}
.wp-block-group:has(> #temoignages) > p:last-child { text-align: center; font-weight: 700; }

/* ———————————————————————— Où se déroulent les séances ———————————————————————— */
.wp-block-group:has(> #lieux) p strong {
	display: block; margin-block-start: 0.6rem;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.2rem; font-weight: 600; line-height: 1.4; color: var(--mg-vert);
}

/* ———————————————————————— Envie d'en parler ? (toute bande sombre à boutons) ————————————————————————
 * Le numéro (composition synchronisée « téléphone ») en très grand, Quicksand 300, au-dessus de la pastille brique. */
.is-style-bande-sombre .wp-block-column:has(> .wp-block-buttons) { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.is-style-bande-sombre .wp-block-column:has(> .wp-block-buttons) > * { margin: 0; }
.is-style-bande-sombre .wp-block-column > .wp-block-buttons:has(.is-style-outline) { order: -1; }
.is-style-bande-sombre .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 0; background: none; padding: 0; color: var(--mg-blanc);
	font-family: var(--wp--preset--font-family--heading); font-size: clamp(2rem, 1.4rem + 1.8vw, 2.9rem); font-weight: 300; line-height: 1.1; letter-spacing: 0.01em;
}
.is-style-bande-sombre .wp-block-button.is-style-outline > .wp-block-button__link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.is-style-bande-sombre .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--accent); color: var(--mg-blanc); }
.is-style-bande-sombre .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--mg-brique-foncee); }
.wp-block-post-content > .is-style-bande-sombre:last-child h2 { margin-block-end: 0.8rem; }
.wp-block-post-content > .is-style-bande-sombre:last-child p { font-size: 1.15rem; max-width: 34em; }

/* ———————————————————————— Contre-indications (pages d'approche) : encadré rose pâle (E19) ———————————————————————— */
.wp-block-group:not(.alignfull):has(> [id^="contre-indications"]) {
	background: var(--mg-rose); border-radius: 28px; padding: clamp(1.5rem, 3vw, 2.5rem);
}
.wp-block-group.alignfull:has(> [id^="contre-indications"]) { background: var(--mg-rose); }
.wp-block-group:has(> [id^="contre-indications"]) > [id^="contre-indications"] { margin-block-start: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 500; }
.wp-block-group:has(> [id^="contre-indications"]) a { color: var(--mg-vert); }

/* ———————————————————————— Pied ———————————————————————— */
.mg-pied { color: #eef2e9; }
.mg-pied a { color: #d9e6cc; }
.mg-pied a:hover { color: var(--mg-blanc); }
body:has(.wp-block-post-content > :is(.is-style-bande-sombre, .mg-vert):last-child) .mg-pied { padding-top: var(--wp--preset--spacing--40) !important; }
body:has(.wp-block-post-content > :is(.is-style-bande-sombre, .mg-vert):last-child) .mg-pied-colonnes {
	border-top: 1px solid rgba(238, 242, 233, 0.16); padding-top: var(--wp--preset--spacing--50);
}
.mg-pied-colonnes { gap: 2.5rem; }
.mg-pied p, .mg-pied li { font-size: 1rem; }
.mg-pied .wp-block-site-title a { color: var(--mg-blanc); }
.mg-pied .wp-block-site-tagline { color: #c9d6bd; }
.mg-pied .wpsw-marque { margin-block-end: 1rem; }
.mg-pied :is(.mg-pied-titre, h2.has-large-font-size) {
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem !important; font-weight: 600; letter-spacing: 0.01em;
	color: var(--mg-blanc); margin-block: 0 1rem;
}
.mg-pied .wpsw-rang-menu { margin: 0; padding: 0; border: 0; gap: 0; align-items: flex-start; }
.mg-pied .wpsw-menu-pied { gap: 0.5rem; }
.mg-pied .wpsw-menu-pied .wp-block-navigation-item__content { font-weight: 400; }
.mg-acces a { font-weight: 700; text-decoration: underline; text-underline-offset: 0.2em; }
.mg-pied-bas { border-top: 1px solid rgba(238, 242, 233, 0.16); padding-top: 1.6rem; margin-block-start: var(--wp--preset--spacing--50); }
.mg-menu-legal .wp-block-navigation__container { gap: 0.5rem 1.6rem; }
.mg-menu-legal .wp-block-navigation-item__content { font-weight: 400; font-size: 1rem; }
.mg-pied .wpsw-mention { color: #c9d6bd; opacity: 1; }

/* ———————————————————————— Mouvement réduit ———————————————————————— */
@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks > header:has(.mg-entete), .mg-entete, .corde-lien a, .corde-points li,
	.is-style-bande-sombre .wp-block-list > li::before, .is-style-bande-sombre .wp-block-list > li::after,
	.wp-block-group.is-style-bento > .wp-block-group a { transition: none; }
	html { scroll-behavior: auto; }
}

/* ———————————————————————— Corrections de l'autocritique (run « suite » du 19/10/2026) ———————————————————————— */
/* Tarifs : le prix de chaque séance lisible d'un coup d'œil (Quicksand, brique foncé, à droite), comme sur les cartes de l'accueil. */
.wp-block-group:has(> #tarifs-seances) .is-style-liste-filetee .wp-block-column:last-child > p {
	font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 600; line-height: 1.3;
	color: var(--mg-brique-foncee); text-align: right;
}
/* Cartes de contenu (hors témoignages) : blanches, filet lin, coins 26 px, sans ombre. */
.wp-block-group.is-style-carte:not(:has(> .wp-block-quote)) {
	background: var(--mg-blanc); border: 1px solid var(--wp--preset--color--border); border-radius: 26px; box-shadow: none;
}
/* Introduction des étapes numérotées : lignes de lecture confortables. */
.wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-chiffre:first-child) > p { max-width: 46rem; }
/* Cartes d'approches : « En savoir plus » aligné à gauche, comme la maquette. */
.wp-block-group.is-style-bento > .wp-block-group:has(> .is-style-picto) > p:last-child { text-align: left; }
/* Pied sur mobile : le titre du menu disparaît avec le menu (masqué par wpsw-base, le burger reste). */
@media (max-width: 781px) {
	.mg-pied .wpsw-rang-menu, .mg-pied .mg-pied-colonnes > .wp-block-column:has(.wpsw-rang-menu) > .mg-pied-titre { display: none !important; }
}

/* ———————————————————————— Accueil (tour de corrections 1 : la maquette A, section par section) ————————————————————————
 * Signalement 346 : « je veux la même chose que la maquette ». L'accueil est écrit en blocs natifs à classes `mg-…`
 * (build/contenu/accueil.yml) ; les mesures ci-dessous sont celles de maquettes/piste-a.html (marges, grilles, tailles).
 * Les trois vagues sont des dessins SVG du thème (motifs/vague-*.svg) portés par des blocs Scène : le dessin se pose
 * au-dessus de la bande qu'il ouvre, la bande laisse sa hauteur libre au-dessus d'elle. */
body.home .wp-block-post-content > * { margin-block: 0; }
.mg-scene { position: relative; }
.mg-scene > .wpsw-scene__motif {
	position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); width: 100%; max-width: none !important;
	height: 110px; margin: 0 !important; z-index: 1;
}
.mg-scene > .wpsw-scene__motif svg { overflow: visible; }
.mg-scene > :not(.wpsw-scene__motif) { position: relative; z-index: 2; }

/* Textes communs : titres de section, liens soulignés qui se rétractent, entêtes centrés. */
:is(.mg-scene, .mg-qui, .mg-temoignages, .mg-lieux, .mg-faq) :is(p, h2, h3, ul, ol, figure, blockquote, details) { margin-block: 0; }
:is(.mg-scene, .mg-qui, .mg-temoignages, .mg-lieux, .mg-faq) p { margin-block-end: 1em; }
:is(.mg-scene, .mg-qui, .mg-temoignages, .mg-lieux, .mg-faq) h2 {
	font-size: clamp(2rem, 1.35rem + 2vw, 3rem); font-weight: 400; line-height: 1.15; letter-spacing: -0.01em; text-wrap: balance;
}
:is(.mg-scene, .mg-qui, .mg-temoignages, .mg-lieux, .mg-faq) h3 { font-size: 1.3rem; font-weight: 600; line-height: 1.25; text-wrap: balance; }
:is(.mg-scene, .mg-qui, .mg-temoignages, .mg-lieux, .mg-faq) .is-style-surtitre { margin: 0 0 1rem; }
.mg-entete-section { max-width: 46rem; margin: 0 auto 3rem; text-align: center; }
.mg-entete-section .is-style-surtitre { justify-content: center; }
.mg-entete-section > p:not(.is-style-surtitre) { color: var(--mg-texte-doux); }
.mg-entete-section h2 + p { margin-block-start: 1.1rem !important; }
:is(.mg-lien, .mg-liens-avis) a {
	font-weight: 700; text-decoration: none; color: var(--wp--preset--color--primary);
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px;
	transition: background-size 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
:is(.mg-lien, .mg-liens-avis) a:hover { background-size: 40% 1px; color: var(--mg-vert); }

/* Vous vous reconnaissez peut-être : nuit, vague de 120 px */
/* Bas de la nuit : la vague à lueur de la bande sauge (110 px, .mg-scene) se pose SUR le bas de la nuit ; l'espace du bas
 * compte donc sa hauteur en plus de l'air laissé sous le texte (signalement du 19/10/2026 : ~190 px au bureau). */
.mg-nuit {
	margin-block-start: 120px !important; padding: clamp(2.5rem, 5vw, 4.5rem) 0 calc(110px + clamp(3rem, 6vw, 5rem));
	background: linear-gradient(180deg, var(--mg-nuit), var(--mg-nuit-bas)); color: #e6eedf;
}
.mg-nuit > .wpsw-scene__motif { height: 120px; }
.mg-reconnaitre { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.mg-reconnaitre h2 { color: var(--mg-blanc); margin-block-end: 1.5rem; }
.mg-reconnaitre p { color: #d6e2cc; }
.mg-nuit .is-style-surtitre { color: #b9e4ad; }
.mg-nuage {
	list-style: none; margin: 0.5rem 0 0 !important; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.75rem, 3.5vw, 3.25rem);
	border-top: 1px solid rgba(185, 228, 173, 0.45);
}
.mg-nuage > li {
	position: relative; margin: 0;
	font-weight: 300; font-size: 1.125rem; line-height: 1.45; letter-spacing: 0.005em; color: #eef3e8;
	padding: 0.95rem 0.25rem 0.95rem 2.1rem; border-bottom: 1px solid rgba(238, 243, 232, 0.16);
}
.mg-nuage > li::before {
	content: ""; position: absolute; left: 0; top: 1.75rem; width: 1.15rem; height: 1px; background: var(--mg-lumiere);
	transition: width 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mg-nuage > li::after {
	content: ""; position: absolute; left: 1.15rem; top: calc(1.75rem - 2px); width: 5px; height: 5px; border-radius: 50%;
	background: var(--mg-lumiere); transition: left 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.mg-nuage > li:is(:nth-child(4n+1), :nth-child(4n+4))::after { background: var(--mg-lumiere-rose); }
.mg-nuage > li:hover::before { width: 1.5rem; }
.mg-nuage > li:hover::after { left: 1.5rem; }

/* La longue bande sauge pâle : vague à lueur verte de 110 px, qui mord sur le bas de la nuit */
.mg-sauge { background: var(--wp--preset--color--surface); padding: 1rem 0 clamp(4rem, 8vw, 7rem); }
.mg-nuit + .mg-sauge { margin-block-start: 0 !important; }

/* Les quatre approches */
.mg-cartes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.mg-carte {
	background: var(--mg-blanc); border-radius: 28px; padding: 1.7rem 1.5rem 1.4rem;
	display: flex; flex-direction: column; position: relative;
}
.mg-carte > * { margin-block: 0 !important; }
.mg-carte > .wp-block-image.is-style-picto { width: 116px; margin: 0.4rem auto 1.5rem !important; }
.mg-carte h3 { font-size: 1.25rem; margin-block-end: 0.7rem !important; }
.mg-carte > p:not(.mg-lien) { font-size: 1rem; color: var(--mg-texte-doux); flex: 1; margin-block-end: 1em !important; }
.mg-pied-carte {
	display: flex; justify-content: space-between; align-items: baseline;
	border-top: 1px solid var(--wp--preset--color--border); padding-top: 0.9rem; margin-top: 0.4rem !important;
}
.mg-pied-carte > p { margin: 0 !important; }
.mg-duree { font-family: var(--wp--preset--font-family--heading); font-size: 1rem; font-weight: 600; line-height: 1; color: var(--wp--preset--color--muted); }
.mg-prix { font-family: var(--wp--preset--font-family--heading); font-size: 1.45rem; font-weight: 600; line-height: 1; color: var(--mg-brique-foncee); }
.mg-carte > .mg-lien { margin-top: 1.1rem !important; font-size: 1rem; }
.mg-carte .mg-lien a::after { content: ""; position: absolute; inset: 0; border-radius: 28px; }
.mg-carte:hover .mg-lien a { background-size: 40% 1px; }
.mg-carte:has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.mg-carte a:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; border-radius: 4px; }

/* Quelle approche pour vous ? */
/* Signalements 344 et 345 repris sur l'accueil réécrit (tour de corrections 1) : plus d'air avant et après « Quelle approche
 * pour vous ? » et dans « L'objectif est simple » ; les règles du lot 7 visaient des bandes qui n'existent plus. */
.mg-aiguillage { margin-block-start: clamp(4.5rem, 8vw, 7rem) !important; }
.mg-aiguillage > h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 500; text-align: center; margin-block-end: 2.75rem; }
.mg-choix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.mg-choix > .wp-block-group { position: relative; padding: 1.3rem 1.5rem 0; border-left: 1px solid var(--mg-sauge-claire); }
.mg-choix > .wp-block-group::before {
	content: ""; position: absolute; left: -4px; top: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--primary);
}
.mg-choix p { margin: 0 !important; font-size: 1rem; color: var(--mg-texte-doux); }
.mg-choix .mg-choix-titre {
	font-family: var(--wp--preset--font-family--heading); font-size: 1.125rem; font-weight: 600; line-height: 1.3;
	color: var(--wp--preset--color--contrast); margin-block-end: 0.4rem !important;
}
.mg-choix a { font-weight: 700; }
.mg-hesite {
	margin: 3.25rem 0 0 !important; text-align: center;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 500; line-height: 1.5;
}
.mg-hesite a { font-weight: 700; white-space: nowrap; }

/* Comment se passe une séance */
.mg-seance { margin-block-start: clamp(6rem, 11vw, 9.5rem) !important; }
.mg-temps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 3.5rem); counter-reset: mg-temps; }
.mg-temps > .wp-block-group { counter-increment: mg-temps; position: relative; padding-top: 4.2rem; }
.mg-temps > .wp-block-group::before {
	content: counter(mg-temps); position: absolute; top: 0; left: 0; width: 2.9rem; height: 2.9rem; border-radius: 50%;
	border: 1px solid var(--wp--preset--color--primary); display: grid; place-items: center; background: var(--mg-blanc);
	font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 500; line-height: 1; color: var(--wp--preset--color--primary);
}
.mg-temps > .wp-block-group:not(:last-child)::after {
	content: ""; position: absolute; top: 1.45rem; left: 3.6rem; right: -1rem; height: 1px;
	background: linear-gradient(90deg, var(--mg-sauge-claire), transparent);
}
.mg-temps h3 { font-size: 1.45rem; font-weight: 500; margin-block-end: 0.6rem !important; }
.mg-temps p { font-size: 1.0625rem; color: var(--mg-texte-doux); }
.mg-retours {
	margin: 3rem auto 0 !important; max-width: 48rem;
	background: var(--mg-blanc); border: 1px solid var(--mg-sauge-claire); border-radius: 24px; padding: 1.4rem 1.8rem;
	text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: 1.2rem; font-weight: 500; line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}
.mg-retours strong { font-weight: 700; color: var(--mg-vert); }

/* Mes engagements */
.mg-engagements { margin-block-start: clamp(4rem, 7vw, 6rem) !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.mg-engagements > .wp-block-group { border-top: 1px solid var(--mg-sauge-claire); padding-top: 1rem; }
.mg-engagements h3 { font-size: 1.125rem; line-height: 1.3; color: var(--mg-vert); margin-block-end: 0.35rem !important; }
.mg-engagements p { font-size: 1rem; color: var(--mg-texte-doux); margin: 0 !important; }

/* Qui suis-je */
.mg-qui {
	padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center;
}
.mg-portrait { position: relative; max-width: 360px; width: 100%; justify-self: end; margin: 0 !important; }
.mg-portrait::before {
	content: ""; position: absolute; inset: 0; border: 1.5px solid var(--wp--preset--color--accent); border-radius: 44px;
	translate: 10px 10px; pointer-events: none;
}
.mg-portrait img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 682 / 1024; object-fit: cover; border-radius: 44px; }
.mg-qui-texte h2 + p { margin-block-start: 1.4rem; }
.mg-qui-liste { margin: 1.4rem 0 1.6rem !important; padding: 0; list-style: none; display: grid; gap: 0.55rem; }
.mg-qui-liste > li { position: relative; padding-left: 1.6rem; font-size: 1.0625rem; margin: 0; }
.mg-qui-liste > li::before {
	content: ""; position: absolute; left: 0; top: 0.62em; width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--primary);
}

/* Témoignages : mosaïque à hauteurs libres */
.mg-temoignages { padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 6.5rem); }
.mg-mosaique { columns: 3 300px; column-gap: 1.25rem; }
.mg-mosaique > .mg-avis {
	break-inside: avoid; margin: 0 0 1.25rem !important; background: var(--mg-blanc);
	border: 1px solid var(--wp--preset--color--border); border-radius: 26px; padding: 1.6rem 1.6rem 1.3rem; font-style: normal;
}
.mg-avis::before {
	content: "“"; display: block; height: 1.6rem;
	font-family: var(--wp--preset--font-family--heading); font-size: 3.6rem; font-weight: 300; line-height: 0.6; color: var(--mg-sauge-claire);
}
.mg-avis p { font-size: 1.0625rem; margin: 0 !important; }
.mg-avis cite {
	display: block; margin-top: 1rem; font-style: normal;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.0625rem; font-weight: 600; line-height: 1.2; color: var(--wp--preset--color--primary);
}
.mg-liens-avis { margin: 1.8rem 0 0 !important; text-align: center; }

/* Où se déroulent les séances */
.mg-lieux { padding: clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 6.5rem); }
.mg-lieux-grille { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.mg-cabinet { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.1rem 1.25rem; }
.mg-cabinet > .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 24px; }
.mg-cabinet > .wp-block-image:nth-child(2) { margin-top: 3rem !important; }
.mg-lieux figcaption { font-size: 0.95rem; color: var(--wp--preset--color--muted); margin: 0.5rem 0 0; text-align: left; }
.mg-texte-lieu { grid-column: 1 / -1; margin-top: 0.6rem; }
.mg-lieux h3 { font-size: 1.4rem; font-weight: 500; margin-block-end: 0.6rem !important; }
.mg-adresse {
	font-family: var(--wp--preset--font-family--heading); font-size: 1.2rem; font-weight: 600; line-height: 1.4; color: var(--mg-vert);
	margin: 0.4rem 0 0.8rem !important;
}
.mg-visio > .wp-block-image img { display: block; width: 100%; max-width: 420px; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 22px; }
.mg-visio > .wp-block-image { margin-block-end: 1.2rem !important; }

/* Questions fréquentes */
.mg-faq { padding: 0 0 clamp(5rem, 9vw, 7.5rem); }
.mg-faq-liste { max-width: 52rem; margin: 0 auto; }
.mg-faq-liste > .wp-block-details { padding: 0; margin: 0 !important; border-block-end: 1px solid var(--wp--preset--color--border); }
.mg-faq-liste > .wp-block-details:first-child { border-block-start: 1px solid var(--wp--preset--color--border); }
.mg-faq-liste > .wp-block-details > summary {
	align-items: center; gap: 1.5rem; padding: 1.25rem 0.25rem; margin: 0;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.15rem; font-weight: 600; line-height: 1.35;
}
.mg-faq-liste > .wp-block-details > summary::after,
.mg-faq-liste > .wp-block-details[open] > summary::after {
	content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--mg-sauge-claire);
	background: linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary)) center / 11px 1.5px no-repeat,
		linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary)) center / 1.5px 11px no-repeat;
	transition: transform 0.4s;
}
.mg-faq-liste > .wp-block-details[open] > summary::after { transform: rotate(45deg); }
.mg-faq-liste > .wp-block-details > p { padding: 0 0.25rem 1.3rem; margin: 0 !important; max-width: 44rem; color: #323b2c; }

/* Envie d'en parler ? : vert sombre, vague de 100 px, même aplat que le pied */
.mg-vert { margin-block-start: 100px !important; background: var(--mg-vert); color: #eef2e9; }
.mg-vert > .wpsw-scene__motif { height: 100px; }
.mg-vert a { color: #d9e6cc; }
.mg-appel {
	padding: 1.5rem 0 4rem; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2rem 4rem; align-items: center;
}
.mg-appel h2 { color: var(--mg-blanc); margin-block-end: 0.8rem; }
.mg-appel p { font-size: 1.15rem; margin: 0; max-width: 34em; color: #eef2e9; }
.mg-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.mg-actions > * { margin: 0 !important; }
.mg-actions .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 0; background: none; padding: 0; color: var(--mg-blanc);
	font-family: var(--wp--preset--font-family--heading); font-size: clamp(2rem, 1.4rem + 1.8vw, 2.9rem); font-weight: 300; line-height: 1.1; letter-spacing: 0.01em;
}
.mg-actions .wp-block-button.is-style-outline > .wp-block-button__link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.mg-actions .mg-rdv .wp-block-button__link { background: var(--wp--preset--color--accent); color: var(--mg-blanc); min-height: 48px; padding: 0.7rem 1.5rem; }
.mg-actions .mg-rdv .wp-block-button__link:hover { background: #ad3936; }
body:has(.wp-block-post-content > .mg-vert:last-child) .mg-pied { padding-top: 0 !important; }

/* Tablette */
@media (max-width: 1100px) {
	.mg-cartes, .mg-choix, .mg-engagements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Mobile */
@media (max-width: 860px) {
	.mg-scene > .wpsw-scene__motif, .mg-nuit > .wpsw-scene__motif, .mg-vert > .wpsw-scene__motif { height: 70px; }
	.mg-nuit, .mg-vert { margin-block-start: 70px !important; }
	.mg-reconnaitre, .mg-qui, .mg-lieux-grille, .mg-appel { grid-template-columns: minmax(0, 1fr); }
	.mg-cartes, .mg-choix, .mg-temps, .mg-engagements, .mg-nuage { grid-template-columns: minmax(0, 1fr); }
	.mg-choix > .wp-block-group { padding-top: 1rem; }
	.mg-temps > .wp-block-group { padding: 0 0 0 4rem; min-height: 3rem; }
	.mg-temps > .wp-block-group::after { display: none !important; }
	.mg-portrait { justify-self: start; max-width: 300px; }
	.mg-lieux figcaption { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.mg-nuage > li::before, .mg-nuage > li::after, .mg-faq-liste summary::after, :is(.mg-lien, .mg-liens-avis) a { transition: none; }
}
/* Bas du pied, comme la maquette : la mention à gauche, les pages légales à droite (en colonne sur mobile). */
.mg-pied-bas { align-items: center; gap: 1rem; }
.mg-pied-bas > * { margin: 0 !important; }
.mg-pied-bas .wpsw-mention { font-size: 0.95rem !important; }
/* Dans les grilles de l'accueil, l'espace vient de la grille : pas de marge de flux de WordPress entre les éléments. */
:is(.mg-reconnaitre, .mg-cartes, .mg-choix, .mg-temps, .mg-engagements, .mg-qui, .mg-mosaique, .mg-lieux-grille, .mg-cabinet, .mg-appel, .mg-actions) > * { margin-block-start: 0 !important; }
.mg-cabinet > .wp-block-image:nth-child(2) { margin-block-start: 3rem !important; }
/* Les bandes (Scènes) gardent la marge latérale du site : leur contenu ne touche jamais le bord de l'écran. */
.mg-scene { padding-inline: var(--wp--style--root--padding-left, 1.25rem) var(--wp--style--root--padding-right, 1.25rem); }

/* ———————————————————————— Pages intérieures (tour de corrections 2, 19/10/2026) ————————————————————————
 * Demande de l'utilisateur : les pages secondaires dans l'esprit de l'accueil et de la maquette A, moins austères.
 * Tout ce qui suit est limité aux pages autres que l'accueil (body:not(.home)) : l'accueil validé ne bouge pas.
 * - En-tête : bande sauge pâle à vague, titre Quicksand léger, le picto propre à la page dans un disque blanc cerclé
 *   d'un fil sauge (bloc Image au style « Cercle », proportions carrées : le SVG n'est jamais recadré).
 * - Un même bord gauche pour tout le texte, aligné sur la grille large ; titres de section à étoile ; plus d'air.
 * - Cartes blanches arrondies à point brique, listes filetées à cercles, frise des étapes, tarifs dans une carte,
 *   témoignages en mosaïque de citations, questions à cercles +, photos arrondies, portraits à leurs proportions.
 * - Mouvement (site.js) : apparitions et cascade rejouées, tracé du picto de l'en-tête ; état masqué seulement
 *   sous html.mg-mouvement (posé par le script, jamais sous mouvement réduit). */

/* Un seul bord gauche : les blocs de largeur « contenu » s'alignent sur la grille large au lieu d'être centrés. */
body:not(.home) .wp-block-post-content > :where(:not(.alignfull):not(.alignwide)),
body:not(.home) .wp-block-post-content > .alignfull > :where(:not(.alignfull):not(.alignwide)) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}
body:not(.home) .wp-block-post-content p { text-wrap: pretty; }

/* Titres de section : Quicksand 400, l'étoile au-dessus (le surtitre de la maquette), de l'air avant. */
body:not(.home) .wp-block-post-content h2.wp-block-heading {
	font-size: clamp(1.9rem, 1.35rem + 1.6vw, 2.6rem); font-weight: 400; line-height: 1.15; letter-spacing: -0.01em;
	text-align: left; margin-block-end: 1.4rem;
}
/* Les titres à ancre (#faq, #temoignages…) que la règle des anciennes pages centrait : à gauche, comme les autres. */
body:not(.home) h2:is(#approches, #seance, #temoignages, #lieux, #faq) { text-align: left; }
body:not(.home) h2:is(#approches, #seance, #temoignages, #lieux, #faq)::before { margin: 0 0 0.9rem; }
body:not(.home) .wp-block-post-content h2.wp-block-heading::before {
	content: ""; display: block; width: 15px; height: 23px; margin: 0 0 0.9rem;
	background: var(--mg-etoile) center / contain no-repeat;
}
body:not(.home) .wp-block-post-content .is-style-bande-sombre h2.wp-block-heading::before,
body.page-template-default .wp-block-post-content h2.wp-block-heading::before,
body:has(.wp-block-post-content > :first-child img[src*="picto-legal"]) .wp-block-post-content h2.wp-block-heading::before { content: none; }
body:not(.home) .wp-block-post-content > h2.wp-block-heading:not(:first-child) { margin-block-start: clamp(4rem, 8vw, 6.5rem); }
body:not(.home) .wp-block-post-content h3.wp-block-heading { font-weight: 600; line-height: 1.3; }
body:not(.home) .wp-block-post-content > h3.wp-block-heading:not(:first-child) { margin-block-start: clamp(2.5rem, 5vw, 3.5rem); }
body:not(.home) .wp-block-post-content .wp-block-group.alignwide > h2.wp-block-heading + p { color: var(--mg-texte-doux); max-width: 46rem; margin-block-end: 2.2rem; }

/* Listes : filets lin et petits cercles sauge (hors bande sombre). */
body:not(.home) .wp-block-post-content ul.wp-block-list:not(.is-style-bande-sombre ul) {
	list-style: none; padding: 0; margin-block: 1.2rem 1.6rem; border-top: 1px solid var(--wp--preset--color--border);
}
body:not(.home) .wp-block-post-content ul.wp-block-list:not(.is-style-bande-sombre ul) > li {
	position: relative; margin: 0; padding: 0.75rem 0.25rem 0.75rem 1.9rem; border-bottom: 1px solid var(--wp--preset--color--border);
}
body:not(.home) .wp-block-post-content ul.wp-block-list:not(.is-style-bande-sombre ul) > li::before {
	content: ""; position: absolute; left: 0.2rem; top: calc(0.75rem + 0.55em); width: 9px; height: 9px; border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--primary);
}
body:not(.home) .wp-block-post-content ol.wp-block-list > li { padding-left: 0.3rem; margin-block: 0.45rem; }
body:not(.home) .wp-block-post-content ol.wp-block-list > li::marker { font-family: var(--wp--preset--font-family--heading); font-weight: 600; color: var(--wp--preset--color--primary); }

/* Liens dans le texte : soulignement fin qui se rétracte au survol (comme l'accueil). */
body:not(.home) .wp-block-post-content :is(p, li) > a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--primary); font-weight: 700; text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 1px;
	transition: background-size 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}
body:not(.home) .wp-block-post-content :is(p, li) > a:not(.wp-block-button__link):hover { background-size: 40% 1px; color: var(--mg-vert); }
body:not(.home) .wp-block-post-content .is-style-bande-sombre :is(p, li) > a:not(.wp-block-button__link) { color: #d9e6cc; }

/* ——— En-tête de page : titre, chapeau et le picto de la page ——— */
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child { padding-block: clamp(3rem, 7vw, 5.5rem) clamp(2.5rem, 5vw, 4rem) !important; }
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child h1.wp-block-heading {
	font-size: clamp(2.4rem, 1.5rem + 2.8vw, 3.7rem) !important; font-weight: 300; line-height: 1.08; letter-spacing: -0.015em;
	margin-block: 0.2rem 1.3rem; max-width: 15em;
}
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .is-style-surtitre { margin-block-end: 1rem; }
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child h1 ~ p { font-size: 1.1875rem; line-height: 1.6; color: #323b2c; max-width: 38em; }
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-columns { gap: clamp(2rem, 6vw, 6rem); }
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle {
	position: relative; width: clamp(170px, 18vw, 240px); margin: 1rem auto !important;
}
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle :is(img, svg.mg-picto) {
	display: block; box-sizing: border-box; width: 100%; height: auto; aspect-ratio: 1 !important; object-fit: contain !important;
	padding: 17%; border-radius: 50%; background: var(--mg-blanc);
	box-shadow: 0 0 0 16px var(--wp--preset--color--surface), 0 0 0 17px rgba(128, 153, 113, 0.55), 0 30px 60px -40px rgba(38, 46, 33, 0.45);
}
/* Un petit point sauge posé sur le fil qui cercle le disque. */
body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle::after {
	content: ""; position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--primary);
	left: calc(85.36% + 11.7px); top: calc(14.64% - 11.7px); translate: -50% -50%;
}
@media (max-width: 781px) {
	body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-columns { flex-direction: column-reverse; align-items: flex-start !important; gap: 1.6rem; }
	body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle { width: 116px; margin: 0.6rem 0 0 12px !important; }
	body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle :is(img, svg.mg-picto) {
		box-shadow: 0 0 0 10px var(--wp--preset--color--surface), 0 0 0 11px rgba(128, 153, 113, 0.55);
	}
	body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child .wp-block-image.is-style-cercle::after { left: calc(85.36% + 7.4px); top: calc(14.64% - 7.4px); }
	body:not(.home) .wp-block-post-content > .is-style-bande-teintee:first-child h1 ~ p { font-size: 1.0625rem; }
}

/* Pages légales produites par le build (titre de la page, modèle par défaut) : la même bande, le picto des pages légales. */
body.page-template-default main > .wp-block-post-title {
	position: relative; max-width: none !important;
	margin: 0 calc(-1 * var(--wp--style--root--padding-right)) 0 calc(-1 * var(--wp--style--root--padding-left)) !important;
	padding-block: clamp(3rem, 7vw, 5.5rem) clamp(2.5rem, 5vw, 4rem);
	padding-inline: max(var(--wp--style--root--padding-left), calc((100vw - var(--wp--style--global--wide-size)) / 2));
	padding-right: calc(max(var(--wp--style--root--padding-right), calc((100vw - var(--wp--style--global--wide-size)) / 2)) + clamp(170px, 18vw, 240px) + 4rem);
	background: var(--wp--preset--color--surface);
	font-size: clamp(2.4rem, 1.5rem + 2.8vw, 3.7rem); font-weight: 300; line-height: 1.08; letter-spacing: -0.015em;
	min-height: calc(clamp(170px, 18vw, 240px) + 2rem); display: flex; align-items: center;
}
body.page-template-default main > .wp-block-post-title::before {
	content: ""; position: absolute; top: 50%; translate: 0 -50%; width: clamp(170px, 18vw, 240px); aspect-ratio: 1; border-radius: 50%;
	right: calc(max(var(--wp--style--root--padding-right), calc((100vw - var(--wp--style--global--wide-size)) / 2)) + 1rem);
	background: var(--mg-blanc) url("../pictos/picto-legal.svg") center / 66% no-repeat;
	box-shadow: 0 0 0 16px var(--wp--preset--color--surface), 0 0 0 17px rgba(128, 153, 113, 0.55);
}
body.page-template-default main > .wp-block-post-title::after {
	content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px); height: var(--mg-vague-bas);
	background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 80%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 0H1440V34C1250 74 1010 80 760 52S300 6 0 40Z%27 fill=%27%23eef2e9%27/%3E%3C/svg%3E") no-repeat center / 100% 100%; pointer-events: none;
}
body.page-template-default main > .wp-block-post-title + .wp-block-post-content { margin-block-start: calc(var(--wp--preset--spacing--60) + var(--mg-vague-bas)); }
@media (max-width: 781px) {
	body.page-template-default main > .wp-block-post-title { display: block; padding-right: var(--wp--style--root--padding-right); min-height: 0; }
	body.page-template-default main > .wp-block-post-title::before {
		position: static; display: block; translate: none; width: 116px; margin: 0.6rem 0 2rem 12px;
		box-shadow: 0 0 0 10px var(--wp--preset--color--surface), 0 0 0 11px rgba(128, 153, 113, 0.55);
	}
}

/* ——— Cartes : blanches, coins 28 px, point brique devant le titre, prix en pied ——— */
body:not(.home) .wp-block-post-content .wp-block-columns:has(> .wp-block-column > .is-style-carte) { gap: 1.25rem; }
body:not(.home) .wp-block-post-content .wp-block-columns:has(> .wp-block-column > .is-style-carte) + .wp-block-columns { margin-block-start: 1.25rem; }
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)) {
	position: relative; height: 100%; box-sizing: border-box; border-radius: 28px;
	padding: clamp(1.4rem, 2.4vw, 2rem) !important;
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s;
}
body:not(.home) .wp-block-post-content .is-style-bande-teintee .is-style-carte:not(:has(> .wp-block-quote)) { border-color: transparent; }
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)) > * { margin-block: 0; }
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)) > h3 {
	display: flex; align-items: baseline; gap: 0.65rem; font-size: 1.25rem; color: var(--mg-vert); margin-block-end: 0.8rem;
}
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote, > .wp-block-image)) > h3::before {
	content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); translate: 0 -0.2em;
}
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)) > p { font-size: 1.0625rem; line-height: 1.8; color: var(--mg-texte-doux); }
body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)) > p + p { margin-block-start: 0.9rem; }
body:not(.home) .wp-block-post-content .is-style-carte > p > br:has(+ strong:last-child) { display: none; }
body:not(.home) .wp-block-post-content .is-style-carte > p > strong:last-child {
	display: block; margin-block-start: 1.1rem; padding-block-start: 0.9rem; border-top: 1px solid var(--wp--preset--color--border);
	font-family: var(--wp--preset--font-family--heading); font-size: 1.3rem; font-weight: 600; line-height: 1.25; color: var(--mg-brique-foncee);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	body:not(.home) .wp-block-post-content .is-style-carte:not(:has(> .wp-block-quote)):hover { transform: translateY(-3px); box-shadow: 0 22px 44px -32px rgba(38, 46, 33, 0.4); }
}
/* Cartes à picto (blog) : le picto dans un disque sauge pâle, toute la carte cliquable. */
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-image.is-style-cercle { width: 104px; margin-block-end: 1.3rem; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-image.is-style-cercle img {
	box-sizing: border-box; padding: 16%; object-fit: contain !important; background: var(--wp--preset--color--surface); border-radius: 50%;
}
body:not(.home) .wp-block-post-content .is-style-carte:has(> .wp-block-image) > p:last-child a::after { content: ""; position: absolute; inset: 0; border-radius: 28px; }
body:not(.home) .wp-block-post-content .is-style-carte:has(> .wp-block-image):has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* ——— Étapes en frise : cercles plus grands, titres Quicksand ——— */
body:not(.home) .wp-block-post-content .wp-block-columns > .wp-block-column > .is-style-chiffre:first-child { width: 3.3rem; height: 3.3rem; font-size: 1.2rem; }
body:not(.home) .wp-block-post-content .wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) > .wp-block-column:not(:last-child)::after { top: 1.65rem; left: 4rem; }
body:not(.home) .wp-block-post-content .wp-block-columns:has(> .wp-block-column > .is-style-chiffre:first-child) { margin-block-start: 2.2rem; }

/* ——— Listes filetées (services, durées, tarifs) ——— */
body:not(.home) .wp-block-post-content .is-style-liste-filetee > .wp-block-columns {
	margin: 0 !important; padding-block: 1.3rem !important; gap: 0.5rem 2.5rem; align-items: baseline;
	border-block-start: 1px solid var(--wp--preset--color--border);
}
body:not(.home) .wp-block-post-content .is-style-liste-filetee > .wp-block-columns:last-child { border-block-end: 1px solid var(--wp--preset--color--border); }
body:not(.home) .wp-block-post-content .is-style-liste-filetee > .wp-block-columns > .wp-block-column > * { margin-block: 0; }
body:not(.home) .wp-block-post-content .is-style-liste-filetee > .wp-block-columns > .wp-block-column > * + * { margin-block-start: 0.45rem; }
body:not(.home) .wp-block-post-content .is-style-liste-filetee h3 { font-size: 1.15rem; color: var(--mg-vert); }
/* Dans une bande sauge, ou pour la grille des tarifs : la liste dans une carte blanche. */
body:not(.home) .wp-block-post-content :is(.is-style-bande-teintee .is-style-liste-filetee, .wp-block-group:has(> #tarifs-seances) > .is-style-liste-filetee) {
	background: var(--mg-blanc); border: 1px solid var(--wp--preset--color--border); border-radius: 28px;
	padding: 0.4rem clamp(1.25rem, 3vw, 2.5rem) !important;
}
body:not(.home) .wp-block-post-content .is-style-bande-teintee .is-style-liste-filetee { border-color: transparent; }
body:not(.home) .wp-block-post-content :is(.is-style-bande-teintee .is-style-liste-filetee, .wp-block-group:has(> #tarifs-seances) > .is-style-liste-filetee) > .wp-block-columns:first-child { border-block-start: 0; }
body:not(.home) .wp-block-post-content :is(.is-style-bande-teintee .is-style-liste-filetee, .wp-block-group:has(> #tarifs-seances) > .is-style-liste-filetee) > .wp-block-columns:last-child { border-block-end: 0; }
/* Tarifs : le prix en grand, toujours sur la même ligne que la prestation (aussi sur mobile). */
body:not(.home) .wp-block-group:has(> :is(#tarifs-seances, #tarifs)) .is-style-liste-filetee > .wp-block-columns { flex-wrap: nowrap !important; }
body:not(.home) .wp-block-group:has(> :is(#tarifs-seances, #tarifs)) .is-style-liste-filetee > .wp-block-columns > .wp-block-column:first-child { flex: 1 1 auto !important; }
body:not(.home) .wp-block-group:has(> :is(#tarifs-seances, #tarifs)) .is-style-liste-filetee > .wp-block-columns > .wp-block-column:last-child { flex: 0 0 auto !important; max-width: 50%; }
body:not(.home) .wp-block-group:has(> :is(#tarifs-seances, #tarifs)) .is-style-liste-filetee h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.0625rem; font-weight: 600; color: var(--wp--preset--color--contrast); }
body:not(.home) .wp-block-group:has(> :is(#tarifs-seances, #tarifs)) .is-style-liste-filetee .wp-block-column:last-child > p {
	font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.55rem); font-weight: 600; line-height: 1.2;
	color: var(--mg-brique-foncee); text-align: right; white-space: nowrap;
}

/* ——— Témoignages : vraies citations, en mosaïque à hauteurs libres ——— */
body:not(.home) .wp-block-post-content .wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-carte > .wp-block-quote) {
	columns: 3 290px; column-gap: 1.25rem;
}
body:not(.home) .wp-block-post-content .wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-carte > .wp-block-quote) > :not(.wp-block-columns) { column-span: all; }
body:not(.home) .wp-block-post-content .wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-carte > .wp-block-quote) > .wp-block-columns,
body:not(.home) .wp-block-post-content .wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-carte > .wp-block-quote) > .wp-block-columns > .wp-block-column { display: contents; }
body:not(.home) .wp-block-post-content .is-style-carte:has(> .wp-block-quote) {
	display: block; height: auto; break-inside: avoid; margin: 0 0 1.25rem !important; border-radius: 28px; padding: 1.7rem 1.7rem 1.4rem !important;
}
body:not(.home) .wp-block-post-content .is-style-bande-teintee .is-style-carte:has(> .wp-block-quote) { border-color: transparent; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-quote::before { font-size: 4.4rem; height: 2rem; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-quote p { font-size: 1.125rem; line-height: 1.65; color: #323b2c; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-quote cite { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.1rem; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-quote cite::before { content: ""; flex: none; width: 18px; height: 1px; background: var(--mg-sauge-claire); }
body:not(.home) .wp-block-post-content .wp-block-group:has(> .wp-block-columns > .wp-block-column > .is-style-carte > .wp-block-quote) > p:last-child { text-align: center; margin-block-start: 0.8rem; }
/* Citation seule (article) : grande, Quicksand, filet sauge à gauche. */
body:not(.home) .wp-block-post-content > .wp-block-quote, body:not(.home) .wp-block-post-content > .alignfull > .wp-block-quote {
	border-left: 2px solid var(--mg-sauge-claire); padding: 0.4rem 0 0.4rem 1.6rem; margin-block: 2.5rem;
}
body:not(.home) .wp-block-post-content > .wp-block-quote p, body:not(.home) .wp-block-post-content > .alignfull > .wp-block-quote p {
	font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.65rem); font-weight: 400; line-height: 1.45; color: var(--mg-vert);
}

/* ——— Questions fréquentes : filets lin, cercle + ——— */
body:not(.home) .wp-block-post-content .wp-block-details { padding: 0; margin-block: 0 !important; }
body:not(.home) .wp-block-post-content .wp-block-details > summary {
	align-items: center; gap: 1.5rem; padding: 1.25rem 0.25rem; margin: 0;
	font-family: var(--wp--preset--font-family--heading); font-size: 1.15rem; font-weight: 600; line-height: 1.35;
}
body:not(.home) .wp-block-post-content .wp-block-details > summary::after,
body:not(.home) .wp-block-post-content .wp-block-details[open] > summary::after {
	content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--mg-sauge-claire); background-color: var(--mg-blanc);
	background-image: linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary)), linear-gradient(var(--wp--preset--color--primary), var(--wp--preset--color--primary));
	background-position: center; background-size: 11px 1.5px, 1.5px 11px; background-repeat: no-repeat;
	transition: transform 0.4s;
}
body:not(.home) .wp-block-post-content .wp-block-details[open] > summary::after { transform: rotate(45deg); }
body:not(.home) .wp-block-post-content .wp-block-details > :not(summary) { padding: 0 3.5rem 1.3rem 0.25rem; margin: 0; color: #323b2c; }

/* ——— Photos : coins arrondis ; portraits de Marie à leurs proportions d'origine, liseré brique décalé ——— */
body:not(.home) .wp-block-post-content .wp-block-image:not(.is-style-cercle) img { border-radius: 24px; }
body:not(.home) .wp-block-post-content .wp-block-image:has(img[src*="/portrait"]) { position: relative; width: 100%; max-width: 340px; margin-inline: auto; }
body:not(.home) .wp-block-post-content .wp-block-image:has(img[src*="/portrait"])::before {
	content: ""; position: absolute; inset: 0; border: 1.5px solid var(--wp--preset--color--accent); border-radius: 40px; translate: 10px 10px; pointer-events: none;
}
body:not(.home) .wp-block-post-content .wp-block-image:has(img[src*="/portrait"]) img {
	position: relative; display: block; width: 100%; height: auto !important; aspect-ratio: auto 682 / 1024 !important; object-fit: contain !important; border-radius: 40px;
}
body:not(.home) .wp-block-post-content .wp-block-columns:has(> .wp-block-column > .wp-block-image img[src*="/portrait"]) { gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
@media (max-width: 781px) {
	body:not(.home) .wp-block-post-content .wp-block-image:has(img[src*="/portrait"]) { max-width: 280px; margin-inline: 0 auto; }
}

/* ——— Rendez-vous : le formulaire dans une carte blanche ——— */
body:not(.home) .wp-block-post-content .wp-block-column:has(> .wp-block-contact-form-7-contact-form-selector, > .wpcf7, .wpcf7) {
	background: var(--mg-blanc); border: 1px solid var(--wp--preset--color--border); border-radius: 28px; padding: clamp(1.4rem, 3vw, 2.4rem);
}

/* ——— Mouvement des pages intérieures (site.js) ——— */
@media (prefers-reduced-motion: no-preference) {
	.mg-mouvement .mg-revele {
		transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), translate 0.9s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s;
		transition-delay: calc(var(--mg-i, 0) * 90ms), calc(var(--mg-i, 0) * 90ms), 0s, 0s;
	}
	.mg-mouvement .mg-revele:not(.mg-vu) { opacity: 0; translate: 0 26px; }
	.mg-trace .mg-trait { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.5s cubic-bezier(0.45, 0.05, 0.25, 1) calc(0.2s + var(--mg-i, 0) * 0.3s); }
	.mg-trace.mg-dessine .mg-trait { stroke-dashoffset: 0; }
	.mg-trace :is(.mg-point, .mg-point-brique) { transform-box: fill-box; transform-origin: center; transform: scale(0); transition: transform 0.7s cubic-bezier(0.3, 1.5, 0.5, 1) 1.2s; }
	.mg-trace.mg-dessine .mg-point-brique { transition-delay: 1.6s; }
	.mg-trace.mg-dessine :is(.mg-point, .mg-point-brique) { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	body:not(.home) .wp-block-post-content :is(p, li) > a, body:not(.home) .wp-block-post-content .wp-block-details > summary::after { transition: none; }
}

/* Cartes du blog : le titre de l'article (titre de niveau 2 de la carte) sans étoile ; le picto à sa taille. */
body:not(.home) .wp-block-post-content .is-style-carte > h2.wp-block-heading { font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.6rem); font-weight: 500; line-height: 1.25; color: var(--mg-vert); margin-block: 0 0.7rem; }
body:not(.home) .wp-block-post-content .is-style-carte > h2.wp-block-heading::before { content: none; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-image.is-style-cercle img { width: 100%; height: auto; }
body:not(.home) .wp-block-post-content .is-style-carte > .wp-block-image.is-style-cercle { margin-inline: 0; }
/* Pages légales : la bande du titre colle à l'en-tête ; de l'air entre les rubriques regroupées. */
body.page-template-default main:has(> .wp-block-post-title) { margin-block-start: 0 !important; padding-block-start: 0 !important; }
body:not(.home) .wp-block-post-content > .wp-block-group:not(.alignfull):not(.alignwide):not(:first-child) { margin-block-start: clamp(3rem, 6vw, 4.5rem); }
/* Sections à valider (photo à confirmer) dans une grille large : leur contenu garde la largeur de la grille. */
body:not(.home) .wp-block-post-content .alignwide > .a-valider.is-layout-constrained > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
/* Remise à zéro sans transition (l'élément est alors hors de la fenêtre) : le rejeu repart toujours du début. */
.mg-trace:not(.mg-dessine) :is(.mg-trait, .mg-point, .mg-point-brique),
.mg-mouvement .mg-revele:not(.mg-vu) { transition-duration: 0s !important; transition-delay: 0s !important; }
