/*
 * Design system du tunnel — refonte Claude Design (2026-09-20).
 * Remplace intégralement le système du Jalon 9 (tokens du Kit Elementor) par
 * la charte livrée dans le handoff : marine / or / papier, Newsreader +
 * Manrope + monospace système, zéro arrondi (cercles exceptés), zéro ombre.
 * Spec de référence : design_handoff_tunnel_la_meta/README.md.
 */

.lmt-tunnel-page{
	--lmt-primary: #0C2C47;
	--lmt-primary-dark: #071C2E;
	--lmt-accent: #E2A54D;
	--lmt-accent-dark: #B77F2E;
	--lmt-paper: #FBF9F5;
	--lmt-paper-warm: #F4F0E9;
	--lmt-white: #FFFFFF;
	--lmt-line: #E3DCD1;
	--lmt-line-light: #EFE9DF;
	--lmt-line-field: #D8CFC0;
	--lmt-line-dashed: #C9BCA6;
	--lmt-text: #55606D;
	--lmt-text-body: #3C4654;
	--lmt-text-tertiary: #8A7A63;
	--lmt-text-placeholder: #A79781;

	/* Compat : ancien nom de variable encore référencé par quelques gabarits pas encore repassés. */
	--lmt-secondary: var(--lmt-primary-dark);
	--lmt-surface: var(--lmt-white);
	--lmt-tint: var(--lmt-paper-warm);
	--lmt-ink: var(--lmt-primary);

	max-width: 1120px;
	margin: 0 auto;
	padding: 0 32px 88px;
	font-family: "Manrope", sans-serif;
	color: var(--lmt-text-body);
	line-height: 1.6;
	background: var(--lmt-paper);
}

/* --- Typographie --- */
.lmt-tunnel-page h1,
.lmt-tunnel-page h2,
.lmt-tunnel-page h3,
.lmt-tunnel-page .lmt-serif{
	font-family: "Newsreader", serif;
	font-weight: 400;
	font-style: normal;
	color: var(--lmt-primary);
	text-wrap: balance;
}
.lmt-tunnel-page p{ text-wrap: pretty; }
.lmt-tunnel-page h1{ font-size: clamp(28px, 3.2vw, 44px); line-height: 1.1; margin: 0 0 14px; }
.lmt-tunnel-page h2{ font-size: clamp(28px, 3vw, 44px); line-height: 1.12; margin: 0 0 12px; text-align: center; }
.lmt-tunnel-page h3{ font-size: 24px; line-height: 1.2; margin: 0 0 8px; }

.lmt-eyebrow{
	font-family: ui-monospace, "SF Mono", monospace;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lmt-accent-dark);
	margin: 0 0 12px;
}
.lmt-chapo{ font-size: 18px; line-height: 1.62; color: var(--lmt-text); max-width: 620px; }

/* Emphase par l'italique + or, jamais par le gras (remplace l'ancien surlignage box-shadow). */
.lmt-heading-accent{
	font-style: italic;
	color: var(--lmt-accent);
}

.lmt-error, .lmt-success{
	padding: 16px 20px;
	border: 1px solid var(--lmt-line);
	background: var(--lmt-paper-warm);
	color: var(--lmt-text-body);
}
.lmt-success{ border-color: var(--lmt-primary); }

/* --- Boutons --- */
.lmt-cta, .lmt-cta-secondary{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	text-decoration: none;
	padding: 16px 30px;
	border-radius: 0;
	transition: opacity .15s ease-out;
}
.lmt-tunnel-page a{ color: var(--lmt-primary); }
.lmt-tunnel-page a:hover{ color: var(--lmt-accent-dark); }

/*
 * Spécificité : `.lmt-tunnel-page a` ci-dessus est (classe+élément) donc plus
 * spécifique qu'une simple `.lmt-cta` (classe seule) — sans le préfixe
 * `.lmt-tunnel-page` ici, le bouton primaire perdait la bataille de
 * spécificité et affichait un texte de la même couleur que son propre fond
 * (repéré sur /lycee/, "Faire le diagnostic" totalement invisible). Toute
 * classe de lien/bouton avec une couleur de texte propre doit être préfixée
 * pareil.
 */
.lmt-tunnel-page .lmt-cta{
	background: var(--lmt-primary);
	color: var(--lmt-paper);
	font-weight: 700;
	border: none;
}
.lmt-tunnel-page .lmt-cta:hover{ opacity: .88; color: var(--lmt-paper); }
/* Sur fond marine, le bouton primaire passe en or (voir sections à fond sombre). */
.lmt-tunnel-page .lmt-on-dark .lmt-cta{ background: var(--lmt-accent); color: var(--lmt-primary); }
.lmt-tunnel-page .lmt-cta-secondary{
	background: transparent;
	color: var(--lmt-primary);
	border: 1px solid var(--lmt-primary);
	font-weight: 600;
}
.lmt-tunnel-page .lmt-on-dark .lmt-cta-secondary{ color: var(--lmt-paper); border-color: rgba(251,249,245,.35); }

/* Soulignement du texte lui-même (2026-11-02) : trait proche du texte, sous
   chaque ligne si le lien passe sur deux lignes, flèche non soulignée. */
