/*
Theme Name: Max’Massage
Theme URI: https://maxmassage.fr
Author: Max’Massage
Description: Thème sur mesure pour Max’Massage — massage bien-être à domicile à Toulouse. Mobile first, pages et photos installées automatiquement à l’activation.
Version: 1.2.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maxmassage
*/

/* =========================================================
   0. Icônes (Material Symbols Rounded, hébergées avec le thème)
   ========================================================= */
@font-face {
	font-family: "Material Symbols Rounded";
	font-style: normal;
	font-weight: 300;
	font-display: block;
	src: url("assets/fonts/material-symbols-rounded.woff2") format("woff2");
}

:root {
	--mm-ink: #3A2A22;
	--mm-text: #6B574B;
	--mm-text-2: #5E4A3E;
	--mm-cream: #FAF4EC;
	--mm-sand: #F4EADC;
	--mm-ivory: #FEF8EC;
	--mm-terra: #B85423;
	--mm-terra-dark: #9C4318;
	--mm-copper: #A85A36;
	--mm-copper-dark: #874427;
	--mm-gold: #F5C765;
	--mm-line: #E2D2BD;
	--mm-line-2: #E8DBC9;
	--mm-dot: #C9A88C;
	--mm-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--mm-sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--mm-label: "Jost", "Futura", "Trebuchet MS", sans-serif;
	--mm-gutter: clamp(20px, 5vw, 64px);
	--mm-sec-y: clamp(64px, 9vw, 130px);
	--mm-radius: 24px;
	--mm-header-h: 72px;
}

/* =========================================================
   1. Base
   ========================================================= */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
