/* ==========================================================================
   HM COURSES — Identité HM Social Boost
   Palette : violet #4A0080 · or #C8A96E · crème #F7F3ED
   Typo : Cormorant Garamond (titres) · DM Sans (texte / interface)
   ========================================================================== */

:root {
	--hm-violet: #4A0080;
	--hm-violet-dark: #34005c;
	--hm-violet-soft: #f1e6fb;
	--hm-gold: #C8A96E;
	--hm-gold-dark: #ab8c54;
	--hm-cream: #F7F3ED;
	--hm-ink: #241a30;
	--hm-ink-soft: #5c5168;
	--hm-white: #ffffff;
	--hm-border: #e4dcd0;
	--hm-radius: 10px;
	--hm-shadow: 0 8px 28px rgba(74, 0, 128, 0.08);
	--hm-font-display: 'Cormorant Garamond', serif;
	--hm-font-body: 'DM Sans', sans-serif;
}

/* -------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------- */

.hm-wrap * {
	box-sizing: border-box;
}

.hm-wrap {
	font-family: var(--hm-font-body);
	color: var(--hm-ink);
	line-height: 1.6;
}

.hm-wrap h1, .hm-wrap h2, .hm-wrap h3, .hm-wrap h4 {
	font-family: var(--hm-font-display);
	color: var(--hm-violet-dark);
	font-weight: 600;
	margin: 0 0 12px;
	line-height: 1.2;
}

.hm-wrap a {
	color: var(--hm-violet);
}

/* Quand ce CSS est chargé dans wp-admin (tableau de bord HM Courses), on
   neutralise les marges WordPress par défaut sur .wrap pour laisser nos
   propres sections respirer normalement. */
.wrap.hm-admin-dashboard { margin-top: 18px; }
.wrap.hm-admin-dashboard .hm-wrap { max-width: 980px; }

/* Le sceau "HM" — signature visuelle reprise dans chaque en-tête */
.hm-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 38px;
	min-width: 38px;
	border-radius: 50%;
	background: var(--hm-violet);
	border: 1.5px solid var(--hm-gold);
	color: var(--hm-cream);
	font-family: var(--hm-font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.5px;
}

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

.hm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--hm-font-body);
	font-size: 14.5px;
	font-weight: 500;
	padding: 12px 22px;
	border-radius: var(--hm-radius);
	border: none;
	cursor: pointer;
	color: white;
	transition: opacity 0.15s ease, transform 0.1s ease;
}
.hm-btn:hover { opacity: 0.88; }
.hm-btn:active { transform: scale(0.98); }

.hm-btn-violet { background: var(--hm-violet); color: var(--hm-cream); }
.hm-btn-gold { background: var(--hm-gold); color: var(--hm-violet-dark); }
.hm-btn-outline { background: transparent; color: var(--hm-violet); border: 1.5px solid var(--hm-violet); }
.hm-btn-ghost { background: transparent; color: var(--hm-violet); padding: 12px 4px; }
.hm-btn-block { width: 100%; }
.hm-btn-small { padding: 8px 14px; font-size: 13px; }

