/* ==========================================================================
   Magnétisme & Thérapies : styles complémentaires à theme.json.
   Couleurs, typos et espacements : variables --wp--preset--* (theme.json).
   ========================================================================== */

:root {
	--mt-radius: 20px;
	--mt-radius-s: 12px;
	--mt-shadow: 0 14px 40px rgb(30 70 34 / 0.14);
	--mt-shadow-s: 0 4px 16px rgb(30 70 34 / 0.09);

	/* Icônes (SVG en masque, prennent la couleur du texte). */
	--i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E");
	--i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1Z'/%3E%3C/svg%3E");
	--i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5Z'/%3E%3C/svg%3E");
	--i-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12a10 10 0 1 0-11.56 9.88v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.78-3.89 1.09 0 2.24.2 2.24.2v2.46h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.44 2.89h-2.34v6.99A10 10 0 0 0 22 12Z'/%3E%3C/svg%3E");
	--i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	--i-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13V5.5a1.5 1.5 0 0 1 3 0V12'/%3E%3Cpath d='M11 11.5v-7a1.5 1.5 0 0 1 3 0V12'/%3E%3Cpath d='M14 6.5a1.5 1.5 0 0 1 3 0V13'/%3E%3Cpath d='M17 9.5a1.5 1.5 0 0 1 3 0V15a7 7 0 0 1-7 7h-1.2a7 7 0 0 1-5.3-2.4L3.3 16a1.6 1.6 0 0 1 2.4-2.1L8 16'/%3E%3C/svg%3E");
	--i-spine: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20'/%3E%3Crect x='8' y='3' width='8' height='4' rx='2'/%3E%3Crect x='7.5' y='10' width='9' height='4' rx='2'/%3E%3Crect x='8' y='17' width='8' height='4' rx='2'/%3E%3C/svg%3E");
	--i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.7-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 9c0 6.3-8 11-8 11Z'/%3E%3C/svg%3E");
	--i-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E");
	--i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11 12 3l9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
	--i-sound: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h2M7 8v8M11 5v14M15 8v8M19 10v4'/%3E%3C/svg%3E");
	--i-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3Cpath d='m16 10 6-3v10l-6-3'/%3E%3C/svg%3E");
	--i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-9 5-14 15-15-1 10-6 15-15 15Z'/%3E%3Cpath d='M5 19 13 11'/%3E%3C/svg%3E");
	--i-butterfly: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8v11'/%3E%3Cpath d='M12 8 10.4 5.2M12 8l1.6-2.8'/%3E%3Cpath d='M12 10.5C10.2 6.6 6.3 4.4 4.2 5.6 2.4 6.7 3.2 11 7 12c-3 1-3.8 4-2.3 5.4 1.8 1.7 5.3-.4 7.3-4.4'/%3E%3Cpath d='M12 10.5c1.8-3.9 5.7-6.1 7.8-4.9 1.8 1.1 1 5.4-2.8 6.4 3 1 3.8 4 2.3 5.4-1.8 1.7-5.3-.4-7.3-4.4'/%3E%3C/svg%3E");
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E");
	--i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");

	/* Ondes concentriques (filigrane des bandeaux sombres). */
	--mt-ripples: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600' fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Ccircle cx='300' cy='300' r='40'/%3E%3Ccircle cx='300' cy='300' r='76'/%3E%3Ccircle cx='300' cy='300' r='112'/%3E%3Ccircle cx='300' cy='300' r='148'/%3E%3Ccircle cx='300' cy='300' r='184'/%3E%3Ccircle cx='300' cy='300' r='220'/%3E%3Ccircle cx='300' cy='300' r='256'/%3E%3Ccircle cx='300' cy='300' r='292'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
/* Ancres (#le-son…) : le titre visé ne passe pas sous l'en-tête collant. */
[id] { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

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

::selection { background: var(--wp--preset--color--gold-light); color: var(--wp--preset--color--ink); }

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	z-index: 1000;
}

/* --- Icônes ----------------------------------------------------------------- */

.mt-ico::before {
	content: "";
	display: inline-block;
	flex: none;
	width: 1.1em;
	height: 1.1em;
	background: currentColor;
	-webkit-mask: var(--mt-i) center / contain no-repeat;
	mask: var(--mt-i) center / contain no-repeat;
}
.is-icon-pin { --mt-i: var(--i-pin); }
.is-icon-phone { --mt-i: var(--i-phone); }
.is-icon-mail { --mt-i: var(--i-mail); }
.is-icon-facebook { --mt-i: var(--i-facebook); }
.is-icon-clock { --mt-i: var(--i-clock); }
.is-icon-hand { --mt-i: var(--i-hand); }
.is-icon-spine { --mt-i: var(--i-spine); }
.is-icon-heart { --mt-i: var(--i-heart); }
.is-icon-sun { --mt-i: var(--i-sun); }
.is-icon-home { --mt-i: var(--i-home); }
.is-icon-sound { --mt-i: var(--i-sound); }
.is-icon-video { --mt-i: var(--i-video); }
.is-icon-leaf { --mt-i: var(--i-leaf); }
.is-icon-butterfly { --mt-i: var(--i-butterfly); }

/* Pastille ronde avec icône en tête de bloc : classes « mt-has-icon is-icon-xxx »
   sur une carte (pas de bloc vide à gérer dans l'éditeur). */
.mt-has-icon { position: relative; }
.mt-has-icon::before {
	content: "";
	display: block;
	flex: none;
	width: 3.6rem;
	height: 3.6rem;
	margin-bottom: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--sand);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--gold-light);
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.mt-has-icon::after {
	content: "";
	position: absolute;
	top: calc(var(--mt-pad, 0px) + 0.95rem);
	left: calc(var(--mt-pad, 0px) + 0.95rem);
	width: 1.7rem;
	height: 1.7rem;
	background: var(--wp--preset--color--gold);
	-webkit-mask: var(--mt-i) center / contain no-repeat;
	mask: var(--mt-i) center / contain no-repeat;
	transition: background-color 0.3s ease;
}