.lmt-tunnel-page .lmt-link-accent{
	display: inline;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.5;
	color: var(--lmt-primary);
	text-decoration: underline;
	text-decoration-color: var(--lmt-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	text-decoration-skip-ink: none;
}
.lmt-link-accent::after{ content: "→"; display: inline-block; margin-left: 6px; text-decoration: none; }
.lmt-tunnel-page .lmt-link-discreet{ font-size: 14px; color: var(--lmt-text); text-decoration: none; }
.lmt-tunnel-page .lmt-link-discreet:hover{ color: var(--lmt-accent-dark); }

/* --- Motifs récurrents --- */

/* Liste à filet : item actif/prioritaire en or, neutre/différé en gris. */
.lmt-rule-list{ list-style: none; margin: 0; padding: 0; }
.lmt-rule-list li{
	border-left: 2px solid var(--lmt-line);
	padding: 2px 0 2px 12px;
	margin-bottom: 10px;
}
.lmt-rule-list li.lmt-rule-active{ border-left-color: var(--lmt-accent); }

/* Grille à filets : gap 1px + fond ligne = quadrillage sans bordures doubles. */
.lmt-rule-grid{
	display: grid;
	gap: 1px;
	background: var(--lmt-line);
	border: 1px solid var(--lmt-line);
}
.lmt-rule-grid > *{ background: var(--lmt-paper); padding: 34px 30px; }

/* Barre de progression. */
.lmt-progress-track{ height: 4px; background: var(--lmt-line); }
.lmt-on-dark .lmt-progress-track{ background: rgba(251,249,245,.18); }
.lmt-progress-fill{ height: 100%; background: var(--lmt-primary); transition: width .3s ease-out; }
.lmt-on-dark .lmt-progress-fill{ background: var(--lmt-accent); }

/* Badge verrouillé, coin haut-droit d'une carte. */
.lmt-lock-badge{
	position: absolute;
	top: 10px;
	right: 10px;
	background: var(--lmt-primary);
	color: var(--lmt-paper);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 5px 9px;
}

/* Emplacement d'image (placeholder hachuré — à remplacer par les vrais visuels). */
.lmt-image-slot{
	border: 1px dashed var(--lmt-line-dashed);
	background: repeating-linear-gradient(135deg, var(--lmt-paper-warm) 0 8px, var(--lmt-paper) 8px 16px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lmt-text-placeholder);
	text-align: center;
	padding: 12px;
}
.lmt-image-slot.lmt-image-slot-locked{
	background: repeating-linear-gradient(135deg, var(--lmt-line-light) 0 8px, var(--lmt-paper-warm) 8px 16px);
	filter: blur(1px);
}

/* Sections à fond marine (hero, bandeaux) : utilitaire de contexte pour les
   règles .lmt-on-dark ci-dessus (boutons, barre de progression...). */
.lmt-on-dark{
	background: var(--lmt-primary);
	color: rgba(251,249,245,.78);
}
.lmt-on-dark h1, .lmt-on-dark h2, .lmt-on-dark h3{ color: var(--lmt-paper); }
.lmt-on-dark .lmt-eyebrow{ color: var(--lmt-accent); }
.lmt-on-dark .lmt-chapo{ color: rgba(251,249,245,.72); }
.lmt-on-dark .lmt-text-tertiary{ color: rgba(251,249,245,.55); }
.lmt-on-dark{ --lmt-line: rgba(251,249,245,.22); }

/* --- Formulaires --- */
.lmt-tunnel-page input[type="text"],
.lmt-tunnel-page input[type="email"],
.lmt-tunnel-page input[type="password"],
.lmt-tunnel-page input[type="tel"],
.lmt-tunnel-page select{
	font-family: "Manrope", sans-serif;
	font-size: 15px;
	padding: 13px 16px;
	border: 1px solid var(--lmt-line-field);
	border-radius: 0;
	background: var(--lmt-white);
	width: 100%;
	accent-color: var(--lmt-primary);
}
.lmt-field-label{ display: block; font-size: 13px; font-weight: 600; color: var(--lmt-text-body); margin-bottom: 6px; }

/* --- Page Résultats --- */
.lmt-resultats .lmt-diagnostic-court{ font-size: 18px; max-width: 640px; margin-bottom: 24px; }
.lmt-resultats .lmt-cta-repeat{
	margin: 24px 0 36px;
	padding: 24px 28px;
	background: var(--lmt-paper-warm);
	border: 1px solid var(--lmt-line);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.lmt-grid-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 24px 0; }
@media (max-width: 640px){ .lmt-grid-2{ grid-template-columns: 1fr; } }
.lmt-resultats ul{ padding-left: 1.2em; }
.lmt-resultats li{ margin-bottom: 6px; }

/* --- Page Offres --- */
.lmt-offer-cards{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--lmt-line);
	border: 1px solid var(--lmt-line);
	margin-top: 28px;
}
@media (max-width: 900px){ .lmt-offer-cards{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .lmt-offer-cards{ grid-template-columns: 1fr; } }
.lmt-offer-card{
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--lmt-paper);
	padding: 30px 24px;
}
.lmt-offer-card-highlight{ background: var(--lmt-white); box-shadow: inset 0 0 0 1px var(--lmt-primary); }
.lmt-offer-card h3{ margin: 8px 0 4px; font-size: 26px; }
.lmt-offer-price{
	font-family: "Newsreader", serif;
	font-size: 32px;
	color: var(--lmt-primary);
	margin: 4px 0 10px;
}
.lmt-offer-card ul{ flex: 1; padding-left: 1.1em; margin: 0 0 20px; font-size: 14px; color: var(--lmt-text); }
.lmt-offer-card li{ margin-bottom: 6px; }
.lmt-offer-card .lmt-cta{ justify-content: center; text-align: center; }
.lmt-badge{
	display: inline-block;
	font-family: "Manrope", sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 5px 10px;
	margin-bottom: 10px;
}
.lmt-badge-reco{ background: var(--lmt-primary); color: var(--lmt-paper); }
.lmt-badge-alt{ background: var(--lmt-paper-warm); color: var(--lmt-text-body); border: 1px solid var(--lmt-line); }
.lmt-calendly{ margin-top: 16px; font-size: 13px; color: var(--lmt-text); }

/* --- Page Achat --- */
.lmt-achat-grid{
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 48px;
	margin-top: 20px;
}
@media (max-width: 800px){ .lmt-achat-grid{ grid-template-columns: 1fr; } }
.lmt-achat-sidebar{
	background: var(--lmt-paper-warm);
	border: 1px solid var(--lmt-line);
	padding: 28px;
	align-self: start;
	position: sticky;
	top: 24px;
}
.lmt-achat-conflict{ background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line); padding: 24px; margin: 20px 0; }
.lmt-achat input[type="email"]{ max-width: 360px; margin-bottom: 12px; }
.lmt-legal{ font-size: 12.5px; line-height: 1.55; color: var(--lmt-text); margin-top: 28px; }

/* --- Récap avant paiement / Paiement parent (écrans 11-12) --- */
.lmt-recap{ padding-top: 56px; padding-bottom: 96px; }
.lmt-recap-card{
	background: var(--lmt-white);
	border: 1px solid var(--lmt-line);
	padding: 44px;
	margin-top: 8px;
}
.lmt-recap-table{ width: 100%; border-collapse: collapse; margin: 28px 0; }
.lmt-recap-table td{ padding: 12px 0; border-bottom: 1px solid var(--lmt-line-light); font-size: 14.5px; color: var(--lmt-text-body); }
.lmt-recap-table td:last-child{ text-align: right; }
.lmt-recap-table tr:last-child td{ border-bottom: none; font-size: 17px; }
.lmt-recap-radio{ display: flex; flex-direction: column; gap: 10px; margin: 24px 0; }
.lmt-recap-radio-option{
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid var(--lmt-line-field);
	padding: 14px 18px;
	font-size: 14px;
	color: var(--lmt-text);
}
.lmt-recap-radio-option input{ width: auto; }
.lmt-recap-radio-active{ border-color: var(--lmt-primary); color: var(--lmt-text-body); }
.lmt-recap-radio-option input:disabled + span{ color: var(--lmt-text-tertiary); }
.lmt-recap-footer{
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--lmt-line-light);
}
.lmt-grid-2{ display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media (max-width: 700px){ .lmt-grid-2{ grid-template-columns: 1fr; } }
.lmt-field-label{ display: block; font-size: 12.5px; color: var(--lmt-text-tertiary); margin-bottom: 4px; }

/* --- Confirmation post-paiement (écran 13) --- */
.lmt-confirmation-check{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	border: 1px solid var(--lmt-accent);
	color: var(--lmt-accent);
	font-size: 24px;
	margin-bottom: 24px;
}

/* --- Dashboard --- */
/* Onglets : rendus dans le menu du header depuis le 2026-10-03 (LMT_Nav). */
.lmt-dashboard .lmt-tab-content{ padding-top: 36px; }
.lmt-dashboard .lmt-dashboard-body-solo .lmt-tab-content{ padding-top: 56px; }
.lmt-module-group{
	background: var(--lmt-white);
	border: 1px solid var(--lmt-line);
	padding: 18px 20px;
	margin-bottom: 14px;
}
.lmt-module-group h4{ margin: 0 0 8px; color: var(--lmt-primary); font-family: "Newsreader", serif; font-weight: 400; font-size: 20px; }
.lmt-module-group ul{ margin: 0; padding-left: 1.1em; }
.lmt-empty{ color: var(--lmt-text); font-style: italic; margin: 0; }

/* --- Bandeau d'accueil dashboard (écrans 14/15) --- */
.lmt-dashboard-bandeau{ padding: 56px 32px; }
.lmt-dashboard-bandeau-free{ background: var(--lmt-paper-warm); border-bottom: 1px solid var(--lmt-line); }
.lmt-dashboard-bandeau-paid{ background: var(--lmt-primary); }
.lmt-dashboard-bandeau-inner{ max-width: 1120px; margin: 0 auto; }
.lmt-dashboard-bandeau-grid{
	display: grid;
	grid-template-columns: 1.3fr .7fr;
	gap: 40px;
	align-items: end;
}
@media (max-width: 800px){ .lmt-dashboard-bandeau-grid{ grid-template-columns: 1fr; } }
.lmt-dashboard-avancement{
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.22);
	padding: 22px 24px;
}
.lmt-dashboard-avancement .lmt-progress-track{ background: rgba(255,255,255,.18); }
.lmt-dashboard-avancement p{ color: var(--lmt-paper); }