[id] { scroll-margin-top: calc(var(--mm-header-h) + var(--wp-admin--admin-bar--height, 0px) + 8px); }
img { max-width: 100%; height: auto; }
::selection { background: #F1D9C4; color: var(--mm-ink); }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease; }
:focus-visible { outline: 2px solid var(--mm-terra); outline-offset: 3px; }

/* Pas d'espaces parasites entre les grandes zones */
.wp-site-blocks > *,
.wp-site-blocks > * + * { margin-block-start: 0 !important; margin-block-end: 0; }
:is(.mm-main, .is-root-container) .wp-block-post-content > *,
:is(.mm-main, .is-root-container) .wp-block-post-content > * + *,
.mm-experience > *,
.mm-experience > * + * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.mm-main { padding: 0 !important; }

/* Textes courants */
:is(.mm-main, .is-root-container) p { color: var(--mm-text); font-size: 16.5px; line-height: 1.8; }
:is(.mm-main, .is-root-container) h1 em, :is(.mm-main, .is-root-container) h2 em, :is(.mm-main, .is-root-container) .mm-tarifs-title em, :is(.mm-main, .is-root-container) .mm-pricecard-title em { font-style: italic; color: var(--mm-copper); }
:is(.mm-main, .is-root-container) h1, :is(.mm-main, .is-root-container) h2 { text-wrap: balance; }
:is(.mm-main, .is-root-container) p { text-wrap: pretty; }
:is(.mm-main, .is-root-container) strong { color: var(--mm-ink); font-weight: 600; }

/* Icônes : la classe mm-ico-xxx porte le nom de l'icône */
.mm-ico, [class*="mm-ico-"]::before, .mm-card::after, .mm-pricecard::after { font-family: "Material Symbols Rounded"; font-weight: 300; font-style: normal; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-variant-ligatures: discretionary-ligatures; text-transform: none; letter-spacing: 0; line-height: 1; white-space: nowrap; direction: ltr; -webkit-font-smoothing: antialiased; }
.mm-ico-location_on { --mm-ico: "location_on"; } .mm-ico-event_available { --mm-ico: "event_available"; } .mm-ico-payments { --mm-ico: "payments"; }
.mm-ico-favorite { --mm-ico: "favorite"; } .mm-ico-group { --mm-ico: "group"; } .mm-ico-redeem { --mm-ico: "redeem"; } .mm-ico-spa { --mm-ico: "spa"; }
.mm-ico-apartment { --mm-ico: "apartment"; } .mm-ico-chair { --mm-ico: "chair"; } .mm-ico-groups { --mm-ico: "groups"; } .mm-ico-event_note { --mm-ico: "event_note"; }
.mm-ico-schedule { --mm-ico: "schedule"; } .mm-ico-wb_sunny { --mm-ico: "wb_sunny"; } .mm-ico-calendar_today { --mm-ico: "calendar_today"; } .mm-ico-autorenew { --mm-ico: "autorenew"; }
.mm-ico-business_center { --mm-ico: "business_center"; } .mm-ico-celebration { --mm-ico: "celebration"; } .mm-ico-event { --mm-ico: "event"; } .mm-ico-auto_awesome { --mm-ico: "auto_awesome"; }
.mm-ico-meeting_room { --mm-ico: "meeting_room"; } .mm-ico-event_repeat { --mm-ico: "event_repeat"; } .mm-ico-home_work { --mm-ico: "home_work"; } .mm-ico-call { --mm-ico: "call"; } .mm-ico-mail { --mm-ico: "mail"; }
/* les cartes et lignes affichent leur icône dans la pastille du libellé, pas sur le bloc lui-même */
.mm-card[class*="mm-ico-"]::before, .mm-row[class*="mm-ico-"]::before, .mm-pricecard[class*="mm-ico-"]::before { content: none; }

/* Tons des cartes */
.mm-tone-1 { --mm-tone-bg: #F6E3CF; --mm-tone: #B85423; }
.mm-tone-2 { --mm-tone-bg: #F3E7D3; --mm-tone: #9A6A2C; }
.mm-tone-3 { --mm-tone-bg: #F4DED3; --mm-tone: #A8483A; }
.mm-tone-4 { --mm-tone-bg: #EFE3D0; --mm-tone: #8A6235; }

/* =========================================================
   2. Petits éléments de texte
   ========================================================= */
:is(.mm-main, .is-root-container) .mm-eyebrow { font-family: var(--mm-sans); font-weight: 600; font-size: 12.5px; line-height: 1.4; letter-spacing: .22em; text-transform: uppercase; color: var(--mm-copper); margin: 0; }
:is(.mm-main, .is-root-container) .mm-eyebrow--jost { font-family: var(--mm-label); font-weight: 400; letter-spacing: .24em; }
:is(.mm-main, .is-root-container) .mm-intro { font-family: var(--mm-serif); font-style: italic; font-weight: 350; font-size: clamp(20px, 2vw, 25px); line-height: 1.45; color: var(--mm-copper); }
:is(.mm-main, .is-root-container) .mm-intro--muted { color: var(--mm-text); font-size: clamp(18px, 1.8vw, 23px); line-height: 1.5; max-width: 60ch; margin: 0; }
:is(.mm-main, .is-root-container) .mm-head { text-align: center; max-width: 760px; margin: 0 auto clamp(36px, 5vw, 60px) !important; }
:is(.mm-main, .is-root-container) .mm-head > * + * { margin-top: 16px; }
:is(.mm-main, .is-root-container) .mm-head .mm-head-intro { max-width: 52ch; margin-left: auto; margin-right: auto; font-size: 16.5px; line-height: 1.75; }
:is(.mm-main, .is-root-container) .mm-head-left { margin-bottom: clamp(32px, 4vw, 52px) !important; }
:is(.mm-main, .is-root-container) .mm-head-left > * + * { margin-top: 14px; }
:is(.mm-main, .is-root-container) .mm-head-left--sep { margin-top: clamp(48px, 6vw, 72px) !important; padding-top: clamp(32px, 4vw, 44px); border-top: 1px solid var(--mm-line); }
:is(.mm-main, .is-root-container) h2 { margin: 0; }
:is(.mm-main, .is-root-container) .mm-h2-sm { font-size: clamp(30px, 3.8vw, 46px); }
:is(.mm-main, .is-root-container) .mm-h2-md { font-size: clamp(32px, 4.2vw, 52px); }
:is(.mm-main, .is-root-container) .mm-link-arrow a, :is(.mm-main, .is-root-container) .mm-soin-link a { font-family: var(--mm-label); text-transform: uppercase; font-size: 12.5px; letter-spacing: .16em; color: var(--mm-copper); white-space: nowrap; }
:is(.mm-main, .is-root-container) .mm-link-arrow a::after { content: "arrow_forward"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 19px; vertical-align: -5px; margin-left: 8px; text-transform: none; letter-spacing: 0; }
:is(.mm-main, .is-root-container) .mm-link-arrow a:hover, :is(.mm-main, .is-root-container) .mm-soin-link a:hover { color: var(--mm-copper-dark); }

/* =========================================================
   3. Boutons
   ========================================================= */
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; text-align: center; border: 1px solid transparent; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-mm-cream .wp-block-button__link { background: var(--mm-ivory); color: var(--mm-terra); box-shadow: 0 8px 24px rgba(40, 20, 8, .22); }
.wp-block-button.is-style-mm-cream .wp-block-button__link:hover { background: #fff; color: var(--mm-copper); }
.wp-block-button.is-style-mm-outline-light .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .75); }
.wp-block-button.is-style-mm-outline-light .wp-block-button__link:hover { background: #fff; color: var(--mm-copper); }
.wp-block-button.is-style-mm-outline .wp-block-button__link { background: transparent; color: var(--mm-terra); border-color: var(--mm-terra); padding: 12px 22px; font-size: 12.5px; }
.wp-block-button.is-style-mm-outline .wp-block-button__link:hover { background: var(--mm-terra); color: #fff; }
.mm-btn-arrow .wp-block-button__link::after, .mm-btn-ext .wp-block-button__link::after { font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; text-transform: none; letter-spacing: 0; font-size: 19px; line-height: 1; }
.mm-btn-arrow .wp-block-button__link::after { content: "arrow_forward"; }
.mm-btn-ext .wp-block-button__link::after { content: "north_east"; font-size: 17px; }
@media (max-width: 480px) {
	.mm-hero-btns { flex-direction: column; align-items: stretch !important; width: 100%; max-width: 340px; margin-inline: auto !important; }
	.mm-hero-btns .wp-block-button { width: 100%; }
	.mm-hero-btns .wp-block-button__link { width: 100%; }
}

/* =========================================================
   4. En-tête et menu
   ========================================================= */
.wp-site-blocks > header.wp-block-template-part { position: relative; z-index: 60; }
.mm-header {
	position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 60;
	margin: 0 !important; max-width: none !important; width: 100%;
	min-height: var(--mm-header-h);
	padding: 12px var(--mm-gutter) !important;
	gap: 16px;
	background: transparent;
	transition: background-color .3s ease, box-shadow .3s ease, padding .3s ease;
}
@media (max-width: 600px) { .admin-bar .mm-header { top: 0; position: absolute; } .admin-bar.mm-scrolled .mm-header { position: fixed; } }
.mm-header::before { content: ""; position: absolute; inset: 0 0 -40px 0; background: linear-gradient(180deg, rgba(35, 20, 12, .45), rgba(35, 20, 12, 0)); pointer-events: none; z-index: -1; transition: opacity .3s; }
.mm-header.is-solid::before, .mm-no-hero .mm-header::before { opacity: 0; }
.mm-header.is-solid, .mm-no-hero .mm-header { background: rgba(250, 244, 236, .97); box-shadow: 0 6px 24px rgba(58, 42, 34, .08); -webkit-backdrop-filter: saturate(140%) blur(6px); backdrop-filter: saturate(140%) blur(6px); }
.mm-brand { gap: 10px !important; flex-shrink: 0; position: relative; }
.mm-brand .wp-block-image { margin: 0 !important; line-height: 0; }
.mm-brand-logo img { width: 42px !important; height: auto; }
.mm-brand-logo--color { position: absolute; left: 0; top: 50%; transform: translateY(-50%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.mm-brand-logo--light { transition: opacity .3s; }
.mm-header.is-solid .mm-brand-logo--light, .mm-no-hero .mm-brand-logo--light { opacity: 0; }
.mm-header.is-solid .mm-brand-logo--color, .mm-no-hero .mm-brand-logo--color { opacity: 1; pointer-events: auto; }
.mm-wordmark { margin: 0 !important; font-family: "Comfortaa", var(--mm-sans); font-weight: 600; font-size: 21px; letter-spacing: -.3px; line-height: 1; white-space: nowrap; }
.mm-wordmark a { color: #fff; }
.mm-header.is-solid .mm-wordmark a, .mm-no-hero .mm-wordmark a { color: var(--mm-ink); }

/* Liens du menu (grand écran) */
.mm-nav { font-family: var(--mm-label); text-transform: uppercase; font-size: 13px; letter-spacing: .16em; gap: clamp(16px, 1.8vw, 30px) !important; }
.mm-header .mm-nav { color: #fff; }
.mm-nav .wp-block-navigation-item__content { padding: 6px 0; white-space: nowrap; }
.mm-nav .wp-block-navigation-item__content:hover { opacity: .65; }
.mm-header.is-solid .mm-nav, .mm-no-hero .mm-header .mm-nav { color: var(--mm-ink); }
.mm-nav .mm-nav-cta .wp-block-navigation-item__content { background: var(--mm-terra); color: #fff !important; border: 1px solid rgba(255, 255, 255, .35); border-radius: 3px; padding: 12px 22px; letter-spacing: .18em; opacity: 1 !important; }
.mm-nav .mm-nav-cta .wp-block-navigation-item__content:hover { background: var(--mm-terra-dark); transform: translateY(-2px); }
.mm-nav .mm-nav-cta { margin-left: 8px; }

/* Bouton « burger » */
.mm-nav .wp-block-navigation__responsive-container-open { color: #fff; width: 46px; height: 46px; align-items: center; justify-content: center; }
.mm-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.mm-header.is-solid .wp-block-navigation__responsive-container-open, .mm-no-hero .wp-block-navigation__responsive-container-open { color: var(--mm-ink); }

/* Le menu passe en mode « burger » sous 1240 px (trop de liens pour une tablette) */
@media (min-width: 600px) and (max-width: 1359.98px) {
	.mm-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.mm-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.mm-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex !important; }
}
/* Menu ouvert (mobile et tablette) */
.mm-nav .is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--mm-ink); }
.mm-nav .mm-nav-cta .wp-block-navigation-item__content.wp-block-navigation-item__content,
.mm-nav .is-menu-open .mm-nav-cta .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #fff; }
.mm-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--mm-cream) !important; color: var(--mm-ink) !important; padding: 20px var(--mm-gutter) 32px !important; }
.mm-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; align-items: stretch !important; }
.mm-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; justify-content: flex-start !important; width: 100%; text-align: left; }
.mm-nav .is-menu-open .wp-block-navigation__responsive-dialog, .mm-nav .is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; }
.mm-nav .is-menu-open { --navigation-layout-justification-setting: flex-start; }
.mm-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--mm-line-2); align-items: stretch !important; }
.mm-nav .is-menu-open .wp-block-navigation-item__content { font-size: 15px; letter-spacing: .14em; padding: 16px 0 !important; display: block; }
.mm-nav .is-menu-open .mm-nav-cta { border-bottom: 0; margin: 18px 0 0; }
.mm-nav .is-menu-open .mm-nav-cta .wp-block-navigation-item__content { width: 100%; box-sizing: border-box; display: block; }
.mm-nav .is-menu-open .mm-nav-cta .wp-block-navigation-item__content { text-align: center; padding: 16px 22px !important; font-size: 13px; }
.mm-nav .wp-block-navigation__responsive-container-close { color: var(--mm-ink); top: 18px; right: var(--mm-gutter); }
.mm-nav .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }

/* =========================================================
   5. Grandes photos d'en-tête (cover)
   ========================================================= */
:is(.mm-main, .is-root-container) .mm-hero { min-height: 78vh; min-height: 78svh; padding: calc(var(--mm-header-h) + 40px) 20px 64px !important; color: #fff; text-align: center; }
:is(.mm-main, .is-root-container) .mm-hero--home { min-height: 100vh !important; min-height: 100svh !important; }
@supports not (min-height: 100svh) { :is(.mm-main, .is-root-container) .mm-hero--home { min-height: 100vh !important; } }
:is(.mm-main, .is-root-container) .mm-hero .wp-block-cover__inner-container { display: flex; flex-direction: column; align-items: center; color: #fff; }
:is(.mm-main, .is-root-container) .mm-hero .wp-block-cover__inner-container > * { margin-block: 0; }
:is(.mm-main, .is-root-container) .mm-hero-logo { width: 56px; margin: 0 auto 20px !important; opacity: .95; }
:is(.mm-main, .is-root-container) .mm-hero-logo img { width: 56px; }
:is(.mm-main, .is-root-container) .mm-kicker { font-family: var(--mm-sans); font-weight: 500; font-size: clamp(11px, 1.2vw, 13px); letter-spacing: .3em; text-transform: uppercase; color: var(--mm-gold); margin-bottom: 20px !important; line-height: 1.5; }
:is(.mm-main, .is-root-container) .mm-kicker--light { color: #F6E7D2; }
:is(.mm-main, .is-root-container) .mm-hero h1 { color: #fff; max-width: 15ch; margin: 0 auto; font-size: clamp(40px, 6.6vw, 88px); }
:is(.mm-main, .is-root-container) .mm-hero--home h1 { font-size: clamp(42px, 7vw, 96px); max-width: 14ch; }
:is(.mm-main, .is-root-container) .mm-hero h1 em { color: inherit; }
:is(.mm-main, .is-root-container) .mm-hero .mm-lead { font-family: "Mulish", var(--mm-sans); font-weight: 300; font-size: clamp(15.5px, 1.6vw, 19px); line-height: 1.6; color: rgba(255, 250, 243, .94); max-width: 48ch; margin: 22px auto 0 !important; }
:is(.mm-main, .is-root-container) .mm-hero-btns { margin-top: 32px !important; gap: 14px; }
:is(.mm-main, .is-root-container) .mm-pill { margin-top: 24px !important; }
:is(.mm-main, .is-root-container) .mm-pill a { display: inline-flex; align-items: center; gap: 12px; padding: 12px 20px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 999px; background: rgba(60, 32, 14, .28); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); color: #fff; font-family: var(--mm-label); font-size: clamp(11px, 1.3vw, 13.5px); letter-spacing: .14em; text-transform: uppercase; line-height: 1.4; }
:is(.mm-main, .is-root-container) .mm-pill a::before { content: "home_work"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 20px; color: var(--mm-gold); letter-spacing: 0; text-transform: none; }
:is(.mm-main, .is-root-container) .mm-pill a::after { content: "arrow_downward"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 18px; letter-spacing: 0; text-transform: none; }
:is(.mm-main, .is-root-container) .mm-pill a:hover { background: rgba(60, 32, 14, .5); border-color: rgba(255, 255, 255, .7); }
:is(.mm-main, .is-root-container) .mm-hero--home::after { content: "expand_more"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); font-size: 30px; color: rgba(255, 255, 255, .85); z-index: 2; animation: mm-float 2.6s ease-in-out infinite; pointer-events: none; }
@keyframes mm-float { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 8px); } }
@media (max-width: 600px) { :is(.mm-main, .is-root-container) .mm-pill a { padding: 10px 16px; gap: 8px; letter-spacing: .1em; } }

/* Bandeau citation */
:is(.mm-main, .is-root-container) .mm-quote-band { min-height: 60vh; padding: 90px 24px !important; text-align: center; }
:is(.mm-main, .is-root-container) .mm-quote-band .mm-kicker { margin-bottom: 18px !important; letter-spacing: .3em; }
:is(.mm-main, .is-root-container) .mm-quote { font-family: var(--mm-serif); font-style: italic; font-weight: 350; font-size: clamp(28px, 4.4vw, 56px); line-height: 1.15; color: #fff !important; max-width: 22ch; margin: 0 auto; text-wrap: balance; }
@media (min-width: 900px) { :is(.mm-main, .is-root-container) .mm-quote-band { min-height: 72vh; } }

/* =========================================================
   6. Sections
   ========================================================= */
:is(.mm-main, .is-root-container) .mm-sec { padding-top: var(--mm-sec-y); padding-bottom: var(--mm-sec-y); }
:is(.mm-main, .is-root-container) .mm-sec > * { margin-block-start: 0; }
:is(.mm-main, .is-root-container) .mm-sec > * + * { margin-block-start: 0; }
.mm-bg-cream { background: var(--mm-cream); }
.mm-bg-sand { background: var(--mm-sand); }
:is(.mm-main, .is-root-container) .mm-sec--soins { padding-top: clamp(60px, 7vw, 96px); }
:is(.mm-main, .is-root-container) .mm-sec--steps { padding-top: clamp(64px, 9vw, 130px); padding-bottom: 0; }
:is(.mm-main, .is-root-container) .mm-sec--geste { padding-top: clamp(72px, 10vw, 140px); padding-bottom: 0; }
:is(.mm-main, .is-root-container) .mm-sec--infos { padding-top: clamp(72px, 10vw, 140px); padding-bottom: 0; }
:is(.mm-main, .is-root-container) .mm-sec--faq { padding-top: clamp(64px, 8vw, 110px); padding-bottom: clamp(56px, 6vw, 80px); }
:is(.mm-main, .is-root-container) .mm-sec--avis { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
:is(.mm-main, .is-root-container) .mm-sec--tarifs { padding-top: clamp(48px, 7vw, 90px); padding-bottom: clamp(48px, 7vw, 90px); }
:is(.mm-main, .is-root-container) .mm-sec--carte { padding-bottom: clamp(32px, 4vw, 52px); }
:is(.mm-main, .is-root-container) .mm-sec--idee { padding-top: clamp(56px, 6vw, 88px); padding-bottom: clamp(56px, 6vw, 88px); }
:is(.mm-main, .is-root-container) .mm-sec--deroule, :is(.mm-main, .is-root-container) .mm-sec--formats { padding-bottom: clamp(32px, 4vw, 52px); }
:is(.mm-main, .is-root-container) .mm-sec--faq1 { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(48px, 6vw, 88px); }

/* Texte + photo */
:is(.mm-main, .is-root-container) .mm-split { display: grid; grid-template-columns: 1fr; gap: clamp(36px, 6vw, 100px); align-items: center; }
:is(.mm-main, .is-root-container) .mm-split > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-split-media { max-width: 520px; width: 100%; margin-inline: auto !important; }
:is(.mm-main, .is-root-container) .mm-split-text > * { margin-block: 0; }
:is(.mm-main, .is-root-container) .mm-split-text > .mm-eyebrow + h2 { margin-top: 16px; }
:is(.mm-main, .is-root-container) .mm-split-text > h2 + * { margin-top: 24px; }
:is(.mm-main, .is-root-container) .mm-split-text > p + p { margin-top: 16px; }
:is(.mm-main, .is-root-container) .mm-split-text > .mm-intro + p { margin-top: 20px; }
@media (min-width: 860px) {
	:is(.mm-main, .is-root-container) .mm-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	:is(.mm-main, .is-root-container) .mm-split-media { max-width: none; }
	:is(.mm-main, .is-root-container) .mm-split--sticky { align-items: start; }
	:is(.mm-main, .is-root-container) .mm-split--sticky .mm-split-media { position: -webkit-sticky; position: sticky; top: calc(var(--mm-header-h) + 40px); }
}
:is(.mm-main, .is-root-container) .mm-photo { margin: 0 !important; border-radius: var(--mm-radius); overflow: hidden; background: #F1E6D6; }
:is(.mm-main, .is-root-container) .mm-photo img { display: block; width: 100%; border-radius: var(--mm-radius); }
:is(.mm-main, .is-root-container) .mm-signoff { margin-top: 30px !important; padding-top: 24px; border-top: 1px solid var(--mm-line-2); gap: 16px 20px; align-items: center; }
:is(.mm-main, .is-root-container) .mm-signoff p { margin: 0; }
:is(.mm-main, .is-root-container) .mm-signature { font-family: var(--mm-serif); font-style: italic; font-size: 34px !important; line-height: 1 !important; color: var(--mm-ink) !important; }

/* Cartes de soins */
:is(.mm-main, .is-root-container) .mm-soins { margin: 0; }
:is(.mm-main, .is-root-container) .mm-soin { display: flex; flex-direction: column; }
:is(.mm-main, .is-root-container) .mm-soin > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-photo--card { border-radius: 22px; background: #EADCC8; }
:is(.mm-main, .is-root-container) .mm-photo--card img { border-radius: 22px; transition: transform .8s ease; }
:is(.mm-main, .is-root-container) .mm-soin:hover .mm-photo--card img { transform: scale(1.04); }
:is(.mm-main, .is-root-container) .mm-soin-title { margin: 22px 0 10px !important; font-size: clamp(24px, 2.4vw, 28px); line-height: 1.12; }
:is(.mm-main, .is-root-container) .mm-soin-title.is-small { font-size: clamp(22px, 2vw, 25px); }
:is(.mm-main, .is-root-container) .mm-soin-text { font-size: 15.5px !important; line-height: 1.7 !important; margin: 0 0 22px !important; }
:is(.mm-main, .is-root-container) .mm-soin-foot { margin-top: auto !important; padding-top: 16px; border-top: 1px solid var(--mm-line); gap: 10px 16px; }
:is(.mm-main, .is-root-container) .mm-soin-foot p { margin: 0; }
:is(.mm-main, .is-root-container) .mm-soin-price { font-family: var(--mm-serif); font-style: italic; font-size: 17px !important; line-height: 1.3 !important; white-space: nowrap; }
:is(.mm-main, .is-root-container) .mm-soin-link a { font-size: 12px; letter-spacing: .14em; }
:is(.mm-main, .is-root-container) .mm-sec--carte .mm-soin-price { font-family: var(--mm-sans); font-style: normal; font-size: 14px !important; }
:is(.mm-main, .is-root-container) .mm-soins-more { margin-top: clamp(48px, 6vw, 72px) !important; padding-top: clamp(30px, 4vw, 44px); border-top: 1px solid var(--mm-line); gap: 24px; align-items: center; }
:is(.mm-main, .is-root-container) .mm-soins-more .wp-block-buttons { margin: 0; }

/* Grille des tarifs (bloc synchronisé) */
.mm-tarifs { margin-top: clamp(40px, 5vw, 60px) !important; background: #FBF5EC; border: 1px solid #E8D7C1; border-radius: 22px; padding: clamp(22px, 3vw, 32px) clamp(20px, 3vw, 40px); display: grid; grid-template-columns: 1fr; gap: 22px; align-items: center; }
.mm-tarifs > * { margin: 0 !important; }
.mm-tarifs .mm-tarifs-intro > * { margin: 0; }
.mm-tarifs .mm-eyebrow { font-family: var(--mm-sans); font-weight: 600; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--mm-copper); }
.mm-tarifs .mm-tarifs-title { margin-top: 8px !important; font-family: var(--mm-serif); font-size: clamp(20px, 2vw, 24px); line-height: 1.3; color: var(--mm-ink); }
.mm-tarifs .mm-tarifs-title em { font-style: italic; color: var(--mm-copper); }
.mm-tarifs .mm-tarifs-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 18px !important; column-gap: 0 !important; }
.mm-tarifs .mm-tarif { text-align: center; padding: 4px 8px; }
.mm-tarifs .mm-tarif:nth-child(even) { border-left: 1px dotted var(--mm-dot); }
.mm-tarifs .mm-tarif > * { margin: 0; }
.mm-tarifs .mm-tarif-dur { font-family: var(--mm-label); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--mm-text); white-space: nowrap; line-height: 1.4; }
.mm-tarifs .mm-tarif-prix { margin-top: 8px !important; font-family: var(--mm-serif); font-size: clamp(28px, 2.6vw, 34px); line-height: 1; color: var(--mm-copper); white-space: nowrap; }
@media (min-width: 560px) {
	.mm-tarifs .mm-tarifs-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.mm-tarifs .mm-tarif + .mm-tarif { border-left: 1px dotted var(--mm-dot); }
}
@media (min-width: 900px) { .mm-tarifs { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 20px 48px; } }
.mm-sec--tarifs .mm-tarifs { margin-top: 0 !important; }

/* Étapes 01 → 04 */
:is(.mm-main, .is-root-container) .mm-steps { border-top: 1px solid var(--mm-line); row-gap: 0 !important; }
:is(.mm-main, .is-root-container) .mm-step { padding: 28px 0 32px; border-bottom: 1px solid var(--mm-line); }
:is(.mm-main, .is-root-container) .mm-step > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-step-num { font-family: var(--mm-serif); font-style: italic; font-size: 40px !important; line-height: 1 !important; color: #C9744A !important; }
:is(.mm-main, .is-root-container) .mm-step-title { margin: 18px 0 10px !important; font-size: clamp(22px, 2vw, 25px); }
:is(.mm-main, .is-root-container) .mm-step p:last-child { font-size: 15.5px; line-height: 1.7; }

/* Le geste */
:is(.mm-main, .is-root-container) .mm-geste { margin-top: 30px !important; border-top: 1px solid var(--mm-line-2); }
:is(.mm-main, .is-root-container) .mm-geste-row { display: grid; grid-template-columns: 1fr; gap: 6px; padding: 20px 0; border-bottom: 1px solid var(--mm-line-2); }
:is(.mm-main, .is-root-container) .mm-geste-row > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-geste-title { font-family: var(--mm-serif); font-size: 23px !important; line-height: 1.2 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-geste-row p:last-child { font-size: 15.5px; line-height: 1.65; }
@media (min-width: 560px) { :is(.mm-main, .is-root-container) .mm-geste-row { grid-template-columns: 140px minmax(0, 1fr); gap: 20px; } }

/* Cartes à icône */
:is(.mm-main, .is-root-container) .mm-cards { margin: 0; }
:is(.mm-main, .is-root-container) .mm-card { position: relative; overflow: hidden; isolation: isolate; background: var(--mm-tone-bg); border-radius: var(--mm-radius); padding: clamp(26px, 3vw, 38px) clamp(22px, 2.6vw, 32px) clamp(28px, 3vw, 36px); transition: box-shadow .3s ease; }
:is(.mm-main, .is-root-container) .mm-card:hover { box-shadow: 0 18px 40px rgba(90, 50, 26, .14); }
:is(.mm-main, .is-root-container) .mm-card::after { content: var(--mm-ico); position: absolute; right: -18px; bottom: -26px; font-size: 140px; color: var(--mm-tone); opacity: .09; pointer-events: none; z-index: -1; }
:is(.mm-main, .is-root-container) .mm-card > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-card-label { display: flex; align-items: center; gap: 12px; margin-bottom: 18px !important; font-family: var(--mm-label); font-size: 12.5px !important; letter-spacing: .22em; text-transform: uppercase; color: var(--mm-tone) !important; line-height: 1.3 !important; }
:is(.mm-main, .is-root-container) .mm-card-label::before, :is(.mm-main, .is-root-container) .mm-row::before { content: var(--mm-ico); font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; display: flex; align-items: center; justify-content: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--mm-ivory); color: var(--mm-tone); font-size: 24px; letter-spacing: 0; text-transform: none; box-shadow: 0 4px 12px rgba(90, 50, 26, .08); }
:is(.mm-main, .is-root-container) .mm-card-title { margin: 0 0 12px !important; font-size: clamp(22px, 2.2vw, 27px); text-wrap: balance; }
:is(.mm-main, .is-root-container) .mm-card-text { font-size: 15.5px !important; line-height: 1.7 !important; color: var(--mm-text-2) !important; }
:is(.mm-main, .is-root-container) .mm-chips { list-style: none; margin: 4px 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
:is(.mm-main, .is-root-container) .mm-chips li { margin: 0; font-family: var(--mm-label); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #6B4630; background: var(--mm-ivory); border: 1px solid rgba(120, 80, 50, .16); padding: 8px 14px; border-radius: 999px; line-height: 1.3; }

/* Lignes d'infos + carte tarif (ateliers, entreprises, événements) */
:is(.mm-main, .is-root-container) .mm-info2 { display: grid; grid-template-columns: 1fr; gap: clamp(16px, 2vw, 24px); margin-top: clamp(40px, 5vw, 60px) !important; align-items: stretch; }
:is(.mm-main, .is-root-container) .mm-info2 > * { margin: 0 !important; }
@media (min-width: 820px) { :is(.mm-main, .is-root-container) .mm-info2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
:is(.mm-main, .is-root-container) .mm-rows { display: flex; flex-direction: column; gap: clamp(12px, 1.6vw, 16px); }
:is(.mm-main, .is-root-container) .mm-rows > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-row { flex: 1; display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 18px; align-content: center; background: var(--mm-tone-bg); border-radius: 20px; padding: 20px 22px; }
:is(.mm-main, .is-root-container) .mm-row::before { grid-row: 1 / span 2; align-self: center; box-shadow: none; }
:is(.mm-main, .is-root-container) .mm-row > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-row-label { font-family: var(--mm-label); font-size: 12px !important; letter-spacing: .2em; text-transform: uppercase; color: var(--mm-tone) !important; line-height: 1.4 !important; }
:is(.mm-main, .is-root-container) .mm-row-text { margin-top: 4px !important; font-family: var(--mm-serif); font-size: clamp(19px, 2vw, 22px) !important; line-height: 1.25 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-pricecard { position: relative; overflow: hidden; isolation: isolate; background: var(--mm-ivory); border: 1px solid #E6D2B8; border-radius: var(--mm-radius); padding: clamp(26px, 3vw, 38px); display: flex; flex-direction: column; box-shadow: 0 14px 36px rgba(120, 70, 36, .08); }
:is(.mm-main, .is-root-container) .mm-pricecard::after { content: var(--mm-ico); position: absolute; right: -20px; top: -24px; font-size: 140px; color: var(--mm-terra); opacity: .07; pointer-events: none; z-index: -1; }
:is(.mm-main, .is-root-container) .mm-pricecard > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-pricecard-title { margin-top: 8px !important; font-family: var(--mm-serif); font-size: clamp(22px, 2.2vw, 27px) !important; line-height: 1.25 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-pricecard-body { flex: 1; display: flex; flex-direction: column; justify-content: space-evenly; gap: 14px; margin: 18px 0 22px !important; padding: 6px 0; }
:is(.mm-main, .is-root-container) .mm-pricecard-body > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-priceline { display: flex; align-items: baseline; gap: 12px; font-family: var(--mm-serif); font-size: clamp(22px, 2.2vw, 26px) !important; line-height: 1.2 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-priceline .mm-dots { flex: 1; min-width: 16px; border-bottom: 1px dotted var(--mm-dot); transform: translateY(-5px); }
:is(.mm-main, .is-root-container) .mm-priceline .mm-dots ~ * , :is(.mm-main, .is-root-container) .mm-priceline { white-space: nowrap; }
:is(.mm-main, .is-root-container) .mm-small-caps { font-family: var(--mm-label); font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase; line-height: 1.4 !important; }
:is(.mm-main, .is-root-container) .mm-check { display: flex; align-items: center; gap: 14px; font-family: var(--mm-serif); font-size: clamp(19px, 1.8vw, 22px) !important; line-height: 1.25 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-check::before { content: var(--mm-ico); font-size: 22px; color: #C9744A; flex: none; }
:is(.mm-main, .is-root-container) .mm-note { font-size: 14.5px !important; line-height: 1.6 !important; }
:is(.mm-main, .is-root-container) .mm-pricecard .wp-block-buttons { margin-top: 0; }

/* Questions fréquentes */
:is(.mm-main, .is-root-container) .mm-faq-col > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-faq-cat { font-family: var(--mm-sans); font-weight: 600; font-size: 12px !important; letter-spacing: .2em; text-transform: uppercase; color: var(--mm-copper) !important; padding-bottom: 14px; border-bottom: 1px solid var(--mm-dot); line-height: 1.4 !important; }
:is(.mm-main, .is-root-container) .mm-faq > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-faq--single { border-top: 1px solid var(--mm-dot); }
:is(.mm-main, .is-root-container) .wp-block-details { border-bottom: 1px solid var(--mm-line); padding: 16px 0; margin: 0; }
:is(.mm-main, .is-root-container) .wp-block-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--mm-serif); font-size: 18.5px; line-height: 1.3; color: var(--mm-ink); -webkit-tap-highlight-color: transparent; }
:is(.mm-main, .is-root-container) .mm-faq--single .wp-block-details summary { font-size: 20px; }
:is(.mm-main, .is-root-container) .wp-block-details summary::-webkit-details-marker { display: none; }
:is(.mm-main, .is-root-container) .wp-block-details summary::marker { content: ""; }
:is(.mm-main, .is-root-container) .wp-block-details summary::after { content: "add"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 24px; line-height: 1; color: var(--mm-copper); flex: none; transition: transform .25s ease; }
:is(.mm-main, .is-root-container) .wp-block-details[open] summary::after { transform: rotate(45deg); }
:is(.mm-main, .is-root-container) .wp-block-details summary:hover { color: var(--mm-copper); }
:is(.mm-main, .is-root-container) .wp-block-details > p { margin: 12px 0 2px !important; font-size: 15px; line-height: 1.75; max-width: 68ch; }

/* Avis */
:is(.mm-main, .is-root-container) .mm-reviews-head { gap: 20px 40px; margin-bottom: clamp(28px, 3.4vw, 40px) !important; align-items: flex-end; }
:is(.mm-main, .is-root-container) .mm-reviews-head > div > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-reviews-head h2 { margin-top: 14px !important; }
:is(.mm-main, .is-root-container) .mm-reviews-meta { gap: 14px 22px; }
:is(.mm-main, .is-root-container) .mm-reviews-meta > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-stars { display: inline-flex; align-items: center; gap: 8px; font-size: 14px !important; color: var(--mm-text) !important; white-space: nowrap; letter-spacing: 1.5px; }
:is(.mm-main, .is-root-container) .mm-stars::before { content: "★★★★★"; color: #E0A33A; font-size: 19px; letter-spacing: 2px; margin-right: 4px; }
:is(.mm-main, .is-root-container) .mm-stars .mm-g { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; font-weight: 700; font-size: 13px; letter-spacing: 0; color: #4285F4; box-shadow: 0 2px 6px rgba(90, 50, 26, .12); margin-left: 6px; }
:is(.mm-main, .is-root-container) .mm-reviews .mm-review { position: relative; background: var(--mm-ivory); border-radius: 20px; padding: clamp(22px, 2.4vw, 28px); display: flex; flex-direction: column; gap: 14px; box-shadow: 0 8px 24px rgba(90, 50, 26, .06); }
:is(.mm-main, .is-root-container) .mm-review > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-review::after { content: "”"; position: absolute; right: 20px; top: 6px; font-family: var(--mm-serif); font-size: 64px; line-height: 1; color: #EED3BE; pointer-events: none; }
:is(.mm-main, .is-root-container) .mm-review-head { gap: 12px; }
:is(.mm-main, .is-root-container) .mm-review-head > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-review-head > div > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-review-initial { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--mm-terra); color: #fff !important; font-family: var(--mm-label); font-size: 15px !important; line-height: 1 !important; flex: none; }
:is(.mm-main, .is-root-container) .mm-review-name { font-weight: 600; font-size: 14.5px !important; line-height: 1.3 !important; color: var(--mm-ink) !important; }
:is(.mm-main, .is-root-container) .mm-review-meta { font-size: 12px !important; line-height: 1.4 !important; letter-spacing: 1.5px; color: #E0A33A !important; }
:is(.mm-main, .is-root-container) .mm-review-meta span { letter-spacing: 0; color: #8A7466; font-size: 12.5px; margin-left: 6px; }
:is(.mm-main, .is-root-container) .mm-review-text { font-size: 14.5px !important; line-height: 1.65 !important; color: var(--mm-text-2) !important; }

/* =========================================================
   7. Contact
   ========================================================= */
:is(.mm-main, .is-root-container) .mm-sec--contact { padding-top: clamp(56px, 7vw, 100px); padding-bottom: clamp(56px, 7vw, 100px); padding-left: clamp(12px, 4vw, 48px) !important; padding-right: clamp(12px, 4vw, 48px) !important; }
:is(.mm-main, .is-root-container) .mm-contact { position: relative; overflow: hidden; isolation: isolate; background: #F1E2CF; border-radius: clamp(24px, 3vw, 36px); display: grid; grid-template-columns: 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; padding: clamp(26px, 5vw, 68px) clamp(18px, 5vw, 68px) clamp(150px, 16vw, 230px); }
:is(.mm-main, .is-root-container) .mm-contact::after { content: ""; position: absolute; right: clamp(20px, 4vw, 60px); bottom: clamp(-30px, -2vw, -14px); width: clamp(150px, 19vw, 260px); aspect-ratio: 306 / 300; background: url("assets/img/logo-terracotta.png") no-repeat center / contain; opacity: .3; pointer-events: none; z-index: -1; }
@media (min-width: 860px) { :is(.mm-main, .is-root-container) .mm-contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
:is(.mm-main, .is-root-container) .mm-contact > * { margin: 0 !important; }
:is(.mm-main, .is-root-container) .mm-contact-text > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-contact-title { margin: 16px 0 20px !important; font-size: clamp(38px, 4.8vw, 62px); line-height: 1.02; }
:is(.mm-main, .is-root-container) .mm-contact-intro { margin-bottom: 30px !important; max-width: 44ch; }
:is(.mm-main, .is-root-container) .mm-contact-tel, :is(.mm-main, .is-root-container) .mm-contact-mail, :is(.mm-main, .is-root-container) .mm-contact-home { margin-top: 12px !important; }
:is(.mm-main, .is-root-container) .mm-contact-tel a, :is(.mm-main, .is-root-container) .mm-contact-mail a, :is(.mm-main, .is-root-container) .mm-contact-home { display: flex; align-items: center; gap: 16px; border-radius: 16px; padding: 14px 18px; line-height: 1.2; }
:is(.mm-main, .is-root-container) .mm-contact-tel a::before, :is(.mm-main, .is-root-container) .mm-contact-mail a::before, :is(.mm-main, .is-root-container) .mm-contact-home::before { font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 50%; font-size: 22px; letter-spacing: 0; }
:is(.mm-main, .is-root-container) .mm-contact-tel a { background: var(--mm-terra); color: #fff; box-shadow: 0 12px 28px rgba(150, 70, 30, .22); font-family: var(--mm-serif); font-size: clamp(22px, 2.4vw, 30px); white-space: nowrap; padding-top: 16px; padding-bottom: 16px; }
:is(.mm-main, .is-root-container) .mm-contact-tel a::before { content: "call"; background: var(--mm-ivory); color: var(--mm-terra); }
:is(.mm-main, .is-root-container) .mm-contact-tel a:hover { background: var(--mm-terra-dark); transform: translateX(4px); color: #fff; }
:is(.mm-main, .is-root-container) .mm-contact-mail a { background: var(--mm-ivory); border: 1px solid #E6D2B8; color: var(--mm-ink); font-size: clamp(14px, 3.9vw, 16px); white-space: nowrap; }
:is(.mm-main, .is-root-container) .mm-contact-mail a::before { content: "mail"; background: #F6E3CF; color: var(--mm-terra); }
:is(.mm-main, .is-root-container) .mm-contact-mail a:hover { border-color: var(--mm-terra); transform: translateX(4px); }
:is(.mm-main, .is-root-container) .mm-contact-home { font-size: 15.5px !important; color: var(--mm-text) !important; padding-top: 6px !important; }
:is(.mm-main, .is-root-container) .mm-contact-home::before { content: "home_work"; background: #F6E3CF; color: var(--mm-terra); }
@media (max-width: 380px) { :is(.mm-main, .is-root-container) .mm-contact-tel a, :is(.mm-main, .is-root-container) .mm-contact-mail a { gap: 12px; padding-left: 12px; padding-right: 12px; } :is(.mm-main, .is-root-container) .mm-contact-tel a::before, :is(.mm-main, .is-root-container) .mm-contact-mail a::before { width: 38px; height: 38px; } }

/* Formulaire */
.mm-form { position: relative; background: var(--mm-ivory); border-radius: var(--mm-radius); padding: clamp(22px, 3vw, 36px); box-shadow: 0 20px 50px rgba(120, 70, 36, .14); display: flex; flex-direction: column; gap: 12px; }
.mm-form, .mm-form * { box-sizing: border-box; }
.mm-form p { margin: 0; }
.mm-form .mm-form-title { font-family: var(--mm-serif); font-size: clamp(22px, 2.2vw, 27px); line-height: 1.2; color: var(--mm-ink); }
.mm-form .mm-form-sub { font-size: 14.5px; line-height: 1.6; color: var(--mm-text); margin: -6px 0 8px; }
.mm-form input, .mm-form textarea { -webkit-appearance: none; appearance: none; width: 100%; background: #fff; border: 1px solid #E8D7C1; border-radius: 12px; padding: 14px 16px; color: var(--mm-ink); font-family: var(--mm-sans); font-size: 16px; line-height: 1.4; outline: none; box-shadow: none; transition: border-color .2s, box-shadow .2s; }
.mm-form textarea { resize: vertical; min-height: 130px; }
.mm-form input:focus, .mm-form textarea:focus { border-color: var(--mm-terra); box-shadow: 0 0 0 3px rgba(184, 84, 35, .15); }
.mm-form ::placeholder { color: #9A877A; opacity: 1; }
.mm-form .mm-form-btn { -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; font-family: var(--mm-label); font-weight: 400; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: #fff; background: var(--mm-terra); border: 0; border-radius: 3px; padding: 17px; cursor: pointer; transition: background-color .2s, transform .2s; }
.mm-form .mm-form-btn::after { content: "send"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 18px; letter-spacing: 0; text-transform: none; }
.mm-form .mm-form-btn:hover { background: var(--mm-terra-dark); transform: translateY(-2px); }
.mm-form .mm-form-msg { border-radius: 12px; padding: 12px 14px; font-size: 14.5px; line-height: 1.5; }
.mm-form .mm-form-msg--ok { background: #EAF2E3; color: #3E5E2B; }
.mm-form .mm-form-msg--err { background: #F8E1DA; color: #8A2E17; }
.mm-form .mm-form-hint { font-size: 12.5px; line-height: 1.4; color: #8A7466; margin: -4px 0 2px 4px; }
.mm-form .mm-form-legal { font-size: 12.5px; line-height: 1.5; color: #8A7466; text-align: center; }
.mm-form .mm-form-legal a { color: inherit; text-decoration: underline; }
.mm-sr, .mm-hp { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* =========================================================
   8. Pied de page
   ========================================================= */
.mm-footer { background: var(--mm-ink); color: rgba(250, 244, 236, .72); padding: 48px var(--mm-gutter) 36px !important; margin: 0 !important; }
.mm-footer p { margin: 0; }
.mm-footer a { color: rgba(250, 244, 236, .78); }
.mm-footer a:hover { color: #fff; }
.mm-footer-top { gap: 24px; align-items: center; }
.mm-footer-brand { gap: 14px; align-items: center; }
.mm-footer-brand .wp-block-image { margin: 0; line-height: 0; }
.mm-footer-brand > div > * { margin: 0; }
.mm-footer-name { font-family: "Comfortaa", var(--mm-sans); font-weight: 600; font-size: 21px; color: #fff; line-height: 1.2; }
.mm-footer-sub { font-size: 12.5px; color: rgba(250, 244, 236, .6); margin-top: 3px !important; }
.mm-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; font-family: var(--mm-label); text-transform: uppercase; font-size: 12px; letter-spacing: .14em; }
.mm-footer-links .mm-insta { display: inline-flex; align-items: center; gap: 10px; color: #fff; }
.mm-footer-links .mm-insta::before { content: ""; width: 36px; height: 36px; border-radius: 50%; flex: none; background: var(--mm-terra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.4' cy='6.6' r='1.2' fill='%23fff' stroke='none'/%3E%3C/svg%3E") no-repeat center / 19px; }
.mm-footer-bottom { margin-top: 28px !important; padding-top: 22px; border-top: 1px solid rgba(250, 244, 236, .12); gap: 18px; align-items: center; }
.mm-footer-legal { font-size: 12.5px; color: rgba(250, 244, 236, .5); line-height: 1.6; }
.mm-footer-legal a { color: rgba(250, 244, 236, .7); text-decoration: underline; text-underline-offset: 3px; }
.mm-totop a { display: inline-flex; align-items: center; gap: 12px; font-family: var(--mm-label); text-transform: uppercase; font-size: 11px; letter-spacing: .2em; }
.mm-totop a::after { content: "arrow_upward"; font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(250, 244, 236, .35); font-size: 22px; letter-spacing: 0; text-transform: none; transition: background-color .25s, border-color .25s; }
.mm-totop a:hover::after { background: var(--mm-copper); border-color: var(--mm-copper); }

/* =========================================================
   9. Pages simples (mentions légales, nouvelles pages)
   ========================================================= */
.mm-main--simple { padding-top: calc(var(--mm-header-h) + clamp(48px, 8vw, 100px)) !important; padding-bottom: clamp(56px, 8vw, 110px) !important; }
:is(.mm-main, .is-root-container) .mm-sec--legal { padding-top: calc(var(--mm-header-h) + clamp(48px, 7vw, 90px)); }
:is(.mm-main, .is-root-container) .mm-legal-head { margin-bottom: clamp(28px, 4vw, 44px) !important; }
:is(.mm-main, .is-root-container) .mm-legal-head > * { margin: 0; }
:is(.mm-main, .is-root-container) .mm-legal-head h1 { margin-top: 14px; font-size: clamp(38px, 5vw, 62px); }
:is(.mm-main, .is-root-container) .mm-legal-h2 { font-size: clamp(24px, 2.6vw, 30px) !important; margin-top: 40px !important; margin-bottom: 12px !important; }
:is(.mm-main, .is-root-container) .mm-sec--legal p, :is(.mm-main, .is-root-container) .mm-sec--legal li { font-size: 16px; line-height: 1.75; color: var(--mm-text); }
:is(.mm-main, .is-root-container) .mm-sec--legal ul { padding-left: 1.2em; margin: 8px 0 16px; }
:is(.mm-main, .is-root-container) .mm-sec--legal p + p { margin-top: 12px; }
:is(.mm-main, .is-root-container) .mm-legal-box { background: var(--mm-ivory); border: 1px solid #E6D2B8; border-radius: 16px; padding: 18px 22px; }
:is(.mm-main, .is-root-container) .mm-sec--legal a { text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }

/* =========================================================
   10. Éditeur : confort de saisie
   ========================================================= */
.editor-styles-wrapper .mm-header { position: relative; top: 0; background: var(--mm-ink); }
.editor-styles-wrapper :is(.mm-main, .is-root-container) .mm-hero, .editor-styles-wrapper .mm-hero { padding-top: 80px !important; }
.editor-styles-wrapper .mm-hp { position: static !important; }

/* Impression */
@media print { .mm-header, .mm-footer, .mm-sec--contact, .mm-hero--home::after { display: none !important; } .mm-hero { min-height: auto !important; } }

/* Avis Google réels (récupérés par l'extension Trustindex, affichés au design du site) */
.mm-reviews--live { width: 100%; max-width: 1240px; margin-inline: auto !important; --mm-gap: clamp(14px, 1.8vw, 22px); --mm-per: 1.12; }
@media (min-width: 640px) { .mm-reviews--live { --mm-per: 2; } }
@media (min-width: 1000px) { .mm-reviews--live { --mm-per: 3; } }
.mm-slider-track { display: flex; gap: var(--mm-gap); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 6px 2px 24px; margin: -6px -2px 0; outline: none; }
.mm-slider-track::-webkit-scrollbar { display: none; }
.mm-reviews--live .mm-review { box-sizing: border-box; margin: 0; flex: 0 0 calc((100% - (var(--mm-per) - 1) * var(--mm-gap)) / var(--mm-per)); scroll-snap-align: start; min-width: 0; }
.mm-slider-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 4px; }
.mm-slider-btn { box-sizing: border-box; -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--mm-terra); background: transparent; color: var(--mm-terra); cursor: pointer; padding: 0; transition: background-color .2s, color .2s; }
.mm-slider-btn::before { font-family: "Material Symbols Rounded"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 22px; line-height: 1; }
.mm-slider-prev::before { content: "arrow_back"; }
.mm-slider-next::before { content: "arrow_forward"; }
.mm-slider-btn:hover, .mm-slider-btn:focus-visible { background: var(--mm-terra); color: #fff; }
.mm-slider-dots { display: flex; gap: 8px; }
.mm-slider-dots i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #D9C3AE; transition: background-color .3s, transform .3s; }
.mm-slider-dots i.is-active { background: var(--mm-terra); transform: scale(1.25); }
.mm-slider.is-static .mm-slider-nav { display: none; }
.mm-reviews--live .mm-review-head { display: flex; align-items: center; gap: 12px; }
.mm-reviews--live .mm-review-head p { margin: 0; }
.mm-reviews--live .mm-review-meta .mm-review-stars { color: #E0A33A; letter-spacing: 1.5px; margin-left: 0; font-size: 12px; }
.mm-reviews--live .mm-review-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; line-clamp: 7; overflow: hidden; }
.mm-reviews--live .mm-review.is-open .mm-review-text { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
.mm-reviews--live .mm-review-more { align-self: flex-start; background: none; border: 0; padding: 0; margin-top: -4px; cursor: pointer; font-family: var(--mm-label); text-transform: uppercase; font-size: 12px; letter-spacing: .14em; color: var(--mm-copper); }
.mm-reviews--live .mm-review-more:hover { color: var(--mm-copper-dark); }
.mm-reviews--live .mm-review-more[hidden] { display: none; }