/* --- Bandeau du haut -------------------------------------------------------- */

.mt-topbar p {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.35rem 1.75rem;
	margin: 0;
}
.mt-topbar .mt-ico { display: inline-flex; align-items: center; gap: 0.45rem; }
.mt-topbar .mt-ico::before { opacity: 0.75; width: 0.95em; height: 0.95em; color: var(--wp--preset--color--gold-light); }
.mt-topbar .is-icon-pin { margin-right: auto; }
.mt-topbar a { color: inherit; text-decoration: none; font-weight: 700; }
.mt-topbar a:hover { color: var(--wp--preset--color--gold-light); }

@media (max-width: 781px) {
	.mt-topbar .is-icon-pin { display: none; }
	.mt-topbar p { justify-content: center; }
}

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

.mt-site-header {
	/* flow-root : sans lui, la marge négative du bandeau du haut fusionne avec l'en-tête et rien ne se replie. */
	display: flow-root;
	position: sticky;
	top: 0;
	z-index: 100;
	transition: box-shadow 0.25s ease;
}
.admin-bar .mt-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .mt-site-header { top: 0; } }
.mt-site-header.is-scrolled { box-shadow: var(--mt-shadow-s); }

/* Au défilement, le bandeau du haut se replie pour libérer de la place. */
.mt-topbar { transition: margin-top 0.25s ease; }
.mt-site-header.is-scrolled .mt-topbar { margin-top: calc(-1 * var(--mt-topbar-h, 0px)); }

.mt-header { border-bottom: 1px solid var(--wp--preset--color--line); }

.mt-brand {
	flex: none;
	display: flex;
	align-items: center;
	gap: 0.8rem;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}
.mt-brand__mark {
	flex: none;
	width: 54px;
	height: 54px;
	transition: transform 0.5s ease;
}
.mt-brand:hover .mt-brand__mark { transform: rotate(-8deg); }
.mt-brand__text { display: flex; flex-direction: column; min-width: 0; }
.mt-brand__name {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: clamp(1.2rem, 2.4vw, 1.5rem);
	line-height: 1.1;
	color: var(--wp--preset--color--primary-dark);
}
.mt-brand__tagline {
	margin-top: 0.2rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-dark);
	white-space: nowrap;
}

.mt-header .wp-block-navigation a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.mt-header .wp-block-navigation-item__content {
	position: relative;
	padding-block: 0.35rem;
}
.mt-header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -4px;
	width: 6px;
	height: 6px;
	margin-left: -3px;
	border-radius: 50%;
	background: var(--wp--preset--color--gold);
	transform: scale(0);
	transition: transform 0.2s ease;
}
.mt-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }
.mt-header .wp-block-navigation-item__content:hover::after,
.mt-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scale(1); }
.mt-header .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary); }

/* Sous-menu « Autres soins ».
   WordPress lui applique les couleurs du menu mobile (texte blanc, avec !important)
   et, le menu étant aligné à droite, l'aligne sur le bord droit du parent. */
.mt-header .wp-block-navigation-submenu { gap: 0.3rem; }
.mt-header .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon {
	width: 0.7rem;
	height: 0.7rem;
	margin: 0;
	color: var(--wp--preset--color--ink);
	transition: color 0.2s ease;
}
/* Survol, focus ou rubrique en cours : le libellé et la flèche réagissent ensemble. */
.mt-header .wp-block-navigation-submenu:is(:hover, :focus-within, .current-menu-ancestor) > .wp-block-navigation-item__content,
.mt-header .wp-block-navigation-submenu:is(:hover, :focus-within, .current-menu-ancestor) > .wp-block-navigation__submenu-icon { color: var(--wp--preset--color--primary); }
.mt-header .wp-block-navigation-submenu:is(:hover, :focus-within, .current-menu-ancestor) > .wp-block-navigation-item__content::after { transform: scale(1); }

.mt-header .wp-block-navigation .wp-block-navigation__submenu-container {
	left: -1.1rem !important;
	right: auto !important;
	min-width: 260px !important;
	margin-top: 0.6rem;
	padding: 0.5rem 0;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--mt-radius-s);
	background: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--ink) !important;
	box-shadow: var(--mt-shadow);
}
/* Pont invisible au-dessus du panneau : la souris peut y descendre sans le refermer. */
.mt-header .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -0.75rem;
	height: 0.75rem;
}
.mt-header .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.mt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	padding: 0.6rem 1.1rem !important;
	color: var(--wp--preset--color--ink) !important;
	font-weight: 500;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.mt-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.mt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:is(:hover, :focus-visible),
