/*
Theme Name: MedisHN
Theme URI: https://medishn.fr
Description: Thème du site de présentation MedisHN (enfant de Twenty Twenty-Five).
Author: Deolys
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Text Domain: medishn
*/

:root {
	--mh-radius: 16px;
	--mh-shadow: 0 1px 2px rgba(11, 31, 58, .06), 0 8px 24px -12px rgba(11, 31, 58, .18);
	--mh-shadow-lg: 0 24px 60px -24px rgba(11, 69, 148, .35);
	--mh-line: var(--wp--preset--color--line);
	--mh-muted: var(--wp--preset--color--muted);
	--mh-accent: var(--wp--preset--color--accent);
}

html { scroll-behavior: smooth; scroll-padding-top: 92px; }
html:has(.admin-bar) { scroll-padding-top: 124px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.mh-main { padding-top: 0; padding-bottom: 0; }
.mh-main > .wp-block-post-content > :first-child { margin-top: 0; }
.mh-main > .wp-block-post-content > .alignfull + .alignfull { margin-top: 0; }
img { max-width: 100%; height: auto; }
::selection { background: #cfe4ff; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent-bright); outline-offset: 2px; }

/* ------------------------------------------------------------------ En-tête */
/* Collant sur le wrapper : .mh-header seul resterait enfermé dans sa template part */
.wp-block-template-part:has(> .mh-header) { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-block-template-part:has(> .mh-header) { top: 32px; }
.mh-header {
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--mh-line);
}
.mh-header__inner { max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; min-height: 68px; gap: 1rem; }
.mh-logo { display: inline-flex; align-items: center; }
.mh-logo img { height: 34px; width: auto; display: block; }
.mh-header__nav { gap: 1.25rem; }
.mh-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); text-decoration: none; padding: .35rem .1rem; }
.mh-nav .wp-block-navigation-item__content:hover { color: var(--mh-accent); }
.mh-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--mh-accent); }
.mh-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.mh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: .5rem 0; }
@media (max-width: 781px) {
	.admin-bar .wp-block-template-part:has(> .mh-header) { top: 46px; }
	.mh-logo img { height: 28px; }
}