.hm-icon-btn {
	background: transparent;
	border: 1px solid var(--hm-border);
	border-radius: 6px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	font-size: 14px;
	color: var(--hm-violet);
}
.hm-icon-btn:hover { background: var(--hm-violet-soft); }
.hm-icon-btn.hm-delete:hover { background: #fbeaea; color: #b3261e; }

.hm-row-actions { display: inline-flex; gap: 6px; align-items: center; }

/* -------------------------------------------------------------------------
   Champs de formulaire
   ------------------------------------------------------------------------- */

.hm-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.hm-field span { font-size: 13px; font-weight: 500; color: var(--hm-ink-soft); }
.hm-field input[type="text"],
.hm-field input[type="email"],
.hm-field input[type="password"],
.hm-field input[type="file"],
.hm-field textarea {
	font-family: var(--hm-font-body);
	font-size: 14.5px;
	padding: 11px 14px;
	border: 1.5px solid var(--hm-border);
	border-radius: 8px;
	background: var(--hm-white);
	color: var(--hm-ink);
}
.hm-field input:focus, .hm-field textarea:focus {
	outline: none;
	border-color: var(--hm-violet);
}
.hm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hm-checkbox-field { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; font-size: 14px; }
.hm-checkbox-list { display: flex; flex-direction: column; gap: 8px; max-height: 200px; overflow-y: auto; padding: 6px 0; }
.hm-field-hint { color: var(--hm-ink-soft); font-size: 12.5px; }

/* -------------------------------------------------------------------------
   Page de connexion
   ------------------------------------------------------------------------- */

.hm-login-wrap {
	min-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hm-cream);
	padding: 40px 16px;
}
.hm-login-card {
	background: var(--hm-white);
	border-top: 4px solid var(--hm-gold);
	border-radius: var(--hm-radius);
	box-shadow: var(--hm-shadow);
	padding: 44px 38px;
	max-width: 420px;
	width: 100%;
	text-align: center;
}
.hm-login-mark {
	width: 52px; height: 52px; margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--hm-violet);
	border: 1.5px solid var(--hm-gold);
	color: var(--hm-cream);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--hm-font-display); font-size: 20px; font-weight: 600;
}
.hm-login-title { font-size: 28px; margin-bottom: 6px; }
.hm-login-sub { color: var(--hm-ink-soft); font-size: 14px; margin-bottom: 24px; }
.hm-login-form { text-align: left; }
.hm-login-footer { margin-top: 22px; font-size: 13px; color: var(--hm-ink-soft); }
.hm-alert { padding: 12px 14px; border-radius: 8px; font-size: 13.5px; margin-bottom: 18px; text-align: left; }
.hm-alert-error { background: #fbeaea; color: #8a2d24; }

/* ==========================================================================
   HM COURSE LANDING PAGE (hm-clp-*) — additions for hm-course-overview.php v2
   À coller à la fin du fichier CSS existant (hm-courses.css). Réutilise les
   variables --hm-* déjà définies en haut du fichier, aucune duplication.
   ========================================================================== */
.hm-nlw-v4{
	--v-violet:#4A0080;
	--v-violet-dark:#34005c;
	--v-gold:#C8A96E;
	--v-gold-dark:#ab8c54;
	--v-cream:#F7F3ED;
	background:linear-gradient(180deg, var(--v-cream) 0%, var(--v-cream) 55%, var(--v-cream) 100%);
	padding:0;
	max-width:none;
	color:#4A0080;
	border-radius:14px;
	overflow:hidden;
}
.hm-nlw-v4 *{ box-sizing:border-box; }
.hm-nlw-v4 h1, .hm-nlw-v4 h2, .hm-nlw-v4 h3{ font-family:var(--hm-font-display,'Cormorant Garamond',serif); color:var(--v-cream); }

.hm-nlw-v4-eyebrow{ display:block; text-align:center; font-size:12.5px; letter-spacing:1px; text-transform:uppercase; color:var(--v-violet-dark); }

/* ---- HERO ---- */
.hm-nlw-v4-hero{ padding:60px 24px 50px; text-align:center; }
.hm-nlw-v4-hero-inner{ max-width:720px; margin:0 auto; }
.hm-nlw-v4-hook-ar{ direction:rtl; unicode-bidi:isolate; font-size:26px; line-height:1.6; margin:0 0 22px; }
.hm-nlw-v4-divider{ width:64px; height:2px; background:var(--v-gold); margin:0 auto 26px; }
.hm-nlw-v4-capsules{ list-style:none; margin:0 auto 30px; padding:0; display:flex; flex-direction:column; gap:10px; max-width:420px; }
.hm-nlw-v4-capsules li{ background:rgba(255,255,255,0.06); border:1px solid rgba(200,169,110,0.4); border-radius:8px; padding:12px 18px; font-size:14.5px; font-weight:500; }
.hm-nlw-v4-video{ margin:0 auto 30px; max-width:640px; border-radius:14px; overflow:hidden; border:2px solid var(--v-gold); box-shadow:0 20px 50px rgba(0,0,0,0.35); }
.hm-nlw-v4-video video{ width:100%; display:block; aspect-ratio:16/9; background:#000; }
.hm-nlw-v4-note{ font-size:12.5px; color:#d9c2f0; max-width:440px; margin:14px auto 0; }

/* ---- CTA (texte blanc partout) ---- */
.hm-nlw-v4-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; font-family:var(--hm-font-body,'DM Sans',sans-serif); font-size:14.5px; font-weight:600; padding:13px 26px; border-radius:10px; cursor:pointer; text-decoration:none; transition:opacity .15s ease, transform .1s ease; }
.hm-nlw-v4-btn:hover{ opacity:.9; }
.hm-nlw-v4-btn:active{ transform:scale(0.98); }
.hm-nlw-v4-btn-primary{ background:var(--v-violet); color:#ffffff !important; border:1.5px solid var(--v-gold); }
.hm-nlw-v4-btn-outline{ background:transparent; color:#ffffff !important; border:1.5px solid var(--v-gold); }
.hm-nlw-v4-btn-block{ width:100%; }

/* ---- AVANT / APRES par module ---- */
.hm-nlw-v4-ba{ padding:50px 24px 60px; border-top:1px solid rgba(200,169,110,0.25); }
.hm-nlw-v4-ba-inner{ max-width:820px; margin:0 auto; }
.hm-nlw-v4-ba-head{ text-align:center; margin-bottom:34px; }
.hm-nlw-v4-ba-head h2{ font-size:26px; margin:0; }
.hm-nlw-v4-ba-list{ display:flex; flex-direction:column; gap:16px; }
.hm-nlw-v4-ba-item{ display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; background:rgba(255,255,255,0.05); border:1px solid rgba(200,169,110,0.3); border-radius:12px; padding:18px 20px; }
.hm-nlw-v4-ba-avant, .hm-nlw-v4-ba-apres{ direction:rtl; unicode-bidi:isolate; font-size:15px; line-height:1.7; }
.hm-nlw-v4-ba-avant{ color:#e7d9f5; }
.hm-nlw-v4-ba-apres{ color:var(--v-cream); font-weight:500; }
.hm-nlw-v4-ba-label{ display:block; direction:ltr; text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:0.5px; color:var(--v-gold); margin-bottom:6px; }
.hm-nlw-v4-ba-arrow{ color:var(--v-gold-dark); font-size:20px; }

/* ---- PRICING ---- */
.hm-nlw-v4-pricing{ padding:50px 24px 60px; border-top:1px solid rgba(200,169,110,0.25); text-align:center; }
.hm-nlw-v4-price-card{ max-width:440px; margin:0 auto; background:rgba(255,255,255,0.06); border:1.5px solid var(--v-gold); border-radius:18px; padding:40px 30px; }
.hm-nlw-v4-launch-badge{ display:inline-block; background:var(--v-gold); color:var(--v-violet-dark); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:6px 14px; border-radius:20px; margin-bottom:14px; }
.hm-nlw-v4-price-title{ font-size:22px; margin:6px 0 4px; }
.hm-nlw-v4-price-value{ font-family:var(--hm-font-display,'Cormorant Garamond',serif); font-size:44px; margin:6px 0 4px; line-height:1; }
.hm-nlw-v4-price-value small{ font-family:var(--hm-font-body,'DM Sans',sans-serif); font-size:15px; color:#e7d9f5; font-weight:400; }

.hm-nlw-v4-countdown{ background:rgba(255,255,255,0.06); border:1px solid var(--v-gold); border-radius:12px; padding:16px 14px; margin:18px 0 24px; }
.hm-nlw-v4-countdown-label{ font-size:12px; color:var(--v-gold); text-transform:uppercase; letter-spacing:0.5px; margin:0 0 10px; }
.hm-nlw-v4-countdown-digits{ display:flex; justify-content:center; gap:14px; }
.hm-nlw-v4-cd-unit{ display:flex; flex-direction:column; align-items:center; min-width:44px; }
.hm-nlw-v4-cd-unit span{ font-family:var(--hm-font-display,'Cormorant Garamond',serif); font-size:26px; font-weight:700; line-height:1; }
.hm-nlw-v4-cd-unit small{ font-size:10px; color:#c8b3e0; text-transform:uppercase; margin-top:4px; }

.hm-nlw-v4-includes{ list-style:none; padding:0; margin:0 0 26px; text-align:left; }
.hm-nlw-v4-includes li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#e7d9f5; margin-bottom:9px; }
.hm-nlw-v4-includes li::before{ content:"✓"; color:var(--v-gold); font-weight:700; }
.hm-nlw-v4-price-note{ font-size:12px; color:#c8b3e0; margin-top:14px; }
.hm-nlw-v4-login-link{ display:inline-block; margin-top:12px; color:#d9c2f0; font-size:13.5px; }

@media (max-width:900px){
	.hm-nlw-v4-hero{ padding:44px 18px 40px; }
	.hm-nlw-v4-hook-ar{ font-size:21px; }
	.hm-nlw-v4-ba{ padding:40px 16px 44px; }
	.hm-nlw-v4-ba-item{ grid-template-columns:1fr; text-align:right; }
	.hm-nlw-v4-ba-arrow{ transform:rotate(90deg); text-align:center; }
	.hm-nlw-v4-pricing{ padding:40px 14px 50px; }
	.hm-nlw-v4-price-card{ padding:32px 20px; margin-left:8px; margin-right:8px; }
	.hm-nlw-v4-countdown-digits{ gap:8px; }
	.hm-nlw-v4-cd-unit{ min-width:38px; }
	.hm-nlw-v4-cd-unit span{ font-size:21px; }
}


/* -------------------------------------------------------------------------
   Page de paiement / checkout
   ------------------------------------------------------------------------- */
.hm-checkout-wrap { padding: 48px 24px; max-width: 1080px; }
.hm-checkout-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 36px; align-items: start; }
.hm-checkout-summary { background: var(--hm-cream); color: var(--hm-violet); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 32px; }
.hm-checkout-summary-media { border-radius: 8px; overflow: hidden; margin-bottom: 20px; }
.hm-checkout-summary .hm-eyebrow { color: var(--hm-gold-dark); }
.hm-checkout-title { color: var(--hm-violet); font-size: 26px; margin-bottom: 8px; }
.hm-checkout-price { font-family: var(--hm-font-display); font-size: 26px; color: var(--hm-gold-dark); margin-bottom: 20px; font-weight: 700; }
.hm-checkout-summary .hm-bank-box { background: #ffffff; border: 1.5px solid var(--hm-gold); border-radius: 10px; padding: 20px 22px; margin-top: 8px; }
.hm-checkout-summary .hm-bank-box-title { color: var(--hm-violet); font-weight: 600; margin: 0 0 10px; }
.hm-checkout-summary .hm-bank-box-info { color: var(--hm-violet); margin: 0; padding: 0; white-space: pre-wrap; }
.hm-checkout-summary .hm-link-login { color: var(--hm-violet); text-decoration: underline; }
.hm-checkout-card { background: var(--hm-white); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 32px; }
.hm-checkout-help { font-size: 14px; color: var(--hm-ink-soft); margin-bottom: 22px; }
.hm-checkout-form .hm-field { margin-bottom: 18px; }
.hm-checkout-success { text-align: center; padding: 20px 0; }
.hm-checkout-success p { color: var(--hm-ink-soft); }
@media (max-width: 760px) {
	.hm-checkout-grid { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Checkout v2 — indicateur d'étapes, bank box, trust list, boutons, alertes
   ------------------------------------------------------------------------- */

/* Indicateur d'étapes */
.hm-checkout-steps { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 32px; }
.hm-checkout-step { display: flex; align-items: center; gap: 10px; opacity: 0.45; transition: opacity .2s ease; }
.hm-checkout-step.is-active, .hm-checkout-step.is-done { opacity: 1; }
.hm-checkout-step-num { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--hm-font-display); font-weight: 700; font-size: 14px; background: var(--hm-white); border: 1.5px solid var(--hm-border); color: var(--hm-violet); }
.hm-checkout-step.is-active .hm-checkout-step-num { background: var(--hm-violet); border-color: var(--hm-violet); color: #ffffff; }
.hm-checkout-step.is-done .hm-checkout-step-num { background: var(--hm-gold); border-color: var(--hm-gold); color: var(--hm-violet); }
.hm-checkout-step-label { font-size: 13.5px; font-weight: 600; color: var(--hm-violet); }
.hm-checkout-step-line { width: 48px; height: 1.5px; background: var(--hm-border); }

/* Bank box — en-tête + bouton copier */
.hm-bank-box-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.hm-bank-copy-btn { font-size: 12px; font-weight: 700; color: var(--hm-violet); background: var(--hm-cream); border: 1px solid var(--hm-gold); border-radius: 20px; padding: 5px 14px; cursor: pointer; transition: background .15s ease; }
.hm-bank-copy-btn:hover { background: var(--hm-gold); color: var(--hm-white); }
.hm-bank-copy-confirm { font-size: 12px; color: var(--hm-gold-dark); font-weight: 600; margin: 8px 0 0; opacity: 0; height: 0; overflow: hidden; transition: opacity .2s ease; }
.hm-bank-copy-confirm.is-visible { opacity: 1; height: auto; }

/* Liste de réassurance */
.hm-checkout-trust { list-style: none; margin: 22px 0 0; padding: 0; }
.hm-checkout-trust li { font-size: 13.5px; color: var(--hm-violet); line-height: 1.6; margin-bottom: 8px; }

/* Succès */
.hm-mark { width: 52px; height: 52px; border-radius: 50%; background: var(--hm-gold); color: var(--hm-white); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; margin: 0 auto 18px; }

/* Alertes */
.hm-alert { border-radius: 8px; padding: 12px 16px; font-size: 13.5px; margin-bottom: 18px; }
.hm-alert-error { background: #fbeaea; border: 1px solid #d98c8c; color: #9c3b3b; }

/* Boutons génériques */
.hm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: 15px; padding: 14px 28px; border-radius: 8px; cursor: pointer; text-decoration: none; border: 1.5px solid var(--hm-gold); transition: background .15s ease, opacity .15s ease; }
.hm-btn-violet { background: var(--hm-violet); color: #ffffff !important; }
.hm-btn-violet:hover { background: var(--hm-violet); opacity: .88; }
.hm-btn-outline { background: transparent; color: var(--hm-violet) !important; }
.hm-btn-outline:hover { background: var(--hm-cream); }
.hm-btn-block { width: 100%; }

/* Champs de formulaire */
.hm-field { display: flex; flex-direction: column; gap: 6px; }
.hm-field span { font-size: 13px; font-weight: 600; color: var(--hm-violet); }
.hm-field input { border: 1px solid var(--hm-border); border-radius: 8px; padding: 12px 14px; font-size: 14.5px; color: var(--hm-violet); background: var(--hm-white); }
.hm-field input:focus { outline: none; border-color: var(--hm-gold); }

.hm-checkout-secure-note { font-size: 12px; color: var(--hm-ink-soft); text-align: center; margin-top: 14px; }
/* -------------------------------------------------------------------------
   Barre supérieure commune (admin + membre)
   ------------------------------------------------------------------------- */

.hm-admin-top, .hm-member-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 18px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--hm-border);
	flex-wrap: wrap;
}
.hm-admin-top-left, .hm-member-top-left { display: flex; align-items: center; gap: 12px; }
.hm-admin-title, .hm-member-greeting { font-weight: 500; font-size: 15px; }
.hm-link-logout { font-size: 13.5px; color: var(--hm-ink-soft); text-decoration: none; }
.hm-link-logout:hover { color: var(--hm-violet); }

/* -------------------------------------------------------------------------
   Tableau de bord admin — onglets
   ------------------------------------------------------------------------- */

/* ----- Aperçu (stats) ----- */
.hm-stat-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 36px; }
.hm-stat-card { background: var(--hm-white); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 24px; display: flex; flex-direction: column; gap: 4px; }
.hm-stat-card-gold { border-color: var(--hm-gold); background: #fdf9f1; }
.hm-stat-number { font-family: var(--hm-font-display); font-size: 36px; color: var(--hm-violet-dark); font-weight: 700; line-height: 1; }
.hm-stat-label { font-size: 13px; color: var(--hm-ink-soft); }
.hm-overview-subtitle { font-size: 18px; margin-bottom: 8px; }
.hm-badge-gold { background: var(--hm-gold); color: var(--hm-violet-dark); }

.hm-back-link { display: inline-block; margin-bottom: 18px; font-size: 13.5px; color: var(--hm-ink-soft); text-decoration: none; }
.hm-back-link:hover { color: var(--hm-violet); }

.hm-course-detail-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.hm-course-detail-head h2 { margin: 0; margin-right: auto; }

/* ----- Éditeur de cours en sections numérotées ----- */
.hm-editor-section { border: 1px solid var(--hm-border); border-radius: 12px; padding: 26px 28px; margin-bottom: 22px; background: var(--hm-white); }
.hm-editor-section-title { display: flex; align-items: center; gap: 12px; font-size: 18px; margin-bottom: 18px; }
.hm-editor-step {
	width: 26px; height: 26px; min-width: 26px;
	border-radius: 50%;
	background: var(--hm-violet-soft);
	color: var(--hm-violet);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--hm-font-body); font-size: 13px; font-weight: 700;
}
.hm-checkout-link-box { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--hm-border); }
.hm-checkout-link-label { font-size: 13px; color: var(--hm-ink-soft); margin-bottom: 8px; }
.hm-copy-row { display: flex; gap: 8px; }
.hm-copy-row input { flex: 1; font-size: 13px; padding: 10px 12px; border: 1.5px solid var(--hm-border); border-radius: 8px; background: var(--hm-cream); color: var(--hm-ink-soft); }

.hm-courses-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 20px; }
.hm-course-card-media { height: 140px; background: var(--hm-violet-soft); border-radius: 10px 10px 0 0; overflow: hidden; }
.hm-course-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-course-card-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--hm-font-display); color: var(--hm-violet); font-size: 26px; }
.hm-course-card { border: 1px solid var(--hm-border); border-radius: 10px; overflow: hidden; background: var(--hm-white); }
.hm-course-card-body { padding: 16px 18px; }
.hm-course-card-body h3 { font-size: 18px; margin-bottom: 4px; }
.hm-course-card-meta { font-size: 12.5px; color: var(--hm-ink-soft); margin-bottom: 14px; }
.hm-course-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

.hm-modules-list { margin-top: 20px; }
.hm-module-block { border: 1px solid var(--hm-border); border-radius: 10px; padding: 18px 20px; margin-bottom: 16px; background: var(--hm-white); }
.hm-module-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.hm-module-header h3 { font-size: 17px; margin: 0; }
.hm-lessons-list { list-style: none; margin: 0 0 12px; padding: 0; }
.hm-lesson-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #f1ece4; font-size: 14px; }
.hm-lesson-row:first-child { border-top: none; }
.hm-lesson-status { width: 18px; text-align: center; }
.hm-lesson-row-title { flex: 1; }
.hm-lesson-row-duration { color: var(--hm-ink-soft); font-size: 12.5px; }

.hm-empty-note { color: var(--hm-ink-soft); font-size: 13.5px; font-style: italic; }

.hm-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }
.hm-table th { text-align: left; font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--hm-ink-soft); padding: 10px 12px; border-bottom: 1.5px solid var(--hm-border); }
.hm-table td { padding: 12px; border-bottom: 1px solid #f1ece4; vertical-align: middle; }
.hm-badge { display: inline-block; background: var(--hm-violet-soft); color: var(--hm-violet); font-size: 11.5px; padding: 3px 10px; border-radius: 20px; margin: 2px 4px 2px 0; }

.hm-settings-box { max-width: 520px; }
.hm-settings-help { font-size: 13px; color: var(--hm-ink-soft); margin-bottom: 14px; }
.hm-save-confirm { color: #2e7d32; font-size: 13.5px; margin-left: 12px; }

.hm-thumb-picker { display: flex; align-items: center; gap: 14px; }
#hm-thumb-preview { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }

.hm-upload-progress { margin-bottom: 16px; }
.hm-upload-progress-bar { height: 6px; background: var(--hm-violet-soft); border-radius: 4px; overflow: hidden; }
.hm-upload-progress-fill { height: 100%; width: 0%; background: var(--hm-violet); transition: width 0.2s ease; }
.hm-upload-progress-label { font-size: 12.5px; color: var(--hm-ink-soft); }

.hm-credentials-box { background: var(--hm-cream); border: 1px dashed var(--hm-gold); border-radius: 8px; padding: 16px; margin: 16px 0; font-size: 14.5px; }
.hm-credentials-box p { margin: 6px 0; }

/* -------------------------------------------------------------------------
   Modales
   ------------------------------------------------------------------------- */

.hm-modal-overlay { position: fixed; inset: 0; background: rgba(36, 26, 48, 0.45); display: none; z-index: 9998; }
.hm-modal-overlay.is-open { display: block; }
.hm-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9999; padding: 20px; }
.hm-modal.is-open { display: flex; }
.hm-modal-card { background: var(--hm-white); border-radius: var(--hm-radius); border-top: 4px solid var(--hm-gold); padding: 32px; max-width: 540px; width: 100%; max-height: 88vh; overflow-y: auto; position: relative; }
.hm-modal-close { position: absolute; top: 14px; right: 16px; background: none; border: none; font-size: 22px; cursor: pointer; color: var(--hm-ink-soft); line-height: 1; }
.hm-modal-title-edit { display: none; }
.hm-modal.is-editing .hm-modal-title-new { display: none; }
.hm-modal.is-editing .hm-modal-title-edit { display: block; }

/* -------------------------------------------------------------------------
   Dashboard de cours — vue par cours
   ------------------------------------------------------------------------- */
.hm-course-wrap { max-width: 1080px; margin: 0 auto; padding: 32px 20px; }

.hm-course-header {
	background: var(--hm-white);
	border: 1px solid var(--hm-border);
	border-radius: var(--hm-radius);
	padding: 28px 32px;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.hm-course-header-title { font-family: var(--hm-font-display); font-size: 28px; color: var(--hm-violet); margin: 0 0 6px; }
.hm-course-header-sub { font-size: 13.5px; color: var(--hm-ink-soft); margin: 0; }

.hm-progress-block { min-width: 220px; }
.hm-progress-label { font-size: 12.5px; color: var(--hm-ink-soft); display: flex; justify-content: space-between; margin-bottom: 6px; }
.hm-progress-track { height: 8px; background: var(--hm-border); border-radius: 20px; overflow: hidden; }
.hm-progress-fill { height: 100%; background: var(--hm-gold); border-radius: 20px; }

.hm-course-layout { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; }

/* Sidebar plan du cours */
.hm-plan-card { background: var(--hm-white); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 20px; position: sticky; top: 20px; }
.hm-plan-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--hm-gold-dark); margin: 0 0 14px; }
.hm-plan-module { margin-bottom: 16px; }
.hm-plan-module-name { font-size: 13px; font-weight: 700; color: var(--hm-ink-soft); margin: 0 0 8px; }

.hm-lesson-item {
	display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px;
	font-size: 14px; cursor: pointer; margin-bottom: 2px; color: var(--hm-violet);
	text-decoration: none;
}
.hm-lesson-item:hover { background: var(--hm-cream); }
.hm-lesson-item.is-active { background: var(--hm-violet); color: #ffffff; }
.hm-lesson-status { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--hm-border); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 11px; }
.hm-lesson-item.is-done .hm-lesson-status { background: var(--hm-gold); border-color: var(--hm-gold); color: var(--hm-violet); }
.hm-lesson-item.is-active .hm-lesson-status { border-color: #ffffff; }
.hm-note-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--hm-gold); margin-left: auto; flex-shrink: 0; }

/* Colonne principale */
.hm-main-card { background: var(--hm-white); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 28px; margin-bottom: 20px; }
.hm-lesson-video { background: var(--hm-dark); border-radius: 10px; min-height: 320px; display: flex; align-items: center; justify-content: center; color: var(--hm-gold); font-size: 14px; margin-bottom: 20px; overflow: hidden; }
.hm-lesson-video iframe { width: 100%; height: 100%; border: 0; }
.hm-lesson-title { font-family: var(--hm-font-display); font-size: 24px; margin: 0 0 8px; color: var(--hm-violet); }
.hm-lesson-desc { font-size: 14px; color: var(--hm-ink-soft); line-height: 1.6; margin: 0 0 20px; }
.hm-lesson-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.hm-save-btn {
	font-size: 13px; font-weight: 700; color: var(--hm-violet); background: var(--hm-cream);
	border: 1px solid var(--hm-gold); border-radius: 20px; padding: 8px 16px; cursor: pointer;
	display: flex; align-items: center; gap: 6px;
}
.hm-save-btn.is-saved { background: var(--hm-gold); color: var(--hm-white); }

.hm-mark-done-btn.is-done { background: var(--hm-gold); color: var(--hm-white) !important; border-color: var(--hm-gold); }

/* Panneau notes */
.hm-notes-card { background: var(--hm-white); border: 1px solid var(--hm-border); border-radius: var(--hm-radius); padding: 24px; }
.hm-notes-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--hm-gold-dark); margin: 0 0 14px; }
.hm-note-entry { border-left: 3px solid var(--hm-gold); padding: 10px 14px; margin-bottom: 12px; background: var(--hm-cream); border-radius: 0 8px 8px 0; }
.hm-note-timestamp { font-size: 11.5px; color: var(--hm-gold-dark); font-weight: 700; margin: 0 0 4px; }
.hm-note-text { font-size: 13.5px; color: var(--hm-violet); margin: 0; line-height: 1.5; }
.hm-notes-input { width: 100%; border: 1px solid var(--hm-border); border-radius: 8px; padding: 12px 14px; font-size: 14px; color: var(--hm-violet); font-family: inherit; resize: vertical; min-height: 70px; margin-bottom: 10px; }
.hm-notes-input:focus { outline: none; border-color: var(--hm-gold); }