.mt-header .wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--sand);
	color: var(--wp--preset--color--primary) !important;
}

/* Menu mobile (plein écran). */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white) !important;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.6rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	margin: 0;
	border: 0 !important;
	box-shadow: none;
	background: transparent !important;
	padding: 0.25rem 0 0 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container::before { display: none; }
/* Tout aligné à gauche, sous-menu en retrait sous « Autres soins ». */
.mt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.mt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.mt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.mt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { gap: 0.4rem; padding-top: 0.6rem; }
/* Page en cours : en ambre clair, sans le fond sable du sous-menu bureau. */
.mt-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.mt-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--wp--preset--color--gold-light) !important; }
.mt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: transparent; opacity: 1; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	background: transparent !important;
	color: var(--wp--preset--color--white) !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.1rem;
	opacity: 0.85;
	padding: 0.3rem 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; }
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }
.wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--primary-dark); }

/* Menu : passage au bouton « burger » sous 1280px (nom + menu + bouton ≈ 1150px, mesuré ; WordPress le fait à 600px). */
@media (max-width: 1279px) {
	.mt-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.mt-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Contact : bouton à partir de 600px ; en dessous il ne tient pas à côté
   du burger, le lien Contact n'apparaît alors que dans le menu déplié. */
.mt-header .mt-nav-contact { display: none; }
.mt-header .is-menu-open .mt-nav-contact { display: flex; }
@media (max-width: 599px) {
	.mt-header .mt-header__cta.wp-block-buttons { display: none; }
}
.mt-header__cta .wp-block-button__link { white-space: nowrap; }
.mt-header .wp-block-navigation__container { flex-wrap: nowrap; white-space: nowrap; }
@media (max-width: 420px) {
	.mt-brand__mark { width: 44px; height: 44px; }
	.mt-brand__tagline { font-size: 0.62rem; letter-spacing: 0.08em; }
}

/* --- Boutons ---------------------------------------------------------------- */

.wp-element-button,
.wp-block-button__link { transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--mt-shadow-s); }
.wp-block-button__link.mt-ico { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; }

.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid currentColor;
	background: transparent;
	color: inherit;
	padding: calc(0.9rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-dark > .wp-block-button__link {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-dark > .wp-block-button__link:hover {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--ink);
}
/* Sur fond sombre, le contour devient clair. */
:where(.has-primary-dark-background-color, .has-primary-background-color, .mt-hero) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary-dark);
}

/* Lien « En savoir plus » avec flèche. */
.mt-more a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 700;
	text-decoration: none;
}
.mt-more a::after {
	content: "";
	width: 1.1em;
	height: 1.1em;
	background: currentColor;
	-webkit-mask: var(--i-arrow) center / contain no-repeat;
	mask: var(--i-arrow) center / contain no-repeat;
	transition: transform 0.2s ease;
}
.mt-more a:hover::after { transform: translateX(4px); }

/* --- Petits titres ---------------------------------------------------------- */

/* Surtitre en petites capitales dorées, précédé d'un trait. */
.mt-kicker {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.6rem !important;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-dark);
}
.mt-kicker::before {
	content: "";
	width: 2rem;
	height: 1.5px;
	background: currentColor;
}
.has-text-align-center.mt-kicker { justify-content: center; }
:where(.has-primary-dark-background-color, .has-primary-background-color, .mt-hero) .mt-kicker { color: var(--wp--preset--color--gold-light); }

/* Mot en italique doré dans un titre (balise <em>). */
h1 em, h2 em, .mt-accent {
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--gold-dark);
}
:where(.has-primary-dark-background-color, .has-primary-background-color, .mt-hero) :is(h1, h2) em { color: var(--wp--preset--color--gold-light); }

.mt-lead {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}

/* --- Accueil : grand bandeau sur la photo du lac --------------------------- */

.mt-hero.wp-block-cover {
	color: var(--wp--preset--color--white);
	min-height: min(86vh, 720px);
	padding-block: var(--wp--preset--spacing--70);
	align-items: center;
	overflow: hidden;
}
/* Voile plus dense à gauche, sous le texte ; le lac reste lumineux à droite. */
.mt-hero .wp-block-cover__background {
	background: linear-gradient(100deg, rgb(16 42 20 / 0.88) 0%, rgb(16 42 20 / 0.6) 45%, rgb(16 42 20 / 0.1) 100%) !important;
	opacity: 1 !important;
}
.mt-hero .wp-block-cover__inner-container { width: 100%; max-width: 1180px; }
.mt-hero__text { max-width: 780px; }
.mt-hero__subtitle { max-width: 56ch; }
.mt-hero h1 {
	margin: 0;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.05;
	color: var(--wp--preset--color--white);
}
.mt-hero__subtitle {
	margin-top: 1.25rem !important;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
	opacity: 0.92;
	max-width: 54ch;
}
.mt-hero .wp-block-buttons { margin-top: 2rem; }