/* ----------------------------------------------------------------- Sections */
.mh-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.mh-section--tight { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }
.mh-section--surface { background: var(--wp--preset--color--surface); }
.mh-section--line { border-top: 1px solid var(--mh-line); }
.mh-section--night { background: var(--wp--preset--color--night); color: #dbe7f6; }
.mh-section--night :where(h1, h2, h3, h4) { color: #fff; }
.mh-section--night a:not(.wp-element-button) { color: #9cc9ff; }
.mh-section--night .mh-muted { color: #9fb3cc; }
.mh-section > .wp-block-heading:first-child,
.mh-section > .mh-eyebrow:first-child { margin-top: 0; }
.mh-center { text-align: center; }
.mh-center.wp-block-group > * { margin-left: auto; margin-right: auto; }
.mh-narrow { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }

.mh-eyebrow {
	display: block; margin-bottom: .5rem !important;
	font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--mh-accent);
}
.mh-section--night .mh-eyebrow { color: #7cc0ff; }
.mh-lead { font-size: 1.2rem; line-height: 1.6; color: var(--mh-muted); }
.mh-section--night .mh-lead { color: #b9cbe2; }
.mh-muted { color: var(--mh-muted); }
.mh-small { font-size: .9rem; }

/* ---------------------------------------------------------------- Fil d'Ariane */
.mh-breadcrumbs { font-size: .88rem; color: var(--mh-muted); margin: 0 0 1.25rem !important; }
.mh-breadcrumbs a { color: var(--mh-muted); text-decoration: none; }
.mh-breadcrumbs a:hover { color: var(--mh-accent); text-decoration: underline; }
.mh-breadcrumbs span[aria-hidden] { margin: 0 .4rem; opacity: .6; }

/* --------------------------------------------------------------------- Hero */
.mh-hero {
	position: relative; overflow: hidden;
	background:
		radial-gradient(900px 420px at 85% -10%, rgba(42, 139, 240, .18), transparent 65%),
		radial-gradient(700px 380px at -10% 110%, rgba(4, 120, 87, .08), transparent 60%),
		linear-gradient(180deg, #f6faff 0%, #ffffff 100%);
	padding-top: clamp(2.5rem, 6vw, 5rem) !important;
	padding-bottom: clamp(3rem, 7vw, 5.5rem) !important;
	border-bottom: 1px solid var(--mh-line);
}
.mh-hero h1 { margin-top: .25rem; max-width: 20ch; }
.mh-hero--page h1 { max-width: 26ch; }
.mh-hero .mh-lead { max-width: 60ch; }
.mh-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.mh-hero__grid > * { margin: 0 !important; }
@media (max-width: 960px) { .mh-hero__grid { grid-template-columns: 1fr; } }
.mh-hero .wp-block-buttons { margin-top: 1.75rem; }
.mh-reassure { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 0; margin: 1.25rem 0 0 !important; list-style: none; font-size: .92rem; color: var(--mh-muted); }
.mh-reassure li { display: inline-flex; align-items: center; gap: .4rem; }
.mh-reassure li::before { content: ""; width: 1rem; height: 1rem; flex: none; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23047857'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z' clip-rule='evenodd'/%3E%3C/svg%3E"); }

.wp-block-button.is-style-outline > .wp-block-button__link { background: #fff; color: var(--mh-accent); border: 1.5px solid #b9d4f5; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--mh-accent); background: var(--wp--preset--color--surface); }
.wp-block-button.mh-btn-light > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--accent-strong); }
.wp-block-button.mh-btn-light > .wp-block-button__link:hover { background: var(--wp--preset--color--surface-2); }
.wp-block-button__link { box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 6px 16px -8px rgba(11, 92, 192, .6); transition: background .15s, transform .15s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.is-style-outline .wp-block-button__link { box-shadow: none; }

/* Aperçu de devis (illustration du hero, en HTML) */
.mh-mock { background: #fff; border: 1px solid var(--mh-line); border-radius: 20px; box-shadow: var(--mh-shadow-lg); padding: 1.35rem; font-size: .9rem; position: relative; }
.mh-mock__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px dashed var(--mh-line); }
.mh-mock__title { font-family: var(--wp--preset--font-family--jakarta); font-weight: 750; font-size: 1rem; color: var(--wp--preset--color--contrast); }
.mh-mock__ref { color: var(--mh-muted); font-size: .8rem; }
.mh-mock__rows { list-style: none; margin: .75rem 0; padding: 0; }
.mh-mock__rows li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #eef3fa; color: #2b3d57; }
.mh-mock__rows li span:last-child { color: var(--mh-muted); white-space: nowrap; }
.mh-mock__checks { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; gap: .45rem; }
.mh-mock__checks li { display: flex; gap: .5rem; align-items: flex-start; font-size: .85rem; color: #23406a; }
.mh-mock__checks li::before { content: ""; flex: none; margin-top: .15rem; width: .95rem; height: .95rem; border-radius: 50%; background: var(--wp--preset--color--emerald-soft) no-repeat center / .6rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%23047857' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); box-shadow: inset 0 0 0 1px #a7f3d0; }
.mh-mock__checks li.is-wait::before { background: #fff7e6 no-repeat center / .55rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='3.2' fill='none' stroke='%23b45309' stroke-width='1.6'/%3E%3Cpath d='M6 4.4v1.8l1.1.8' stroke='%23b45309' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E"); box-shadow: inset 0 0 0 1px #fcd34d; }
.mh-mock__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; gap: .75rem; flex-wrap: wrap; }
.mh-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 650; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent-strong); border: 1px solid #cfe2fb; }
.mh-pill--ok { background: var(--wp--preset--color--emerald-soft); color: var(--wp--preset--color--emerald); border-color: #a7f3d0; }
.mh-pill--wait { background: var(--wp--preset--color--amber-soft); color: #92400e; border-color: #fcd34d; }
.mh-mock__float { position: absolute; right: -14px; bottom: -18px; background: var(--wp--preset--color--night); color: #e6f0ff; border-radius: 14px; padding: .7rem .9rem; font-size: .8rem; box-shadow: var(--mh-shadow-lg); max-width: 230px; }
.mh-mock__float strong { color: #fff; display: block; font-size: .85rem; }
@media (max-width: 600px) { .mh-mock__float { position: static; margin-top: 1rem; max-width: none; } }

/* -------------------------------------------------------------- Grilles, cartes */
.mh-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.mh-grid > * { margin: 0 !important; }
.mh-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .mh-grid--2 { grid-template-columns: minmax(0, 1fr); } }
.mh-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 960px) { .mh-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); } }
.mh-card { background: #fff; border: 1px solid var(--mh-line); border-radius: var(--mh-radius); padding: 1.5rem; box-shadow: var(--mh-shadow); }
.mh-card > :first-child { margin-top: 0; }
.mh-card > :last-child { margin-bottom: 0; }
.mh-card h3 { font-size: 1.12rem; margin-bottom: .5rem; }
.mh-card p { color: #34465f; }
.mh-section--night .mh-card { background: #0d2140; border-color: #1d3a63; box-shadow: none; }
.mh-section--night .mh-card p { color: #c3d3e8; }
.mh-card--link { position: relative; transition: border-color .15s, transform .15s, box-shadow .15s; }
.mh-card--link:hover { border-color: #9cc3f2; transform: translateY(-2px); box-shadow: var(--mh-shadow-lg); }
.mh-card--link a::after { content: ""; position: absolute; inset: 0; }
.mh-card--link h3 a { color: inherit; text-decoration: none; }
.mh-card__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--wp--preset--color--surface); color: var(--mh-accent); margin-bottom: 1rem; }
.mh-card__icon svg { width: 22px; height: 22px; }
.mh-card__meta { font-size: .82rem; color: var(--mh-muted); margin-top: .75rem !important; }
.mh-tag { display: inline-block; font-size: .75rem; font-weight: 650; padding: .15rem .55rem; border-radius: 6px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent-strong); margin: 0 .3rem .3rem 0; }
.mh-tag--emerald { background: var(--wp--preset--color--emerald-soft); color: var(--wp--preset--color--emerald); }
.mh-tag--amber { background: var(--wp--preset--color--amber-soft); color: #92400e; }

/* Fonctionnalité détaillée (texte + liste) */
.mh-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding: 2rem 0; border-top: 1px solid var(--mh-line); }
.mh-feature:first-of-type { border-top: 0; }
.mh-feature > * { margin: 0 !important; }
.mh-feature h3 { font-size: 1.45rem; }
@media (max-width: 860px) { .mh-feature { grid-template-columns: 1fr; } }

/* Listes à coches */
ul.mh-checklist { list-style: none; padding-left: 0; display: grid; gap: .6rem; }
ul.mh-checklist li { position: relative; padding-left: 1.85rem; }
ul.mh-checklist li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--wp--preset--color--emerald-soft) no-repeat center / .75rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%23047857' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); box-shadow: inset 0 0 0 1px #a7f3d0; }
ul.mh-crosslist { list-style: none; padding-left: 0; display: grid; gap: .6rem; }
ul.mh-crosslist li { position: relative; padding-left: 1.85rem; }
ul.mh-crosslist li::before { content: "×"; position: absolute; left: 0; top: .05rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .9rem; line-height: 1; color: #b42318; background: #fef3f2; box-shadow: inset 0 0 0 1px #fecdca; }

/* Étapes numérotées */
ol.mh-steps { list-style: none; padding: 0; counter-reset: step; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
ol.mh-steps li { counter-increment: step; background: #fff; border: 1px solid var(--mh-line); border-radius: var(--mh-radius); padding: 1.25rem 1.25rem 1.25rem 1.25rem; position: relative; }
ol.mh-steps li::before { content: counter(step); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 10px; margin-bottom: .75rem; background: var(--wp--gradient--brand, #0b5cc0); background: linear-gradient(135deg,#0FA3F2,#0A6BD2 55%,#0B3A86); color: #fff; font-weight: 750; font-family: var(--wp--preset--font-family--jakarta); }
ol.mh-steps li strong { display: block; color: var(--wp--preset--color--contrast); margin-bottom: .25rem; }

/* Encadrés */
.mh-callout { border-radius: 14px; padding: 1.1rem 1.25rem !important; background: var(--wp--preset--color--surface); border: 1px solid #cfe2fb; }
.mh-callout > * { margin-top: 0; }
.mh-callout > :last-child { margin-bottom: 0; }
.mh-callout--warn { background: var(--wp--preset--color--amber-soft); border-color: #fcd34d; }
.mh-callout--ok { background: var(--wp--preset--color--emerald-soft); border-color: #a7f3d0; }
.mh-callout strong:first-child { color: var(--wp--preset--color--contrast); }

/* Tableaux */
.wp-block-table.mh-table { overflow-x: auto; }
.wp-block-table.mh-table table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 640px; border: 1px solid var(--mh-line); border-radius: 14px; overflow: hidden; font-size: .95rem; background: #fff; }
.wp-block-table.mh-table th, .wp-block-table.mh-table td { border: 0; border-bottom: 1px solid var(--mh-line); padding: .8rem 1rem; text-align: left; vertical-align: top; }
.wp-block-table.mh-table thead th { background: var(--wp--preset--color--surface); font-weight: 700; color: var(--wp--preset--color--contrast); }
.wp-block-table.mh-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.mh-table td:first-child { font-weight: 600; color: var(--wp--preset--color--contrast); }
.wp-block-table.mh-table figcaption { font-size: .85rem; color: var(--mh-muted); text-align: left; }

/* Tarifs */
.mh-pricing { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
@media (max-width: 960px) { .mh-pricing { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; } }
.mh-price { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mh-line); border-radius: 20px; padding: 1.75rem; box-shadow: var(--mh-shadow); margin: 0 !important; position: relative; }
.mh-price--featured { border: 2px solid var(--mh-accent); box-shadow: var(--mh-shadow-lg); }
.mh-price__badge { position: absolute; top: -12px; left: 1.75rem; background: var(--mh-accent); color: #fff; font-size: .75rem; font-weight: 700; padding: .25rem .7rem; border-radius: 999px; letter-spacing: .02em; }
.mh-price h3 { margin: 0 0 .25rem; font-size: 1.3rem; }
.mh-price__for { color: var(--mh-muted); font-size: .92rem; margin: 0 0 1.25rem; min-height: 2.8em; }
.mh-price__amount { font-family: var(--wp--preset--font-family--jakarta); font-size: 2.6rem; font-weight: 800; color: var(--wp--preset--color--contrast); line-height: 1; letter-spacing: -.02em; margin: 0; }
.mh-price__amount small { font-size: 1rem; font-weight: 600; color: var(--mh-muted); letter-spacing: 0; }
.mh-price__alt { font-size: .88rem; color: var(--mh-muted); margin: .5rem 0 1.25rem; }
.mh-price ul { margin: 0 0 1.5rem; flex: 1; font-size: .95rem; }
.mh-price .wp-element-button, .mh-price .mh-btn { display: block; text-align: center; }
.mh-btn { display: inline-block; padding: .8rem 1.35rem; border-radius: 10px; font-weight: 650; text-decoration: none !important; background: var(--mh-accent); color: #fff !important; }
.mh-btn:hover { background: var(--wp--preset--color--accent-strong); }
.mh-btn--outline { background: #fff; color: var(--mh-accent) !important; border: 1.5px solid #b9d4f5; }
.mh-btn--outline:hover { background: var(--wp--preset--color--surface); border-color: var(--mh-accent); }

/* FAQ */
.mh-faq { display: grid; gap: .75rem; }
.mh-faq .wp-block-details { background: #fff; margin: 0 !important; }
.mh-faq summary { font-weight: 650; cursor: pointer; color: var(--wp--preset--color--contrast); list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.mh-faq summary::-webkit-details-marker { display: none; }
.mh-faq summary::after { content: "+"; font-size: 1.35rem; line-height: 1; color: var(--mh-accent); flex: none; transition: transform .2s; }
.mh-faq details[open] summary::after { transform: rotate(45deg); }
.mh-faq details > :not(summary) { color: #34465f; margin-top: .75rem; }

/* Bandeau d'appel à l'action */
.mh-cta { background: linear-gradient(135deg, #0FA3F2 0%, #0A6BD2 50%, #0B3A86 100%); color: #e9f3ff; border-radius: 24px; padding: clamp(2rem, 5vw, 3.5rem) !important; text-align: center; position: relative; overflow: hidden; }
.mh-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 200px at 50% -20%, rgba(255,255,255,.25), transparent 70%); pointer-events: none; }
.mh-cta h2 { color: #fff; margin-top: 0; }
.mh-cta p { color: #dcecff; max-width: 60ch; margin-left: auto; margin-right: auto; }
.mh-cta .wp-block-buttons { justify-content: center; }
.mh-cta .mh-reassure { justify-content: center; color: #d7e9ff; }
.mh-cta .mh-reassure li::before { filter: brightness(2.2) saturate(.4); }

/* Liens d'activités */
.mh-chips { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; list-style: none; }
.mh-chips li { margin: 0; }
.mh-chips a { display: inline-block; padding: .45rem .85rem; border-radius: 999px; border: 1px solid var(--mh-line); background: #fff; text-decoration: none; color: var(--wp--preset--color--contrast); font-size: .9rem; }
.mh-chips a:hover { border-color: var(--mh-accent); color: var(--mh-accent); }

/* Problèmes / avant-après */
.mh-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.mh-compare > * { margin: 0 !important; }
@media (max-width: 780px) { .mh-compare { grid-template-columns: 1fr; } }
.mh-compare__bad { background: #fff; border: 1px solid #f3d6d3; }
.mh-compare__good { background: #fff; border: 1px solid #b7ead3; }

/* Articles (guides) */
.mh-article { font-size: 1.06rem; }
.mh-article h2 { margin-top: 2.75rem; font-size: 1.7rem; }
.mh-article h3 { margin-top: 2rem; }
.mh-article li + li { margin-top: .35rem; }
.mh-toc { background: var(--wp--preset--color--surface); border-radius: 14px; padding: 1.1rem 1.4rem !important; font-size: .95rem; }
.mh-toc p { font-weight: 700; margin: 0 0 .5rem; color: var(--wp--preset--color--contrast); }
.mh-toc ol { margin: 0; padding-left: 1.2rem; }
.mh-updated { font-size: .88rem; color: var(--mh-muted); }

/* --------------------------------------------------------------- Formulaires */
.mh-form { display: grid; gap: 1rem; background: #fff; border: 1px solid var(--mh-line); border-radius: 18px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--mh-shadow); }
.mh-form__row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .mh-form__row { grid-template-columns: 1fr; } }
.mh-form label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .35rem; color: var(--wp--preset--color--contrast); }
.mh-form label .mh-opt { font-weight: 400; color: var(--mh-muted); }
.mh-form input[type="text"], .mh-form input[type="email"], .mh-form input[type="tel"], .mh-form input[type="number"], .mh-form input[type="date"], .mh-form select, .mh-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .7rem .85rem; border: 1px solid #c4d3e6; border-radius: 10px; background: #fff; color: var(--wp--preset--color--contrast);
}
.mh-form input:focus, .mh-form select:focus, .mh-form textarea:focus { outline: none; border-color: var(--mh-accent); box-shadow: 0 0 0 3px rgba(42, 139, 240, .2); }
.mh-form textarea { min-height: 110px; resize: vertical; }
.mh-form__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .88rem; color: var(--mh-muted); }
.mh-form__consent input { margin-top: .25rem; flex: none; width: 1.05rem; height: 1.05rem; }
.mh-form__consent label { font-weight: 400; color: var(--mh-muted); font-size: .88rem; margin: 0; }
.mh-form button, .mh-gen button { font: inherit; font-weight: 650; cursor: pointer; border: 0; border-radius: 10px; padding: .85rem 1.35rem; background: var(--mh-accent); color: #fff; }
.mh-form button:hover, .mh-gen button:hover { background: var(--wp--preset--color--accent-strong); }
.mh-form button[disabled] { opacity: .6; cursor: wait; }
.mh-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.mh-form__msg { margin: 0; font-size: .95rem; }
.mh-form__msg.is-ok { color: var(--wp--preset--color--emerald); font-weight: 600; }
.mh-form__msg.is-err { color: #b42318; font-weight: 600; }
.mh-form__legal { font-size: .8rem; color: var(--mh-muted); margin: 0; }

/* Générateur de devis */
.mh-gen { display: grid; gap: 1.5rem; }
.mh-gen[hidden] { display: none; }
.mh-gen__panel { background: #fff; border: 1px solid var(--mh-line); border-radius: 18px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--mh-shadow); }
.mh-gen__panel h3 { margin-top: 0; }
.mh-gen__lines { display: grid; gap: .6rem; }
.mh-gen__line { display: grid; grid-template-columns: minmax(0, 3fr) 80px 120px 40px; gap: .5rem; align-items: center; }
.mh-gen__line input { width: 100%; box-sizing: border-box; font: inherit; padding: .6rem .7rem; border: 1px solid #c4d3e6; border-radius: 9px; }
.mh-gen__line button { padding: .55rem; background: #fff; color: #b42318; border: 1px solid #f3d6d3; }
.mh-gen__line button:hover { background: #fef3f2; }
.mh-gen__head { font-size: .8rem; font-weight: 650; color: var(--mh-muted); }
@media (max-width: 640px) { .mh-gen__line { grid-template-columns: 1fr 64px 96px 36px; } }
.mh-gen .mh-btn-secondary { background: #fff; color: var(--mh-accent); border: 1.5px solid #b9d4f5; }
.mh-gen .mh-btn-secondary:hover { background: var(--wp--preset--color--surface); }
.mh-gen__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.mh-doc { background: #fff; color: #111; border: 1px solid var(--mh-line); border-radius: 6px; padding: 2.25rem; font-size: .92rem; line-height: 1.5; box-shadow: var(--mh-shadow); }
.mh-doc h2 { font-size: 1.4rem; margin: 0 0 .25rem; }
.mh-doc__top { display: flex; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.mh-doc table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.mh-doc th, .mh-doc td { border-bottom: 1px solid #ddd; padding: .5rem; text-align: left; }
.mh-doc td.n, .mh-doc th.n { text-align: right; white-space: nowrap; }
.mh-doc__total { margin-left: auto; width: min(100%, 300px); }
.mh-doc__mentions { font-size: .82rem; color: #333; border-top: 1px solid #ddd; padding-top: 1rem; margin-top: 1.25rem; }
.mh-doc__sign { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2rem; }
.mh-doc__sign div { border: 1px dashed #bbb; border-radius: 6px; min-height: 90px; padding: .6rem; font-size: .8rem; color: #555; }
.mh-doc__draft { font-size: .75rem; color: #92400e; background: #fffbeb; border: 1px solid #fcd34d; padding: .4rem .6rem; border-radius: 6px; margin-bottom: 1rem; }

@media print {
	body * { visibility: hidden !important; }
	.mh-doc, .mh-doc * { visibility: visible !important; }
	.mh-doc { position: absolute; left: 0; top: 0; width: 100%; border: 0; box-shadow: none; padding: 0; }
	.mh-doc__draft { display: none; }
	@page { margin: 16mm; }
}

/* ------------------------------------------------------------- Pied de page */
.mh-footer { background: var(--wp--preset--color--night); color: #a9bcd6; padding-top: 3.5rem; padding-bottom: 2rem; font-size: .93rem; }
.mh-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2rem; max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
@media (max-width: 900px) { .mh-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .mh-footer__grid { grid-template-columns: 1fr; } }
.mh-footer__brand img { height: 32px; width: auto; }
.mh-footer__brand p { max-width: 38ch; }
.mh-footer__note { font-size: .82rem; color: #7f95b3; }
.mh-footer__title { color: #fff; font-weight: 700; font-family: var(--wp--preset--font-family--jakarta); margin: .25rem 0 .75rem; }
.mh-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.mh-footer a { color: #c9d8ec; text-decoration: none; }
.mh-footer a:hover { color: #fff; text-decoration: underline; }
.mh-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid #1b3355; margin-top: 2.5rem !important; padding-top: 1.25rem; font-size: .85rem; max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
.mh-footer__bottom p { margin: 0; }

/* Générateur : formulaire et aperçu côte à côte sur grand écran */
.mh-genwrap { margin-top: 2.5rem !important; }
@media (min-width: 1100px) {
	.mh-gen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
	.mh-gen__actions { grid-column: 1 / -1; order: -1; }
	.mh-gen [data-g-doc] { grid-column: 2; grid-row: 2 / span 2; position: sticky; top: 90px; }
}
.mh-gen { grid-template-columns: minmax(0, 1fr); }
.mh-gen > * { min-width: 0; }
@media (max-width: 640px) {
	.mh-gen__line { grid-template-columns: minmax(0, 1fr) 52px 80px 34px; gap: .35rem; }
	.mh-gen__line input { padding: .55rem .45rem; }
	.mh-doc { padding: 1.1rem; overflow-x: auto; }
	.mh-doc__sign { grid-template-columns: 1fr; }
}

/* Visuels : captures de l'application et photographies */
.mh-img { display: block; width: 100%; height: auto; }
.mh-shot { margin: 0; background: #fff; border: 1px solid var(--mh-line); border-radius: 14px; overflow: hidden; box-shadow: var(--mh-shadow-lg); }
.mh-shot__bar { display: flex; align-items: center; gap: .35rem; padding: .5rem .75rem; background: #f4f8fd; border-bottom: 1px solid var(--mh-line); }
.mh-shot__bar span { width: .55rem; height: .55rem; border-radius: 50%; background: #cfdcec; }
.mh-shot__bar em { margin-left: .6rem; font-style: normal; font-size: .72rem; color: var(--mh-muted); background: #fff; border: 1px solid var(--mh-line); border-radius: 999px; padding: .1rem .7rem; }
.mh-shot figcaption { font-size: .75rem; color: var(--mh-muted); padding: .45rem .8rem; border-top: 1px solid #eef3fa; }
.mh-shot--wide { max-width: 960px; margin: 2.25rem auto 1.5rem !important; }
.mh-photo { margin: 0; }
.mh-photo img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--mh-radius); box-shadow: var(--mh-shadow); }
.mh-photo--band { margin: 2rem auto 2.25rem !important; }
.mh-photo--band img { aspect-ratio: 21 / 8; }
.mh-visual { position: relative; }
.mh-visual > .mh-mock__float { right: -14px; bottom: -22px; }
.mh-visual--photo { padding-bottom: 4.5rem; }
.mh-visual--photo .mh-photo img { aspect-ratio: 4 / 3; }
.mh-visual--photo > .mh-mock { position: absolute; left: -1.5rem; bottom: 0; width: min(78%, 360px); font-size: .82rem; padding: 1rem; }
.mh-visual--photo > .mh-mock .mh-mock__rows li { padding: .3rem 0; }
@media (max-width: 960px) {
	.mh-visual--photo { padding-bottom: 0; }
	.mh-visual--photo > .mh-mock { position: relative; left: auto; width: auto; margin: -3rem .75rem 0; }
	.mh-visual > .mh-mock__float { position: relative; right: auto; bottom: auto; max-width: none; margin: .75rem 0 0; }
}
.mh-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem auto 2rem !important; }
.mh-mosaic a { display: block; text-decoration: none; color: var(--wp--preset--color--contrast); font-weight: 650; }
.mh-mosaic a:hover { color: var(--mh-accent); }
.mh-mosaic .mh-photo img { aspect-ratio: 4 / 3; }
.mh-mosaic span { display: block; margin-top: .55rem; }
@media (max-width: 700px) { .mh-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mh-feature--shot { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; padding: 2.75rem 0; }
.mh-feature--shot h3 { margin: .25rem 0 .75rem; }
.mh-feature--rev > div:first-child { order: 2; }
.mh-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-top: 2rem !important; }
.mh-split--rev > div:first-child { order: 2; }
.mh-split > div > :first-child { margin-top: 0; }
@media (max-width: 860px) {
	.mh-feature--shot, .mh-split { grid-template-columns: minmax(0, 1fr); }
	.mh-feature--rev > div:first-child, .mh-split--rev > div:first-child { order: 0; }
}
.mh-card--media { overflow: hidden; }
.mh-card--media > a:first-child { display: block; margin: -1.5rem -1.5rem 1.25rem; }
.mh-card--media .mh-photo img { aspect-ratio: 16 / 7; border-radius: 0; box-shadow: none; }
.mh-hero__grid--shot { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
@media (max-width: 960px) { .mh-hero__grid--shot { grid-template-columns: minmax(0, 1fr); } }
/* Grille de quatre offres */
.mh-pricing--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.mh-pricing--4 .mh-price { padding: 1.35rem; }
.mh-pricing--4 .mh-price__amount { font-size: 2.1rem; }
@media (max-width: 1180px) { .mh-pricing--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; } }
@media (max-width: 640px) { .mh-pricing--4 { grid-template-columns: minmax(0, 1fr); max-width: 520px; } }
.mh-price .mh-checklist { align-content: start; }

/* Téléphone et demande de démonstration */
.mh-cta__phone { margin: 1.25rem 0 0 !important; font-size: .95rem; opacity: .92; }
.mh-cta__phone a { color: inherit; font-weight: 700; }
.mh-price__notrial { color: #92400e !important; font-weight: 600; margin-top: .35rem !important; }
@media (min-width: 782px) { .mh-nav .wp-block-navigation__container { flex-wrap: nowrap; white-space: nowrap; } }

/* Vérification anti-robot du formulaire de démonstration */
.mh-captcha label { font-weight: 600; }
.mh-captcha__row { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.mh-captcha__row input[name=captcha_answer] { width: 6.5rem; }
.mh-captcha__new { background: none; border: 0; padding: .25rem 0; color: var(--mh-accent); font-size: .9rem; text-decoration: underline; cursor: pointer; box-shadow: none; }
.mh-captcha__new:hover { color: var(--wp--preset--color--accent-strong); background: none; }
.mh-form .mh-captcha__new, .mh-form .mh-captcha__new:hover { width: auto; background: none !important; color: var(--mh-accent); border: 0; padding: .25rem .1rem; font-weight: 600; font-size: .9rem; text-decoration: underline; box-shadow: none; transform: none; }
.mh-form .mh-captcha__new:hover { color: var(--wp--preset--color--accent-strong); }

/* ------------------------------------------------------- En-tête premium */
.mh-header { transition: box-shadow .25s ease, background-color .25s ease; }
.mh-header.is-scrolled { background: rgba(255, 255, 255, .97); box-shadow: 0 10px 30px -18px rgba(11, 31, 58, .35); }
.mh-header__inner { min-height: 76px; }
.mh-header__nav { gap: clamp(1rem, 2vw, 2rem); }
.mh-nav .wp-block-navigation__container { gap: clamp(.9rem, 1.6vw, 1.75rem); }
.mh-nav .wp-block-navigation-item__content { position: relative; font-weight: 550; font-size: .97rem; letter-spacing: -.005em; padding: .5rem 0 !important; }
.mh-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: .1rem; height: 2px; border-radius: 2px;
	background: var(--wp--preset--gradient--brand); transform: scaleX(0); transform-origin: center; transition: transform .22s ease;
}
.mh-nav .wp-block-navigation-item__content:hover::after,
.mh-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mh-nav .mh-nav__extra { display: none; }

.mh-hactions { display: flex; align-items: center; gap: .75rem; flex: none; }
.mh-hactions__sep { width: 1px; height: 30px; background: var(--mh-line); }

/* Téléphone : pastille d'icône et deux lignes */
.mh-hphone { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--wp--preset--color--contrast); border-radius: 999px; padding: .25rem .5rem .25rem .25rem; transition: background-color .2s ease; }
.mh-hphone:hover { background: var(--wp--preset--color--surface); }
.mh-hphone__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; color: var(--mh-accent); background: linear-gradient(180deg, #f1f7ff, #e3efff); box-shadow: inset 0 0 0 1px #cfe2fb, 0 4px 12px -6px rgba(11, 92, 192, .45); transition: transform .2s ease; }
.mh-hphone:hover .mh-hphone__icon { transform: rotate(-8deg) scale(1.04); }
.mh-hphone__txt { display: flex; flex-direction: column; line-height: 1.15; white-space: nowrap; }
.mh-hphone__txt small { font-size: .74rem; font-weight: 600; color: var(--mh-muted); text-transform: uppercase; letter-spacing: .06em; }
.mh-hphone__txt strong { font-size: 1rem; font-weight: 750; letter-spacing: .01em; font-variant-numeric: tabular-nums; }

/* Boutons d'action */
.mh-hbtn { display: inline-flex; align-items: center; gap: .5rem; height: 46px; padding: 0 1.15rem; border-radius: 12px; font-weight: 650; font-size: .95rem; white-space: nowrap; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; }
.mh-hbtn svg { flex: none; }
.mh-hbtn--ghost { color: var(--wp--preset--color--accent-strong); background: #fff; box-shadow: inset 0 0 0 1.5px #c9dcf5; }
.mh-hbtn--ghost svg { color: var(--mh-accent); }
.mh-hbtn--ghost:hover { background: var(--wp--preset--color--surface); box-shadow: inset 0 0 0 1.5px var(--mh-accent); transform: translateY(-1px); }
.mh-hbtn--primary { position: relative; overflow: hidden; color: #fff; background: var(--wp--preset--gradient--brand); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 10px 22px -10px rgba(11, 92, 192, .75); }
.mh-hbtn--primary b { font-weight: 800; }
.mh-hbtn--primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .28) 50%, transparent 70%); transform: translateX(-120%); transition: transform .6s ease; }
.mh-hbtn--primary:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 14px 28px -12px rgba(11, 92, 192, .85); }
.mh-hbtn--primary:hover::before { transform: translateX(120%); }
.mh-hbtn--primary:hover svg { transform: translateX(2px); }
.mh-hbtn--primary svg { transition: transform .18s ease; }
.mh-hbtn:focus-visible, .mh-hphone:focus-visible { outline: 3px solid var(--wp--preset--color--accent-bright); outline-offset: 2px; }

/* Largeurs intermédiaires : téléphone réduit à sa pastille, puis démo retirée */
@media (max-width: 1440px) {
	.mh-hphone__txt { display: none; }
	.mh-hphone { padding: 0; }
	.mh-hphone:hover { background: none; }
}
@media (max-width: 1180px) {
	.mh-hbtn--ghost, .mh-hactions__sep { display: none; }
}
@media (max-width: 960px) {
	.mh-hbtn { height: 42px; padding: 0 .9rem; font-size: .9rem; }
	.mh-hbtn--primary svg { display: none; }
}
/* Mobile : menu en panneau avec démonstration et téléphone */
@media (max-width: 599px) {
	.mh-header__inner { min-height: 64px; }
	.mh-header__nav { gap: .6rem; }
	.mh-header__nav .mh-nav { order: 2; }
	.mh-hphone__icon { width: 38px; height: 38px; }
	.mh-hbtn--primary { height: 38px; padding: 0 .75rem; font-size: .82rem; border-radius: 10px; }
	.mh-hbtn--primary b { font-weight: 650; }
	.mh-nav .wp-block-navigation__responsive-container.is-menu-open .mh-nav__extra { display: block; }
	.mh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
}
@media (max-width: 599px) {
	.mh-hbtn--primary b { display: none; }
}
@media (max-width: 379px) {
	.mh-hbtn--primary { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.mh-header *, .mh-header *::before, .mh-header *::after { transition: none !important; }
}
/* Largeur propre à l'en-tête (plus large que le contenu) et logo jamais compressé */
.mh-header__inner { max-width: min(1360px, 100%); }
.mh-logo { flex: none; }
.mh-logo img { width: auto; height: 34px; }
@media (max-width: 1480px) {
	.mh-hphone__txt { display: none; }
	.mh-hphone { padding: 0; }
	.mh-hphone:hover { background: none; }
}
/* Menu en panneau dès 900 px (le bloc Navigation ne bascule qu'à 600 px par défaut) */
@media (max-width: 899px) {
	.mh-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.mh-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.mh-header__nav .mh-nav { order: 2; }
	.mh-header__nav { gap: .75rem; }
	.mh-nav .wp-block-navigation__responsive-container.is-menu-open .mh-nav__extra { display: block; }
	.mh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
	.mh-nav .wp-block-navigation__responsive-container-open { width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 12px; box-shadow: inset 0 0 0 1.5px var(--mh-line); }
}
@media (max-width: 599px) {
	.mh-logo img { height: 28px; }
	.mh-nav .wp-block-navigation__responsive-container-open { width: 38px; height: 38px; border-radius: 10px; }
}
/* Panneau mobile : liens d'action mis en avant */
.mh-nav .is-menu-open .mh-nav__extra { margin-top: .35rem; }
.mh-nav .is-menu-open li:not(.mh-nav__extra) + .mh-nav__extra { border-top: 1px solid var(--mh-line); padding-top: 1rem; margin-top: 1rem; width: 100%; }
.mh-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.mh-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.mh-nav .is-menu-open .wp-block-navigation__container { width: 100%; }
.mh-nav .is-menu-open .mh-nav__extra > .wp-block-navigation-item__content { color: var(--mh-accent); font-weight: 650; }
.mh-nav .is-menu-open .mh-nav__extra--cta > .wp-block-navigation-item__content { display: inline-flex; color: #fff !important; background: var(--wp--preset--gradient--brand); padding: .7rem 1.1rem !important; border-radius: 12px; }
/* Le flou d'arrière-plan crée un bloc conteneur : le panneau plein écran resterait confiné à l'en-tête */
html.has-modal-open .mh-header, .mh-header:has(.is-menu-open) { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; }
.mh-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff; }

/* Groupes de boutons écrits en HTML (sections générées) : mise en page indépendante du bloc */
.wp-block-buttons:not(.is-vertical) { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.wp-block-buttons > .wp-block-button { display: inline-block; margin: 0; }
.wp-block-button__link { display: inline-block; text-align: center; text-decoration: none; cursor: pointer; word-break: normal; }
/* Bandeau d'appel à l'action : ligne téléphone centrée */
.mh-cta .mh-cta__phone { margin: 1.25rem auto 0 !important; }

/* Pied de page : bloc de contact (téléphone et démonstration) */
.mh-fcontact { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; margin: 1.5rem 0 1.25rem; }
.mh-fcontact a { text-decoration: none !important; }
.mh-fcontact__phone { display: inline-flex; align-items: center; gap: .75rem; color: #fff !important; }
.mh-fcontact__icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; color: #7cc4ff; background: linear-gradient(180deg, rgba(124, 196, 255, .16), rgba(124, 196, 255, .06)); box-shadow: inset 0 0 0 1px rgba(124, 196, 255, .35); transition: transform .2s ease, background-color .2s ease; }
.mh-fcontact__phone:hover .mh-fcontact__icon { transform: rotate(-8deg) scale(1.05); }
.mh-fcontact__txt { display: flex; flex-direction: column; line-height: 1.2; }
.mh-fcontact__txt small { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: #8fa9c9; }
.mh-fcontact__txt strong { font-size: 1.12rem; font-weight: 750; letter-spacing: .015em; font-variant-numeric: tabular-nums; color: #fff; }
.mh-fcontact__phone:hover .mh-fcontact__txt strong { color: #bfe1ff; }
.mh-fcontact__demo { display: inline-flex; align-items: center; gap: .55rem; padding: .6rem 1rem; border-radius: 12px; font-size: .92rem; font-weight: 650; color: #fff !important; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.mh-fcontact__demo svg { flex: none; color: #7cc4ff; }
.mh-fcontact__demo .mh-fcontact__arrow { color: #fff; opacity: .7; transition: transform .2s ease, opacity .2s ease; }
.mh-fcontact__demo:hover { background: rgba(124, 196, 255, .14); box-shadow: inset 0 0 0 1px rgba(124, 196, 255, .55); transform: translateY(-1px); }
.mh-fcontact__demo:hover .mh-fcontact__arrow { transform: translateX(3px); opacity: 1; }
.mh-fcontact a:focus-visible { outline: 3px solid var(--wp--preset--color--accent-bright); outline-offset: 3px; border-radius: 12px; }
@media (prefers-reduced-motion: reduce) { .mh-fcontact * { transition: none !important; } }

/* Sections de contenu alignées sur la largeur du hero (1200 px) ; les guides gardent leur colonne de lecture */
.mh-section.is-layout-constrained:not(.mh-article) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--wide-size); }
/* Texte courant : même bord gauche que le hero, lignes limitées pour rester lisibles */
.mh-section.is-layout-constrained:not(.mh-article) > :is(p, ul, ol):not(.mh-center):not(.mh-narrow):not(.alignwide) {
	max-width: 80ch;
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}
.mh-section.is-layout-constrained:not(.mh-article) > p.mh-center { max-width: 72ch; }
.mh-section.is-layout-constrained:not(.mh-article) > .mh-narrow { max-width: 720px; }
.mh-cta { box-sizing: border-box; }
/* Groupes imbriqués (encadrés, mises en garde) : le contenu occupe toute leur largeur */
.mh-section:not(.mh-article) .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
/* Guides : colonne de lecture alignée sur le bord gauche du hero */
.mh-article.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 820px;
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}
.mh-article .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
/* Guides sur grand écran : texte (820 px) et sommaire collant à droite, ensemble aligné sur le hero */
@media (min-width: 1280px) {
	.mh-article.is-layout-constrained { display: grid; grid-template-columns: minmax(0, 820px) minmax(0, 300px); column-gap: 80px; justify-content: center; align-items: start; }
	.mh-article.is-layout-constrained > * { grid-column: 1; max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
	.mh-article.is-layout-constrained > .mh-toc { grid-column: 2; grid-row: 1 / span 300; position: sticky; top: 104px; margin-top: 0 !important; }
	.admin-bar .mh-article.is-layout-constrained > .mh-toc { top: 136px; }
}
.mh-toc { box-sizing: border-box; }

/* Fiches activités : fonctionnalités en liste compacte, erreurs fréquentes */
.mh-featlist { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1.75rem auto 0 !important; }
.mh-featlist li { display: flex; align-items: center; gap: .75rem; background: #fff; border: 1px solid var(--mh-line); border-radius: 14px; padding: .8rem 1rem; font-weight: 650; color: var(--wp--preset--color--contrast); box-shadow: var(--mh-shadow); }
.mh-featlist .mh-card__icon { margin: 0; flex: none; }
@media (max-width: 860px) { .mh-featlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .mh-featlist { grid-template-columns: minmax(0, 1fr); } }
.mh-card--warn { border-top: 3px solid #f59e0b; }
.mh-card--warn h3 { color: #7c2d12; }

/* Parcours de la fiche activité : quatre étapes sur une ligne */
@media (min-width: 1000px) { ol.mh-steps.alignwide { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ------------------------------------------------ Offres : présentation premium */
.mh-plans { --plan-radius: 22px; }
.mh-plans__switch { display: flex; width: max-content; max-width: 100%; margin: 0 auto 2rem; padding: 5px; gap: 4px; background: #fff; border: 1px solid var(--mh-line); border-radius: 999px; box-shadow: var(--mh-shadow); }
.mh-plans__switch button { font: inherit; font-size: .93rem; font-weight: 650; border: 0; cursor: pointer; padding: .6rem 1.15rem; border-radius: 999px; background: none; color: var(--mh-muted); transition: background-color .2s, color .2s, box-shadow .2s; }
.mh-plans__switch button:hover { color: var(--wp--preset--color--contrast); }
.mh-plans__switch button.is-active { background: var(--wp--preset--gradient--brand); color: #fff; box-shadow: 0 8px 18px -10px rgba(11, 92, 192, .8); }
.mh-plans__switch button:focus-visible { outline: 3px solid var(--wp--preset--color--accent-bright); outline-offset: 2px; }

.mh-plans__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; align-items: stretch; }
.mh-plan { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--mh-line); border-radius: var(--plan-radius); padding: 1.6rem 1.5rem 1.5rem; box-shadow: 0 1px 2px rgba(11, 31, 58, .05), 0 18px 40px -28px rgba(11, 31, 58, .35); transition: transform .25s ease, box-shadow .25s ease; }
.mh-plan:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(11, 31, 58, .05), 0 28px 50px -28px rgba(11, 69, 148, .45); }
/* Lignes alignées d'une carte à l'autre : nom, accroche, prix, capacités, contenu, bouton */
@supports (grid-template-rows: subgrid) {
	.mh-plan { display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 0; }
}
.mh-plan > * { margin: 0 !important; }
.mh-plan__head { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.mh-plan__head h3 { font-size: 1.35rem; letter-spacing: -.02em; margin: 0 auto 0 0 !important; }
.mh-plan__flag { font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .6rem; border-radius: 999px; background: linear-gradient(135deg, #34d399, #10b981); color: #052e1f; }
.mh-plan__tag { font-size: .72rem; font-weight: 700; padding: .25rem .6rem; border-radius: 999px; background: #fff7e6; color: #92400e; box-shadow: inset 0 0 0 1px #fcd9a0; white-space: nowrap; }
.mh-plan__tag.is-trial { background: var(--wp--preset--color--emerald-soft); color: var(--wp--preset--color--emerald); box-shadow: inset 0 0 0 1px #a7f3d0; }
.mh-plan__for { color: var(--mh-muted); font-size: .94rem; line-height: 1.5; padding: .6rem 0 1.1rem; }
.mh-plan__price { padding: 1.1rem 0 1.2rem; border-top: 1px solid var(--mh-line); }
.mh-plan__amount { font-family: var(--wp--preset--font-family--jakarta); font-size: 2.9rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; color: var(--wp--preset--color--contrast); margin: 0; }
.mh-plan__amount small { font-family: var(--wp--preset--font-family--inter, inherit); font-size: .9rem; font-weight: 600; letter-spacing: 0; color: var(--mh-muted); margin-left: .35rem; }
.mh-plan__period { font-size: .84rem; color: var(--mh-muted); margin: .55rem 0 0; }
.mh-plan__save { display: inline-block; font-size: .8rem; font-weight: 650; color: var(--wp--preset--color--emerald); margin: .5rem 0 0; }
.mh-plan__extra { font-size: .8rem; color: var(--mh-muted); margin: .35rem 0 0; min-height: 1.2em; }
.mh-plan__specs { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1.25rem !important; }
.mh-plan__specs li { display: flex; flex-direction: column; padding: .6rem .7rem; border-radius: 12px; background: var(--wp--preset--color--surface); line-height: 1.2; }
.mh-plan__specs strong { font-family: var(--wp--preset--font-family--jakarta); font-size: 1.15rem; font-weight: 800; color: var(--wp--preset--color--contrast); }
.mh-plan__specs span { font-size: .76rem; color: var(--mh-muted); margin-top: .15rem; }
.mh-plan__base { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--mh-accent); margin: 0 0 .7rem !important; }
.mh-plan__features ul { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .6rem; }
.mh-plan__features li { position: relative; padding-left: 1.6rem; font-size: .93rem; line-height: 1.45; color: #2b3d57; }
.mh-plan__features li::before { content: ""; position: absolute; left: 0; top: .15rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--wp--preset--color--emerald-soft) no-repeat center / .62rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5' fill='none' stroke='%23047857' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); box-shadow: inset 0 0 0 1px #a7f3d0; }
.mh-plan__cta { align-self: end; display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 50px; padding: .8rem 1rem; border-radius: 14px; font-weight: 700; font-size: .96rem; text-align: center; text-decoration: none !important; color: var(--wp--preset--color--accent-strong); background: #fff; box-shadow: inset 0 0 0 1.5px #c9dcf5; transition: background-color .2s, box-shadow .2s, transform .2s, color .2s; }
.mh-plan__cta::after { content: "→"; transition: transform .2s; }
.mh-plan__cta:hover { background: var(--wp--preset--color--surface); box-shadow: inset 0 0 0 1.5px var(--mh-accent); }
.mh-plan__cta:hover::after { transform: translateX(3px); }
@supports not (grid-template-rows: subgrid) { .mh-plan__cta { margin-top: auto !important; } }

/* Offre mise en avant : carte sombre */
.mh-plan--featured { background: radial-gradient(120% 70% at 50% 0%, #133e7c 0%, #0b1f3a 60%, #071629 100%); border-color: #1f4e8f; color: #dbe7f6; box-shadow: 0 30px 60px -30px rgba(11, 31, 58, .9), 0 0 0 1px rgba(124, 196, 255, .15) inset; transform: translateY(-10px); }
.mh-plan--featured:hover { transform: translateY(-14px); }
.mh-plan--featured .mh-plan__head h3, .mh-plan--featured .mh-plan__amount, .mh-plan--featured .mh-plan__specs strong { color: #fff; }
.mh-plan--featured .mh-plan__for, .mh-plan--featured .mh-plan__period, .mh-plan--featured .mh-plan__extra, .mh-plan--featured .mh-plan__amount small, .mh-plan--featured .mh-plan__specs span { color: #a9bfdb; }
.mh-plan--featured .mh-plan__price { border-top-color: rgba(255, 255, 255, .12); }
.mh-plan--featured .mh-plan__save { color: #6ee7b7; }
.mh-plan--featured .mh-plan__specs li { background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.mh-plan--featured .mh-plan__base { color: #7cc4ff; }
.mh-plan--featured .mh-plan__features li { color: #e3ecf8; }
.mh-plan--featured .mh-plan__features li::before { background-color: rgba(52, 211, 153, .18); box-shadow: inset 0 0 0 1px rgba(110, 231, 183, .5); }
.mh-plan__cta.is-primary { color: #fff; background: var(--wp--preset--gradient--brand); box-shadow: 0 12px 26px -12px rgba(15, 163, 242, .9); }
.mh-plan__cta.is-primary:hover { color: #fff; background: var(--wp--preset--gradient--brand); transform: translateY(-1px); box-shadow: 0 16px 30px -12px rgba(15, 163, 242, 1); }

@media (max-width: 1180px) {
	.mh-plans__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; row-gap: 2rem; }
	.mh-plan--featured { transform: none; }
	.mh-plan--featured:hover { transform: translateY(-4px); }
}
@media (max-width: 640px) {
	.mh-plans__grid { grid-template-columns: minmax(0, 1fr); max-width: 460px; }
	.mh-plans__switch button { padding: .55rem .9rem; font-size: .86rem; }
}
@media (prefers-reduced-motion: reduce) { .mh-plan, .mh-plan__cta, .mh-plans__switch button { transition: none; } }
/* Ruban « Recommandé » au-dessus de la carte mise en avant */
.mh-plan__flag { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); box-shadow: 0 8px 18px -8px rgba(16, 185, 129, .8); white-space: nowrap; }
/* Prix sans engagement barré, affiché en mode engagement 12 mois */
.mh-plan__was { display: block; width: max-content; margin: 0 0 .35rem; font-family: var(--wp--preset--font-family--jakarta); font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; color: #94a3b8; text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: #ef4444; }
.mh-plan__was:empty { display: none; }
.mh-plan--featured .mh-plan__was { color: #7f93b0; text-decoration-color: #f87171; }

/* Accueil : fonctionnalités en cartes (2 larges, puis 3) sans capture d'écran */
.mh-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem !important; }
.mh-bento__item { grid-column: span 2; position: relative; background: #fff; border: 1px solid var(--mh-line); border-radius: 20px; padding: 1.6rem; box-shadow: 0 1px 2px rgba(11, 31, 58, .05), 0 18px 40px -30px rgba(11, 31, 58, .35); transition: transform .25s ease, box-shadow .25s ease; }
.mh-bento__item.is-wide { grid-column: span 3; background: linear-gradient(180deg, #f6faff 0%, #fff 60%); }
.mh-bento__item:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(11, 31, 58, .05), 0 26px 48px -30px rgba(11, 69, 148, .45); }
.mh-bento__item > :last-child { margin-bottom: 0; }
.mh-bento__item .mh-eyebrow { margin: 0 0 .35rem; }
.mh-bento__item h3 { font-size: 1.25rem; margin: 0 0 .6rem; }
.mh-bento__item p { color: #34465f; font-size: .97rem; line-height: 1.6; }
.mh-bento__item .mh-checklist { margin-top: 1rem; gap: .45rem; font-size: .93rem; }
@media (max-width: 1000px) {
	.mh-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mh-bento__item, .mh-bento__item.is-wide { grid-column: span 1; }
	.mh-bento__item:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.mh-bento { grid-template-columns: minmax(0, 1fr); }
	.mh-bento__item:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .mh-bento__item { transition: none; } }

/* Page Démonstration : formulaire en haut, dans une carte à droite du titre */
.mh-demo { align-items: start; }
.mh-demo__form { background: #fff; border: 1px solid var(--mh-line); border-radius: 22px; padding: 1.75rem; box-shadow: 0 30px 60px -36px rgba(11, 69, 148, .45), 0 1px 2px rgba(11, 31, 58, .05); }
.mh-demo__form-title { font-family: var(--wp--preset--font-family--jakarta); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; color: var(--wp--preset--color--contrast); margin: 0 0 .25rem !important; }
.mh-demo__form-sub { font-size: .9rem; color: var(--mh-muted); margin: 0 0 1.1rem !important; }
.mh-demo__form .mh-form { margin: 0; }
.mh-demo-steps { list-style: none; counter-reset: step; padding: 0; margin: 1.75rem 0 0 !important; display: grid; gap: .9rem; }
.mh-demo-steps li { counter-increment: step; position: relative; padding-left: 2.75rem; color: #34465f; font-size: .97rem; line-height: 1.5; }
.mh-demo-steps li::before { content: counter(step); position: absolute; left: 0; top: .05rem; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 10px; background: var(--wp--preset--gradient--brand); color: #fff; font-weight: 800; font-size: .9rem; }
.mh-demo-steps strong { display: block; color: var(--wp--preset--color--contrast); }
.mh-demo-phone { margin: 1.5rem 0 0 !important; font-size: .97rem; color: #34465f; }
.mh-demo-phone a { font-weight: 700; color: var(--mh-accent); }
@media (max-width: 960px) {
	/* Sur mobile, le formulaire vient juste après le titre et l'accroche */
	.mh-demo { display: flex; flex-direction: column; }
	.mh-demo > div:first-child { display: contents; }
	.mh-demo .mh-breadcrumbs { order: 0; }
	.mh-demo .mh-eyebrow, .mh-demo h1, .mh-demo .mh-lead { order: 1; }
	.mh-demo__form { order: 2; margin-top: .5rem !important; }
	.mh-demo-steps, .mh-demo-phone { order: 3; }
}
.mh-demo__form .mh-form { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
@media (max-width: 960px) { .mh-demo { gap: 1rem !important; } .mh-demo .mh-eyebrow { margin-bottom: -.25rem !important; } }

/* --------------------------------------------- Méga-menu « Activités » (bureau) */
@media (min-width: 900px) {
	/* Le panneau se positionne par rapport à l'en-tête, centré sous celui-ci */
	.mh-header__inner { position: relative; }
	.mh-header__nav, .mh-nav, .mh-nav .wp-block-navigation__responsive-container, .mh-nav .wp-block-navigation__responsive-close, .mh-nav .wp-block-navigation__responsive-dialog, .mh-nav .wp-block-navigation__responsive-container-content, .mh-nav .wp-block-navigation__container, .mh-nav li.mh-mega { position: static !important; }

	.mh-nav li.mh-mega > .wp-block-navigation__submenu-container {
		position: absolute !important; top: calc(100% - 6px) !important; left: 50% !important; transform: translateX(-50%);
		width: min(900px, calc(100vw - 2rem)) !important; min-width: 0 !important; height: auto !important; min-height: 440px;
		display: block !important; padding: .9rem 0 .9rem .9rem !important; box-sizing: border-box;
		background: #fff !important; border: 1px solid var(--mh-line) !important; border-radius: 20px !important;
		box-shadow: 0 40px 80px -40px rgba(11, 31, 58, .45), 0 2px 6px rgba(11, 31, 58, .06) !important;
		white-space: normal; z-index: 60;
	}
	/* Pont invisible entre le lien et le panneau : le survol n'est pas perdu */
	.mh-nav li.mh-mega > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 22px; }

	/* Colonne des familles */
	.mh-nav li.mh-mega > ul > li { width: 290px; position: static !important; }
	.mh-nav li.mh-mega > ul > li > .wp-block-navigation-item__content {
		display: flex !important; align-items: center; width: 100%; padding: .62rem .9rem !important; border-radius: 12px;
		font-weight: 600; font-size: .95rem; color: var(--wp--preset--color--contrast);
	}
	.mh-nav li.mh-mega > ul > li > .wp-block-navigation-item__content::after { display: none; }
	.mh-nav li.mh-mega > ul > li:hover > .wp-block-navigation-item__content,
	.mh-nav li.mh-mega > ul > li:focus-within > .wp-block-navigation-item__content { background: var(--wp--preset--color--surface); color: var(--mh-accent); }
	.mh-nav li.mh-mega > ul > li.mh-mega__family { display: flex !important; align-items: center; }
	.mh-nav li.mh-mega > ul > li.mh-mega__family > .wp-block-navigation-submenu__toggle { position: absolute; left: 260px; margin-top: 0; pointer-events: none; }
	.mh-nav li.mh-mega > ul > li.mh-mega__family > .wp-block-navigation-submenu__toggle svg { transform: rotate(-90deg); opacity: .5; }
	.mh-nav li.mh-mega > ul > li.mh-mega__index { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--mh-line); }
	.mh-nav li.mh-mega > ul > li.mh-mega__index > a { color: var(--mh-accent) !important; font-weight: 700 !important; }

	/* Zone des pages de la famille survolée, à droite des familles */
	.mh-nav li.mh-mega li.mh-mega__family > .wp-block-navigation__submenu-container {
		position: absolute !important; left: 300px !important; right: 0 !important; top: 0 !important; bottom: 0 !important;
		width: auto !important; min-width: 0 !important; height: auto !important;
		display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: .15rem .5rem;
		padding: 1.4rem 1.5rem !important; border: 0 !important; border-left: 1px solid var(--mh-line) !important; border-radius: 0 20px 20px 0 !important;
		background: linear-gradient(180deg, #f6faff, #fff 70%) !important; box-shadow: none !important;
		opacity: 0; visibility: hidden; transition: opacity .15s ease;
	}
	/* Par défaut la première famille est affichée ; la famille survolée ou ciblée au clavier la remplace */
	.mh-nav li.mh-mega:is(:hover, :focus-within) li.mh-mega__family:first-child > .wp-block-navigation__submenu-container,
	.mh-nav li.mh-mega li.mh-mega__family:hover > .wp-block-navigation__submenu-container,
	.mh-nav li.mh-mega li.mh-mega__family:focus-within > .wp-block-navigation__submenu-container { opacity: 1; visibility: visible; z-index: 1; }
	.mh-nav li.mh-mega li.mh-mega__family:hover > .wp-block-navigation__submenu-container,
	.mh-nav li.mh-mega li.mh-mega__family:focus-within > .wp-block-navigation__submenu-container { z-index: 2; }
	.mh-nav li.mh-mega > ul:has(> li.mh-mega__family:not(:first-child):hover) > li.mh-mega__family:first-child > .wp-block-navigation__submenu-container,
	.mh-nav li.mh-mega > ul:has(> li.mh-mega__family:not(:first-child):focus-within) > li.mh-mega__family:first-child > .wp-block-navigation__submenu-container { opacity: 0; visibility: hidden; }
	.mh-nav li.mh-mega > ul:has(> li.mh-mega__family:not(:first-child):hover) > li.mh-mega__family:first-child > .wp-block-navigation-item__content { background: none; color: var(--wp--preset--color--contrast); }
	.mh-nav li.mh-mega > ul > li.mh-mega__family:first-child > .wp-block-navigation-item__content { background: var(--wp--preset--color--surface); }

	.mh-nav li.mh-mega__family > ul > li { width: auto; }
	.mh-nav li.mh-mega__family > ul > li > .wp-block-navigation-item__content {
		display: block !important; padding: .5rem .7rem !important; border-radius: 10px; font-size: .9rem; font-weight: 500; line-height: 1.35; color: #2b3d57; white-space: normal;
	}
	.mh-nav li.mh-mega__family > ul > li > .wp-block-navigation-item__content::after { display: none; }
	.mh-nav li.mh-mega__family > ul > li > .wp-block-navigation-item__content:hover { background: #fff; color: var(--mh-accent); box-shadow: 0 0 0 1px var(--mh-line); }
	.mh-nav li.mh-mega__family > ul > li.mh-mega__all { grid-column: 1 / -1; margin-top: .4rem; padding-top: .5rem; border-top: 1px dashed var(--mh-line); }
	.mh-nav li.mh-mega__family > ul > li.mh-mega__all > a { color: var(--mh-accent) !important; font-weight: 700 !important; }
	.mh-nav li.mh-mega__family > ul > li.mh-mega__all > a::after { content: " →" !important; display: inline !important; position: static !important; background: none !important; height: auto !important; transform: none !important; }
}

/* Menu mobile : les familles seulement, leurs pages sont sur la page de chaque famille */
.mh-nav .is-menu-open li.mh-mega__family > .wp-block-navigation__submenu-container,
.mh-nav .is-menu-open li.mh-mega__family > .wp-block-navigation-submenu__toggle { display: none !important; }
.mh-nav .is-menu-open li.mh-mega > .wp-block-navigation__submenu-container { padding-left: 1rem !important; border-left: 2px solid var(--mh-line) !important; margin: .25rem 0 .5rem; }
.mh-nav .is-menu-open li.mh-mega > ul > li > a { font-size: 1rem !important; padding: .35rem 0 !important; }
.mh-nav .is-menu-open li.mh-mega__index > a { color: var(--mh-accent) !important; font-weight: 700; }

@media (min-width: 900px) { .mh-nav li.mh-mega:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { pointer-events: none; } }
@media (min-width: 900px) {
	/* Flèche intégrée à la ligne de famille (le bouton d'ouverture n'est pas utile dans le panneau) */
	.mh-nav li.mh-mega > ul > li.mh-mega__family > .wp-block-navigation-submenu__toggle { display: none !important; }
	.mh-nav li.mh-mega > ul > li.mh-mega__family > .wp-block-navigation-item__content { gap: .75rem; }
	.mh-nav li.mh-mega > ul > li.mh-mega__family > .wp-block-navigation-item__content::after {
		content: "" !important; display: block !important; position: static !important; flex: none; margin-left: auto;
		width: .45rem !important; height: .45rem !important; background: none !important; transform: rotate(45deg) !important; border-radius: 0;
		border-top: 2px solid currentColor; border-right: 2px solid currentColor; opacity: .45;
	}
	.mh-nav li.mh-mega > ul > li.mh-mega__family:hover > .wp-block-navigation-item__content::after { opacity: 1; }
}

/* Landing page : navigation interne collante et repères chiffrés */
.mh-lp-nav { position: sticky; top: 76px; z-index: 40; margin-block: 0 !important; background: rgba(255, 255, 255, .95); border-bottom: 1px solid var(--mh-line); backdrop-filter: blur(8px); }
.admin-bar .mh-lp-nav { top: 108px; }
.mh-lp-nav ul { list-style: none; display: flex; justify-content: center; gap: clamp(1rem, 3vw, 2.25rem); max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: .7rem 1.25rem; overflow-x: auto; scrollbar-width: none; }
.mh-lp-nav ul::-webkit-scrollbar { display: none; }
.mh-lp-nav a { font-size: .92rem; font-weight: 600; color: var(--mh-muted); text-decoration: none; white-space: nowrap; }
.mh-lp-nav a:hover { color: var(--mh-accent); }
.mh-lp-facts { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.mh-lp-facts li { text-align: center; }
.mh-lp-facts strong { display: block; font-family: var(--wp--preset--font-family--jakarta); font-size: 2rem; font-weight: 800; letter-spacing: -.03em; color: var(--mh-accent); line-height: 1.1; }
.mh-lp-facts span { display: block; margin-top: .25rem; font-size: .9rem; color: var(--mh-muted); }
/* S'ajoute au scroll-padding-top du document : place la section sous les deux barres */
#fonctions, #specialites, #offres, #engagements-lp, #questions { scroll-margin-top: 44px; }
@media (max-width: 781px) {
	.admin-bar .mh-lp-nav { top: 122px; }
	.mh-lp-nav ul { justify-content: flex-start; }
	.mh-lp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.mh-lp-nav { top: 64px; }
	.admin-bar .mh-lp-nav { top: 110px; }
}
.mh-lp-hero h1 { font-size: clamp(2.2rem, 3.5vw, 3.15rem); max-width: none; }