/* --- Badges de priorité sur les cartes de parcours (écran 15) --- */
.lmt-module-group-priority-1{ border-color: var(--lmt-primary); border-width: 1px; }
.lmt-module-priority-row{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 10px; }
.lmt-badge-priority-base{
	display: inline-block;
	font-family: "Manrope", sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 4px 10px;
}
.lmt-badge-priority-1{ background: var(--lmt-accent); color: var(--lmt-primary-dark); }
.lmt-badge-priority{ background: var(--lmt-white); color: var(--lmt-accent-dark); border: 1px solid var(--lmt-accent); }
.lmt-badge-priority-later{ font-family: ui-monospace, monospace; font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--lmt-text-tertiary); }
.lmt-module-priority-state{ font-size: 13px; color: var(--lmt-text); }
.lmt-progress-track-thin{ height: 4px; margin-bottom: 12px; }
.lmt-module-priority-note{ font-size: 12.5px; color: var(--lmt-text-tertiary); font-style: italic; margin: 8px 0 0; }
.lmt-seance-card{ background: var(--lmt-paper-warm); border-style: solid; }

/* --- Écran 18 — Appel conseiller --- */
.lmt-appel-grid{
	display: grid;
	grid-template-columns: 1fr .9fr;
	min-height: 100vh;
}
@media (max-width: 900px){ .lmt-appel-grid{ grid-template-columns: 1fr; } }
.lmt-appel-main{ padding: 72px 56px; max-width: 560px; }
.lmt-appel-sidebar{ padding: 72px 48px; }
.lmt-appel-footer{
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--lmt-line);
}