/* Ondes qui se propagent lentement, comme un cercle dans l'eau. */
.mt-hero::after {
	content: "";
	position: absolute;
	right: -12vw;
	top: 50%;
	width: min(70vw, 820px);
	aspect-ratio: 1;
	transform: translateY(-50%);
	background: var(--mt-ripples) center / contain no-repeat;
	opacity: 0.16;
	pointer-events: none;
	animation: mt-ripple 14s ease-in-out infinite;
}
@keyframes mt-ripple {
	0%, 100% { transform: translateY(-50%) scale(0.96); opacity: 0.12; }
	50% { transform: translateY(-50%) scale(1.04); opacity: 0.2; }
}

/* Bandeau d'atouts sous la photo. */
.mt-highlights {
	position: relative;
	z-index: 2;
	margin-top: calc(-1 * var(--wp--preset--spacing--50)) !important;
}
.mt-highlights > .wp-block-columns {
	gap: 0 !important;
	border-radius: var(--mt-radius);
	background: var(--wp--preset--color--white);
	box-shadow: var(--mt-shadow);
	overflow: hidden;
}
.mt-highlights .wp-block-column {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.4rem 1.6rem;
}
.mt-highlights .wp-block-column + .wp-block-column { border-left: 1px solid var(--wp--preset--color--line); }
.mt-highlights .wp-block-column::before {
	content: "";
	flex: none;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--wp--preset--color--sand);
}
.mt-highlights .wp-block-column::after {
	content: "";
	position: absolute;
	margin-left: 0.65rem;
	width: 1.45rem;
	height: 1.45rem;
	background: var(--wp--preset--color--gold);
	-webkit-mask: var(--mt-i) center / contain no-repeat;
	mask: var(--mt-i) center / contain no-repeat;
}
.mt-highlights .wp-block-column { position: relative; }
.mt-highlights p { margin: 0; font-size: 0.95rem; line-height: 1.4; }
.mt-highlights strong { display: block; font-size: 1.02rem; color: var(--wp--preset--color--primary-dark); }
@media (max-width: 781px) {
	.mt-highlights .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
}

@media (max-width: 781px) {
	.mt-hero.wp-block-cover { min-height: 0; padding-top: var(--wp--preset--spacing--60); padding-bottom: calc(var(--wp--preset--spacing--60) + 2rem); }
	.mt-hero .wp-block-cover__background { background: rgb(16 42 20 / 0.7) !important; }
	.mt-hero::after { right: -40vw; width: 110vw; }
}

/* --- Sections --------------------------------------------------------------- */

.mt-section { position: relative; }

/* Encadré « Soins à distance » (accueil) : pastille à gauche, texte à droite. */
.mt-distance {
	--mt-pad: clamp(1.5rem, 3vw, 2.25rem);
	display: grid;
	grid-template-columns: 3.6rem minmax(0, 1fr);
	column-gap: 1.5rem;
	padding: var(--mt-pad);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--mt-radius);
}
.mt-distance::before { grid-row: 1 / span 9; margin: 0; }
.mt-distance > * { grid-column: 2; }
.mt-distance h2 { margin: 0.3rem 0 0.75rem; font-size: var(--wp--preset--font-size--x-large); }
.mt-distance p { margin: 0 0 0.75rem; }
.mt-distance p:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
	.mt-distance { grid-template-columns: minmax(0, 1fr); }
	.mt-distance::before { grid-row: auto; margin-bottom: 1rem; }
	.mt-distance > * { grid-column: 1; }
}

/* Photo arrondie avec un cercle doré décalé derrière. */
.mt-photo { position: relative; }
.mt-photo img {
	/* Centrée : une photo plus étroite que sa colonne reste au-dessus de sa légende centrée. */
	display: block;
	margin-inline: auto;
	position: relative;
	z-index: 1;
	border-radius: var(--mt-radius);
	box-shadow: var(--mt-shadow);
}
/* Photos flottantes des textes de l'ancien site (à droite ou à gauche du texte) :
   vignette de 300px comme à l'origine ; pleine largeur sur mobile. */
/* margin-top : aligne le haut de la photo sur la première ligne du paragraphe voisin (qui a sa propre marge). */
:is(.mt-page-content, .mt-chapter) > .wp-block-image:is(.alignright, .alignleft) { width: auto; max-width: min(45%, 360px); margin-top: 1.2em !important; margin-bottom: 1rem; }
/* WordPress cale les flottantes sur les bords de la page entière, pas de la colonne :
   on les ramène sur les bords de la colonne de 860px. */
:is(.mt-page-content, .mt-chapter) > .wp-block-image.alignright { margin-left: 1.5rem; margin-right: max(0px, calc((100% - 860px) / 2)) !important; }
:is(.mt-page-content, .mt-chapter) > .wp-block-image.alignleft { margin-right: 1.5rem; margin-left: max(0px, calc((100% - 860px) / 2)) !important; }
/* Portraits limités en hauteur : ils ne s'allongent plus le long du texte. */
:is(.mt-page-content, .mt-chapter) > .wp-block-image:is(.alignright, .alignleft) img { width: auto; max-width: 100%; max-height: 380px; }
/* Titres, galeries et rangées de photos passent sous les photos flottantes. */
:is(.mt-page-content, .mt-chapter) > :is(h2, h3, .wp-block-gallery, .wp-block-columns, .mt-note, .mt-tiles) { clear: both; }
@media (max-width: 600px) {
	:is(.mt-page-content, .mt-chapter) > .wp-block-image:is(.alignright, .alignleft) { float: none; width: auto; margin-inline: 0; }
}