@media (max-width: 760px) {
	.hm-course-layout { grid-template-columns: 1fr; }
	.hm-plan-card { position: static; }
}

/* Bloc dupliqué "CHECKOUT v2" (pensé pour fond violet foncé) supprimé —
   il écrasait les bonnes couleurs définies plus haut (lignes ~297-320),
   rendant le texte de réassurance et le bouton copier illisibles sur
   le fond clair réel de la page. .hm-checkout-success-mark n'existait
   que dans ce bloc : conservée seule ci-dessous. */
.hm-checkout-success-mark{ width:48px; height:48px; font-size:18px; margin:0 auto 18px; }

/* ==========================================================================
   DASHBOARD MEMBRE — habillage premium (violet/or plus présent)
   ========================================================================== */

.hm-member-dashboard-premium{ background:linear-gradient(180deg, var(--hm-cream) 0%, var(--hm-white) 220px); border-radius:var(--hm-radius); padding:28px; }
.hm-member-dashboard-premium .hm-member-top{ border-bottom:1px solid var(--hm-gold); }
.hm-member-avatar{ width:44px; height:44px; border-radius:50%; background:var(--hm-violet); border:2px solid var(--hm-gold); color:var(--hm-cream); display:flex; align-items:center; justify-content:center; font-family:var(--hm-font-display); font-weight:700; font-size:17px; }
.hm-member-top-text{ display:flex; flex-direction:column; }
.hm-member-eyebrow{ font-size:11px; text-transform:uppercase; letter-spacing:0.5px; color:var(--hm-gold-dark); }
.hm-member-greeting{ font-weight:600; font-size:16px; color:var(--hm-violet-dark); }