.lmt-lock-modal-backdrop{
	position: fixed;
	inset: 0;
	background: rgba(7,28,46,.55);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 20px;
}
.lmt-lock-modal{
	/* Ajoutée à <body>, hors de .lmt-tunnel-page : couleurs en clair (les variables n'y sont pas définies). */
	background: #FBF9F5;
	border-top: 3px solid #E2A54D;
	box-shadow: 0 18px 48px rgba(7,28,46,.28);
	padding: 32px 30px 24px;
	max-width: 420px;
	width: 100%;
	text-align: center;
	font-family: "Manrope", sans-serif;
	color: #3C4654;
}
.lmt-lock-modal-eyebrow{ font-family: ui-monospace, "SF Mono", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #B77F2E; margin: 0 0 10px; }
.lmt-lock-modal h3{ font-family: "Newsreader", serif; font-weight: 400; font-size: 24px; line-height: 1.25; color: #0C2C47; margin: 0 0 12px; text-align: center; }
.lmt-lock-modal p{ margin: 0; color: #55606D; font-size: 14.5px; line-height: 1.55; }
.lmt-lock-modal-cta{ display: block; margin-top: 20px; padding: 13px 18px; background: #0C2C47; color: #FBF9F5 !important; font-weight: 700; font-size: 15px; text-decoration: none; }
.lmt-lock-modal-cta:hover{ opacity: .9; }
.lmt-lock-modal-link{ display: block; margin-top: 12px; color: #0C2C47 !important; font-size: 13.5px; text-decoration: underline; }
.lmt-lock-modal-close{
	background: none;
	border: none;
	color: var(--lmt-text);
	margin-top: 12px;
	cursor: pointer;
	display: block;
	width: 100%;
	font-size: 13px;
	text-decoration: underline;
}

/*
 * Écrans "plein écran, sans header" (inscription gratuite, page-porte) —
 * composant partagé, README : "Plein écran, deux colonnes 1fr / .85fr, sans
 * header." Le header/footer du site restent masqués via body.page-{slug}
 * (déclaré au cas par cas dans chaque fichier de page, même principe que le
 * masquage du footer Elementor sur les landings).
 */
.lmt-fullscreen{
	display: grid;
	grid-template-columns: 1fr .85fr;
	min-height: 100vh;
}
.lmt-fullscreen-main{
	background: var(--lmt-paper);
	padding: 40px 56px 64px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lmt-fullscreen-main-inner{ max-width: 440px; margin: 0 auto; width: 100%; }
.lmt-fullscreen-logo{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Newsreader", serif;
	font-size: 20px;
	color: var(--lmt-primary);
	text-decoration: none;
	margin-bottom: 40px;
}
.lmt-fullscreen-logo:hover, .lmt-fullscreen-logo:focus, .lmt-tunnel-page .lmt-fullscreen-logo:hover, .lmt-tunnel-page .lmt-fullscreen-logo:focus{ color: var(--lmt-primary); } /* pas de doré au survol (couleur des liens du thème) */
.lmt-fullscreen-logo-mark{ width: 32px; height: 32px; background: url("logo-mark.png") center / contain no-repeat; flex-shrink: 0; } /* logo officiel (était un rond marine vide) */
.lmt-fullscreen-side{
	background: var(--lmt-primary);
	color: rgba(251,249,245,.78);
	padding: 64px 52px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.lmt-fullscreen-side h3{ color: var(--lmt-paper); font-size: 21px; margin: 0 0 24px; }
.lmt-fullscreen-below-rule{ border-top: 1px solid var(--lmt-line); margin-top: 24px; padding-top: 20px; }
.lmt-fullscreen-below-rule p{ margin: 0 0 8px; font-size: 14px; }
@media (max-width: 900px){
	.lmt-fullscreen{ grid-template-columns: 1fr; min-height: 0; }
	.lmt-fullscreen-side{ order: -1; padding: 40px 32px; }
	.lmt-fullscreen-main{ padding: 32px; }
}
/* "Sans header" (README) : ces écrans plein écran portent leur propre logo. */
body.page-decouverte #header,
body.page-decouverte .elementor-location-footer,
body.page-decouvrir-mon-profil #header,
body.page-decouvrir-mon-profil .elementor-location-footer{
	display: none;
}

/* Aperçu partiel du profil (page-porte) : seul le premier axe est lisible —
   contrepartie visible de l'inscription plutôt qu'un péage aveugle. */
.lmt-porte-axes{ display: flex; flex-direction: column; gap: 14px; }
.lmt-porte-axis{
	background: rgba(251,249,245,.04);
	border: 1px solid rgba(251,249,245,.18);
	padding: 16px 20px;
}
.lmt-porte-axis strong{ display: block; color: var(--lmt-paper); font-weight: 600; font-size: 15px; }
.lmt-porte-axis-locked{ filter: blur(3px); opacity: .55; user-select: none; }

/* --- Écran Résultats --- */
.lmt-resultats-hero{ padding: 72px 32px; }
.lmt-resultats-hero-grid{
	max-width: 1120px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 56px;
	align-items: center;
}
@media (max-width: 900px){ .lmt-resultats-hero-grid{ grid-template-columns: 1fr; } }
.lmt-resultats-hero h1{ font-size: clamp(28px,3.2vw,42px); }

.lmt-resultats-reco{ max-width: 1120px; margin: 0 auto; padding: 56px 32px; }
.lmt-resultats-reco-card{
	background: var(--lmt-paper-warm);
	border: 1px solid var(--lmt-primary);
	padding: 40px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	align-items: center;
}
@media (max-width: 700px){ .lmt-resultats-reco-card{ grid-template-columns: 1fr; } }
.lmt-resultats-reco-actions{ display: flex; flex-direction: column; gap: 12px; min-width: 220px; }
.lmt-resultats-reco-actions .lmt-cta,
.lmt-resultats-reco-actions .lmt-cta-secondary{ justify-content: center; }
.lmt-resultats-reco-actions .lmt-link-discreet{ text-align: center; }

.lmt-resultats-columns{
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 32px 72px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 44px;
}
@media (max-width: 900px){ .lmt-resultats-columns{ grid-template-columns: 1fr; } }
.lmt-resultats-col h3{ font-size: 26px; border-bottom: 1px solid var(--lmt-line); padding-bottom: 14px; margin-bottom: 18px; }
.lmt-rule-list-plain li{ border-left: none; padding-left: 0; color: var(--lmt-text); font-size: 14.5px; }
.lmt-rule-list-plain li.lmt-rule-active{ color: var(--lmt-primary); font-weight: 600; }

.lmt-resultats-footer{ background: var(--lmt-paper-warm); padding: 64px 32px; text-align: center; }

/* --- Écran Choix de la formule --- */
.lmt-offres-reco-card{
	border: 1px solid var(--lmt-primary);
	display: grid;
	grid-template-columns: 1.35fr .65fr;
	margin: 32px 0;
}
@media (max-width: 800px){ .lmt-offres-reco-card{ grid-template-columns: 1fr; } }
.lmt-offres-reco-main{ padding: 40px; }
.lmt-offres-benefits{ column-count: 2; column-gap: 24px; }
.lmt-offres-benefits li{ break-inside: avoid; margin-bottom: 12px; }
.lmt-offres-reco-side{ background: var(--lmt-paper-warm); border-left: 1px solid var(--lmt-line); padding: 40px; }
@media (max-width: 800px){ .lmt-offres-reco-side{ border-left: none; border-top: 1px solid var(--lmt-line); } }
.lmt-offres-installments{ font-size: 13px; color: var(--lmt-text); }

.lmt-offres-alt{ margin-bottom: 40px; }
.lmt-offres-alt summary{
	list-style: none;
	cursor: pointer;
	background: var(--lmt-paper-warm);
	border: 1px solid var(--lmt-line);
	padding: 18px 24px;
	font-weight: 600;
	color: var(--lmt-primary);
	display: flex;
	justify-content: space-between;
}
.lmt-offres-alt summary::-webkit-details-marker{ display: none; }
.lmt-offres-alt summary span{ color: var(--lmt-accent-dark); transition: transform .15s ease-out; }
.lmt-offres-alt[open] summary span{ transform: rotate(180deg); }
.lmt-offres-alt-grid{ grid-template-columns: repeat(3, 1fr); margin-top: 1px; }
@media (max-width: 800px){ .lmt-offres-alt-grid{ grid-template-columns: 1fr; } }
/* Gamme prépa (2026-10-25) : 2 autres formules au lieu de 3, mention, public visé, contenu détaillé. */
.lmt-offres-alt-grid:has(> div:nth-child(2):last-child){ grid-template-columns: repeat(2, 1fr); }
@media (max-width: 800px){ .lmt-offres-alt-grid:has(> div:nth-child(2):last-child){ grid-template-columns: 1fr; } }
.lmt-offres-badge{ background: var(--lmt-accent); color: var(--lmt-primary); margin-left: 6px; }
.lmt-offres-alt-grid .lmt-offres-badge{ margin: 0 0 10px; display: inline-block; }
.lmt-offres-audience{ font-size: 14px; color: var(--lmt-text-tertiary); margin: 0 0 20px; }
.lmt-offres-alt-bullets{ margin: 0 0 18px; font-size: 14px; }
.lmt-offres-alt-bullets li{ margin-bottom: 8px; }

/* --- Écran Connexion --- */
.lmt-connexion-card{ background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 40px 36px; }
.lmt-connexion-orientations{ background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line); padding: 28px 32px; margin-top: 24px; }
.lmt-connexion-orientations p{ margin: 0 0 16px; }
.lmt-connexion-orientations p:last-child{ margin-bottom: 0; }

.lmt-offres-footer{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	border-top: 1px solid var(--lmt-line);
	padding-top: 28px;
	margin-bottom: 56px;
}

/* --- Écran 17 — Mon compte --- */
.lmt-account-grid{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	margin-bottom: 24px;
}
.lmt-account-card{
	background: var(--lmt-white);
	border: 1px solid var(--lmt-line);
	padding: 28px;
}
.lmt-account-card h3{ font-family: "Newsreader", serif; font-weight: 400; font-size: 20px; color: var(--lmt-primary); margin: 0 0 16px; }
.lmt-account-card-offre{ background: var(--lmt-paper-warm); border-color: var(--lmt-primary); }
.lmt-account-saved{ font-size: 13px; color: var(--lmt-accent-dark); margin: -8px 0 14px; }
.lmt-account-invoices{ list-style: none; margin: 0 0 20px; padding: 0; }
.lmt-account-invoices li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--lmt-line-light);
	font-size: 13.5px;
}
.lmt-account-diagnostic{ border-top: 1px solid var(--lmt-line-light); padding-top: 18px; }

.lmt-account-answers{
	background: var(--lmt-white);
	border: 1px solid var(--lmt-line);
	margin-bottom: 56px;
}
.lmt-account-answers summary{
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 18px 24px;
	background: var(--lmt-paper-warm);
	font-weight: 600;
	color: var(--lmt-primary);
}
.lmt-account-answers summary::-webkit-details-marker{ display: none; }
.lmt-account-answers-close{ font-size: 13px; font-weight: 500; color: var(--lmt-text-tertiary); }
.lmt-account-answers-body{ padding: 8px 24px 28px; }
.lmt-account-answer-row{
	display: grid;
	grid-template-columns: 1fr 190px;
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid var(--lmt-line-light);
	font-size: 13.5px;
}
.lmt-account-answer-row span{ color: var(--lmt-text); }
.lmt-account-answer-row strong{ color: var(--lmt-text-body); text-align: right; }
@media (max-width: 600px){ .lmt-account-answer-row{ grid-template-columns: 1fr; } .lmt-account-answer-row strong{ text-align: left; } }

.lmt-account-footer{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	border-top: 1px solid var(--lmt-line);
	padding-top: 24px;
	margin-bottom: 56px;
}

/* Onglet 4 — Banque de quiz (2026-09-27) */
.lmt-quiz-section{ margin: 0 0 36px; }
.lmt-quiz-section h3{ display: flex; align-items: baseline; gap: 12px; margin: 0 0 4px; }
.lmt-quiz-count{ font-family: ui-monospace, monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--lmt-text-tertiary); font-weight: 400; }
.lmt-quiz-section-intro{ color: var(--lmt-text); margin: 0 0 14px; font-size: 14.5px; }
.lmt-quiz-set{ background: var(--lmt-white); border: 1px solid var(--lmt-line); margin: 0 0 10px; }
.lmt-quiz-set summary{ cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; font-weight: 700; color: var(--lmt-primary); }
.lmt-quiz-set summary::-webkit-details-marker{ display: none; }
.lmt-quiz-set summary::after{ content: "+"; font-weight: 400; font-size: 20px; color: var(--lmt-text-tertiary); margin-left: 8px; }
.lmt-quiz-set[open] summary::after{ content: "−"; }
.lmt-quiz-set-progress{ margin-left: auto; font-weight: 500; font-size: 13px; color: var(--lmt-text); }
.lmt-quiz-set ul{ list-style: none; margin: 0; padding: 0 20px 12px; }
.lmt-quiz-set li{ display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px 0; border-top: 1px solid var(--lmt-line); }
.lmt-quiz-set li a{ color: var(--lmt-primary); text-decoration: none; font-weight: 500; }
.lmt-quiz-set li a:hover{ text-decoration: underline; }
.lmt-quiz-state{ flex-shrink: 0; font-size: 12.5px; color: var(--lmt-text-tertiary); }
.lmt-quiz-state-done{ color: var(--lmt-primary); font-weight: 600; }
.lmt-quiz-locked{ padding: 28px; }

/* Bandeau marine du Dashboard : "lui écrire" était marine sur marine (2026-09-27) */
.lmt-dashboard-bandeau:not(.lmt-dashboard-bandeau-free) .lmt-link-accent{ color: var(--lmt-paper) !important; }

/* --- Conditions générales de vente (LMT_Legal, 2026-10-03) --- */
.lmt-cgv{ max-width: 760px; padding: 64px 32px 88px; }
.lmt-cgv h1{ font-size: 44px; margin: 6px 0 6px; text-align: left; }
.lmt-cgv h2{ font-size: 26px; margin: 44px 0 12px; scroll-margin-top: 96px; text-align: left; }
.lmt-cgv p, .lmt-cgv li{ font-size: 15.5px; line-height: 1.65; color: var(--lmt-text); }
.lmt-cgv a{ color: var(--lmt-primary); }
.lmt-cgv ol, .lmt-cgv ul{ padding-left: 20px; }
.lmt-cgv-version{ font-size: 13px !important; color: var(--lmt-text-tertiary) !important; margin: 0 0 28px; }
.lmt-cgv-toc{ background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 18px 24px; }
.lmt-cgv-toc ol{ columns: 2; column-gap: 32px; margin: 0; }
.lmt-cgv-toc li{ font-size: 14px; margin: 0 0 6px; break-inside: avoid; }
.lmt-cgv-toc a{ text-decoration: none; }
.lmt-cgv-card{ background: var(--lmt-paper-warm); border-left: 3px solid var(--lmt-accent); padding: 16px 20px; }
.lmt-cgv-offers{ display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 16px 0 20px; }
.lmt-cgv-offer{ background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 16px 16px 8px; }
.lmt-cgv-offer-name{ font-weight: 700; color: var(--lmt-primary) !important; margin: 0; }
.lmt-cgv-offer-price{ font-family: "Newsreader", serif; font-size: 28px !important; color: var(--lmt-primary) !important; margin: 2px 0 8px; }
.lmt-cgv-offer-price span{ font-family: "Manrope", sans-serif; font-size: 12px; color: var(--lmt-text-tertiary); }
.lmt-cgv-offer ul{ padding-left: 16px; margin: 0; }
.lmt-cgv-offer li{ font-size: 13px; line-height: 1.5; }
.lmt-cgv-form{ background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 14px 20px; margin-top: 12px; }
.lmt-cgv-form summary{ cursor: pointer; font-weight: 600; color: var(--lmt-primary); }
@media (max-width: 640px){
	.lmt-cgv{ padding: 40px 16px 64px; }
	.lmt-cgv h1{ font-size: 34px; }
	.lmt-cgv-toc ol{ columns: 1; }
}

/* Avoirs sous leur facture (Mon compte -> Factures, recette 2026-10-03). */
.lmt-invoice-refunded{ display: inline-block; margin-left: 6px; padding: 1px 8px; font-size: 11.5px; font-weight: 700; color: var(--lmt-accent-dark); background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line); }
.lmt-account-invoices li.lmt-account-credit-note{ padding-left: 14px; font-size: 13.5px; color: var(--lmt-text-tertiary); }

/* Onglet Quiz : recommandés et priorités (2026-10-03). */
.lmt-quiz-reco{ background: var(--lmt-white); border: 1px solid var(--lmt-primary); border-left: 4px solid var(--lmt-accent); padding: 20px 24px 8px; margin: 0 0 32px; }
.lmt-quiz-reco h3{ margin: 0 0 4px; }
.lmt-quiz-reco ul{ list-style: none; margin: 12px 0 0; padding: 0; }
.lmt-quiz-reco li{ display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--lmt-line); }
.lmt-quiz-reco li a{ color: var(--lmt-primary); font-weight: 600; text-decoration: none; }
.lmt-quiz-reco li a:hover{ text-decoration: underline; }
.lmt-quiz-reco-from{ display: block; font-size: 12.5px; color: var(--lmt-text-tertiary); margin-top: 2px; }
.lmt-quiz-priority{ display: inline-block; margin-left: 8px; padding: 1px 8px; font-size: 11px; font-weight: 700; color: var(--lmt-accent-dark); background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line); vertical-align: middle; }
.lmt-quiz-set li > a{ flex: 1; }