/* Photo isolée dans le texte d'une page : les photos de l'ancien site sont petites,
   en pleine largeur (740px) elles paraissent floues. */
/* Photos seules dans le texte : toutes à la même hauteur (320px), largeur selon
   leur format ; pleine largeur sur mobile. */
:is(.mt-page-content, .mt-chapter) > .wp-block-image:not(.alignleft):not(.alignright) img { width: auto; height: 320px; max-width: 100%; object-fit: cover; }
/* Photos côte à côte (colonnes) : même hauteur aussi. */
:is(.mt-page-content, .mt-chapter) .mt-photo-row .wp-block-image img { width: auto; height: 320px; max-width: 100%; object-fit: cover; margin-inline: auto; }
@media (max-width: 600px) {
	:is(.mt-page-content, .mt-chapter) > .wp-block-image:not(.alignleft):not(.alignright) img,
	:is(.mt-page-content, .mt-chapter) .mt-photo-row .wp-block-image img { width: 100%; height: auto; }
}
.mt-photo.is-haloed::before {
	content: "";
	position: absolute;
	right: -1.5rem;
	top: -1.5rem;
	width: 9rem;
	height: 9rem;
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--gold);
	opacity: 0.7;
}
.mt-photo figcaption {
	margin-top: 0.7rem;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 0.98rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
}

/* Citation. */
.mt-quote {
	margin: 0;
	padding: 0 0 0 1.5rem !important;
	border-left: 2px solid var(--wp--preset--color--gold) !important;
}
.mt-quote p {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.4;
	color: var(--wp--preset--color--primary-dark);
}
.mt-quote cite { font-size: 0.9rem; font-style: normal; color: var(--wp--preset--color--muted); }

/* --- Cartes ----------------------------------------------------------------- */

.mt-cards { gap: var(--wp--preset--spacing--40) !important; }
.mt-card {
	--mt-pad: clamp(1.5rem, 3vw, 2.1rem);
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--mt-pad) !important;
	border-radius: var(--mt-radius);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.mt-card > * { margin-block: 0 0.75rem; }
.mt-card > :last-child { margin-bottom: 0; }
.mt-card h3 { font-size: 1.4rem; }
.mt-card p { color: var(--wp--preset--color--muted); }
.mt-card .mt-more { margin-top: auto; padding-top: 0.5rem; }
.mt-card__price {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.05rem;
	color: var(--wp--preset--color--primary) !important;
}

/* Carte entièrement cliquable par son lien « En savoir plus ». */
.mt-card:has(.mt-more a) { cursor: pointer; }
.mt-card .mt-more a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.mt-card:hover { transform: translateY(-4px); box-shadow: var(--mt-shadow); border-color: transparent; }
.mt-card:hover::before { background: var(--wp--preset--color--primary-dark); box-shadow: none; }
.mt-card:hover::after { background: var(--wp--preset--color--gold-light); }

/* Accueil : soins en tuiles (nom de la catégorie en titre, sa liste en texte). */
.mt-soins > h2 { margin-bottom: var(--wp--preset--spacing--40); }
.mt-tiles { gap: 1rem !important; }
/* 9 catégories : 3 colonnes (pas de carte orpheline), 2 sur tablette, 1 sur mobile. */
:is(.mt-soins > .mt-tiles, .mt-tiles--page) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { :is(.mt-soins > .mt-tiles, .mt-tiles--page) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { :is(.mt-soins > .mt-tiles, .mt-tiles--page) { grid-template-columns: 1fr !important; } }
.mt-tile {
	padding: 1.25rem 1.4rem !important;
	border-radius: var(--mt-radius-s);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 3px solid var(--wp--preset--color--gold);
}
.mt-tile > * { margin-block: 0; }
.mt-tile h3 {
	margin-bottom: 0.4rem;
	font-size: 1.2rem;
	line-height: 1.25;
	color: var(--wp--preset--color--primary-dark);
}
.mt-tile p { font-size: 0.97rem; line-height: 1.6; color: var(--wp--preset--color--muted); }
.mt-tiles-note { margin-top: var(--wp--preset--spacing--40) !important; }
.mt-panels { margin-top: var(--wp--preset--spacing--50) !important; gap: var(--wp--preset--spacing--40) !important; }
.mt-panel {
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem) !important;
	border-radius: var(--mt-radius);
	background: var(--wp--preset--color--sand);
}
.mt-panel h2 { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--x-large); }
.mt-panels > .wp-block-column { display: flex; flex-direction: column; }
.mt-tiles--2 { grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr)) !important; }
.mt-tiles--1 { grid-template-columns: 1fr !important; }

/* Étapes numérotées (déroulement d'une séance). */
.mt-steps { counter-reset: mt-step; gap: var(--wp--preset--spacing--40) !important; }
.mt-step { counter-increment: mt-step; position: relative; }
.mt-step::before {
	content: counter(mt-step);
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1rem;
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem;
	color: var(--wp--preset--color--gold);
}
.mt-step h3 { font-size: 1.25rem; margin-bottom: 0.4rem; }
.mt-step p { margin-top: 0; opacity: 0.85; }