.hm-member-dashboard-premium .hm-lesson-nav{ background:var(--hm-white); border:1px solid var(--hm-border); border-radius:14px; padding:22px; }
.hm-course-progress{ margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--hm-border); }
.hm-course-progress-title{ font-family:var(--hm-font-display); font-size:17px; color:var(--hm-violet-dark); margin-bottom:12px; }

.hm-progress-ring-row{ display:flex; align-items:center; gap:14px; margin-bottom:8px; }
.hm-progress-ring{ --hm-progress:0; width:52px; height:52px; min-width:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:conic-gradient(var(--hm-gold) calc(var(--hm-progress) * 1%), var(--hm-violet-soft) 0); position:relative; }
.hm-progress-ring::before{ content:""; position:absolute; inset:4px; border-radius:50%; background:var(--hm-white); }
.hm-progress-ring-value{ position:relative; z-index:1; font-size:12px; font-weight:700; color:var(--hm-violet-dark); }
.hm-progress-bar{ flex:1; height:8px; background:var(--hm-violet-soft); border-radius:6px; overflow:hidden; }
.hm-progress-fill{ height:100%; background:linear-gradient(90deg, var(--hm-gold-dark), var(--hm-gold)); transition:width .3s ease; }

.hm-member-dashboard-premium .hm-video-frame{ border-radius:14px; overflow:hidden; border:2px solid var(--hm-gold); box-shadow:var(--hm-shadow); }
.hm-member-dashboard-premium .hm-video-frame video{ width:100%; display:block; background:#000; aspect-ratio:16/9; }
.hm-member-dashboard-premium .hm-player-meta h2{ color:var(--hm-violet-dark); }
.hm-member-dashboard-premium .hm-module-discussion{ background:var(--hm-white); border:1px solid var(--hm-border); border-radius:12px; padding:22px 24px; margin-top:24px; border-top:3px solid var(--hm-gold); }

/* Sélecteur de cours (élève inscrit à plusieurs formations) */
.hm-course-switcher { display: flex; gap: 8px; flex-wrap: wrap; }
.hm-course-switcher .hm-btn.is-active { background: var(--hm-violet); color: #ffffff !important; border-color: var(--hm-violet); }

/* Disposition à deux colonnes : plan du cours + lecteur */
.hm-member-layout { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; margin-top: 22px; }
@media (max-width: 760px) { .hm-member-layout { grid-template-columns: 1fr; } }

.hm-nav-module-title { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--hm-gold-dark); margin: 18px 0 8px; }
.hm-nav-module-title:first-child { margin-top: 0; }
.hm-nav-lesson { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 14px; color: var(--hm-ink); margin-bottom: 2px; }
.hm-nav-lesson:hover { background: var(--hm-cream); }
.hm-nav-lesson.is-active { background: var(--hm-violet); color: #ffffff; }
.hm-nav-check { width: 18px; flex-shrink: 0; text-align: center; color: var(--hm-gold); }
.hm-nav-lesson.is-active .hm-nav-check { color: #ffffff; }
.hm-nav-lesson-title { flex: 1; }
.hm-nav-lesson-duration { font-size: 12px; color: var(--hm-ink-soft); flex-shrink: 0; }
.hm-nav-lesson.is-active .hm-nav-lesson-duration { color: rgba(255,255,255,0.75); }

.hm-mark-complete-label { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--hm-violet); margin-top: 16px; cursor: pointer; }

.hm-discussion-title { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--hm-gold-dark); margin: 0 0 14px; }
.hm-discussion-entry { border-left: 3px solid var(--hm-gold); background: var(--hm-cream); border-radius: 0 8px 8px 0; padding: 10px 14px; margin-bottom: 10px; }
.hm-discussion-entry-meta { font-size: 12px; font-weight: 700; color: var(--hm-gold-dark); margin: 0 0 4px; }
.hm-discussion-entry-text { font-size: 13.5px; color: var(--hm-violet); margin: 0; line-height: 1.5; }
.hm-discussion-input { width: 100%; border: 1px solid var(--hm-border); border-radius: 8px; padding: 12px 14px; font-size: 14px; color: var(--hm-violet); font-family: inherit; resize: vertical; min-height: 70px; margin-bottom: 10px; }
.hm-discussion-input:focus { outline: none; border-color: var(--hm-gold); }

/* ==========================================================================
   NEXT LEVEL WOMAN v3 — hero resserré (accroche + capsules + vidéo + CTA)
   et carte prix reformulée avec compte à rebours de lancement.
   ========================================================================== */

/* CTA : texte blanc partout sur cette page, comme demandé */
.hm-nlw .hm-btn-nlw-primary{ color:#ffffff; }
.hm-nlw .hm-btn-nlw-primary:hover{ color:#ffffff; }
.hm-nlw .hm-btn-nlw-outline{ color:#ffffff; border-color:var(--hm-gold); }
.hm-nlw .hm-btn-nlw-outline:hover{ background:rgba(255,255,255,0.08); }

/* ---- Hero resserré ---- */
.hm-nlw-hero-slim{ background:linear-gradient(160deg, var(--hm-violet) 0%, var(--hm-violet-dark) 100%); border:none; }
.hm-nlw-hero-slim-inner{ max-width:720px; margin:0 auto; padding:64px 24px; text-align:center; }
.hm-nlw-hero-slim .hm-nlw-eyebrow-center{ color:var(--hm-gold); }

.hm-nlw-hook-ar{ direction:rtl; unicode-bidi:isolate; font-family:var(--hm-font-display); font-size:26px; line-height:1.6; color:var(--hm-cream); margin:14px 0 22px; }
.hm-nlw-hook-divider{ width:64px; height:2px; background:var(--hm-gold); margin:0 auto 26px; }

.hm-nlw-capsule-list{ list-style:none; margin:0 auto 30px; padding:0; display:flex; flex-direction:column; gap:10px; max-width:420px; }
.hm-nlw-capsule-list li{ background:rgba(255,255,255,0.06); border:1px solid rgba(200,169,110,0.4); border-radius:8px; padding:12px 18px; color:#f1e6fb; font-size:14.5px; font-weight:500; }

.hm-nlw-hero-video{ margin:0 auto 30px; max-width:640px; border-radius:14px; overflow:hidden; border:2px solid var(--hm-gold); box-shadow:0 20px 50px rgba(0,0,0,0.35); }
.hm-nlw-hero-video video{ width:100%; display:block; aspect-ratio:16/9; background:#000; }

.hm-nlw-hero-slim .hm-nlw-hero-cta-row{ margin:6px 0 14px; }
.hm-nlw-hero-slim .hm-nlw-hero-note{ color:#d9c2f0; }

/* ---- Pricing v3 — badge de lancement + compte à rebours ---- */
.hm-nlw-launch-badge{ display:inline-block; background:var(--hm-gold); color:var(--hm-violet-dark); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:6px 14px; border-radius:20px; margin-bottom:14px; }

.hm-nlw-price-value-suffix{ font-family:var(--hm-font-body); font-size:15px; color:#e7d9f5; font-weight:400; }

.hm-nlw-countdown{ background:rgba(255,255,255,0.06); border:1px solid var(--hm-gold); border-radius:12px; padding:16px 14px; margin:6px 0 24px; }
.hm-nlw-countdown-label{ font-size:12px; color:var(--hm-gold); text-transform:uppercase; letter-spacing:0.5px; margin:0 0 10px; text-align:center; }
.hm-nlw-countdown-digits{ display:flex; justify-content:center; gap:14px; }
.hm-nlw-countdown-unit{ display:flex; flex-direction:column; align-items:center; min-width:44px; }
.hm-nlw-countdown-unit span{ font-family:var(--hm-font-display); font-size:26px; font-weight:700; color:var(--hm-cream); line-height:1; }
.hm-nlw-countdown-unit small{ font-size:10px; color:#c8b3e0; text-transform:uppercase; margin-top:4px; }

/* Espacement mobile : la carte prix et le hero ne touchent plus les bords */
@media (max-width:900px){
	.hm-nlw-hero-slim-inner{ padding:44px 20px; }
	.hm-nlw-hook-ar{ font-size:21px; }
	.hm-nlw-pricing{ padding:40px 16px; }
	.hm-nlw-price-card{ padding:32px 22px; margin-left:8px; margin-right:8px; }
	.hm-nlw-countdown-digits{ gap:8px; }
	.hm-nlw-countdown-unit{ min-width:38px; }
	.hm-nlw-countdown-unit span{ font-size:21px; }
}