/* États d'avancement des cartes (2026-10-03). */

/* Avancement en % des blocs (0 % / 1-99 % / 100 %). */
.lmt-module-percent{ font-family: "Manrope", sans-serif; font-size: 13px; font-weight: 700; padding: 2px 10px; border: 1px solid var(--lmt-line); color: var(--lmt-text); background: var(--lmt-white); }
.lmt-module-percent.lmt-percent-partial{ color: var(--lmt-accent-dark); border-color: var(--lmt-accent); background: var(--lmt-paper-warm); }
.lmt-module-percent.lmt-percent-full{ color: #fff; border-color: #2F7D5B; background: #2F7D5B; }
.lmt-module-percent.lmt-percent-full::before{ content: "✓ "; }
.lmt-progress-track.lmt-percent-zero .lmt-progress-fill{ background: var(--lmt-line); }
.lmt-progress-track.lmt-percent-full .lmt-progress-fill{ background: #2F7D5B; }

/* --- Diagnostic en 4 parties (refonte du 2026-10-18) --- */
.lmt-porte-axis-done strong::after{ content: " ✓"; color: var(--lmt-accent); }
.lmt-resultats-continue{
	max-width: 1120px; margin: 32px auto 0; padding: 24px 32px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line);
}
.lmt-resultats-continue .lmt-eyebrow{ margin: 0 0 6px; }
.lmt-resultats-continue-title{ margin: 0; font-size: 17px; color: var(--lmt-primary); font-weight: 600; }
.lmt-resultats-matieres{ max-width: 1120px; margin: 0 auto; padding: 0 32px 56px; }
.lmt-resultats-matieres h3{ font-size: 26px; border-bottom: 1px solid var(--lmt-line); padding-bottom: 14px; margin-bottom: 14px; }
.lmt-matieres-list{ list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.lmt-matieres-list li{ margin: 0; padding: 16px 18px; background: var(--lmt-white); border: 1px solid var(--lmt-line); display: flex; flex-direction: column; gap: 4px; font-size: 13.5px; color: var(--lmt-text); }
.lmt-matieres-list li strong{ font-size: 16px; color: var(--lmt-primary); }
.lmt-matieres-list li.is-priority{ border-color: var(--lmt-accent); box-shadow: inset 3px 0 0 var(--lmt-accent); }
.lmt-matieres-list li em{ font-style: normal; font-weight: 700; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--lmt-accent-dark); }
.lmt-diag-resume{ padding: 14px 18px; background: var(--lmt-paper-warm); border: 1px solid var(--lmt-line); font-size: 14.5px; }
@media (max-width: 720px){
	.lmt-resultats-continue{ margin: 24px 16px 0; padding: 20px 16px; }
	.lmt-resultats-matieres{ padding: 0 16px 40px; }
}

/* Copies commentées (onglet 7, LMT_Copies — 2026-10-25) */
.lmt-copies-upsell{ background: var(--lmt-white); border: 1px solid var(--lmt-line); border-radius: 12px; padding: 14px 18px; margin: 0 0 24px; }
.lmt-copies-list{ list-style: none; margin: 0; padding: 0; }
.lmt-copies-list li a{ display: flex; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--lmt-line); color: var(--lmt-primary); text-decoration: none; }
.lmt-copies-list li a:hover .lmt-copies-title{ text-decoration: underline; }
.lmt-copies-list li.is-done .lmt-copies-icon{ background: #E3F3EA; color: #2F7D5B; }
.lmt-copies-list li.is-locked a{ color: var(--lmt-text-tertiary); }
.lmt-quiz-set li.is-locked a{ color: var(--lmt-text-tertiary); }
.lmt-copies-icon{ width: 28px; height: 28px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--lmt-paper); font-size: 12px; }
.lmt-copies-title{ flex: 1; }
.lmt-copies-free{ font-size: 12px; font-weight: 700; color: var(--lmt-accent); text-transform: uppercase; letter-spacing: .04em; }

/* --- Mon parcours en étapes + bibliothèques cours -> chapitres (spec du 2026-10-27) ---
   Le visuel d'un cours apparaît une fois par bloc ; une étape ou un chapitre = une ligne. */
.lmt-course-dot{ display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--lmt-accent)); margin-right: 7px; vertical-align: 1px; flex-shrink: 0; }
.lmt-row-link{ display: flex; align-items: center; gap: 14px; min-height: 44px; text-decoration: none; color: inherit; cursor: pointer; }

.lmt-path{ display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; margin-top: 24px; }
@media (max-width: 900px){ .lmt-path{ grid-template-columns: 1fr; } }
.lmt-path-main{ min-width: 0; }