/* Pastilles (motifs de consultation). */
.mt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0 !important;
	list-style: none;
}
.mt-chips li {
	padding: 0.35rem 0.95rem;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	font-size: 0.93rem;
	line-height: 1.35;
	color: var(--wp--preset--color--foreground);
}
.mt-chips li::before { content: none !important; }

/* Liste à coches. */
.mt-checks { padding: 0 !important; list-style: none; }
.mt-checks li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.6rem;
}
.mt-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25em;
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--sage);
}
.mt-checks li::after {
	content: "";
	position: absolute;
	left: 0.28rem;
	top: calc(0.25em + 0.28rem);
	width: 0.75rem;
	height: 0.75rem;
	background: var(--wp--preset--color--primary-dark);
	-webkit-mask: var(--i-check) center / contain no-repeat;
	mask: var(--i-check) center / contain no-repeat;
}

/* Encadré d'information. */
.mt-note {
	padding: 1.4rem 1.6rem !important;
	border-left: 3px solid var(--wp--preset--color--gold);
	border-radius: var(--mt-radius-s);
	background: var(--wp--preset--color--sand);
}
.mt-note > * { margin-block: 0 0.5rem; }
.mt-note > :last-child { margin-bottom: 0; }
.mt-note__title {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.2rem;
	color: var(--wp--preset--color--primary-dark);
}
.mt-note--charter { border-left-color: var(--wp--preset--color--primary); }

/* Grille de tarifs. */
.mt-prices { padding: 0 !important; list-style: none; border-top: 1px solid var(--wp--preset--color--line); }
.mt-prices li {
	display: flow-root;
	padding: 1rem 0;
	margin: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.mt-prices li::before { content: none !important; }
/* Le prix est le dernier élément en gras de la ligne (les intitulés en contiennent aussi). */
.mt-prices li > strong:last-child {
	float: right;
	margin-left: 1rem;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.35rem;
	color: var(--wp--preset--color--primary-dark);
	white-space: nowrap;
}

/* Horaires (pattern magnetisme/horaires). */
.mt-hours { margin: 0; }
.mt-hours__row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid rgb(120 130 115 / 0.25);
}
.mt-hours dt { font-weight: 700; }
.mt-hours dd { margin: 0; text-align: right; }
.mt-hours__note { margin: 0.8rem 0 0; font-size: 0.9em; opacity: 0.85; }
.mt-footer .mt-hours { font-size: 0.9rem; }
/* Pied de page : un jour par ligne ; la permanence est déjà sous le téléphone. */
.mt-footer .mt-hours__row { justify-content: flex-start; padding: 0.15rem 0; border: 0; }
.mt-footer .mt-hours dt { flex: 0 0 4.5rem; }
.mt-footer .mt-hours dd { text-align: left; opacity: 0.85; white-space: nowrap; }
.mt-footer .mt-hours__note { display: none; }
@media (max-width: 1240px) {
	/* Colonne trop étroite pour jour et heures côte à côte. */
	.mt-footer .mt-hours__row { flex-direction: column; gap: 0; padding: 0 0 0.5rem; }
	.mt-footer .mt-hours dt { flex: none; }
	.mt-footer .mt-hours dd { white-space: normal; }
}

/* --- Bandeau de titre des pages --------------------------------------------- */

.mt-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
/* La photo du lac de l'accueil en filigrane, à travers le vert forêt. */
.mt-page-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url(../img/hero-lac.jpg) center / cover no-repeat;
	opacity: 0.3;
}
.mt-page-hero__inner { gap: var(--wp--preset--spacing--50); }
.mt-page-hero__text { min-width: 0; }
.mt-page-hero h1 { margin: 0; }
.mt-page-hero__lead {
	margin-top: 1rem;
	line-height: 1.6;
	opacity: 0.9;
}
.mt-page-hero__lead p { margin: 0; }
.mt-page-hero__media {
	flex: none;
	width: 220px !important;
	height: 220px !important;
	margin: 0;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 0 0 1.5px var(--wp--preset--color--gold), 0 0 0 14px rgb(255 255 255 / 0.05), var(--mt-shadow);
}
.mt-page-hero__media img { border-radius: 50%; }
/* L'image garde la hauteur fixée dans le bloc (300px) : sur mobile, où le médaillon
   passe à 150px, elle débordait et la partie visible tombait à côté. */
.mt-page-hero__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (max-width: 781px) {
	.mt-page-hero__inner { flex-wrap: wrap !important; }
	.mt-page-hero__media { width: 150px !important; height: 150px !important; order: -1; }
}

/* Corps des pages intérieures : une colonne de lecture de 860px, centrée, alignée
   sur le titre du bandeau. Texte un peu plus grand : à cette largeur, environ 90
   caractères par ligne. */
.mt-page-content {
	padding-block: var(--wp--preset--spacing--60);
	font-size: 1.125rem;
}
.mt-page-content :is(p, li) { line-height: 1.75; }

/* Galerie : sort de la colonne et prend toute la grille (1180px). */
:is(.mt-page-content, .mt-chapter) > .wp-block-gallery {
	width: min(1180px, 100vw - 2 * var(--wp--style--root--padding-left, 1rem));
	max-width: none !important;
	margin-left: 50% !important;
	transform: translateX(-50%);
	gap: 0.75rem !important;
}
:is(.mt-page-content, .mt-chapter) > .wp-block-gallery .wp-block-image img { border-radius: var(--mt-radius-s); }

