/* ASMC Native — styles composants, calibrés sur les mesures du thème Webflow d'origine.
   Références : container 1600px max / padding 48px, navbar fixe 64px, H1 43-48px/700 violet,
   liens nav 17px/500, boutons radius 9px, footer clair + bannière violette radius 24. */

/* ---------- Bandeau d'annonce (fixe, pleine largeur, au-dessus de la navbar) ---------- */
.asmc-notification-bar {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 101;
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 10px 48px; /* réserve la place de la croix à droite */
	background: #32f265;
	color: #181818;
	font-family: Satoshi, sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	text-align: center;
}
.asmc-notification-bar a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
/* bouton CTA optionnel : pilule foncée contrastée */
.asmc-notification-bar__cta {
	flex: none;
	display: inline-block;
	padding: 5px 14px;
	border-radius: 8px;
	background: #181818;
	color: #ffffff !important;
	font-size: 14px;
	text-decoration: none !important;
	white-space: nowrap;
}
.asmc-notification-bar__cta:hover { opacity: 0.88; }
/* croix de fermeture, épinglée à droite */
.asmc-notification-bar__close {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	border-radius: 50%;
	color: #181818;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.asmc-notification-bar__close:hover { background: rgba(24, 24, 24, 0.14); }

/* ---------- Navbar (fixe, 64px, fond translucide flouté) ---------- */
.asmc-navbar {
	position: fixed;
	inset: 0 0 auto 0;
	top: var(--asmc-bar-h, 0px); /* descend sous le bandeau quand il est présent */
	z-index: 100;
	background: rgba(248, 249, 250, 0.95);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
html { overflow-x: clip; scroll-behavior: smooth; }
[id] { scroll-margin-top: 84px; }
body { padding-top: calc(64px + var(--asmc-bar-h, 0px)); overflow-x: clip; }
/* landings sans navbar (conférence, confirmation RDV, merci, appel stratégique, vidéo bonus) */
body.page-id-227628, body.page-id-227635, body.page-id-227634, body.page-id-227630, body.page-id-227638, body.page-id-227549 { padding-top: 0; }
/* Même grille que le contenu : 1280px de contenu + 48px de gouttières */
.asmc-navbar__inner {
	box-sizing: border-box;
	max-width: 1416px;
	margin: 0 auto;
	padding: 0 48px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.asmc-navbar__brand img { display: block; width: 260px; height: auto; }
.asmc-navbar__brand .asmc-navbar__logo-mobile { display: none; width: 150px; }
.asmc-navbar__nav { display: flex; align-items: center; }
.asmc-navbar__link {
	font-size: 17px;
	font-weight: 500;
	color: #313131;
	text-decoration: none;
	padding: 19px 19.2px;
	position: relative;
}
.asmc-navbar__link:hover { color: var(--wp--preset--color--primary); }
/* Soulignement de la page active + au survol (comme l'original) */
.asmc-navbar__link::after {
	content: "";
	position: absolute;
	left: 19.2px;
	right: 19.2px;
	bottom: 10px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	opacity: 0;
	transition: opacity 0.15s;
}
.asmc-navbar__link:hover::after,
.asmc-navbar__link.is-active::after { opacity: 1; }
.asmc-navbar__link.is-active { color: var(--wp--preset--color--primary); }
.asmc-navbar__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	padding: 8px 16px;
	border-radius: 9px;
	text-decoration: none;
	margin-left: 12px;
	transition: background 0.2s;
}
.asmc-navbar__cta:hover { background: var(--wp--preset--color--contrast); }
.asmc-navbar__burger { display: none; background: none; border: none; cursor: pointer; padding: 10px; }
.asmc-navbar__burger span { display: block; width: 24px; height: 2.5px; background: var(--wp--preset--color--primary); margin: 5px 0; border-radius: 2px; }

/* Masque les icônes compte/panier ajoutées par WooCommerce (absentes de l'original) */
.wc-block-customer-account, .wc-block-mini-cart, .wp-block-woocommerce-customer-account, .wp-block-woocommerce-mini-cart { display: none !important; }

/* ---------- Titres : violets comme l'original (sauf sections à texte forcé) ---------- */
.entry-content h1, .entry-content h2 { color: var(--wp--preset--color--primary); }
.entry-content h2 { font-weight: 600; }
/* Système typographique (mesuré sur l'original) :
   - grands titres de page/section : Darker Grotesque 500
   - tout le reste (corps, boutons, petits titres) : Satoshi */
.entry-content .asmc-section > h1 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 3.8rem !important;
	font-weight: 500;
	line-height: 1.15;
	text-align: center;
}
/* sous-titre de page : Satoshi 20/300 gris, centré (mesuré) */
.entry-content .asmc-section > h1 + p {
	font-size: 20px !important;
	font-weight: 300;
	color: var(--wp--preset--color--grey-dark);
	text-align: center;
	max-width: 62ch;
	margin-left: auto;
	margin-right: auto;
}
/* H2 de section (mesuré original 1440 : 64px/1.15, graisse 500 ; "3 étapes" 60.8px) */
.entry-content .asmc-section > h2 { font-family: "Darker Grotesque", sans-serif; font-size: 64px !important; font-weight: 500; line-height: 1.15; text-align: center; }
.asmc-section:has(.asmc-testimonials) > h2 { text-align: left; }
#How-It-works > h2 { font-size: min(60.8px, calc(min(1320px, 100vw - 96px) / 18)) !important; white-space: nowrap; }
/* "Pourquoi intégrer" : un cran plus petit, aligné à gauche */
#\32 ans-en-ligne > h2 { font-size: 56px !important; text-align: left; }
/* "Nos témoignages" : 68px graisse 400 aligné à gauche (mesuré) */
.asmc-section:has(.asmc-testimonials) > h2 { font-size: 68px !important; font-weight: 400; }
/* sous-titre "3 étapes" : violet 21px, largeur 860 (mesuré) */
#How-It-works > h2 + p {
	color: var(--wp--preset--color--primary) !important;
	font-size: 21px !important;
	line-height: 1.5;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}
.entry-content h1 strong, .entry-content h2 strong, .entry-content h3 strong { font-weight: 700; }
/* sous-titre de section : gris doux, largeur lisible, centré sous les H2 centrés */
.entry-content .asmc-section > h2.has-text-align-center + p.has-text-align-center {
	color: #6f6c85;
	font-size: 20px !important;
	line-height: 1.5;
	max-width: 62ch;
	margin-left: auto;
	margin-right: auto;
}
/* citation du fondateur : 30px/1.5 (mesuré) */
.asmc-founder-quote > p.has-large-font-size { font-size: 30px !important; line-height: 1.5; }
.entry-content .has-text-color h1, .entry-content .has-text-color h2,
.entry-content h1.has-text-color, .entry-content h2.has-text-color { color: inherit; }
.entry-content h1 .asmc-highlight, .entry-content h2 .asmc-highlight { color: #fff; }

/* Surlignage violet (mesuré : padding 0 6px, radius 8px) */
.asmc-highlight {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	padding: 0 6px;
	border-radius: 8px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* Chip/tag de section (ex. "spécialisations") */
.asmc-tag {
	display: inline-block;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.9rem;
	padding: 4px 14px;
	border-radius: 8px;
}

/* ---------- Sections ---------- */
/* alignfull réel : le fond (dégradés, etc.) couvre 100vw, le contenu reste calé sur la grille 1320 */
.entry-content > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-left: 48px;
	padding-right: 48px;
	box-sizing: border-box;
}
.asmc-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.asmc-section--tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }

/* ---------- Hero ---------- */
.asmc-hero { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
/* Rythme vertical : les blocs respirent */
.entry-content .asmc-hero .asmc-trust-score { margin-bottom: 1.5rem; }
.entry-content .asmc-hero h1 { margin: 0 0 1.5rem; }
.entry-content .asmc-hero .wp-block-column > p { margin: 0 0 2rem; }
.entry-content .asmc-hero .wp-block-buttons { margin-top: 2.5rem; }
.entry-content .asmc-hero > .wp-block-columns + .wp-block-columns { margin-top: 5rem; }
.entry-content .asmc-hero h1 { font-size: 2.7rem !important; line-height: 1.4; }
.asmc-hero .wp-block-column > p { color: var(--wp--preset--color--primary); font-size: 1.25rem !important; line-height: 1.5; }
/* CTAs du hero : 1.3rem, hauteurs strictement identiques (bordure compensée) */
.asmc-hero .wp-block-button__link {
	font-size: 1.3rem;
	font-weight: 500;
	padding: 9px 20px;
	border: 1.25px solid transparent;
	line-height: 1.2;
}
.asmc-hero .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--primary);
	padding: 9px 20px;
}

/* Cartes photo du hero : réplique de l'animation IX2 Webflow d'origine.
   Cartes 564px uniformes flottant librement (pas de cadre), zone de 80vh,
   flip 3D rotateY -95° → -18° (pose) → +100°, pastilles en verre dépoli
   flottant devant la carte (translateZ). Cycle 12 s, une carte / 4 s.
   WebKit : JAMAIS d opacity animée sur la carte preserve-3d (il la force à flat
   à chaque fondu et reconstruit le calque 3D en plein vol → carte figée à ~85°
   sur iOS). Le fondu vit sur la photo (figure) et les pastilles, éléments plats. */
.asmc-hero-cards {
	position: relative;
	perspective: 5000px;
	height: clamp(560px, 80vh, 720px);
}
.asmc-hero-cards > .asmc-card {
	position: absolute;
	inset: 0;
	margin: auto;
	width: min(564px, 100%);
	aspect-ratio: 566 / 570;
	padding: 0;
	border: none;
	background: none;
	border-radius: 40px;
	overflow: visible;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	transform: rotateY(-95deg);
	animation: asmc-hero-flip 12s linear infinite both;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.asmc-hero-cards > .asmc-card:nth-child(2) { animation-delay: 4s; }
.asmc-hero-cards > .asmc-card:nth-child(3) { animation-delay: 8s; }
/* backface-visibility ne s hérite pas : sans ceci, la face arrière des enfants
   (photo, pastilles) apparaît en miroir pendant les phases > 90° */
.asmc-hero-cards > .asmc-card * { backface-visibility: hidden; }
/* Photo à sa hauteur naturelle, ancrée en bas — aucune bande au-dessus.
   C est elle qui porte le fondu (both : invisible pendant le délai des cartes 2/3). */
.asmc-hero-cards .asmc-card figure { margin: 0; width: 100%; animation: asmc-hero-photo 12s linear infinite both; }
.asmc-hero-cards > .asmc-card:nth-child(2) figure { animation-delay: 4s; }
.asmc-hero-cards > .asmc-card:nth-child(3) figure { animation-delay: 8s; }
.asmc-hero-cards .asmc-card img {
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	border-radius: 40px;
	display: block;
}
/* Pastilles : fonds de texte en verre dépoli VIOLET (dimensions em de l'original :
   8.4em×4em et 8.6em×7em — la taille est fixée par la pastille, le texte la remplit).
   Décalées hors de la carte (-40px) pour l'accent 3D, sans masquer la photo. */
.asmc-hero-cards .asmc-card h3,
.asmc-hero-cards .asmc-card p {
	position: absolute;
	right: -96px;
	margin: 0;
	box-sizing: border-box;
	background: rgba(88, 59, 139, 0.88);
	border: 1.6px solid rgba(88, 59, 139, 0.9);
	color: #fff;
	font-weight: 700;
	text-align: center;
	border-radius: 20px;
	box-shadow: 0 2px 20px -5px #583b8b;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.asmc-hero-cards .asmc-card h3 {
	top: -16px;
	width: 12.6rem;
	min-height: 5.5rem;
	line-height: 1.15;
	padding: 6px 4px;
	transform: translateZ(35px);
}
.asmc-hero-cards .asmc-card p {
	top: 84px;
	width: 12.9rem;
	height: 9.5rem;
	gap: 6px;
	line-height: 1.15;
	padding: 6px 4px;
	transform: translateZ(45px);
}
/* Textes maximisés PAR CARTE dans des pastilles de taille fixe */
.asmc-hero-cards > .asmc-card:nth-child(1) h3 { font-size: 41px !important; }
.asmc-hero-cards .asmc-card h3 small { display: block; font-size: 27px; font-weight: 700; }
.asmc-hero-cards > .asmc-card:nth-child(2) h3,
.asmc-hero-cards > .asmc-card:nth-child(3) h3 { font-size: 24px !important; width: 14.8rem; }
.asmc-hero-cards > .asmc-card:nth-child(1) p,
.asmc-hero-cards > .asmc-card:nth-child(2) p { font-size: 1.75rem !important; }
.asmc-hero-cards > .asmc-card:nth-child(3) p { font-size: 1.5rem !important; }
/* icône blanche au-dessus du texte de la seconde pastille (par carte) */
.asmc-hero-cards .asmc-card p::before {
	content: "";
	width: 56px;
	height: 56px;
	flex: none;
	background: center / contain no-repeat;
	filter: brightness(0) invert(1);
}
.asmc-hero-cards > .asmc-card:nth-child(1) p::before { background-image: url("../livres.svg"); }
.asmc-hero-cards > .asmc-card:nth-child(2) p::before { background-image: url("../diplome.svg"); }
.asmc-hero-cards > .asmc-card:nth-child(3) p::before { background-image: url("../icone-international.svg"); }

.asmc-hero-cards > .asmc-card h3,
.asmc-hero-cards > .asmc-card p {
	opacity: 0;
	animation: asmc-hero-chip 12s linear infinite;
}
.asmc-hero-cards > .asmc-card:nth-child(2) h3,
.asmc-hero-cards > .asmc-card:nth-child(2) p { animation-delay: 4s; }
.asmc-hero-cards > .asmc-card:nth-child(3) h3,
.asmc-hero-cards > .asmc-card:nth-child(3) p { animation-delay: 8s; }

/* timeline IX2 en pourcentages du cycle de 12 s (1 % = 120 ms).
   Carte : géométrie seulement (aucune opacity ici, cf. WebKit ci-dessus). */
@keyframes asmc-hero-flip {
	0%     { transform: rotateY(-95deg); animation-timing-function: linear; }
	1.67%  { transform: rotateY(-95deg); animation-timing-function: ease-in-out; } /* 200 ms */
	5.83%  { transform: rotateY(-18deg); animation-timing-function: linear; }      /* 700 ms : pose inclinée */
	30.42% { transform: rotateY(-18deg); animation-timing-function: ease-in-out; } /* 3650 ms */
	34.58% { transform: rotateY(100deg); }                                          /* 4150 ms : sortie finie */
	35%    { transform: rotateY(-95deg); }                                          /* reset (invisible : photo à 0) */
	100%   { transform: rotateY(-95deg); }
}
/* Photo : visible dès que la carte sort de la tranche (-89°), fondu éclair à la sortie,
   invisible pendant toute l attente à -95° (plus aucune dépendance au culling WebKit). */
@keyframes asmc-hero-photo {
	0%     { opacity: 0; }
	1.67%  { opacity: 0; }
	2.5%   { opacity: 1; }                                                          /* 300 ms : ≈ -89° */
	32.5%  { opacity: 1; }
	33.33% { opacity: 0; }                                                          /* 4000 ms : fondu éclair */
	100%   { opacity: 0; }
}
@keyframes asmc-hero-chip {
	0%     { opacity: 0; }
	1.67%  { opacity: 0; }
	5.83%  { opacity: 1; }  /* fondu d'entrée avec la carte */
	30.83% { opacity: 1; }  /* 3700 ms : début du fondu de sortie */
	35%    { opacity: 0; }
	100%   { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.asmc-hero-cards > .asmc-card, .asmc-hero-cards > .asmc-card figure, .asmc-hero-cards > .asmc-card h3, .asmc-hero-cards > .asmc-card p { animation: none; }
	.asmc-hero-cards > .asmc-card:first-child { transform: none; }
	.asmc-hero-cards > .asmc-card:first-child h3, .asmc-hero-cards > .asmc-card:first-child p { opacity: 1; }
	.asmc-hero-cards > .asmc-card:not(:first-child) { display: none; }
}

/* ---------- Boutons ---------- */
.wp-block-button__link { transition: background 0.2s, color 0.2s; }
.is-style-outline .wp-block-button__link {
	border: 1.25px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--contrast);
	background: transparent;
}
.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); }