.lmt-path-next{ display: grid; grid-template-columns: 340px minmax(0, 1fr); align-items: start; background: var(--lmt-white); border: 1px solid var(--lmt-line); box-shadow: 0 0 44px rgba(12,44,71,.12); margin-bottom: 32px; }
.lmt-path-next-visual{ display: block; aspect-ratio: 16 / 9; background: var(--c, var(--lmt-paper-warm)) center / cover no-repeat; }
.lmt-path-next-body{ padding: 28px 32px; }
.lmt-path-next-body .lmt-eyebrow{ margin: 0 0 10px; }
.lmt-path-next-body h3{ margin: 0 0 8px; font-size: 26px; text-align: left; }
.lmt-path-next-course{ margin: 0 0 14px; font-size: 14px; color: var(--lmt-text); }
.lmt-path-next .lmt-progress-track{ margin-bottom: 20px; }
.lmt-path-next-cta{ border-radius: 999px; }
.lmt-path-next-after{ margin: 16px 0 0; font-size: 13.5px; color: var(--lmt-text); }
.lmt-path-next-done{ grid-template-columns: 1fr; }
@media (max-width: 700px){ .lmt-path-next{ grid-template-columns: 1fr; } .lmt-path-next-body{ padding: 22px 20px; } }

.lmt-path-block{ background: var(--lmt-white); border: 1px solid var(--lmt-line); margin-bottom: 18px; scroll-margin-top: 90px; }
.lmt-path-block-head{ padding: 20px 22px 16px; border-bottom: 1px solid var(--lmt-line-light); }
.lmt-path-block.is-active{ border-color: var(--lmt-primary); }
.lmt-path-block.is-active .lmt-path-block-head{ background: var(--lmt-paper-warm); }
.lmt-path-block-kicker{ display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.lmt-path-block-kicker .lmt-eyebrow{ margin: 0; }
.lmt-path-block-meta{ margin-left: auto; font-size: 13px; color: var(--lmt-text); }
.lmt-path-block h3{ margin: 8px 0 10px; font-size: 22px; text-align: left; }
.lmt-path-courses{ list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.lmt-path-course-chip{ display: flex; align-items: center; gap: 14px; margin: 0; padding: 8px 16px 8px 8px; border: 1px solid var(--lmt-line); background: var(--lmt-white); }
.lmt-path-course-chip strong{ display: block; font-size: 15px; color: var(--lmt-primary); }
.lmt-path-course-chip small{ display: block; font-size: 13px; color: var(--lmt-text); margin-top: 2px; }
.lmt-path-course-thumb{ width: 128px; aspect-ratio: 16 / 9; flex-shrink: 0; background: var(--c, var(--lmt-paper-warm)) center / cover no-repeat; }
@media (max-width: 600px){ .lmt-path-course-thumb{ width: 88px; } }
.lmt-path-empty{ padding: 16px 22px; }

.lmt-path-steps{ list-style: none; margin: 0; padding: 0; }
.lmt-path-step{ margin: 0; border-bottom: 1px solid var(--lmt-line-light); }
.lmt-path-step:last-child{ border-bottom: none; }
.lmt-path-step .lmt-row-link{ padding: 12px 22px; }
.lmt-path-step .lmt-row-link:hover{ background: var(--lmt-paper); }
.lmt-path-step .lmt-row-link:hover .lmt-path-step-title{ text-decoration: underline; }
.lmt-path-step-num{ width: 32px; height: 32px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px solid var(--lmt-line-field); color: var(--lmt-primary); font-weight: 700; font-size: 13px; }
.lmt-path-step-body{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lmt-path-step-title{ font-weight: 600; color: var(--lmt-primary); line-height: 1.35; }
.lmt-path-step-course{ font-size: 12.5px; color: var(--lmt-text); }
.lmt-path-step-state{ font-size: 12.5px; font-weight: 600; color: var(--lmt-text); white-space: nowrap; }
.lmt-path-step-chevron{ color: var(--lmt-text-tertiary); font-size: 20px; line-height: 1; }
.lmt-path-step.is-current .lmt-row-link{ background: #EEF3F8; }
.lmt-path-step.is-current .lmt-path-step-num{ background: var(--lmt-primary); border-color: var(--lmt-primary); color: var(--lmt-white); }
.lmt-path-step.is-current .lmt-path-step-state{ color: var(--lmt-primary); }
.lmt-path-step.is-done .lmt-path-step-num{ background: #2F7D5B; border-color: #2F7D5B; color: var(--lmt-white); }
.lmt-path-step.is-done .lmt-path-step-state{ color: #2F7D5B; }
.lmt-path-step.is-locked .lmt-path-step-title{ color: var(--lmt-text); }
.lmt-path-step.is-locked .lmt-path-step-num{ border-style: dashed; color: var(--lmt-text-tertiary); }
.lmt-path-toggle{ display: block; width: 100%; padding: 12px 22px; border: none; border-top: 1px solid var(--lmt-line-light); background: var(--lmt-paper); color: var(--lmt-primary); font: inherit; font-weight: 600; font-size: 13.5px; text-align: left; cursor: pointer; }
.lmt-path-toggle:hover{ text-decoration: underline; }
@media (max-width: 600px){
	.lmt-path-step .lmt-row-link{ flex-wrap: wrap; padding: 12px 16px; }
	.lmt-path-step-body{ flex-basis: calc(100% - 80px); }
	.lmt-path-step-state{ order: 3; margin-left: 46px; }
	.lmt-path-step-chevron{ display: none; }
	.lmt-path-courses{ display: flex; flex-wrap: nowrap; overflow-x: auto; }
	.lmt-path-course-chip{ flex-shrink: 0; }
	.lmt-path-block-meta{ margin-left: 0; width: 100%; }
}

.lmt-path-more{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.lmt-path-more .lmt-cta-secondary{ border-radius: 999px; }
.lmt-path-aside{ position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 900px){ .lmt-path-aside{ position: static; } }
.lmt-path-overview, .lmt-path-help{ background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 18px 20px; }
.lmt-path-overview .lmt-eyebrow{ margin: 0 0 12px; }
.lmt-path-overview ol{ list-style: none; margin: 0; padding: 0; }
.lmt-path-overview li{ margin: 0 0 10px; }
.lmt-path-overview a{ display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; color: var(--lmt-primary); text-decoration: none; margin-bottom: 5px; }
.lmt-path-overview a:hover span:first-child{ text-decoration: underline; }
.lmt-path-overview .lmt-progress-track{ margin: 0; }
.lmt-path-help p{ margin: 4px 0 8px; font-size: 13.5px; color: var(--lmt-text); }

.lmt-lib-bandeau{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.lmt-lib-bandeau h2{ margin: 0; text-align: left; }
.lmt-lib-bandeau .lmt-cta{ border-radius: 999px; }
.lmt-lib-rubrique{ margin-bottom: 40px; }
/* Méthodes / Matières : deux colonnes ; une rubrique d'un seul cours prend une
   colonne, les autres toute la largeur (dense : deux rubriques d'un cours se
   rangent côte à côte même si une plus large les sépare). */
.lmt-lib-sections{ margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; grid-auto-flow: row dense; align-items: start; }
.lmt-lib-sections > .lmt-lib-rubrique{ grid-column: 1 / -1; min-width: 0; }
.lmt-lib-sections > .lmt-lib-rubrique.is-half{ grid-column: auto; }
.lmt-lib-sections .lmt-lib-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lmt-lib-sections .lmt-lib-grid.is-single{ grid-template-columns: 1fr; }
.lmt-lib-sections .lmt-lib-grid.is-single .lmt-lib-course{ display: block; }
.lmt-lib-sections .lmt-lib-grid.is-single .lmt-lib-course-visual{ border-right: 0; }
.lmt-lib-sections .lmt-lib-grid.is-single .lmt-lib-course-visual.is-empty{ height: 8px; }
@media (max-width: 760px){
	.lmt-lib-sections, .lmt-lib-sections .lmt-lib-grid{ grid-template-columns: 1fr; }
}
.lmt-lib-head{ display: flex; align-items: baseline; gap: 14px; border-bottom: 1px solid var(--lmt-line); padding-bottom: 10px; margin-bottom: 16px; }
.lmt-lib-head h3{ margin: 0; font-size: 24px; text-align: left; }
.lmt-lib-meta{ font-size: 13px; color: var(--lmt-text); white-space: nowrap; }
/* Deux rubriques côte à côte : en-têtes, intros et cours alignés d'une colonne
   à l'autre même si un titre passe sur deux lignes (2026-11-02). */
@supports (grid-template-rows: subgrid){
	@media (min-width: 761px){
		.lmt-lib-sections > .lmt-lib-rubrique.is-half{ display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; }
		.lmt-lib-sections > .lmt-lib-rubrique.is-half > .lmt-lib-head{ grid-row: 1; align-items: flex-end; }
		.lmt-lib-sections > .lmt-lib-rubrique.is-half > .lmt-empty{ grid-row: 2; }
		.lmt-lib-sections > .lmt-lib-rubrique.is-half > .lmt-lib-grid{ grid-row: 3; }
	}
}
.lmt-lib-rubrique > .lmt-empty{ margin-bottom: 14px; }
.lmt-lib-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.lmt-lib-grid.is-single{ grid-template-columns: 1fr; }
@media (max-width: 420px){ .lmt-lib-grid{ grid-template-columns: 1fr; } }
.lmt-lib-course{ background: var(--lmt-white); border: 1px solid var(--lmt-line); }
.lmt-lib-course-visual{ display: block; width: 100%; aspect-ratio: 16 / 9; background: var(--c, var(--lmt-paper-warm)) center / cover no-repeat; }
/* Cours sans image : une bande à sa couleur plutôt qu'un grand aplat. */
.lmt-lib-course-visual.is-empty{ aspect-ratio: auto; height: 8px; }
.lmt-lib-grid.is-single .lmt-lib-course-visual.is-empty{ height: 100%; }
.lmt-lib-grid.is-single .lmt-lib-course{ display: grid; grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: auto auto 1fr; }
.lmt-lib-grid.is-single .lmt-lib-course > *:not(.lmt-lib-course-visual){ grid-column: 2; }
.lmt-lib-grid.is-single .lmt-lib-course-visual{ grid-row: 1 / 4; align-self: start; max-height: none; border-right: 1px solid var(--lmt-line-light); }
@media (max-width: 700px){ .lmt-lib-grid.is-single .lmt-lib-course{ display: block; } }
.lmt-lib-course-name{ margin: 0; padding: 14px 18px 8px; font-size: 15px; font-family: "Manrope", sans-serif; font-weight: 700; color: var(--lmt-primary); }
.lmt-lib-chapters{ list-style: none; margin: 0; padding: 0 0 6px; }
.lmt-lib-chapter{ margin: 0; border-top: 1px solid var(--lmt-line-light); }
.lmt-lib-chapter .lmt-row-link{ padding: 8px 18px; gap: 12px; }
.lmt-lib-chapter .lmt-row-link:hover{ background: var(--lmt-paper); }
.lmt-lib-chapter .lmt-row-link:hover .lmt-lib-chapter-title{ text-decoration: underline; }
.lmt-lib-chapter-num{ width: 22px; flex-shrink: 0; font-size: 12.5px; font-weight: 700; color: var(--lmt-text-tertiary); text-align: right; }
.lmt-lib-chapter-title{ flex: 1; min-width: 0; font-size: 14.5px; color: var(--lmt-primary); }
.lmt-lib-chapter-state{ font-size: 12px; font-weight: 600; color: var(--lmt-text); white-space: nowrap; }
.lmt-lib-chapter.is-started .lmt-row-link{ background: #EEF3F8; }
.lmt-lib-chapter.is-started .lmt-lib-chapter-state{ color: var(--lmt-primary); }
.lmt-lib-chapter.is-done .lmt-lib-chapter-state{ color: #2F7D5B; }
.lmt-lib-chapter.is-done .lmt-lib-chapter-state::before{ content: "✓ "; }
.lmt-lib-chapter.is-locked .lmt-lib-chapter-title{ color: var(--lmt-text); }

/* Présentation de l'intervenant d'un cours (vidéo d'introduction Tutor, 2026-10-27). */
.lmt-intro-video{ display: inline; margin-top: 6px; line-height: 1.5; padding: 0; border: none; background: none; font: inherit; font-size: 13px; font-weight: 600; color: var(--lmt-primary); cursor: pointer; text-align: left; }
.lmt-intro-video:hover{ text-decoration: underline; }
.lmt-intro-video small{ font-weight: 400; color: var(--lmt-text); }
.lmt-intro-video-play{ display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--lmt-primary); color: var(--lmt-white); font-size: 8px; padding-left: 2px; flex-shrink: 0; }
.lmt-intro-videos{ display: block; }
/* Icône et texte centrés sur la même ligne (le texte revient à la ligne à côté de l'icône). */
.lmt-intro-videos .lmt-intro-video{ display: flex; align-items: center; gap: 8px; }
.lmt-intro-video-label{ min-width: 0; }
.lmt-lib-course > .lmt-intro-videos{ margin: 0 18px 10px; }
.lmt-path-course-chip > span{ min-width: 0; }
.lmt-path-course-chip .lmt-intro-video small{ display: inline; margin: 0; font-size: 12px; }
@media (max-width: 600px){ .lmt-path-course-chip{ max-width: 100%; } }
.lmt-video-modal{ position: relative; width: min(860px, calc(100vw - 32px)); background: var(--lmt-primary-dark); padding: 0; }
.lmt-video-modal video{ display: block; width: 100%; max-height: 80vh; background: #000; }
.lmt-video-modal-close{ position: absolute; top: -40px; right: 0; width: 36px; height: 36px; border: none; background: none; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
.lmt-privacy-table-wrap{ overflow-x: auto; margin: 0 0 16px; }
.lmt-privacy-table{ width: 100%; border-collapse: collapse; font-size: 14.5px; }
.lmt-privacy-table th, .lmt-privacy-table td{ text-align: left; vertical-align: top; padding: 10px 12px; border: 1px solid var(--lmt-line); color: var(--lmt-text); line-height: 1.5; }
.lmt-privacy-table th{ background: var(--lmt-paper-warm); color: var(--lmt-primary); }
.lmt-privacy-table td:last-child{ width: 38%; }

/* Onglet Parcours sans diagnostic : invitation au diagnostic (2026-10-28). */
.lmt-diag-invite{ max-width: 720px; margin: 8px auto 0; padding: 40px 40px 44px; background: var(--lmt-white); border: 1px solid var(--lmt-line); border-top: 3px solid var(--lmt-accent); text-align: center; }
.lmt-diag-invite h3{ margin: 0 0 12px; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; color: var(--lmt-primary); }
.lmt-diag-invite-text{ max-width: 520px; margin: 0 auto 22px; color: var(--lmt-text-body); font-size: 16px; line-height: 1.6; }
.lmt-diag-invite-points{ display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; }
.lmt-diag-invite-points li{ display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: var(--lmt-paper-warm); color: var(--lmt-primary); font-size: 14.5px; font-weight: 600; }
.lmt-diag-invite-points li span{ color: var(--lmt-accent-dark); font-weight: 700; }
.lmt-tunnel-page .lmt-diag-invite-cta{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 32px; font-size: 16px; }
.lmt-diag-invite-cta span{ transition: transform .15s ease-out; }
.lmt-diag-invite-cta:hover span{ transform: translateX(3px); }
.lmt-diag-invite-help{ margin: 18px 0 0; font-size: 14px; color: var(--lmt-text); }
.lmt-diag-invite-help a{ color: var(--lmt-primary); font-weight: 600; text-decoration: underline; }
@media (max-width: 600px){
	.lmt-diag-invite{ padding: 28px 18px 30px; }
	.lmt-tunnel-page .lmt-diag-invite-cta{ width: 100%; }
}

/* --- Page Formules (LMT_Formules, maquette de Camille, 2026-11-01) --- */
.lmt-fm{ padding-top: 48px; }
.lmt-fm-head{ text-align: center; max-width: 760px; margin: 0 auto 36px; }
.lmt-fm-head h1{ text-align: center; }
.lmt-fm-head .lmt-chapo{ margin: 0 auto 12px; }
.lmt-fm-reco-note{ font-size: 14.5px; color: var(--lmt-text); margin: 0 0 20px; }
.lmt-fm-reco-note a{ color: var(--lmt-primary); text-decoration: underline; }
.lmt-fm-toggle{ display: inline-flex; border: 1px solid var(--lmt-line); background: var(--lmt-white); padding: 3px; }
.lmt-fm-toggle button{ border: 0; background: none; padding: 9px 16px; font: 600 13.5px/1.2 "Manrope", sans-serif; color: var(--lmt-text); cursor: pointer; }
.lmt-fm-toggle button[aria-checked="true"]{ background: var(--lmt-primary); color: var(--lmt-paper); }
.lmt-fm-toggle button:focus-visible{ outline: 2px solid var(--lmt-accent); outline-offset: 2px; }
.lmt-fm-cards{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
@media (max-width: 900px){ .lmt-fm-cards{ grid-template-columns: 1fr; } }
.lmt-fm-card{ display: flex; flex-direction: column; background: var(--lmt-white); border: 1px solid var(--lmt-line); padding: 28px 26px; }
.lmt-fm-card.is-recommended{ border: 2px solid var(--lmt-primary); }
/* Prix et boutons à la même hauteur d'une carte à l'autre (retours du 2026-11-02) :
   les 7 blocs de chaque carte partagent les lignes de la grille. */
@supports (grid-template-rows: subgrid){
	@media (min-width: 901px){
		.lmt-fm-card{ display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; }
	}
}
.lmt-fm-badges{ min-height: 24px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.lmt-fm-badges .lmt-offres-badge{ margin-left: 0; }
.lmt-fm-badge-reco{ background: var(--lmt-primary); color: var(--lmt-paper); }
.lmt-fm-card h2{ text-align: left; font-size: 32px; margin: 0 0 6px; }
.lmt-fm-tagline{ font-weight: 600; color: var(--lmt-primary); margin: 0 0 6px; }
.lmt-fm-card .lmt-offres-audience{ margin-bottom: 18px; }
.lmt-fm-price{ font-family: "Newsreader", serif; font-size: 44px; line-height: 1; color: var(--lmt-primary); margin: auto 0 6px; }
.lmt-fm-price-note{ font-size: 13px; color: var(--lmt-text-tertiary); margin: 0 0 18px; }
.lmt-fm-card .lmt-cta, .lmt-fm-card .lmt-cta-secondary{ width: 100%; justify-content: center; }
.lmt-fm-choose{ margin: 0; }
.lmt-fm-choose button{ cursor: pointer; font: inherit; }
.lmt-fm-highlights{ margin: 22px 0 0; font-size: 14px; }
.lmt-fm-highlights li{ margin-bottom: 10px; }
.lmt-fm-guarantees{ list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 28px 0 64px; padding: 0; font-size: 13.5px; color: var(--lmt-text); }
.lmt-fm-guarantees li::before{ content: "✓ "; color: #2F7D5B; font-weight: 700; }
.lmt-fm-compare, .lmt-fm-people, .lmt-fm-faq{ margin-bottom: 64px; }
.lmt-fm-compare h2, .lmt-fm-people h2, .lmt-fm-faq h2{ text-align: center; }
.lmt-fm-compare > .lmt-chapo{ text-align: center; margin: 0 auto 24px; }
.lmt-fm-table-wrap{ overflow-x: auto; }
.lmt-fm-table{ width: 100%; min-width: 620px; border-collapse: collapse; background: var(--lmt-white); border: 1px solid var(--lmt-line); font-size: 14px; }
.lmt-fm-table th, .lmt-fm-table td{ padding: 12px 16px; border-top: 1px solid var(--lmt-line-light); text-align: center; }
.lmt-fm-table th[scope="row"], .lmt-fm-table thead th:first-child{ text-align: left; font-weight: 400; color: var(--lmt-text-body); }
.lmt-fm-table thead th{ font-family: "Newsreader", serif; font-size: 20px; color: var(--lmt-primary); font-weight: 400; border-top: 0; }
.lmt-fm-table thead th span{ display: block; font-family: "Manrope", sans-serif; font-size: 13px; color: var(--lmt-text-tertiary); }
.lmt-fm-group th{ background: var(--lmt-paper-warm); font-family: ui-monospace, "SF Mono", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--lmt-text-tertiary); text-align: left !important; }
.lmt-fm-yes{ color: #2F7D5B; font-weight: 700; }
.lmt-fm-no{ color: var(--lmt-line-dashed); }
.lmt-fm-actions .lmt-cta-secondary{ padding: 9px 18px; }
.lmt-fm-people{ text-align: center; }
.lmt-fm-people-grid{ display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; margin: 44px 0 32px; }
.lmt-fm-people-grid figure{ margin: 0; width: 240px; }
.lmt-fm-people-grid img{ width: 160px; height: 160px; object-fit: cover; border-radius: 50%; margin: 0 auto 12px; display: block; }
.lmt-fm-people-grid figcaption{ font-size: 14px; color: var(--lmt-text); }
.lmt-fm-people-grid strong{ display: block; color: var(--lmt-primary); font-size: 16px; }
.lmt-tunnel-page blockquote.lmt-fm-quote{ max-width: 640px; margin: 0 auto; padding: 24px 28px; background: var(--lmt-paper-warm); border: 0; border-left: 3px solid var(--lmt-accent); text-align: left; text-transform: none; letter-spacing: normal; }
.lmt-tunnel-page blockquote.lmt-fm-quote::before, .lmt-tunnel-page blockquote.lmt-fm-quote::after{ content: none; display: none; }
.lmt-tunnel-page .lmt-fm-quote p{ font-family: "Newsreader", serif; font-size: 20px; line-height: 1.4; color: var(--lmt-primary); margin: 0 0 10px; text-transform: none; letter-spacing: normal; }
.lmt-fm-quote cite{ font-style: normal; font-size: 13.5px; color: var(--lmt-text); }
.lmt-fm-faq{ max-width: 760px; margin-left: auto; margin-right: auto; }
.lmt-fm-faq details{ border-top: 1px solid var(--lmt-line); padding: 16px 4px; }
.lmt-fm-faq details:last-child{ border-bottom: 1px solid var(--lmt-line); }
.lmt-fm-faq summary{ cursor: pointer; font-weight: 700; color: var(--lmt-primary); }
.lmt-fm-faq details p{ margin: 10px 0 0; }
.lmt-fm-faq a{ color: var(--lmt-primary); text-decoration: underline; }
.lmt-fm-final{ text-align: center; padding: 48px 24px; margin-bottom: 32px; }
.lmt-fm-final h2{ text-align: center; }
.lmt-fm-final .lmt-landing-cta-row{ display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
@media (max-width: 600px){ .lmt-fm-card{ padding: 24px 20px; } .lmt-fm-price{ font-size: 38px; } }

/* Contact (LMT_Nav::contact_html) : adresse en clair + copie + rappel. */
.lmt-contact{ font-size: 13.5px; }
.lmt-contact p{ margin: 0 0 6px; }
.lmt-contact-intro{ font-weight: 700; }
.lmt-contact a{ color: inherit; text-decoration: underline; text-underline-offset: 2px; }
/* Adresse d'un seul tenant : passe entière à la ligne plutôt que coupée (2026-11-02). */
.lmt-contact a[href^="mailto:"]{ display: inline-block; white-space: nowrap; max-width: 100%; overflow-wrap: anywhere; }
.lmt-contact-copy{ border: 1px solid currentColor; background: none; color: inherit; font: 600 11.5px/1 "Manrope", sans-serif; padding: 4px 8px; margin-left: 4px; cursor: pointer; opacity: .8; }
.lmt-contact-copy:hover{ opacity: 1; }
.lmt-account-diag-history{ list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.lmt-account-diag-history li{ padding: 6px 0; border-top: 1px solid var(--lmt-line-light); color: var(--lmt-text); }
.lmt-account-diag-history a{ color: var(--lmt-primary); font-weight: 600; }

/* Analyse du profil en trois paragraphes (2026-11-02). */
.lmt-resultats-hero .lmt-resultats-analyse{ margin: 0 0 14px; }
.lmt-resultats-hero .lmt-resultats-analyse:last-of-type{ margin-bottom: 0; }
.lmt-matieres-list .lmt-matiere-niveau{ font-weight: 600; color: var(--lmt-primary); }
.lmt-resultats-continue-text{ margin: 6px 0 0; font-size: 14px; color: var(--lmt-text); }