/* Pages de soins découpées en sections : chaque chapitre (h2) est une bande
   pleine largeur, blanc ou sable en alternance (classe is-alt, visible dans l'éditeur). */
.mt-page-content:has(> .mt-chapter) { padding-block: 0; }
.mt-chapter {
	display: flow-root;
	margin-block: 0 !important;
	padding-block: var(--wp--preset--spacing--60);
}
.mt-chapter.is-alt { background: var(--wp--preset--color--sand); }
.mt-chapter > :is(h2, h3):first-child { margin-top: 0; }
/* Titre de section, h2 ou h3 (Rebouteux), à la même taille, plafonnée à 40px :
   « Lutter contre les ondes électromagnétiques » tient alors sur une ligne en 860px. */
.mt-chapter > :is(h2, h3:first-child) { font-size: min(var(--wp--preset--font-size--xx-large), 2.5rem); }
.mt-chapter.is-alt .mt-note { background: var(--wp--preset--color--white); }
.mt-chapter.is-alt .mt-tile { background: var(--wp--preset--color--white); }
.mt-tiles--page { margin-block: 1.25rem !important; }
/* Phrase de Yannick mise en exergue au milieu d'un long texte. */
.mt-quote {
	clear: both;
	margin-block: 2rem !important;
	padding-left: 1.5rem;
	border-left: 2px solid var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	line-height: 1.55;
	color: var(--wp--preset--color--primary-dark);
}
.mt-quote strong { font-weight: 500; }
/* Deux cartes côte à côte dans une section (Thérapie émotionnelle : le « balancier »). */
.mt-chapter .mt-tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-block: 1.25rem !important; }
@media (max-width: 560px) { .mt-chapter .mt-tiles--2 { grid-template-columns: 1fr !important; } }
/* Pastilles dans le texte (ventouses…) : un peu plus grandes, avec un point doré. */
.mt-chips--soft li { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 1rem; font-size: 1rem; }
.mt-chips--soft li::before { content: "" !important; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--wp--preset--color--gold); }
/* Dernière section sur fond sable : le bandeau d'appel (sable aussi) passe en blanc pour s'en détacher. */
.mt-page-content:has(> .mt-chapter.is-alt:last-child) + .mt-cta { background-color: var(--wp--preset--color--white) !important; border-top: 1px solid var(--wp--preset--color--line); }

/* Soins énergétiques : quatre cartes en 2 × 2 (une seule colonne sur mobile). */
.mt-energy-cards { gap: var(--wp--preset--spacing--40) !important; margin-bottom: var(--wp--preset--spacing--50) !important; }
.mt-energy-cards .mt-card h3 { scroll-margin-top: 110px; }
@media (max-width: 700px) { .mt-energy-cards { grid-template-columns: 1fr !important; } }

/* Page contact : cabinet et horaires sous le formulaire. */
.mt-contact-infos h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 0; }
/* Coordonnées en deux colonnes sur grand écran. */
.mt-contact-infos .mt-contact-list { columns: 2 16rem; column-gap: var(--wp--preset--spacing--50); }
.mt-contact-infos .mt-contact-list li { break-inside: avoid; }
/* À côté des horaires, la colonne du formulaire est étroite : un champ par ligne. */
.mt-contact-cols .mt-form__grid { grid-template-columns: 1fr; }
/* Horaires à côté du formulaire. */
.mt-contact-hours {
	align-self: flex-start;
	padding: 1.5rem 1.6rem !important;
	border-radius: var(--mt-radius);
	background: var(--wp--preset--color--sand);
}
.mt-contact-hours h3 { margin: 0 0 0.75rem; font-size: 1.3rem; }
.mt-contact-hours .mt-hours { font-size: 0.95rem; }
.mt-contact-hours .mt-hours__row { flex-direction: column; gap: 0; }
.mt-contact-hours .mt-hours dd { text-align: left; color: var(--wp--preset--color--muted); }
.mt-page-content > .alignfull:first-child { margin-top: calc(-1 * var(--wp--preset--spacing--60)); }
.mt-page-content > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)); }
.mt-page-content h2 { margin-top: var(--wp--preset--spacing--50); }
.mt-page-content > h2:first-child { margin-top: 0; }

/* Listes : petite puce en anneau doré. */
.mt-page-content ul:not([class*="mt-"]):not(.wp-block-social-links),
.mt-section ul.is-style-dots {
	padding-left: 0;
	list-style: none;
}
.mt-page-content ul:not([class*="mt-"]):not(.wp-block-social-links) > li,
.mt-section ul.is-style-dots > li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.45rem;
}
.mt-page-content ul:not([class*="mt-"]):not(.wp-block-social-links) > li::before,
.mt-section ul.is-style-dots > li::before {
	content: "";
	position: absolute;
	left: 0.1rem;
	top: 0.6em;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--gold);
}

/* --- Bandeau d'appel à rendez-vous ----------------------------------------- */