/* ---------- Cartes génériques ---------- */
.asmc-card {
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--card-border);
	border-radius: 14px;
	padding: 1.75rem;
}
.asmc-card--featured { border-color: var(--wp--preset--color--primary); border-width: 2px; }

/* Bandeau d'intro : dégradé lavande → fond, texte posé sur la grille */
.asmc-intro {
	background: linear-gradient(180deg, #e9e6fb 0%, rgba(233, 230, 251, 0.35) 55%, var(--wp--preset--color--background) 100%);
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}
.asmc-intro p { font-size: 20.8px; line-height: 1.3; font-weight: 500; max-width: 72ch; text-align: left; margin-left: 0; }
.asmc-intro .asmc-highlight a { color: #fff; text-decoration: none; }

/* Tuiles d'icônes violettes (disciplines, home) — le SVG EST la tuile (fond violet + glyphe blanc) */
.asmc-icon-tiles { gap: 16px !important; }
.asmc-icon-tiles figure { margin: 0; }
.asmc-icon-tiles img {
	width: 131px !important;
	height: 131px !important;
	border-radius: 12.8px;
}

/* Cartes "feature" : image plein cadre, dégradé sombre, texte blanc en bas */
.asmc-feature-card {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	min-height: 540px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 16px;
	/* toute la carte est cliquable (theme.js suit le lien du bouton) */
	cursor: pointer;
}
/* pastille flèche violette en haut à droite : révélée au survol */
.asmc-feature-card::before {
	content: "";
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary) url(../blob-arrow-crop-white.svg) center / 14px no-repeat;
	z-index: 2;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.2s, transform 0.2s;
}
.asmc-feature-card:hover::before { opacity: 1; transform: none; }
.asmc-feature-card .wp-block-image { position: absolute; inset: 0; margin: 0; z-index: 0; }
/* l'image couvre TOUTE la carte (le sélecteur .entry-content bat la règle générique max-height 620px) */
.entry-content .asmc-feature-card .wp-block-image img {
	width: 100%;
	height: 100%;
	max-height: none;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
	transition: transform 0.35s ease;
}
.asmc-feature-card:hover .wp-block-image img { transform: scale(1.05); }
.asmc-feature-card::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(10, 10, 25, 0) 35%, rgba(10, 10, 25, 0.92) 82%);
	z-index: 1;
}
.entry-content .asmc-feature-card h3 { position: relative; z-index: 2; order: 2; color: #fff; font-size: 30.4px !important; font-weight: 700; line-height: 1.2; }
.asmc-feature-card .wp-block-buttons { position: relative; z-index: 2; order: 3; width: 100%; max-width: none !important; }
.asmc-feature-card .wp-block-button { width: 100%; }
/* pilule blanche pleine largeur avec flèche à droite (mesuré : h 42, radius 160, padding 4.8/19.2) */
.asmc-feature-card .wp-block-button__link {
	background: #fff !important;
	border: none;
	border-radius: 160px;
	color: var(--wp--preset--color--contrast) !important;
	font-size: 16px;
	padding: 8px 19.2px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
}
.asmc-feature-card .wp-block-button__link::after {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url(../blob-arrow-crop.svg) center / contain no-repeat;
	mask: url(../blob-arrow-crop.svg) center / contain no-repeat;
	transform: rotate(45deg);
}

/* Rangées de bénéfices (mesuré original : cartes #f5f6fb r16 p32, 2 par rangée, titre 30px/700 violet) */
.asmc-benefits { flex-wrap: wrap !important; gap: 28.8px 57.6px !important; }
.asmc-benefits .wp-block-column {
	box-sizing: border-box;
	background: #f5f6fb;
	border: 1px solid #bab9c9;
	border-radius: 16px;
	padding: 32px 24px;
	text-align: center;
	flex-basis: calc(50% - 29px) !important;
	flex-grow: 0;
}
.asmc-benefits .wp-block-image { margin: 0 0 10px; }
.asmc-benefits img { width: 32px !important; height: 32px !important; max-height: 32px; }
.asmc-benefits p strong { color: var(--wp--preset--color--primary); font-size: 30px; font-weight: 700; line-height: 1.5; }
.asmc-benefits p { margin: 0.25em 0; font-size: 19.2px; }
.asmc-benefits p.has-grey-color { color: #626368 !important; }
/* les mots en gras dans les sous-textes gris restent gris, en gras, à la même taille */
.asmc-benefits p.has-grey-color strong { color: inherit; font-size: inherit; font-weight: 700; }

/* Étapes de formation : cartes violettes numérotées (pastilles 1-2-3 + ligne verticale) */
.wp-block-column:has(> .asmc-step-card) {
	counter-reset: asmc-step;
	position: relative;
	padding-left: 56px;
}
.wp-block-column:has(> .asmc-step-card)::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 40px;
	bottom: 40px;
	width: 2px;
	background: #e4e6f9;
}
/* trait de progression violet (hauteur pilotée par --asmc-steps-progress, voir theme.js) */
.wp-block-column:has(> .asmc-step-card)::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 40px;
	width: 2px;
	height: min(calc(100% - 80px), var(--asmc-steps-progress, 0%));
	background: var(--wp--preset--color--primary);
	transition: height 0.1s linear;
}
.asmc-step-card {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 18px;
	padding: 1.5rem;
	margin-bottom: 1.4rem;
	counter-increment: asmc-step;
	position: relative;
}
.asmc-step-card::before {
	content: counter(asmc-step);
	position: absolute;
	left: -60px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	border: 4px solid #e4e6f9;
	color: #fff;
	font-size: 0.95rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
.entry-content .asmc-step-card h3 { color: #fff; font-size: 32px; font-weight: 700; margin-top: 0; }
.asmc-step-card p { color: #efeaf9; }
.entry-content .asmc-step-card h3 + p { font-size: 24px; line-height: 1.5; }
.asmc-step-card h3 + p strong { font-weight: 400; }
.asmc-step-card a { color: #fff; text-decoration: underline; }
.asmc-step-card .wp-block-image img { background: #fff; border-radius: 14px; padding: 10px; }

/* Pilule blanche compacte : texte 14px caps + pastille flèche lavande (contact, cartes) */
.asmc-btn-card .wp-block-button__link {
	background: #fff !important;
	color: var(--wp--preset--color--contrast) !important;
	border: none;
	border-radius: 160px !important;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	padding: 4.8px 4.8px 4.8px 19.2px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background 0.15s;
}
.asmc-btn-card .wp-block-button__link:hover { background: #efedf7 !important; }
.asmc-btn-card .wp-block-button__link::after {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	flex: none;
	background: #e4e6f9 url(../blob-arrow-crop-purple.svg) center / 13px no-repeat;
}

/* Modale d'information (Stage Clinique…) : carte claire, titres et texte violets */
.asmc-info-modal {
	box-sizing: border-box;
	border: none;
	border-radius: 16px;
	background: #f8f9fa;
	width: min(880px, 92vw);
	max-height: 85vh;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 40px 48px;
	/* modale centrée dans le viewport (top layer) : garder position:fixed, sinon showModal
	   scrolle vers la position DOM du dialog et la modale n'est plus centrée */
	position: fixed;
	inset: 0;
	margin: auto;
	box-shadow: 0 25px 70px rgba(20, 17, 30, 0.25);
	color: var(--wp--preset--color--primary);
}
.asmc-info-modal::backdrop {
	background: rgba(30, 29, 48, 0.45);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}
.asmc-info-modal h3 { color: var(--wp--preset--color--primary); font-size: 40px; font-weight: 400; margin: 28px 0 16px; }
.asmc-info-modal h3:first-of-type { margin-top: 0; }
.asmc-info-modal ul { margin: 0; padding-left: 28px; font-size: 20px; line-height: 1.55; }
.asmc-info-modal li { margin: 6px 0; }
.asmc-info-modal__ou { font-weight: 700; color: var(--wp--preset--color--contrast); margin: 10px 0 6px; }
.asmc-info-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border: 1px solid #cfcbe6;
	border-radius: 50%;
	background: #e4e6f9;
	color: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.15s;
}
.asmc-info-modal__close:hover { background: #d3d6f3; }

/* Info-bulle (e-learning) : petite carte au survol / focus */
.asmc-tip {
	position: relative;
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	cursor: help;
	white-space: nowrap; /* « e-learning » ne se coupe jamais au trait d union (alignement de l infobulle) */
}
.asmc-tip::after {
	content: attr(data-tip);
	white-space: normal;
	position: absolute;
	left: auto;
	right: 0;
	bottom: calc(100% + 10px);
	width: 300px;
	background: #f8f9fa;
	color: var(--wp--preset--color--contrast);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	padding: 14px 16px;
	border-radius: 11.2px;
	box-shadow: 0 10px 30px rgba(30, 29, 48, 0.18);
	display: none;
	z-index: 20;
	pointer-events: none;
}
.asmc-tip:hover::after, .asmc-tip:focus::after { display: block; }

/* Citation fondateur (colonne droite des étapes) — mesuré : 30px/45 desktop, 32px mobile */
.asmc-founder-quote { font-size: 30px; line-height: 1.5; }
.asmc-founder-quote figure img { width: 80px !important; height: 80px !important; }
.asmc-founder-quote .wp-block-columns .wp-block-column:first-child { flex-basis: 88px !important; }
.asmc-founder-quote .wp-block-columns p { font-size: 17px; line-height: 1.4; }
.asmc-founder-quote .wp-block-columns p strong { font-size: 21px; font-weight: 500; }
.asmc-founder-quote .wp-block-columns p a { font-size: 17px; font-weight: 700; }
.asmc-founder-quote u, .asmc-founder-quote a { color: var(--wp--preset--color--primary); }

/* Pilule violette avec cercle blanc + flèche (TARIFS, PASSER À L'INSCRIPTION — mesuré : h60, radius 160) */
.asmc-btn-arrow .wp-block-button__link {
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
	border-radius: 160px !important;
	font-size: 16px;
	font-weight: 500;
	padding: 6px 8px 6px 24px;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	min-height: 60px;
	transition: background 0.2s;
}
.asmc-btn-arrow .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; }
.asmc-btn-arrow .wp-block-button__link::after {
	content: "";
	width: 48px;
	height: 48px;
	border-radius: 50%;
	flex: none;
	background: #fff url(../blob-arrow-crop.svg) center / 16px no-repeat;
	transform: rotate(45deg);
}

/* Bandeau CTA sombre (directrice) */
.asmc-cta-banner {
	background: var(--wp--preset--color--contrast);
	color: #fff;
	border-radius: 24px;
	padding: 1.6rem 2rem;
}
.entry-content .asmc-cta-banner h2, .entry-content .asmc-cta-banner h3 { color: #fff; font-family: "Darker Grotesque", sans-serif; font-size: 26px !important; font-weight: 500; line-height: 1.15; }
/* boutons blancs avec pastille icône lavande (mesuré : h42, radius 160, pastille 32, icône 16) */
.asmc-cta-banner .wp-block-buttons { justify-content: flex-end; flex-wrap: nowrap; width: max-content; }
/* largeurs des 3 colonnes verrouillées : avatar fixe, texte extensible, actions au contenu */
.asmc-cta-banner .wp-block-columns > .wp-block-column:first-child { flex: 0 0 150px !important; }
.asmc-cta-banner .wp-block-columns > .wp-block-column:nth-child(2) { flex: 1 1 0 !important; min-width: 0; }
.asmc-cta-banner .asmc-cta-banner__actions { flex: 0 0 auto !important; width: max-content !important; }
/* largeurs intermédiaires (avant l'empilement mobile à 781px) : les boutons passent
   en rangée pleine largeur sous le texte, sinon la colonne texte est broyée */
@media (max-width: 1180px) and (min-width: 782px) {
	.asmc-cta-banner > .wp-block-columns { flex-wrap: wrap !important; }
	.asmc-cta-banner .asmc-cta-banner__actions { flex: 1 1 100% !important; width: auto !important; }
	.asmc-cta-banner .asmc-cta-banner__actions .wp-block-buttons { width: auto; justify-content: center; flex-wrap: wrap; }
}
.asmc-cta-banner .wp-block-button__link {
	background: #fff;
	border: none;
	color: var(--wp--preset--color--contrast);
	border-radius: 160px;
	font-size: 16px;
	padding: 4.8px 4.8px 4.8px 19.2px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.asmc-cta-banner .wp-block-button__link::after {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	flex: none;
	background-color: #e4e6f9;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px;
}
.asmc-cta-banner .wp-block-button:nth-child(1) .wp-block-button__link::after { background-image: url(../../../asmc/assets/images/appel-purple.svg); }
.asmc-cta-banner .wp-block-button:nth-child(2) .wp-block-button__link::after { background-image: url(../calendar-purple.svg); }
.asmc-cta-banner .wp-block-button:nth-child(3) .wp-block-button__link::after { background-image: url(../blob-arrow-crop-purple.svg); background-size: 13px; }
.asmc-cta-banner .wp-block-button__link:hover { background: #e4e6f9; color: var(--wp--preset--color--contrast); }

/* Paragraphe d'intro "Pourquoi intégrer" : 16px comme l'original (le preset large le gonflait) */
#\32 ans-en-ligne > p.has-large-font-size { font-size: 16px !important; line-height: 1.5; max-width: 80ch; margin-left: max(0px, calc((100% - 1320px) / 2)) !important; text-align: left; }

/* Section centres : textes 20.8px, carte de France sur carte violette */
#centres p.has-large-font-size { font-size: 20.8px !important; line-height: 1.5; }
#centres figure.wp-block-image {
	background: var(--wp--preset--color--primary);
	border-radius: 24px;
	padding: 32px 16px;
}
/* Encadré "Nos centres sont situés à" (mesuré : #f5f6fb, bord #bab9c9, r16, p32) */
.asmc-centres-list {
	background: #f5f6fb;
	border: 1px solid #bab9c9;
	border-radius: 16px;
	padding: 32px;
}
.entry-content .asmc-centres-list h3 { font-size: 32px !important; font-weight: 700; text-align: center; margin: 0 0 12px; color: var(--wp--preset--color--contrast); }
.asmc-centres-list ul { font-size: 19.2px; line-height: 1.5; margin-left: 0; margin-right: 0; text-align: left; }

/* Bandeau "Rejoignez l'ASMC" (mesuré : texte 24px, gras à droite) */
.asmc-join-banner {
	background: #f5f6fb;
	border: 1px solid #bab9c9;
	border-radius: 16px;
	padding: 24px 32px;
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.asmc-join-banner__text { font-size: 24px; margin: 0 !important; }
.asmc-join-banner__text strong { font-weight: 700; }
.asmc-join-banner__btn { margin: 0 !important; }

/* Témoignages : slider (mesuré : carte blanche r10 p30, avatar 100, nom 28/700, texte 19.2/28.8) */
.asmc-testimonials { position: relative; }
.asmc-testimonials__nav { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 20px; }
.asmc-testimonials__arrow {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: none;
	background: #e4e6f9;
	color: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.15s;
}
.asmc-testimonials__arrow:hover { background: #d3d6f3; }
.asmc-testimonials__arrow[disabled] { opacity: 0.45; cursor: default; }
.asmc-testimonials__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.asmc-testimonials__viewport::-webkit-scrollbar { display: none; }
.asmc-testimonials__track { display: flex; }
.asmc-testimonial-card {
	flex: 0 0 calc(50% - 12px);
	margin-right: 24px;
	scroll-snap-align: start;
	background: #fff;
	border-radius: 10px;
	padding: 30px;
	box-sizing: border-box;
}
.asmc-testimonial-card__head { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.asmc-testimonial-card__head > img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; }
.asmc-testimonial-card__who { display: flex; flex-direction: column; }
.asmc-testimonial-card__who strong { font-size: 28px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.asmc-testimonial-card__who span { font-size: 16px; font-weight: 500; color: var(--wp--preset--color--contrast); }
.asmc-testimonial-card__quote { width: 32px; height: 32px; display: block; margin: 4px 0; }
.asmc-testimonial-card p { font-size: 19.2px; line-height: 1.5; color: var(--wp--preset--color--contrast); margin: 0; }

/* Vidéos : grille de miniatures officielles + lightbox (original : grille 4 col., r16, gap 16) */
.asmc-videos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.asmc-video { position: relative; border: none; padding: 0; background: none; cursor: pointer; border-radius: 16px; overflow: hidden; }
.asmc-video img { display: block; width: 100%; height: auto; border-radius: 16px; }
.asmc-video::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 56px;
	height: 56px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23fff'/%3E%3C/svg%3E");
	background-position: 55% center;
	background-repeat: no-repeat;
	background-size: 26px;
	transition: transform 0.15s;
}
.asmc-video:hover::after { transform: translate(-50%, -50%) scale(1.08); }
.asmc-video-modal {
	border: none;
	border-radius: 16px;
	padding: 0;
	background: #000;
	width: min(920px, 92vw);
	/* centrage viewport : les styles layout WP (injectés après) écrasent le margin:auto du dialog */
	position: fixed;
	inset: 0;
	margin: auto !important;
}
.asmc-video-modal::backdrop { background: rgba(10, 10, 25, 0.7); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.asmc-video-modal { overscroll-behavior: contain; }
.asmc-video-modal__body { aspect-ratio: 16 / 9; }
.asmc-video-modal__body iframe { display: block; width: 100%; height: 100%; border: 0; }
.asmc-video-modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.asmc-cta-banner img { border-radius: 50%; object-fit: cover; }

/* ---------- Avis ---------- */
.asmc-review {
	background: #fff;
	border: none;
	border-radius: 14px;
	padding: 24px;
}
/* dans les modales : liste PLATE comme l'original (pas de cartes ombrées) */
.asmc-reviews-modal .asmc-review { box-shadow: none; padding: 0.4rem 0; }
.asmc-reviews-modal .asmc-review:not(.is-expanded) .asmc-review__text { display: block; -webkit-line-clamp: none; overflow: visible; }
.asmc-reviews-modal__list { display: grid; gap: 1.6rem; }
/* dans le slider, la carte est nue : c'est la boîte du slider qui porte l'ombre */
.asmc-reviews-slider .asmc-review { padding: 1rem; border-radius: 0; }
.asmc-review__header { display: flex; align-items: center; gap: 10px; }
.asmc-review__verified {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #6c6c85;
	font-family: Satoshi, sans-serif;
	font-weight: 400;
	font-size: 1rem;
}
.asmc-review__author { font-weight: 700; font-size: 1rem; display: block; }
.asmc-review--google .asmc-review__author { font-size: 14px; }
.asmc-review__gheader { display: flex; flex-direction: column; gap: 2px; }
.asmc-review__gheader .asmc-brand-img { align-self: flex-start; }
.entry-content .asmc-review__title, .asmc-review__title { font-size: 18px; font-weight: 700; margin: 0.7rem 0 0.2rem; color: var(--wp--preset--color--contrast); }
.asmc-review__text { font-size: 1rem; line-height: 1.5; color: #000; margin-top: 0.5rem; }
.asmc-review__text p { margin: 0.4em 0; }
/* texte replié par défaut, déplié via "Lire la suite" */
.asmc-review:not(.is-expanded) .asmc-review__text {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.asmc-review__links { display: flex; gap: 18px; align-items: center; margin: 0.7rem 0 0.3rem; }
.asmc-review__toggle, .asmc-review__more {
	background: none; border: none; cursor: pointer; padding: 0;
	font: inherit; font-size: 16px;
	text-decoration: none;
	transition: color 0.15s;
}
.asmc-review__toggle { font-weight: 500; color: var(--wp--preset--color--contrast); }
.asmc-review__more { font-weight: 700; color: var(--wp--preset--color--primary); }
.asmc-review__toggle:hover { color: var(--wp--preset--color--primary); }
.asmc-review__more:hover { color: var(--wp--preset--color--contrast); }
.asmc-review__byline { color: var(--wp--preset--color--grey-dark); font-size: 0.9rem; margin: 0.4rem 0 0; }
.asmc-review__byline strong { color: var(--wp--preset--color--contrast); }
.asmc-trust-score { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--wp--preset--color--contrast); }
.asmc-trust-score--hero { font-size: 16px; }
.asmc-trust-score__count { text-decoration: underline; text-underline-offset: 3px; }
.asmc-trust-score:hover .asmc-trust-score__count { text-decoration: none; }
.asmc-trust-score__text { color: var(--wp--preset--color--contrast); }
/* étoiles : version hover officielle au survol du badge */
.asmc-trust-score .asmc-trust-score__stars-hover { display: none; }
.asmc-trust-score:hover .asmc-trust-score__stars-hover { display: inline; }
.asmc-trust-score:hover .asmc-trust-score__stars { display: none; }
.asmc-brand-img { width: auto; }

/* ---------- En-tête des modales d'avis ---------- */
.asmc-reviews-modal {
	padding: 0;
	width: 100%;
	max-width: 48rem;
	max-height: 85vh;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: none;
	border-radius: 1rem;
	box-shadow: 0 25px 70px rgba(20, 17, 30, 0.25);
}
.asmc-reviews-modal::backdrop {
	background: rgba(30, 29, 48, 0.45);
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}
.asmc-reviews-modal__head {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	background: #fff;
	padding: 18px 22px;
	border-bottom: 1px solid #f0eff7;
}
.asmc-reviews-modal__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--wp--preset--color--contrast); }
.asmc-reviews-modal__brand:hover .asmc-reviews-modal__brand-name { color: var(--wp--preset--color--primary); }
.asmc-reviews-modal__brand-text { display: flex; flex-direction: column; gap: 2px; }
.asmc-reviews-modal__brand-name { font-size: 17px; font-weight: 500; transition: color 0.15s; }
.asmc-reviews-modal__excellent { font-size: 22px; font-weight: 500; color: var(--wp--preset--color--contrast); line-height: 1.1; }
.asmc-reviews-modal__tp-right { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; font-size: 15px; }
.asmc-reviews-modal__tp-right strong { text-decoration: underline; }
.asmc-reviews-modal__rating { display: inline-flex; align-items: center; gap: 6px; font-size: 17px; font-weight: 400; color: var(--wp--preset--color--grey-dark); }
.asmc-reviews-modal__close {
	position: static;
	flex: none;
	width: 40px;
	height: 40px;
	border: none;
	border-radius: 50%;
	background: #efedf7;
	color: var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.15s;
}
.asmc-reviews-modal__close:hover { background: #e0dcf0; }
.asmc-reviews-modal__list { padding: 22px; }
.asmc-reviews-slider__dot { width: 7px; height: 7px; background: #cfcfe3; }
.asmc-reviews-slider__dot[aria-current="true"] { width: 10px; height: 10px; background: var(--wp--preset--color--primary); }
/* Slider : rognage sur le conteneur FIXE (pas sur le rail qui bouge),
   padding + marges négatives pour laisser respirer les ombres des cartes. */
/* Mécanique de l'original Webflow : la boîte blanche fixe porte l'ombre et masque le rail.
   Ce qui bouge n'a pas d'ombre, ce qui a une ombre ne bouge pas → coupe impossible. */
.asmc-reviews-slider { position: relative; height: 100%; display: flex; flex-direction: column; }
/* les deux boîtes de la rangée font la même hauteur (la plus haute dicte) */
.asmc-reviews-slider__box { flex: 1; }
.asmc-reviews-slider__box {
	/* valeurs relevées sur .cms-review-slider de l'original */
	background: #fff;
	border: 0 solid #bab9c9;
	border-radius: 1rem;
	padding: 1rem;
	box-shadow: 0 3px 10px -2px rgba(0, 0, 0, 0.2);
	/* AUCUN overflow ici : l'ombre de cet élément ne peut jamais être rognée */
}
/* masque = conteneur de défilement horizontal natif (scroll-snap) : le swipe tactile est natif */
.asmc-reviews-slider__mask {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.asmc-reviews-slider__mask::-webkit-scrollbar { display: none; }
.asmc-reviews-slider__track { display: flex; gap: 0; }
.asmc-reviews-slider__slide {
	flex: 0 0 100%;
	min-width: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.asmc-reviews-slider__dots { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 18px; }
.asmc-reviews-slider__dot { border: none; border-radius: 50%; cursor: pointer; padding: 0; transition: width 0.15s, height 0.15s; }

/* ---------- Équipe : cartes cliquables (même carte que la page membre, mesurée sur l'original) ---------- */
.asmc-team-grid .asmc-team-grid__card {
	display: flex;
	justify-content: space-between;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}
.asmc-team-grid__arrow {
	align-self: flex-end;
	flex: none;
	margin: 5px 12px 0 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary) url(../blob-arrow-crop-white.svg) center / 12px no-repeat;
	transition: transform 0.2s;
}
.asmc-team-grid__card .asmc-member-card__name { text-transform: uppercase; letter-spacing: 0.5px; }
.asmc-team-grid__card .asmc-member-card__photo { transition: transform 0.35s ease; }
.asmc-team-grid__card:hover .asmc-member-card__photo { transform: scale(1.05); }
.asmc-team-grid__card:hover .asmc-team-grid__arrow { transform: scale(1.12); }

/* Légende-badge posée sur la photo, verre dépoli (mesuré : bas-gauche 16px, r12.8, pad 8/16, blur 10) */
.asmc-img-badge { position: relative; }
.asmc-img-badge .wp-element-caption {
	position: absolute;
	left: 16px;
	bottom: 16px;
	margin: 0;
	padding: 8px 16px;
	border-radius: 12.8px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: rgba(30, 29, 48, 0.2);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
	font-family: Satoshi, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}

/* ---------- FAQ : rangées violet clair, grille 2 colonnes ---------- */
.asmc-faq {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	align-items: start;
}
/* neutralise les marges auto du layout "constrained" de WP qui rétrécissent
   les items de grille à la largeur de leur contenu (effet escalier) */
.asmc-faq > * {
	margin: 0 !important;
	width: 100%;
	max-width: none !important;
	justify-self: stretch;
}
.asmc-faq details {
	background: #e4e6f9;
	border: none;
	border-radius: 10px;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.asmc-faq summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.5;
	padding: 12px 30px;
	transition: background 0.15s, color 0.15s;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.asmc-faq summary::-webkit-details-marker { display: none; }
.asmc-faq summary::after {
	content: "+";
	font-size: 1.2em;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	background: #fff;
	border-radius: 50%;
	width: 28px; height: 28px;
	display: inline-flex; align-items: center; justify-content: center;
	flex: none;
}
.asmc-faq details[open] summary::after { content: "–"; }
.asmc-faq details[open] { background: #fff; box-shadow: 0 6px 24px rgba(30, 29, 48, 0.08); }
/* question sur fond violet quand l'accordéon est ouvert (design original) */
.asmc-faq details[open] summary { background: var(--wp--preset--color--primary); color: #fff; }
.asmc-faq details > *:not(summary) {
	margin: 0.75rem 30px 0;
	color: var(--wp--preset--color--contrast);
	font-size: 17px;
	line-height: 1.65;
}
.asmc-faq details > *:last-child:not(summary) { margin-bottom: 18px; }

.asmc-video-card figcaption, .asmc-video-caption { color: var(--wp--preset--color--primary); font-weight: 700; margin-top: 8px; }


/* ---------- Flèche "blob-arrow" officielle (masque : suit la couleur du texte) ---------- */
.asmc-navbar__cta::after,
.asmc-hero .wp-block-button__link::after,
.asmc-step-card a::after,
.asmc-review__more::after,
.asmc-reviews-modal__brand-name::after {
	content: "";
	display: inline-block;
	width: 0.62em;
	height: 0.62em;
	flex: none;
	vertical-align: -0.02em;
	margin-left: 0.3em;
	background-color: currentColor;
	-webkit-mask: url("../blob-arrow-crop.svg") center / contain no-repeat;
	mask: url("../blob-arrow-crop.svg") center / contain no-repeat;
	transition: transform 0.15s;
}
.asmc-review__more:hover::after { transform: translate(2px, -2px); }
.asmc-navbar__cta:hover::after,
.asmc-hero .wp-block-button__link:hover::after { transform: translate(1px, -1px); }
/* flèche plus discrète dans l'en-tête de modale */
.asmc-reviews-modal__brand-name::after { width: 0.5em; height: 0.5em; }

/* ---------- Footer (clair, bannière violette) ---------- */
.asmc-footer {
	background: #fff;
	color: var(--wp--preset--color--contrast);
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.asmc-footer__inner { box-sizing: border-box; max-width: 1416px; margin: 0 auto; padding: 32px 48px 24px; }
.asmc-footer__banner {
	background: var(--wp--preset--color--primary);
	border-radius: 24px;
	padding: 32px 24px 12px;
	text-align: center;
	color: #fff;
	margin-bottom: 48px;
}
.asmc-footer__banner-title { color: #fff; font-size: 1.5rem; margin: 0 0 18px; }
.asmc-footer__banner-title span { font-weight: 400; font-size: 1.25rem; }
.asmc-footer__banner-form iframe { max-width: 640px; margin: 0 auto; display: block; border: 0; }
.asmc-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 40px;
	padding: 24px 0 40px;
}
.asmc-footer__about img { height: 30px; width: auto; }
.asmc-footer__motto { color: var(--wp--preset--color--primary); font-style: italic; margin: 10px 0 6px; font-weight: 500; }
.asmc-footer__tagline { color: var(--wp--preset--color--grey-dark); font-size: 0.95rem; max-width: 34ch; }
.asmc-footer__socials { display: flex; gap: 10px; margin-top: 14px; }
.asmc-footer__socials a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border: 1.25px solid var(--wp--preset--color--primary);
	border-radius: 50%;
	color: var(--wp--preset--color--primary);
}
.asmc-footer__socials a:hover { background: var(--wp--preset--color--primary); color: #fff; }
.asmc-footer__col { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.asmc-footer__col-title { font-size: 14px; letter-spacing: 0.06em; color: var(--wp--preset--color--grey-dark); font-weight: 500; }
.asmc-footer__col a { color: var(--wp--preset--color--contrast); text-decoration: none; font-size: 16px; }
.asmc-footer__col a:hover { color: var(--wp--preset--color--primary); }
.asmc-footer__col span { font-size: 16px; }
.asmc-footer__rdv { color: var(--wp--preset--color--primary) !important; }
.asmc-footer__copyright { color: var(--wp--preset--color--grey-dark); font-size: 0.95rem; margin: 0; }

/* ---------- Images de contenu ---------- */
.entry-content .wp-block-image img { max-height: 620px; width: auto; max-width: 100%; height: auto; border-radius: 12px; }
.asmc-card .wp-block-image img:not([src$=".svg"]) { max-height: 300px; width: 100%; object-fit: cover; }
.entry-content .asmc-card img[src$=".svg"]:not(.asmc-icon-tiles img) { max-height: 72px; width: auto; }

/* ---------- Animations d'apparition (équivalent IX2) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.asmc-reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
	.asmc-reveal.is-visible { opacity: 1; transform: none; }
}

/* Débord des pastilles hero : plein sur grand écran, réduit quand la marge manque */
@media (max-width: 1560px) {
	.asmc-hero-cards .asmc-card h3,
	.asmc-hero-cards .asmc-card p { right: -60px; }
}

/* ---------- Pages internes ---------- */
/* Conditions d'utilisations (227425) : H1 utilitaire + menu latéral sticky + colonne de lecture */
.entry-content .asmc-legal h1 {
	font-family: Satoshi, sans-serif;
	font-size: 48px !important;
	font-weight: 700;
	text-align: left;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 6px !important;
	max-width: none !important;
}
.asmc-legal__updated { color: var(--wp--preset--color--grey-dark); font-size: 15px; margin: 0 0 26px !important; }
.asmc-legal__aside { position: relative; }
.asmc-legal__menu {
	position: sticky;
	top: 84px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-right: 24px;
}
.asmc-legal__link {
	color: #4a4a55;
	font-size: 16px;
	line-height: 1.4;
	text-decoration: none;
	padding: 8px 12px;
	border-left: 2px solid #e4e6f9;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.asmc-legal__link:hover { color: var(--wp--preset--color--primary); }
.asmc-legal__link.is-active {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	border-left-color: var(--wp--preset--color--primary);
	background: #f5f6fb;
}
.entry-content .asmc-legal__section h2 {
	font-size: 30px !important;
	font-weight: 500;
	font-family: Satoshi, sans-serif;
	color: var(--wp--preset--color--primary);
	text-align: left;
	margin: 0 0 12px !important;
}
.asmc-legal__section { padding: 22px 0 26px; border-bottom: 1px solid #dfe4f8; }
.asmc-legal__section:last-child { border-bottom: none; }
.asmc-legal__section p { font-size: 17px; line-height: 1.7; color: var(--wp--preset--color--contrast); }
.asmc-legal__section a { color: var(--wp--preset--color--primary); }

/* Article (Meilleure école, 227557) : colonne de lecture confortable */
.asmc-article { max-width: 860px; margin-left: auto; margin-right: auto; }
.asmc-article > * { max-width: none !important; }
.entry-content .asmc-article h2 {
	font-size: 30px !important;
	font-weight: 500;
	font-family: Satoshi, sans-serif;
	color: var(--wp--preset--color--primary);
	text-align: left;
	line-height: 1.35;
	margin: 40px 0 14px !important;
}
.entry-content .asmc-article h2:first-child { margin-top: 0 !important; }
.asmc-article p { font-size: 17px; line-height: 1.7; color: var(--wp--preset--color--contrast); }
.asmc-article ul, .asmc-article ol { font-size: 17px; line-height: 1.7; padding-left: 26px; }
.asmc-article li { margin: 8px 0; }

/* Chip au-dessus du H1 (F.A.Q, Programme) */
.entry-content .asmc-section > p.has-small-font-size.has-primary-color {
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}

/* Équipe pédagogique (page-id 227432) : titres membres Satoshi 30/500, textes aérés, photos arrondies */
.page-id-227432 .asmc-section h3 { font-size: 30px !important; font-weight: 500; }
.page-id-227432 .asmc-section p.has-grey-color { font-size: 18px; line-height: 1.7; }
.page-id-227432 .asmc-section .wp-block-image img { border-radius: 16px; }
.page-id-227432 .asmc-section .wp-block-image img[src$=".svg"] { width: 44px; height: 44px; border-radius: 0; }

/* F.A.Q (227452) — calé sur l'original : accordéon 2 colonnes (comme la LP),
   réponses 20.8px, sous-questions violettes 20/500 centrées, items 24/400 à gauche,
   filets #dfe4f8 pleine largeur, carte contact lavande bordée */
.page-id-227452 .asmc-faq details > *:not(summary) { font-size: 20.8px; }
/* sous-questions (« Et je n'en suis pas satisfait… », « Vous vous posez la bonne question… ») */
.page-id-227452 .asmc-section > p.has-large-font-size {
	font-size: 20px !important;
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	text-align: center;
	max-width: 880px;
	margin-left: auto !important;
	margin-right: auto !important;
}
/* items « Vous êtes insatisfait… » : 24/400 à gauche, calés sur la grille de contenu */
.page-id-227452 .asmc-section > p.has-medium-font-size {
	font-size: 24px !important;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	text-align: left;
}
/* filets alignés sur la même grille */
.page-id-227452 hr.wp-block-separator {
	border: none;
	border-top: 1px solid #dfe4f8;
	background: none;
	opacity: 1;
	width: 100%;
	margin: 18px auto;
}
/* carte contact du bas : carte violette, titre blanc DG, moyens de contact en pilules blanches */
.asmc-faq-contact {
	background: var(--wp--preset--color--primary);
	border-radius: 24px;
	padding: 44px 48px 48px;
}
.entry-content .asmc-faq-contact h2 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 56px !important;
	font-weight: 500;
	color: #fff;
	text-align: center;
	line-height: 1.1;
	margin-bottom: 10px;
}
.asmc-faq-contact__sub { color: #e4e6f9; font-size: 18px !important; margin-bottom: 26px; }
.asmc-faq-contact .wp-block-buttons { gap: 14px; }

/* Programme et tarifs (227435) : titres d'étapes DG 48px à gauche, prix Satoshi 41.6/700 */
.page-id-227435 .asmc-section > h3 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 3rem !important;
	font-weight: 500;
	color: var(--wp--preset--color--primary);
}
.page-id-227435 .asmc-card h3.has-x-large-font-size { font-size: 41.6px !important; font-weight: 700; color: var(--wp--preset--color--contrast); }
.page-id-227435 .asmc-card { background: #f5f6fb; border: 1px solid #bab9c9; border-radius: 16px; padding: 28px; }
.page-id-227435 .asmc-card--featured { background: #fff; border: 2px solid var(--wp--preset--color--primary); box-shadow: 0 12px 40px rgba(88, 59, 139, 0.12); }
.page-id-227435 .asmc-card.has-primary-background-color { background: var(--wp--preset--color--primary); border: none; }
.page-id-227435 .asmc-card .wp-block-image img[src$=".svg"] { width: 44px; height: 44px; }
.page-id-227435 .asmc-section p { line-height: 1.65; }
/* cartes de détail (image photo en bandeau) : texte 20px ; les cartes tarifs (logo svg) gardent leurs grands « soit X€/jour » */
.page-id-227435 .asmc-card:has(.wp-block-image img:not([src$=".svg"])) p { font-size: 20px !important; }
.page-id-227435 .asmc-card > .wp-block-image img:not([src$=".svg"]) { width: 100%; border-radius: 12px; max-height: 340px; object-fit: cover; }

/* Contact (227429) : carte violette, H1/H2 blancs DG, libellés blancs */
.asmc-contact-card {
	background: var(--wp--preset--color--primary);
	border-radius: 16px;
	padding: 40px 48px;
}
.entry-content .asmc-contact-card h1 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 72px !important;
	font-weight: 400;
	line-height: 1.1;
	color: #fff;
	/* aligné à gauche sur les colonnes de CTA (Nous appeler / Envoyez-nous un mail) */
	text-align: left;
}
.entry-content .asmc-contact-card h2 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 59.2px !important;
	font-weight: 400;
	color: #fff;
	text-align: left;
}
.asmc-contact-card p { color: #fff; font-size: 18px; margin-bottom: 6px; }
/* pilules pleine largeur (maquette client) : texte à gauche, pastille icône à droite */
.asmc-contact-card .wp-block-buttons.asmc-btn-card,
.asmc-contact-card .asmc-btn-card .wp-block-button { width: 100%; }
.asmc-contact-card .asmc-btn-card .wp-block-button__link {
	width: 100%;
	justify-content: space-between;
	font-size: 16px;
	padding: 8px 8px 8px 24px;
}
.asmc-contact-card .asmc-btn-card .wp-block-button__link::after { width: 40px; height: 40px; background-size: 15px; }
.asmc-pill-tel .wp-block-button__link::after { background-image: url(../phone-icon.svg); background-size: 17px; }
.asmc-pill-mail .wp-block-button__link::after { background-image: url(../mail-icon.svg); background-size: 17px; }
.asmc-contact-social { margin-top: 20px; }
/* sur fond clair les pilules blanches n'ont aucun contraste : fond lavande + pastille blanche */
.asmc-contact-social .wp-block-button__link { background: #e4e6f9 !important; }
.asmc-contact-social .wp-block-button__link:hover { background: #d3d6f3 !important; }
.asmc-contact-social .wp-block-button__link::after { background-color: #fff; }
.asmc-contact-calendly { background: #fff; border-radius: 12px; overflow: hidden; }


/* ---------- Page Programme & tarifs : timeline + carte tarif + rangées détail (mesuré sur l'original) ---------- */
.asmc-tag--caps { text-transform: uppercase; font-size: 16px; font-weight: 500; padding: 6px 14.4px; border-radius: 7px; }
.asmc-hide-mobile { }

/* Timeline 01/02/03 */
.asmc-timeline__item { padding: 28px 0; border-bottom: 1px solid #dfe4f8; }
.asmc-timeline__item:first-child { padding-top: 8px; }
.asmc-timeline__num {
	display: inline-block;
	background: #e4e6f9;
	color: var(--wp--preset--color--contrast);
	border-radius: 160px;
	padding: 8px 30.4px;
	font-size: 16px;
	margin: 0 0 18px;
	transition: background 0.25s ease;
}
/* badge vert : au survol (desktop) et quand l'étape est active au scroll (mobile, classe posée par theme.js) */
.asmc-timeline__item:hover .asmc-timeline__num,
.asmc-timeline__item.is-active .asmc-timeline__num { background: #46f152; }
.entry-content .asmc-timeline__item h3 {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 48px !important;
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	margin: 0 0 6px;
	line-height: 1.1;
}
.asmc-timeline__sub { color: var(--wp--preset--color--primary); font-size: 24px; margin: 0 0 10px; line-height: 1.4; }
.asmc-timeline__sub a { color: inherit; }
.asmc-timeline__txt { color: var(--wp--preset--color--grey-dark); font-size: 16px; line-height: 1.55; margin: 0; }

/* Toggle 1 an / 2 ans */
.asmc-pricing-toggle {
	display: flex;
	gap: 8px;
	background: #fff;
	border-radius: 14.4px;
	padding: 5px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
	margin-bottom: 20px;
}
.asmc-pricing-toggle__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--wp--preset--color--background);
	color: #222;
	border: 2px solid rgba(88, 59, 139, 0.41);
	border-radius: 8px;
	padding: 9px 15px;
	font-family: "Satoshi", sans-serif;
	font-size: 17px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}
.asmc-pricing-toggle__btn.is-active { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--background); }
.asmc-pricing-toggle__badge { background: #46f152; color: var(--wp--preset--color--contrast); border-radius: 160px; padding: 1px 8px; font-size: 12px; font-weight: 700; }

/* Carte tarif */
.asmc-price-card {
	background: #e4e6f9;
	border-radius: 24px;
	padding: 32px;
}
.asmc-price-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.asmc-price-card__head > * { margin: 0; }
.asmc-price-card__logo img { width: 28px; height: 28px; }
.asmc-price-card__logo {
	width: 48px; height: 48px;
	background: #fff;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.asmc-price-card__promo {
	background: #46f152;
	border: 2px dashed var(--wp--preset--color--contrast);
	border-radius: 50%;
	width: 52px; height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.asmc-price-card__price { font-size: 41.6px; font-weight: 700; color: var(--wp--preset--color--contrast); margin: 0 0 4px; line-height: 1.15; }
.asmc-price-card__day { font-size: 22px; color: var(--wp--preset--color--contrast); margin: 0 0 6px; }
.asmc-price-card__note { font-size: 16px; color: var(--wp--preset--color--contrast); margin: 0 0 10px; }
.asmc-price-card__engage { font-size: 19.2px; color: var(--wp--preset--color--contrast); margin: 0 0 18px; line-height: 1.5; }
.asmc-price-card__green { background: #46f152; color: var(--wp--preset--color--contrast); font-size: 22.4px; padding: 0 4px; border-radius: 4px; }
.asmc-price-card__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: var(--wp--preset--color--contrast);
	color: #fff !important;
	border-radius: 12.8px;
	padding: 6px 8px 6px 24px;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-decoration: none;
	margin-bottom: 22px;
	transition: background 0.2s;
}
.asmc-price-card__cta:hover { background: var(--wp--preset--color--primary); }
.asmc-price-card__cta::after {
	content: "";
	width: 44px; height: 44px;
	border-radius: 50%;
	flex: none;
	background: #fff url(../blob-arrow-crop.svg) center / 15px no-repeat;
	transform: rotate(45deg);
}
/* même CTA sous forme de bloc bouton WP (page éditable par le client) */
.asmc-price-card .wp-block-buttons { margin: 0 0 22px; }
.wp-block-button.asmc-price-card__cta { display: block; width: 100%; background: none; padding: 0; margin: 0; }
.wp-block-button.asmc-price-card__cta::after { content: none; }
.wp-block-button.asmc-price-card__cta .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--contrast) !important;
	color: #fff !important;
	border-radius: 12.8px !important;
	padding: 6px 8px 6px 24px;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	transition: background 0.2s;
}
.wp-block-button.asmc-price-card__cta .wp-block-button__link:hover { background: var(--wp--preset--color--primary) !important; }
.wp-block-button.asmc-price-card__cta .wp-block-button__link::after {
	content: "";
	width: 44px; height: 44px;
	border-radius: 50%;
	flex: none;
	background: #fff url(../blob-arrow-crop.svg) center / 15px no-repeat;
	transform: rotate(45deg);
}
.asmc-price-card__list { list-style: none; margin: 0; padding: 0; }
.asmc-price-card__list li {
	position: relative;
	padding: 6px 0 6px 30px;
	font-size: 18px;
	color: var(--wp--preset--color--contrast);
	line-height: 1.4;
}
.asmc-price-card__list li::before {
	content: "";
	position: absolute;
	left: 0; top: 9px;
	width: 15px; height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5L6 12.5L14 3.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5L6 12.5L14 3.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Rangées "Détails de notre programme" : image gauche + contenu, filet entre rangées */
.page-id-227435 .asmc-program-row {
	display: grid !important;
	grid-template-columns: 300px 1fr;
	gap: 0 44px;
	padding: 44px 0;
	border-bottom: 1px solid #dfe4f8;
	background: none;
	border-radius: 0;
}
.page-id-227435 .asmc-program-row > * { margin: 0 !important; max-width: none !important; }
.page-id-227435 .asmc-program-row > *:not(.wp-block-image) { margin-bottom: 14px !important; }
.page-id-227435 .asmc-program-row > *:last-child { margin-bottom: 0 !important; }
.page-id-227435 .asmc-program-row > .wp-block-image {
	grid-row: 1 / span 14;
	position: relative;
	align-self: start;
}
/* ratio FIXE : l'image ne suit pas la hauteur de la rangée (sinon elle se déforme
   quand un accordéon « En savoir plus » s'ouvre) */
.page-id-227435 .asmc-program-row > .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 24px;
	max-height: none;
}
/* tuile discipline en overlay bas-gauche de l'image */
.page-id-227435 .asmc-program-row > .wp-block-image::after {
	content: "";
	position: absolute;
	left: 16px; bottom: 16px;
	width: 96px; height: 96px;
	border-radius: 12px;
	background-size: cover;
	box-shadow: 0 6px 18px rgba(30, 29, 48, 0.25);
}
.page-id-227435 .asmc-program-row:nth-of-type(1) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/fondamentales.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(2) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/acupuncture-moxibustion.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(3) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/massage-tui-na.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(4) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/dittique-chinoise.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(5) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/pharmacope.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(6) > .wp-block-image::after { background-image: url(../../../asmc/assets/images/qi-gong.svg); }
.page-id-227435 .asmc-program-row:nth-of-type(7) > .wp-block-image::after,
.page-id-227435 .asmc-program-row:nth-of-type(8) > .wp-block-image::after,
.page-id-227435 .asmc-program-row:nth-of-type(9) > .wp-block-image::after { display: none; }
.entry-content .asmc-program-row h3 {
	font-family: Satoshi, sans-serif;
	font-size: 35px !important;
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	margin: 18px 0 8px !important;
	line-height: 1.2;
}
.entry-content .asmc-program-row h3:first-of-type { margin-top: 0 !important; }
.asmc-program-row p.has-large-font-size { font-size: 17px !important; line-height: 1.6; }
.asmc-program-row a strong {
	color: #828ce9;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.asmc-program-row a { text-decoration: none; }
.asmc-program-row a:hover strong { text-decoration: underline; }
.asmc-program-row p > strong:only-child { font-size: 16px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.asmc-program-row .wp-block-details { background: #f5f6fb; border-radius: 10px; padding: 12px 20px; margin: 10px 0 !important; }
.asmc-program-row .wp-block-details summary { cursor: pointer; font-weight: 700; color: var(--wp--preset--color--primary); }

/* ---------- Responsive (breakpoints Webflow : 991 / 767 / 478) ---------- */
@media (max-width: 991px) {
	/* le CTA Inscription reste DANS la barre (comme l'original), à côté du burger */
	.asmc-navbar__inner { padding: 0 12px; height: 58px; }
	body { padding-top: calc(58px + var(--asmc-bar-h, 0px)); }
	.asmc-navbar__cta { margin-left: auto; margin-right: 4px; font-size: 14.4px; padding: 8px 14px; }
	.asmc-navbar__burger { display: block; order: 3; }
	.asmc-navbar__nav {
		display: none;
		position: absolute;
		top: 58px; left: 0; right: 0;
		background: #f5f6fb;
		flex-direction: column;
		align-items: stretch;
		padding: 4px 0 16px;
		border-radius: 0 0 16px 16px;
		box-shadow: 0 12px 24px rgba(30, 29, 48, 0.08);
	}
	.asmc-navbar__nav.is-open { display: flex; }
	.asmc-navbar__link { font-size: 15px; padding: 19.2px 19.2px 8px; }
	.asmc-navbar__link::after { left: 19.2px; right: auto; width: 3.2em; bottom: 0; }
	.asmc-footer__grid { grid-template-columns: 1fr 1fr; }
	.asmc-faq { grid-template-columns: 1fr; }

	/* Tablette : H1 du hero en 2rem, H1 de page 48px, titres programme 40px */
	.entry-content .asmc-hero h1 { font-size: 2rem !important; }
	.entry-content .asmc-section > h1 { font-size: 48px !important; }
	.page-id-227435 .asmc-section > h3 { font-size: 40px !important; }
	.entry-content .asmc-contact-card h1 { font-size: 48px !important; }
	.entry-content .asmc-contact-card h2 { font-size: 40px !important; }

	/* Tablette (mesuré 768 sur l'original) : H2 à gauche, tuiles 95px */
	.entry-content .asmc-section > h2 { text-align: left !important; }
	.entry-content .asmc-section > h2 + p { text-align: left !important; margin-left: 0; margin-right: 0; }
	.asmc-tag-wrap { text-align: left !important; }
	.asmc-icon-tiles img { width: 95px !important; height: 95px !important; }
}
@media (max-width: 767px) {
	/* logo compact + gouttières mobiles (8px mesurés sur l'original) */
	.asmc-navbar__brand .asmc-navbar__logo-desktop { display: none; }
	.asmc-navbar__brand .asmc-navbar__logo-mobile { display: block; }
	body {
		--wp--style--root--padding-left: 12px;
		--wp--style--root--padding-right: 12px;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	/* Hero mobile (réglages client) : H1 24px, sous-texte 18px, CTAs pleine largeur centrés */
	.entry-content .asmc-hero h1 { font-size: 23.9px !important; line-height: 1.4; }
	.asmc-hero h1 br { display: none; } /* les retours forcés du desktop isolent un mot en mobile */
	.asmc-hero .wp-block-column > p { font-size: 18px !important; line-height: 1.45; }
	.asmc-hero .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
	.asmc-hero .wp-block-button { width: 100%; }
	.asmc-hero .wp-block-button__link,
	.asmc-hero .is-style-outline .wp-block-button__link { font-size: 16px; padding: 12px 18px; width: 100%; box-sizing: border-box; text-align: center; }
	.asmc-trust-score--hero { flex-wrap: wrap; }
	/* le logo Trustpilot occupe sa rangée mais reste dessiné à GAUCHE (l'img est un SVG centré par défaut) */
	.asmc-trust-score--hero .asmc-brand-img:last-of-type {
		order: -1;
		flex-basis: 100%;
		margin-bottom: 2px;
		object-fit: contain;
		object-position: left center;
	}

	/* Cartes hero : pleine largeur, pastilles en HAUT-GAUCHE et BAS-GAUCHE (mesures 390px) */
	.asmc-hero-cards { height: auto; aspect-ratio: 566 / 600; margin-top: 48px !important; }
	.asmc-hero-cards .asmc-card h3,
	.asmc-hero-cards .asmc-card p { right: auto; }
	.asmc-hero-cards .asmc-card h3 {
		left: -14px; top: -6px;
		width: 9rem; min-height: 4rem;
		font-size: 20px !important; padding: 6px 8px;
	}
	/* les règles desktop par carte (:nth-child) sont plus spécifiques : on les re-neutralise ici */
	.asmc-hero-cards > .asmc-card:nth-child(1) h3 { font-size: 28.8px !important; }
	.asmc-hero-cards > .asmc-card:nth-child(2) h3,
	.asmc-hero-cards > .asmc-card:nth-child(3) h3 { font-size: 20px !important; width: 15rem; }
	.asmc-hero-cards .asmc-card h3 small { font-size: 18px; }
	/* pastille du bas : en BAS-DROITE comme l'original mobile */
	.asmc-hero-cards .asmc-card p {
		left: auto; right: -14px; top: auto; bottom: -10px;
		width: 9.2rem; height: 7.5rem;
		font-size: 17px !important; gap: 5px; padding: 6px 8px;
	}
	.asmc-hero-cards > .asmc-card:nth-child(1) p,
	.asmc-hero-cards > .asmc-card:nth-child(2) p,
	.asmc-hero-cards > .asmc-card:nth-child(3) p { font-size: 17px !important; }
	.asmc-hero-cards .asmc-card p::before { width: 40px; height: 40px; }

	/* Sliders : padding vertical seul comme l'original mobile */
	.asmc-reviews-slider__box { padding: 1rem 0; }
	.asmc-reviews-slider .asmc-review { padding: 0.5rem 1rem; }

	/* Modales quasi plein écran */
	.asmc-reviews-modal { width: calc(100vw - 24px); max-width: none; max-height: 92vh; border-radius: 24px; }
	.asmc-info-modal { width: calc(100vw - 24px); max-height: 92vh; padding: 24px 20px; }
	.asmc-info-modal h3 { font-size: 28px; }
	.asmc-info-modal ul { font-size: 17px; padding-left: 22px; }

	.asmc-section, .asmc-hero { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
	.asmc-navbar__brand img.asmc-navbar__logo-mobile { width: 150px; }

	/* gouttières mobiles pour les sections pleine largeur */
	.entry-content > .alignfull { padding-left: 12px; padding-right: 12px; }

	/* H2 de section mobile : 64px à gauche (mesuré 500px), "3 étapes" 48px */
	.entry-content .asmc-section > h2 { font-size: 64px !important; text-align: left !important; }
	/* "Pourquoi intégrer" + "Les centres" : 2.5rem en Darker Grotesque */
	#\32 ans-en-ligne > h2,
	#centres > h2 {
		font-size: 2.5rem !important;
		font-family: "Darker Grotesque", sans-serif;
		line-height: 1.1;
	}

	/* Pages internes mobile : H1 2.5rem centré, H2 2.5rem, déclinaisons par page */
	.entry-content .asmc-section > h1 { font-size: 2.5rem !important; text-align: center; }
	.page-id-227432 .asmc-section > h2,
	.page-id-227435 .asmc-section > h2,
	.page-id-227452 .asmc-section > h2 { font-size: 2.5rem !important; line-height: 1.1; }
	.page-id-227452 .asmc-section > h1 { text-align: left; }
	.page-id-227452 .asmc-section > h1 + p { text-align: left; margin-left: 0; }
	.page-id-227432 .asmc-section > h1 { text-align: left; }
	.page-id-227432 .asmc-section > h1 + p { text-align: left; margin-left: 0; }
	.page-id-227452 .asmc-tag-wrap:first-child { text-align: left !important; }
	.page-id-227452 .asmc-section > h2 { font-size: 2.5rem !important; text-align: left !important; line-height: 1.1; }
	.page-id-227452 .asmc-section > p.has-large-font-size { text-align: left; font-size: 18px !important; }
	.page-id-227452 .asmc-section > p.has-medium-font-size { font-size: 17.6px !important; }
	.page-id-227452 .asmc-faq details > *:not(summary) { font-size: 18px; }
	.asmc-faq-contact { padding: 28px 16px 28px; }
	.entry-content .asmc-faq-contact h2 { font-size: 2rem !important; }
	.asmc-faq-contact__sub { font-size: 16px !important; }
	.entry-content .asmc-article h2 { font-size: 24px !important; }
	.asmc-article p, .asmc-article ul, .asmc-article ol { font-size: 16px; }

	/* Conditions d'utilisations : menu latéral masqué, contenu pleine largeur */
	.asmc-legal__aside { display: none; }
	.entry-content .asmc-legal h1 { font-size: 2rem !important; }
	.entry-content .asmc-legal__section h2 { font-size: 24px !important; }
	.asmc-legal__section p { font-size: 16px; }
	.entry-content .asmc-section[id="F.A.Q"] > h2 { font-size: 2.5rem !important; line-height: 1.1; }
	.page-id-227432 .asmc-section h3 { font-size: 24px !important; }
	.page-id-227435 .asmc-section > h3 { font-size: 2rem !important; }
	.page-id-227435 .asmc-card h3.has-x-large-font-size { font-size: 32px !important; }
	.asmc-contact-card { padding: 24px 16px; }

	/* Programme mobile : chip masqué, H1 à gauche, carte tarif avant la timeline, rangées empilées */
	.asmc-hide-mobile { display: none !important; }
	.page-id-227435 .asmc-section > h1 { text-align: left; }
	.page-id-227435 .asmc-section > h1 + p { text-align: left; margin-left: 0; }
	.asmc-pricing { display: flex; flex-direction: column-reverse !important; }
	.entry-content .asmc-timeline__item h3 { font-size: 28.8px !important; }
	.asmc-timeline__sub { font-size: 19px; }
	.asmc-price-card { padding: 24px 16px; }
	.asmc-price-card__price { font-size: 36px; }
	.asmc-pricing-toggle__btn { font-size: 17px; padding: 9px 6px; letter-spacing: 0; white-space: nowrap; }
	.asmc-pricing-toggle__badge { white-space: nowrap; }
	.page-id-227435 .asmc-program-row { grid-template-columns: 1fr; gap: 20px; padding: 32px 0; }
	.page-id-227435 .asmc-program-row > .wp-block-image { grid-row: auto; }
	.page-id-227435 .asmc-program-row > .wp-block-image img { min-height: 0; height: 160px; border-radius: 12px; }
	.page-id-227435 .asmc-program-row > .wp-block-image::after { width: 72px; height: 72px; left: 12px; bottom: 12px; }
	.entry-content .asmc-program-row h3 { font-size: 24px !important; }
	.entry-content .asmc-contact-card h1 { font-size: 2.5rem !important; }
	.entry-content .asmc-contact-card h2 { font-size: 2rem !important; }
	#How-It-works > h2 { font-size: 40px !important; white-space: normal; }

	/* Cartes étapes (réglages client) : titre 30, 1er texte 22, 2e texte 20, CTA Stage clinique 24 */
	.entry-content .asmc-step-card h3 { font-size: 30px; }
	.entry-content .asmc-step-card h3 + p { font-size: 22px; }
	.entry-content .asmc-step-card h3 + p + p { font-size: 20px; line-height: 1.5; }
	.entry-content .asmc-step-card h3 + p a.asmc-modal-open { font-size: 24px; }

	/* Info-bulle : ancrée à gauche du mot (à droite elle sortirait de l'écran) */
	/* infobulle centrée sur le mot, décalée par JS pour rester dans l'écran (var --tip-shift) */
	.asmc-tip::after {
		left: 50%;
		right: auto;
		transform: translateX(calc(-50% + var(--tip-shift, 0px)));
		width: min(280px, calc(100vw - 24px));
	}
	.asmc-section:has(.asmc-testimonials) > h2 { font-size: 40px !important; }
	.entry-content .asmc-section > h2 + p { text-align: left !important; }
	.asmc-tag-wrap { text-align: left !important; }

	/* Intro : tuiles 54px sur une seule rangée (mesuré) */
	.asmc-icon-tiles { flex-wrap: nowrap !important; justify-content: flex-start !important; }
	.asmc-icon-tiles img { width: 54px !important; height: 54px !important; }

	/* Étapes : pastille numérotée sur le coin de la carte, pas de rail vertical */
	.wp-block-column:has(> .asmc-step-card) { padding-left: 0; }
	.wp-block-column:has(> .asmc-step-card)::before,
	.wp-block-column:has(> .asmc-step-card)::after { display: none; }
	.asmc-step-card { margin-top: 20px; }
	.asmc-step-card::before {
		left: 12px;
		top: -20px;
		transform: none;
		width: 40px;
		height: 40px;
		font-size: 16px;
	}

	/* Citation fondateur : 26px en mobile (réglage client) ; avatar et nom restent côte à côte */
	.asmc-founder-quote > p.has-large-font-size { font-size: 29px !important; line-height: 1.35; }
	.asmc-founder-quote .wp-block-columns { flex-wrap: nowrap !important; gap: 16px; }
	.asmc-founder-quote .wp-block-columns .wp-block-column { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
	.asmc-founder-quote .wp-block-columns .wp-block-column:first-child { flex: 0 0 72px !important; width: 72px !important; }

	/* Bénéfices : 1 colonne, titres 32px (mesuré) */
	.asmc-benefits { gap: 24px !important; }
	.asmc-benefits .wp-block-column { flex-basis: 100% !important; padding: 32px 8px; }
	.asmc-benefits p strong { font-size: 32px; line-height: 1.5; }

	/* CTA directrice : avatar et texte côte à côte, boutons en dessous, carte compacte */
	.asmc-cta-banner { padding: 16px; }
	.asmc-cta-banner > .wp-block-columns { flex-wrap: wrap !important; gap: 16px; align-items: flex-start !important; }
	.asmc-cta-banner .wp-block-columns .wp-block-column { align-self: flex-start !important; }
	.asmc-cta-banner .wp-block-columns .wp-block-column:nth-child(2) p { margin-left: -88px !important; }
	.asmc-cta-banner .wp-block-columns .wp-block-column { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
	.asmc-cta-banner .wp-block-columns .wp-block-column:first-child { flex: 0 0 72px !important; width: 72px !important; }
	.asmc-cta-banner .wp-block-columns .wp-block-column:first-child img { width: 64px !important; height: 64px !important; }
	.asmc-cta-banner .wp-block-columns .wp-block-column.asmc-cta-banner__actions { flex: 1 1 100% !important; width: 100% !important; }
	.asmc-cta-banner .wp-block-buttons { justify-content: flex-start; flex-wrap: wrap; width: auto; }

	/* Centres / rejoindre : cartes et textes compacts */
	#centres figure.wp-block-image { padding: 24px 8px; }
	.asmc-centres-list { padding: 24px; }
	.entry-content .asmc-centres-list h3 { font-size: 24px !important; }
	.asmc-join-banner__text { font-size: 20px; }

	/* FAQ : questions 20px sur fond lavande (déjà), 1 colonne (défini plus haut) */
	.asmc-faq summary { padding: 12px 20px; }
	.asmc-faq details > *:not(summary) { margin-left: 20px; margin-right: 20px; }

	/* Témoignages : une carte visible */
	.asmc-testimonial-card { flex: 0 0 100%; margin-right: 16px; }
	.asmc-testimonial-card__who strong { font-size: 22px; }
	.asmc-testimonial-card p { font-size: 16px; }
	.asmc-testimonials__arrow { width: 48px; height: 48px; }

	/* Vidéos : titre 2.5rem + vidéos empilées verticalement (1 colonne) */
	.entry-content .asmc-section:has(.asmc-videos) > h2 { font-size: 2.5rem !important; line-height: 1.1; }
	.asmc-videos { grid-template-columns: 1fr; }
	.asmc-video::after { width: 40px; height: 40px; background-size: 18px; }

	/* Bandeau newsletter du pied de page : titre plus compact */
	.asmc-footer__banner-title { font-size: 1.3rem; }

	/* Pied de page : les 3 colonnes restent côte à côte (comme l'original).
	   Largeurs auto + gouttières réduites, sinon l'email force un débordement horizontal */
	.asmc-footer__inner { padding-left: 12px; padding-right: 12px; }
	.asmc-footer__socials { margin-bottom: 28px; }
	.asmc-footer__grid { grid-template-columns: auto auto auto; gap: 24px 16px; }
	.asmc-footer__col { min-width: 0; }
	.asmc-footer__about { grid-column: 1 / -1; }
	.asmc-footer__banner-form iframe { height: 640px; }
}
/* ---------- Page membre de l'équipe (single membre-pedagogique, mesuré sur l'original) ---------- */
.asmc-member__grid { display: grid; grid-template-columns: 448px 1fr; gap: 64px; align-items: start; }
.asmc-member__grid > * { margin: 0; }
.asmc-member__bio { grid-column: 2; grid-row: 1 / span 2; }
.asmc-member-card {
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 448 / 400;
	border: 1px solid var(--wp--preset--color--card-border);
	border-radius: 16px;
	padding: 16px;
}
.asmc-member-card__photo {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.asmc-member-card__content {
	background: #fff;
	border-radius: 12px;
	border-top: 6px solid var(--wp--preset--color--primary);
	padding: 14px 16px 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}
.asmc-member-card__name { display: block; margin: 0; font-family: Satoshi, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.35; color: var(--wp--preset--color--contrast); }
.asmc-member-card__job { display: block; margin: 4px 0 0; font-size: 16px; line-height: 1.5; color: var(--wp--preset--color--contrast); }
.asmc-member-card__blob {
	flex: none;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 50%;
	padding: 2px;
}
.asmc-member-card__blob::after { content: ""; display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--wp--preset--color--primary); }
.asmc-member-back { width: 100%; }
.asmc-member-back .wp-block-button { width: 100%; }
.asmc-member-back .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
	/* cercle-flèche d'abord (gauche) puis le texte juste à droite */
	flex-direction: row-reverse;
	justify-content: flex-end;
	padding: 6px 24px 6px 8px;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 1px;
}
/* bouton retour : flèche vers la gauche (sens inverse d'un bouton d'action) */
.asmc-member-back .wp-block-button__link::after { transform: rotate(225deg); }
.asmc-member__bio > p { font-size: 1.3rem; line-height: 1.55; }
@media (max-width: 991px) {
	/* 1 colonne : carte, puis bio, puis bouton retour (ordre de l'original mobile) */
	.asmc-member__grid { display: flex; flex-direction: column; gap: 32px; }
	.asmc-member-card { order: 0; width: min(448px, 100%); }
	.asmc-member__bio { order: 1; }
	.asmc-member-back { order: 2; }
	.asmc-member__bio > p { font-size: 1rem; line-height: 1.6; }
}
@media (max-width: 767px) {
	.asmc-member-card__name { font-size: 16px; }
}

/* ---------- Pages spécialité — formations (mesuré sur la prod : hero violet r32 + image chevauchante) ---------- */
.asmc-spec { position: relative; }
.asmc-spec__hero {
	box-sizing: border-box;
	background: linear-gradient(rgba(9, 0, 26, 0.3), rgba(9, 0, 26, 0.3)), url(../hero-slider-bg.jpg) center / cover;
	border-radius: 32px;
	min-height: 327px;
	padding: 48px 50% 48px 72px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
}
.asmc-spec__promo {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #fff;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 500;
}
/* blason blanc en CSS : le client n'édite que le texte du badge */
.asmc-spec__promo::before {
	content: "";
	flex: none;
	width: 24px;
	height: 26px;
	background: url(../asmc-logo-symbol-white.svg) center / contain no-repeat;
}
.asmc-spec__promo img { width: 24px; height: 26px; }
.asmc-spec__hero > * { margin: 0; }
.asmc-spec__hero h1 {
	margin: 0;
	font-family: Satoshi, sans-serif;
	font-size: 54.4px;
	font-weight: 400;
	line-height: 1.15;
	color: #fff;
}
.asmc-spec__imgbox {
	float: right;
	display: block;
	position: relative;
	width: 47.4%;
	height: 700px;
	margin: -303px 24px 0 32px; /* remonte sur le hero (top +24 sous son bord) ; 24px de bandeau violet à droite */
	border-radius: 16px;
	overflow: hidden;
}
/* bat le height:auto du style core .wp-block-image img */
.asmc-spec__imgbox img, figure.wp-block-image.asmc-spec__imgbox img { display: block; width: 100%; height: 100% !important; max-height: none; object-fit: cover; }
/* léger voile sombre qui monte du bas (mesuré : transparent 50% → noir) */
.asmc-spec__imgbox::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(0, 0, 0, 0) 50%, #000); }
.asmc-spec { display: flow-root; } /* contient le float */
.asmc-spec__body { width: 47%; padding-top: 40px; }
.asmc-spec__price-row { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.asmc-spec__price-row > * { margin: 0; }
.asmc-spec__price-row h2 { margin: 0; font-family: Satoshi, sans-serif; font-size: 30px; font-weight: 500; color: var(--wp--preset--color--contrast); }
.asmc-spec__price { color: var(--wp--preset--color--grey-dark); font-size: 19.2px; font-weight: 500; }
.asmc-check {
	position: relative;
	padding-left: 26px;
	font-size: 19.2px;
	margin: 14px 0;
}
.asmc-check::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 15px;
	height: 13px;
	background: #3a3949;
	-webkit-mask: url(../check-icon.svg) center / contain no-repeat;
	mask: url(../check-icon.svg) center / contain no-repeat;
}
/* CTA plat r6 — deux formes acceptées : lien nu <a class="asmc-spec__cta"> OU bloc bouton WP portant la classe */
a.asmc-spec__cta,
.wp-block-button.asmc-spec__cta .wp-block-button__link {
	display: inline-block;
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
	border-radius: 6px !important;
	padding: 10px 15px;
	font-size: 20.8px;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s;
}
a.asmc-spec__cta:hover,
.wp-block-button.asmc-spec__cta .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; }
a.asmc-spec__cta--dark,
.wp-block-button.asmc-spec__cta--dark .wp-block-button__link { background: var(--wp--preset--color--contrast) !important; font-size: 19.2px; padding: 9px 15px; }
a.asmc-spec__cta--dark:hover,
.wp-block-button.asmc-spec__cta--dark .wp-block-button__link:hover { background: var(--wp--preset--color--primary) !important; }
.asmc-spec__body h3, .asmc-spec__resume h3 { margin: 26px 0 6px; font-family: Satoshi, sans-serif; font-size: 19.2px; font-weight: 700; }
.asmc-spec__body p, .asmc-spec__resume p { font-size: 19.2px; margin: 0 0 6px; }
.asmc-spec__resume { max-width: 860px; padding-top: 40px; }
.asmc-spec__resume h3 { font-size: 20.8px; }
.asmc-spec__resume h4 { margin: 22px 0 6px; font-family: Satoshi, sans-serif; font-size: 20.8px; font-weight: 700; }
.asmc-spec__resume ul { margin: 0; padding-left: 22px; }
.asmc-spec__resume li { font-size: 19.2px; margin-bottom: 8px; }
.asmc-spec__btn-row { display: flex; gap: 32px; flex-wrap: wrap; align-items: center; margin: 14px 0; }
/* 2ème année : carte visuelle violette à droite */
.asmc-year-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; padding-top: 24px; }
.asmc-year-grid > * { margin: 0; }
.asmc-year-grid h2 { margin: 0 0 4px; font-family: Satoshi, sans-serif; font-size: 24px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.asmc-year-grid .asmc-spec__price { display: block; margin-bottom: 10px; }
/* carte visuelle : grande image 560 + petit label blanc posé dessus (mesuré sur la prod) */
.asmc-year-card { position: relative; max-width: 560px; }
.entry-content .asmc-year-card img { display: block; width: 100%; max-width: none; max-height: none; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; }
.asmc-year-card__label { position: absolute; top: 25px; left: 33px; margin: 0; color: #fff; font-size: 16px; }
@media (max-width: 991px) {
	.asmc-spec__hero { padding: 40px 32px; min-height: 0; }
	.asmc-spec__hero h1 { font-size: 2.2rem; }
	.asmc-spec__imgbox { float: none; width: 100%; height: 340px; margin: 20px 0 0; }
	.asmc-spec__body { width: 100%; padding-top: 28px; }
	.asmc-year-grid { grid-template-columns: 1fr; }
}

/* ---------- Landings sans navigation (conférence + confirmation RDV) ---------- */
/* Tout le haut (caps, pilule, H1) vit DANS la carte, sur son fond, comme l'original */
.asmc-webinar { padding-top: 24px; }
.asmc-webinar__topcap {
	text-align: center;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	font-size: 25.6px;
	font-weight: 900;
	margin: 0 0 16px;
}
.asmc-webinar__date {
	display: block;
	width: fit-content;
	margin: 0 auto 28px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 10px;
	padding: 5px 14px;
	font-size: 25.6px;
	font-weight: 700;
	text-transform: uppercase;
}
.asmc-webinar h1 {
	margin: 0 auto 46px;
	max-width: 900px;
	text-align: center;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 60.8px;
	font-weight: 700;
	line-height: 1.05;
	color: var(--wp--preset--color--primary);
}
/* soulignement « coup de pinceau » (transformez-underline.svg, comme l'original) */
.asmc-webinar__hl { position: relative; }
.asmc-webinar__hl::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.58em;
	height: 1.4em;
	background: url(../transformez-underline.svg) center / 100% 100% no-repeat;
	pointer-events: none;
}
.asmc-webinar__card {
	position: relative;
	border-radius: 20px;
	/* superposition mesurée sur l'original : photo + grain + gradient sur fond #ece8ee */
	background-color: #ece8ee;
	background-image: url(../philippe-sionneau-en-blouse.png), url(../noise-compressed.webp), url(../background_gradient.svg);
	background-position: -58% 100%, 0 0, 50% 36%;
	background-size: 70%, 250px, 179%;
	background-repeat: no-repeat, repeat, no-repeat;
	padding: 32px 64px 48px;
	overflow: hidden;
}
/* deux panneaux violets pleins (mesurés) : form #2d1745 r24 + points clés #583b8b r0/9/9/0 collé, centré.
   Largeurs proportionnelles (33% photo / 36% form / 26% points sur l'original) : fluide à toutes les largeurs */
.asmc-webinar__cols {
	display: flex;
	align-items: center;
	padding-left: min(340px, 28%);
	min-height: 620px;
}
.asmc-webinar__panel {
	flex: 1 1 58%;
	min-width: 0;
	background: #2d1745;
	border-radius: 24px;
	padding: 40px clamp(16px, 2.4vw, 32px);
	position: relative;
	z-index: 1;
}
.asmc-webinar__intro { color: #fff; font-size: 20px; line-height: 1.5; margin: 0 0 26px; }
.asmc-webinar__form { max-width: 420px; margin: 0 auto; }
.asmc-webinar__form input[type="text"], .asmc-webinar__form input[type="email"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	height: 40px;
	background: #fff;
	border: 1px solid #c0ccda;
	border-radius: 3px;
	padding: 0 8px;
	margin-bottom: 14px;
	font-family: Satoshi, sans-serif;
	font-size: 16px;
}
.asmc-webinar__form button {
	display: block;
	width: 352px;
	max-width: 100%;
	margin: 20px auto 0;
	border: none;
	cursor: pointer;
	background: #fc0;
	color: var(--wp--preset--color--contrast);
	border-radius: 9px;
	padding: 12px;
	font-family: Satoshi, sans-serif;
	font-size: 21px;
	font-weight: 700;
	text-transform: uppercase;
	transition: background 0.2s;
}
.asmc-webinar__form button:hover { background: #33ff82; }
.asmc-webinar__rgpd { max-width: 320px; margin: 18px auto 0; color: #e4e5e7; font-size: 14px; line-height: 1.45; }
.asmc-webinar__rgpd a { color: inherit; }
/* Embed Brevo officiel dans le panneau sombre : hover vert (style inline → !important) + intégration */
.asmc-webinar__panel .sib-form { padding: 0; }
.asmc-webinar__panel #sib-container { padding: 0; background: transparent; }
.asmc-webinar__panel .sib-form-block__button:hover { background-color: #33ff82 !important; transition: background-color 0.2s; }
.asmc-webinar__panel .sib-form-block__button { transition: background-color 0.2s; cursor: pointer; font-size: clamp(15px, 1.45vw, 21px) !important; white-space: nowrap; }
.asmc-webinar__panel .entry__field { background: #fff; }
.asmc-webinar__checks {
	display: flex;
	flex-direction: column;
	gap: 28px;
	flex: 1 1 42%;
	min-width: 0;
	max-width: 350px;
	box-sizing: border-box;
	background: var(--wp--preset--color--primary);
	border-radius: 0 9px 9px 0;
	padding: 30px clamp(14px, 1.8vw, 26px);
	align-self: center;
}
/* span = ancien markup HTML, p = markup Gutenberg (page éditable) : mêmes styles */
.asmc-webinar__checks span, .asmc-webinar__checks p { display: block; position: relative; margin: 0; padding-left: 52px; color: #fff; font-size: 19.2px; font-weight: 400; line-height: 1.35; }
.asmc-webinar__checks strong { font-weight: 700; }
/* pastille jaune ronde avec halo lumineux + coche sombre (design original) */
.asmc-webinar__checks span::before, .asmc-webinar__checks p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fc0 url(../check-icon.svg) center / 16px 14px no-repeat;
	box-shadow: 0 0 18px rgba(255, 204, 0, 0.8);
}
.asmc-webinar__card--about {
	display: block;
	margin-top: 32px;
	padding: 64px 64px 48px;
	min-height: 0;
	/* photo de Philippe qui enseigne ancrée en bas à droite + grain (mesuré sur l'original) */
	background-color: #ece8ee;
	background-image: url(../philippe-sionneau-enseigne.png), url(../noise-compressed.webp);
	background-position: 100% 100%, 0 0;
	/* photo dimensionnée en HAUTEUR (88% de la carte) : jamais rognée en haut, quelle que soit la hauteur de la carte */
	background-size: auto 88%, 250px;
	background-repeat: no-repeat, repeat;
}
.asmc-webinar__card--about > * { max-width: 58%; }
.asmc-webinar__card--about .asmc-webinar__kicker {
	color: var(--wp--preset--color--primary);
	font-size: 25.6px;
	font-weight: 500;
	text-transform: uppercase;
	margin: 0;
}
.asmc-webinar__sub { color: var(--wp--preset--color--primary); font-size: 25.6px; font-weight: 900; margin: 0 0 24px; }
.asmc-webinar__card--about h2 {
	margin: 0 0 28px;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 60.8px;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--primary);
}
.asmc-webinar__creds { display: flex; flex-direction: column; gap: 13px; margin-top: 0; margin-bottom: 36px; }
.asmc-webinar__cols { margin-top: 0; }
.asmc-webinar__creds span, .asmc-webinar__creds p { display: flex; gap: 12px; margin: 0; color: var(--wp--preset--color--primary); font-size: 25.6px; font-weight: 500; line-height: 1.4; }
.asmc-webinar__creds span::before, .asmc-webinar__creds p::before {
	content: "";
	flex: none;
	width: 17px;
	height: 15px;
	margin-top: 10px;
	background: var(--wp--preset--color--primary);
	-webkit-mask: url(../check-icon.svg) center / contain no-repeat;
	mask: url(../check-icon.svg) center / contain no-repeat;
}
.asmc-webinar__cta {
	display: block;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	white-space: nowrap; /* le texte du CTA tient obligatoirement sur une ligne */
	text-align: center;
	background: var(--wp--preset--color--primary);
	color: #fff !important;
	border-radius: 9px;
	padding: 13px 40px;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s;
}
.asmc-webinar__cta:hover { background: var(--wp--preset--color--contrast); }
.asmc-webinar__cta-date { color: var(--wp--preset--color--primary); font-size: 19.2px; font-weight: 900; margin-top: 14px; }
.asmc-legal-fine { margin-top: 40px; }
.asmc-legal-fine p { font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--contrast); margin: 0 0 14px; }
@media (max-width: 991px) {
	.asmc-webinar__topcap { font-size: 17px; }
	.asmc-webinar h1 { font-size: 2.5rem; }
	.asmc-webinar__date { font-size: 16px; }
	.asmc-webinar__card { padding: 28px 20px; background-image: url(../noise-compressed.webp), url(../background_gradient.svg); background-position: 0 0, 50% 36%; background-size: 250px, 300%; background-repeat: repeat, no-repeat; }
	.asmc-webinar__cols { flex-direction: column; gap: 18px; padding-left: 0; min-height: 0; align-items: stretch; }
	.asmc-webinar__panel { width: 100%; box-sizing: border-box; padding: 28px 22px; }
	/* empilée, la checklist devient une carte à part entière : mêmes coins arrondis que le panneau */
	.asmc-webinar__checks { width: 100%; max-width: none; border-radius: 24px; padding: 28px 22px; }
	.asmc-webinar__card--about { padding: 32px 24px; background-image: url(../noise-compressed.webp); background-position: 0 0; background-size: 250px; background-repeat: repeat; }
	.asmc-webinar__card--about > * { max-width: none; }
	.asmc-webinar__card--about h2 { font-size: 2.5rem; }
	.asmc-webinar__kicker, .asmc-webinar__sub { font-size: 19px !important; }
	.asmc-webinar__creds span, .asmc-webinar__creds p { font-size: 19px; }
	.asmc-webinar__cta { font-size: 14.5px; padding: 12px 18px; }
	.asmc-webinar__checks span, .asmc-webinar__checks p { font-size: 17px; }
	.asmc-webinar__checks span::before, .asmc-webinar__checks p::before { width: 30px; height: 30px; background-size: 14px 12px; }
}

/* Confirmation RDV */
.asmc-landing .entry-content { margin-top: 0; }
.asmc-landing .entry-content > :first-child { margin-top: 0; }
.asmc-rdv__hero {
	/* grain + gradient dès le haut de page (mesuré sur l'original) */
	background-color: transparent;
	background-image: url(../noise-compressed.webp), url(../background_gradient.svg);
	background-position: 0 0, 50% 40%;
	background-size: 250px, 170%;
	background-repeat: repeat, no-repeat;
	text-align: center;
	padding: 44px 16px 24px;
}
.asmc-rdv__hero h1 {
	margin: 0 0 18px;
	font-family: Satoshi, sans-serif;
	font-size: 32px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.asmc-rdv__hero h1 strong { font-weight: 900; }
.asmc-rdv__hero p {
	max-width: 1050px;
	margin: 0 auto;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--primary);
}
.asmc-rdv__hero p strong { font-weight: 900; }
.asmc-rdv__steps { display: flex; justify-content: center; gap: 72px; text-align: center; flex-wrap: wrap; margin: 28px 0 8px; }
.asmc-rdv__steps h2 {
	margin: 0;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 60.8px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 8px;
	text-decoration-thickness: 3px;
}
.asmc-rdv__steps p { max-width: 320px; margin: 6px auto 0; font-size: 20.8px; font-weight: 900; }
.asmc-rdv h2.asmc-rdv__testi-title {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 51.2px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	margin: 32px 0 20px;
}
.asmc-rdv__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.asmc-rdv__grid > *, .asmc-rdv__steps > *, .asmc-rdv__col > * { margin: 0; }
.asmc-rdv__col { display: flex; flex-direction: column; gap: 20px; }
/* cellule vidéo + légende (les deux grilles témoignages) — légende .nom-t-moignage mesurée prod */
.asmc-vcell { min-width: 0; margin: 0; }
.asmc-vcell > * { margin: 0; }
p.asmc-video-cap { margin: 10px 0 0; color: var(--wp--preset--color--primary); font-size: 19.2px; font-weight: 500; line-height: 1.3; }
.asmc-video-cap strong { font-weight: 900; }
/* cellule 8 de la grille Merci : titre « Gardez votre rendez-vous » + widget, centrés (cell-8 prod) */
.asmc-merci__atcb-cell { align-self: center; text-align: center; }
/* captures = blocs image dans la grille Merci (même surcharge que la grille bonus) */
.entry-content .asmc-rdv__grid .wp-block-image img { display: block; width: 100%; height: auto; max-height: none; border-radius: 12px; }
.asmc-rdv__video { width: 100%; aspect-ratio: 16 / 9; border: none; border-radius: 12px; }
.entry-content .asmc-rdv__col img { width: 100%; max-width: none; max-height: none; height: auto; border-radius: 12px; }
@media (max-width: 991px) {
	.asmc-rdv__grid { grid-template-columns: 1fr; }
	.asmc-rdv__steps { gap: 32px; }
	.asmc-rdv__steps h2 { font-size: 2.5rem; }
	.asmc-rdv__steps p { font-size: 18px; }
	.asmc-rdv__hero h1 { font-size: 23px; }
	.asmc-rdv__hero p { font-size: 20px; }
}
/* Mobile (réglages client) : pas de gradient, étapes alignées à gauche, titre témoignages 2rem */
@media (max-width: 767px) {
	.asmc-rdv__hero { background-image: none; }
	.asmc-rdv__steps { flex-direction: column; align-items: flex-start; text-align: left; gap: 24px; }
	.asmc-rdv__steps p { margin-left: 0; margin-right: 0; max-width: none; }
	.asmc-rdv h2.asmc-rdv__testi-title { font-size: 2rem; }
}

/* ---------- Pages Merci / Vidéo Bonus (landings post-inscription, mesurées sur la prod) ---------- */
/* p.… : bat les styles de layout WP injectés après theme.css qui remettent margin:0 */
p.asmc-count__title { text-align: center; font-size: 27.2px; font-weight: 700; margin: 34px 0 0; }
.asmc-count { display: flex; justify-content: center; align-items: flex-start; gap: 10px; margin: 18px 0 8px; }
.asmc-count__group { text-align: center; }
.asmc-count__digits { display: flex; gap: 6px; }
.asmc-count__digit {
	width: 40px;
	height: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-radius: 7px;
	font-family: Satoshi, sans-serif;
	font-size: 32px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.asmc-count__label { font-size: 16px; font-weight: 500; margin-top: 8px; color: var(--wp--preset--color--contrast); }
.asmc-count__sep { font-size: 32px; font-weight: 700; line-height: 55px; color: var(--wp--preset--color--contrast); }
/* scopé sur a. : en bloc bouton Gutenberg la classe est AUSSI sur le div enveloppe,
   qui prenait sinon la pilule verte en double (bordure verte non cliquable) */
a.asmc-btn-whatsapp {
	display: inline-block;
	background: #25d366;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: 9px;
	padding: 12px 22px;
	font-size: 17.6px;
	font-weight: 900;
	text-decoration: none;
	transition: background 0.2s;
}
a.asmc-btn-whatsapp:hover { background: #1eb857; }
/* hero « Merci ! » : le gradient couvre titre + vidéo + compte à rebours (comme l'original) */
.asmc-merci__hero { padding-bottom: 36px; background-position: 0 0, 50% 22%; }
.asmc-rdv__hero p.asmc-merci__sub {
	max-width: none;
	color: var(--wp--preset--color--primary);
	font-size: 17.6px;
	font-weight: 700;
	text-transform: uppercase;
	white-space: nowrap;
}
.asmc-merci__video { display: block; width: min(560px, 100%); aspect-ratio: 16 / 9; margin: 30px auto 0; border: none; border-radius: 12px; }
/* fin de colonne témoignages : titre + widget calendrier + bouton WhatsApp */
.asmc-merci__atcb-title { font-size: 21px; text-align: center; margin: 16px 0 0 !important; }
.asmc-merci__atcb-widget { display: flex; justify-content: center; }
.asmc-merci__steps add-to-calendar-button { display: inline-block; margin-top: 4px; }
.asmc-merci__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 44px; text-align: left; margin: 40px 0 10px; }
.asmc-merci__steps > *, .asmc-merci__steps > * > * { margin: 0; }
.asmc-merci__steps > * > * + * { margin-top: 14px; }
.asmc-merci__steps h2 {
	margin: 0 0 10px;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 60.8px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 8px;
	text-decoration-thickness: 3px;
}
.asmc-merci__steps p { font-size: 18.5px; line-height: 1.55; margin: 0 0 14px; }
.asmc-merci__bio { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; margin: 44px 0; }
.asmc-merci__bio h2 { margin: 0 0 18px; font-family: Satoshi, sans-serif; font-size: 35.2px; font-weight: 500; color: var(--wp--preset--color--contrast); }
.asmc-merci__bio p { font-size: 17px; line-height: 1.6; }
.entry-content .asmc-merci__bio img { width: 100%; height: auto; max-width: none; border-radius: 16px; }
.asmc-merci__bio > *, .asmc-merci__bio figure { margin: 0; }
.asmc-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 340px; gap: 10px; margin: 10px 0 40px; }
.asmc-gallery > * { margin: 0; }
.asmc-gallery figure { height: 100%; }
/* cadrage haut : on garde les visages, le recadrage mange le bas (img directe OU dans un bloc figure) */
.entry-content .asmc-gallery img { width: 100%; height: 100% !important; max-width: none; max-height: none; object-fit: cover; object-position: 50% 25%; border-radius: 12px; display: block; }
.asmc-gallery > :nth-child(1), .asmc-gallery > :nth-child(5) { grid-column: span 2; }
/* colonnes témoignages : figures des captures = éléments flex sans marge */
.asmc-rdv__col figure { margin: 0; }
/* bouton WhatsApp aussi disponible en bloc bouton WP (éditable) */
.wp-block-button.asmc-btn-whatsapp .wp-block-button__link {
	background: #25d366 !important;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: 9px !important;
	padding: 12px 22px;
	font-size: 17.6px;
	font-weight: 900;
	transition: background 0.2s;
}
.wp-block-button.asmc-btn-whatsapp .wp-block-button__link:hover { background: #1eb857 !important; }
.asmc-merci__testi-title {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 51.2px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--primary);
	margin: 20px 0 24px;
}
/* Vidéo Bonus */
/* --- Vidéo Bonus : 3 zones de fond mesurées sur l'original ---
   hero = #ece8ee + grain + vague violette (s'arrête après la vidéo d'intro),
   corps = #ece8ee + grain seul, légal = fond de page #f8f9fa */
.entry-content > .asmc-bonus__hero,
.entry-content > .asmc-bonus__main {
	padding-left: max(48px, calc((100vw - 1320px) / 2));
	padding-right: max(48px, calc((100vw - 1320px) / 2));
	margin-top: 0;
	margin-bottom: 0;
	background-color: #ece8ee;
	background-image: url(../noise-compressed.webp);
	background-position: 0 0;
	background-repeat: repeat;
	background-size: 250px;
}
.entry-content > .asmc-bonus__hero {
	background-image: url(../noise-compressed.webp), url(../background_gradient.svg);
	background-position: 0 0, 50% 32%;
	background-repeat: repeat, no-repeat;
	background-size: 250px, 170%;
	padding-top: 36px;
	padding-bottom: 20px;
}
.entry-content > .asmc-bonus__main { padding-top: 36px; padding-bottom: 64px; }
/* message : texte à gauche, photo de Philippe à droite (carrée r16, cachée <=991 comme l'original) */
.asmc-bonus__msg { display: flex; align-items: center; gap: 2vw; }
.asmc-bonus__msg > * { margin: 0; }
.asmc-bonus__msg-text { flex: 1 1 auto; min-width: 0; }
/* photo : bloc image Gutenberg (figure > img) — dimensionnement sur la figure, radius sur l'img */
.asmc-bonus__msg-photo { flex: none; width: min(35vw, 560px); max-width: 44%; }
.entry-content .asmc-bonus__msg-photo img { display: block; width: 100%; height: auto; max-height: none; border-radius: 16px; }
/* grille témoignages : 3 colonnes (vidéos + captures + rappel), capture telegram sur 2 lignes */
.asmc-bonus__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; margin-top: 40px; }
.asmc-bonus__grid > * { margin: 0; min-width: 0; }
.asmc-bonus__shot--tall { grid-row: span 2; }
/* captures = blocs image remplaçables ; surcharge de la règle générique .entry-content .wp-block-image img */
.entry-content .asmc-bonus__grid .wp-block-image img { display: block; width: 100%; height: auto; max-height: none; border-radius: 12px; }
.asmc-bonus__grid-cal { display: flex; align-items: center; justify-content: center; align-self: center; }
/* widget « Ajouter un rappel » en bas de page, centré */
.asmc-bonus__cal { display: flex; justify-content: center; margin-top: 10px; }
.asmc-bonus__title { text-align: center; text-transform: uppercase; color: var(--wp--preset--color--primary); font-size: 32px; font-weight: 400; margin: 0 0 26px; }
.asmc-bonus__title strong { font-weight: 700; }
.asmc-bonus__intro { display: grid; grid-template-columns: 1fr 560px; gap: 30px; align-items: start; margin-bottom: 44px; }
.asmc-bonus__intro > * { margin: 0; min-width: 0; }
.asmc-bonus__intro p { font-size: 20.8px; line-height: 1.5; margin: 0; } /* 1.3rem mesuré prod */
.asmc-bonus__video { width: 100%; aspect-ratio: 16 / 9; border: none; border-radius: 12px; }
.asmc-bonus__msg h2 { margin: 0 0 16px; font-family: Satoshi, sans-serif; font-size: 35.2px; font-weight: 500; color: var(--wp--preset--color--contrast); }
.asmc-bonus__msg p { font-size: 17px; line-height: 1.6; margin: 17px 0; }
.asmc-bonus__live-title {
	font-family: "Darker Grotesque", sans-serif;
	font-size: 49.6px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--wp--preset--color--primary);
	margin: 44px 0 24px;
	max-width: 860px;
}
.asmc-bonus__count-title {
	text-align: center;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 48px;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	margin: 48px 0 0;
}
.asmc-bonus__agenda { max-width: 830px; margin: 26px auto 0; text-align: center; font-family: Satoshi, sans-serif; font-size: 24px; font-weight: 500; color: var(--wp--preset--color--primary); }
/* Replay (landing rediffusion Zoom) */
.asmc-replay { text-align: center; }
.asmc-replay > * { margin-left: auto; margin-right: auto; }
.entry-content .asmc-replay .asmc-replay__h1 {
	max-width: 900px;
	margin: 36px auto 32px;
	font-family: Satoshi, sans-serif;
	font-size: 40px !important;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	color: var(--wp--preset--color--primary);
}
.asmc-replay__h1 strong { font-weight: 700; }
.asmc-replay__points { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 48px; max-width: 1180px; margin: 0 auto 40px; text-align: left; }
.asmc-replay__points > * { margin: 0; }
.asmc-replay__point {
	position: relative;
	padding-left: 40px;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wp--preset--color--primary);
}
.asmc-replay__point strong { font-weight: 700; }
.asmc-replay__point::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary) url(../check-icon-white.svg) center / 12px 10px no-repeat;
}
/* carte replay : bandeau titre + embed Zoom */
.asmc-replay__card { background: #fff; border: 1px solid var(--wp--preset--color--card-border); border-radius: 16px; padding: 24px; margin-bottom: 44px; }
.asmc-replay__card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.asmc-replay__card-head img { width: 24px; height: 24px; }
.asmc-replay__card-head a { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; color: var(--wp--preset--color--contrast); text-decoration: none; }
.asmc-replay__card-head a::after {
	content: "";
	width: 18px; height: 18px;
	background: var(--wp--preset--color--contrast);
	-webkit-mask: url(../blob-arrow-crop.svg) center / contain no-repeat;
	mask: url(../blob-arrow-crop.svg) center / contain no-repeat;
	transform: rotate(45deg);
}
.asmc-replay__embed { width: 100%; height: 620px; border: none; border-radius: 12px; background: #f5f6fb; display: block; }
@media (max-width: 991px) {
	.entry-content .asmc-replay .asmc-replay__h1 { font-size: 2rem !important; }
	.asmc-replay__points { grid-template-columns: 1fr; gap: 20px; }
	.asmc-replay__point { font-size: 18px; }
	.asmc-replay__embed { height: 360px; }
}

/* Appel stratégique */
/* fond de page mesuré sur l'original (.body-2) : #ece8ee + grain + vague violette à 40% de hauteur */
body.page-id-227630 {
	background-color: #ece8ee;
	background-image: url(../noise-compressed.webp), url(../background_gradient.svg);
	background-position: 0 0, 50% 40%;
	background-repeat: repeat, no-repeat;
	background-size: 250px, 200rem;
}
/* logo : bloc image Gutenberg (figure > a > img) — la classe est sur la figure.
   !important : la règle :first-child de la layout WP écrase sinon la marge haute */
.asmc-appel__logo { display: block; margin: 36px auto 24px !important; width: 200px; }
.entry-content .asmc-appel__logo img { display: block; width: 100%; height: auto; border-radius: 0; }
.asmc-appel h1 {
	max-width: 760px;
	margin: 0 auto 30px;
	text-align: center;
	font-family: "Darker Grotesque", sans-serif;
	font-size: 42px;
	font-weight: 700;
	line-height: 1.05;
	color: var(--wp--preset--color--primary);
}
.asmc-appel__booking { width: 100%; height: 800px; border: none; border-radius: 12px; background: #fff; }
@media (max-width: 991px) {
	/* compte à rebours fluide : 8 chiffres + séparateurs doivent tenir dans la largeur (marge ≥ 16px de chaque côté) */
	.asmc-count { gap: clamp(4px, 1.6vw, 8px); max-width: 100%; }
	.asmc-count__digits { gap: clamp(3px, 1vw, 6px); }
	p.asmc-count__title { font-size: 19px; white-space: nowrap; margin-top: 40px; }
	.asmc-rdv__hero p.asmc-merci__sub { font-size: 14px; white-space: normal; }
	.asmc-count__digit { width: clamp(24px, 8vw, 37px); height: clamp(33px, 11vw, 51px); font-size: clamp(18px, 6vw, 28px); border-radius: 6px; }
	.asmc-count__sep { font-size: clamp(20px, 6vw, 28px); line-height: clamp(33px, 11vw, 51px); }
	.asmc-count__label { font-size: 14px; }
	/* étapes empilées (alignement gauche + taille hérités du desktop) */
	.asmc-merci__steps { grid-template-columns: 1fr; gap: 26px; }
	.asmc-merci__steps h2 { font-size: 2.5rem; }
	.asmc-merci__bio { grid-template-columns: 1fr; gap: 24px; }
	/* dense : les petites photos remontent combler les trous laissés par les span 2 */
	.asmc-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; grid-auto-flow: dense; }
	.asmc-gallery > :nth-child(1), .asmc-gallery > :nth-child(5) { grid-column: span 2; }
	.asmc-merci__testi-title { font-size: 2.2rem; }
	.asmc-bonus__intro { grid-template-columns: 1fr; }
	.asmc-bonus__live-title { font-size: 2.2rem; }
	.asmc-bonus__count-title { font-size: 2.5rem; }
	.asmc-bonus__agenda { font-size: 19px; }
	/* positions du gradient hero par breakpoint (mesuré prod) + photo cachée + grille 2 col */
	.entry-content > .asmc-bonus__hero { background-position: 0 0, 50% 100%; background-size: 250px, 179%; }
	.asmc-bonus__msg-photo { display: none; }
	.asmc-bonus__grid { grid-template-columns: 1fr 1fr; }
	.asmc-appel h1 { font-size: 2rem; }
	.asmc-appel__booking { height: 900px; }
}
@media (max-width: 767px) {
	.entry-content > .asmc-bonus__hero { background-position: 0 0, 50% 150%; }
	.asmc-bonus__grid { grid-template-columns: 1fr; }
}
@media (max-width: 479px) {
	.entry-content > .asmc-bonus__hero { background-position: 0 0, 50% 0; background-size: 250px, 175%; }
	.entry-content > .asmc-bonus__main { background-image: none; }
}

/* ---------- WooCommerce : panier, commande, confirmation ---------- */
.asmc-woo .wp-block-post-title { margin-bottom: 28px; }

/* Boutons du tunnel (« Valider la commande » panier, « Passer la commande » checkout) : vert, hover vert plus foncé */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: #00b67a !important;
	border-color: #00b67a !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
	background-color: #008b5d !important;
	border-color: #008b5d !important;
}

/* Confirmation de commande : encadré vert de succès + paiement mis en avant */
.asmc-order__success {
	background: #e9f9ef;
	border: 1px solid #46f152;
	border-radius: 20px;
	padding: 32px 36px;
	margin: 8px 0 28px;
}
.asmc-order__success .wc-block-order-confirmation-status { margin: 0 0 16px; padding: 0; }
/* titre + pastille verte : flex => la coche est centrée verticalement sur le titre */
.asmc-order__success .wc-block-order-confirmation-status h1 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 6px;
	font-family: Satoshi, sans-serif;
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}
.asmc-order__success .wc-block-order-confirmation-status h1::before {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #22c55e url(../check-icon-white.svg) center / 14px 12px no-repeat;
}
.asmc-order__success .wc-block-order-confirmation-status p {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--grey-dark);
}
.asmc-order__success .wc-block-order-confirmation-summary {
	margin: 0;
	border: none;
	padding: 0;
	background: transparent;
}
.asmc-order__success .wc-block-order-confirmation-summary-list-item__key { color: var(--wp--preset--color--grey-dark); font-size: 15px; }
.asmc-order__success .wc-block-order-confirmation-summary-list-item__value { font-weight: 700; }

/* Paiement / coordonnées bancaires : encadré lavande bien visible, juste sous le succès */
.asmc-order__payment:not(:empty) {
	background: var(--wp--preset--color--primary-light);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 20px;
	padding: 28px 36px;
	margin: 0 0 36px;
}
.asmc-order__payment:empty { display: none; }
/* les blocs Woo portent alignwide : on les contient dans nos encadrés */
.asmc-order__success > .alignwide,
.asmc-order__payment > .alignwide { max-width: 100%; margin-left: 0; margin-right: 0; }
/* même taille de titre que l'encadré vert (pas de préfixe .entry-content : absent sur cette page) */
.asmc-order__payment h2.wc-bacs-bank-details-heading {
	margin: 22px 0 6px;
	font-family: Satoshi, sans-serif;
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}
.asmc-order__payment h3.wc-bacs-bank-details-account-name {
	margin: 0 0 10px;
	font-family: Satoshi, sans-serif;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.4;
	color: var(--wp--preset--color--primary);
}
.asmc-order__payment p { font-size: 17px; line-height: 1.6; margin: 0 0 12px; }
.asmc-order__payment ul { margin: 0; padding-left: 20px; }
.asmc-order__payment li { font-size: 17px; line-height: 1.7; }
.asmc-order__payment strong { color: var(--wp--preset--color--contrast); }
@media (max-width: 991px) {
	.asmc-order__success { padding: 24px 20px; border-radius: 16px; }
	.asmc-order__success .wc-block-order-confirmation-status h1,
	.asmc-order__payment h2.wc-bacs-bank-details-heading { font-size: 21px !important; }
	.asmc-order__success .wc-block-order-confirmation-status h1::before { width: 24px; height: 24px; background-size: 12px 10px; }
	.asmc-order__success .wc-block-order-confirmation-status p { font-size: 16px; }
	.asmc-order__payment:not(:empty) { padding: 22px 20px; border-radius: 16px; }
	.asmc-order__payment h3.wc-bacs-bank-details-account-name { font-size: 17px !important; }
	.asmc-order__payment p, .asmc-order__payment li { font-size: 16px; }
}

/* ---------- Accessibilité ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; }
/* cibles de focus programmatique (notice WooCommerce, dialogs, conteneurs) : pas d anneau */
[tabindex="-1"]:focus, .wc-block-components-notice-banner:focus, dialog:focus { outline: none; }
/* Lien d'évitement « Aller au contenu » (injecté par WP) : visible uniquement au focus clavier,
   stylé aux couleurs du site pour ne pas ressembler à un élément étranger */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-family: Satoshi, sans-serif;
	font-size: 15px;
	font-weight: 500;
	padding: 10px 20px;
	border-radius: 160px;
	top: 10px;
	left: 10px;
	box-shadow: 0 8px 24px rgba(30, 29, 48, 0.25);
	text-decoration: none;
	z-index: 100001;
}