.mt-cta { position: relative; overflow: hidden; isolation: isolate; }
.mt-cta::before {
	content: "";
	position: absolute;
	right: -200px;
	top: -240px;
	z-index: -1;
	width: 620px;
	height: 620px;
	background: var(--mt-ripples) center / contain no-repeat;
	filter: invert(1);
	opacity: 0.06;
}
.mt-cta h2 { margin: 0 0 0.75rem; }
.mt-cta p { margin: 0; }
.mt-cta .mt-kicker { margin-bottom: 0.6rem !important; }
.mt-cta__buttons .wp-block-button__link { width: 100%; }
.mt-cta .wp-block-button.is-style-outline > .wp-block-button__link:not(:hover) { color: var(--wp--preset--color--primary-dark); }

/* --- Coordonnées ------------------------------------------------------------ */

.mt-contact-list { padding: 0 !important; list-style: none; }
.mt-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}
.mt-contact-list li::before {
	margin-top: 0.25em;
	color: var(--wp--preset--color--gold);
}
.mt-contact-list a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.mt-contact-list a:hover { text-decoration: underline; }
.mt-contact-list small { opacity: 0.75; }

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

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

.mt-footer { font-size: var(--wp--preset--font-size--small); }
.mt-footer a { color: inherit; text-decoration: none; }
.mt-footer a:hover { color: var(--wp--preset--color--gold-light); }
.mt-footer__name {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.6rem;
	line-height: 1.15;
}
.mt-footer__about { opacity: 0.8; max-width: 34ch; }
.mt-footer__title {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-light);
}
.mt-footer__links { padding: 0 !important; list-style: none; }
.mt-footer__links li { margin-bottom: 0.3rem; }
@media (max-width: 781px) {
	/* Mobile : soins et horaires côte à côte plutôt qu'empilés. */
	.mt-footer__cols { flex-wrap: wrap !important; column-gap: 1.25rem; row-gap: 2rem; }
	.mt-footer__cols > .wp-block-column:is(:nth-child(2), :nth-child(3)) { flex-basis: calc(50% - 0.625rem) !important; }
	.mt-footer__about { display: none; }
}
.mt-footer .mt-contact-list li::before { color: var(--wp--preset--color--gold-light); }
.mt-footer__disclaimer {
	margin-top: var(--wp--preset--spacing--40) !important;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 0.12);
}
.mt-footer__disclaimer p { margin: 0; font-size: 0.8rem; opacity: 0.7; }
.mt-footer__disclaimer + .mt-footer__bottom { margin-top: 0.75rem !important; padding-top: 0; border-top: 0; }
.mt-footer__bottom {
	margin-top: var(--wp--preset--spacing--50) !important;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(255 255 255 / 0.12);
	font-size: 0.85rem;
	opacity: 0.75;
}
.mt-footer__bottom p { margin: 0; }

/* --- Formulaire de contact -------------------------------------------------- */

.mt-form { margin-top: 0; }
.mt-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.25rem;
}
.mt-form__field { margin: 0 0 1.1rem; }
.mt-form__field.is-full { grid-column: 1 / -1; }
@media (max-width: 600px) { .mt-form__grid { grid-template-columns: 1fr; } }

.mt-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 700;
	font-size: 0.93rem;
	color: var(--wp--preset--color--ink);
}
.mt-form input[type="text"],
.mt-form input[type="email"],
.mt-form input[type="tel"],
.mt-form select,
.mt-form textarea {
	width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: var(--mt-radius-s);
	background: var(--wp--preset--color--white);
	font: inherit;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mt-form select { appearance: auto; }
.mt-form input:focus,
.mt-form select:focus,
.mt-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgb(46 125 50 / 0.2);
}
.mt-form textarea { resize: vertical; min-height: 9rem; }

.mt-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0.25rem 0 1.5rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
}
.mt-form__consent input { margin-top: 0.3em; width: 1.1rem; height: 1.1rem; accent-color: var(--wp--preset--color--primary); }
.mt-form__consent label { display: inline; font-weight: 400; font-size: inherit; color: inherit; }

.mt-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mt-form button { cursor: pointer; border: 0; }

.mt-form__notice {
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	border-radius: var(--mt-radius-s);
	font-weight: 700;
}
.mt-form__notice.is-success { background: #E4F1DF; color: var(--wp--preset--color--primary-dark); }
.mt-form__notice.is-error { background: #FBE4D6; color: #8A3A0F; }

/* --- Page introuvable ------------------------------------------------------- */

.mt-404__mark { display: block; width: 120px; margin: 0 auto 1.5rem; }

/* --- Contenus provisoires (à faire valider) -------------------------------- */

.mt-show-todo .mt-todo {
	outline: 2px dashed var(--wp--preset--color--clay);
	outline-offset: 4px;
	background-color: rgb(235 207 156 / 0.3);
}
.mt-show-todo .mt-todo::after {
	content: "À valider";
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.05rem 0.5rem;
	border-radius: 4px;
	background: var(--wp--preset--color--clay);
	color: var(--wp--preset--color--white);
	font: 700 0.7rem/1.6 var(--wp--preset--font-family--body);
	letter-spacing: 0;
	text-transform: none;
	vertical-align: middle;
}

/* --- Apparition au défilement ---------------------------------------------- */

.js .mt-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	transition-delay: var(--mt-delay, 0s);
}
.js .mt-reveal.is-visible { opacity: 1; transform: none; }
.editor-styles-wrapper .mt-reveal { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .mt-hero::after { animation: none; }
