/* Composants réutilisables, tous préfixés .nxt-* (aucun style global de bouton). */

/* ---------- Boutons ---------- */
.nxt-btn,
.wp-block-button.is-style-nxt-primary .wp-block-button__link,
.wp-block-button.is-style-nxt-secondary .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--nxt-space-2);
  min-height: 48px; padding: 0.75rem 1.5rem;
  font: 600 var(--nxt-fs-sm)/1.2 var(--nxt-font-sans);
  border: 1px solid transparent; border-radius: 999px;
  text-decoration: none; cursor: pointer;
  transition: background-color var(--nxt-transition-fast), border-color var(--nxt-transition-fast),
              color var(--nxt-transition-fast), box-shadow var(--nxt-transition-fast), transform var(--nxt-transition-fast);
}
.nxt-btn--primary,
.wp-block-button.is-style-nxt-primary .wp-block-button__link {
  background: var(--nxt-primary); color: var(--nxt-on-primary);
}
.nxt-btn--primary:hover,
.wp-block-button.is-style-nxt-primary .wp-block-button__link:hover {
  background: var(--nxt-primary-hover); color: var(--nxt-on-primary); box-shadow: var(--nxt-glow);
}
.nxt-btn--secondary,
.wp-block-button.is-style-nxt-secondary .wp-block-button__link {
  background: rgba(255, 255, 255, 0.04); color: var(--nxt-heading); border-color: var(--nxt-border-strong);
}
.nxt-btn--secondary:hover,
.wp-block-button.is-style-nxt-secondary .wp-block-button__link:hover {
  border-color: var(--nxt-primary); color: var(--nxt-link); background: var(--nxt-lavender);
}
.nxt-btn--link {
  min-height: 0; padding: 0; background: none; color: var(--nxt-link);
  text-decoration: underline; text-underline-offset: 4px;
}
.nxt-btn:active { transform: translateY(1px); }
.nxt-btn:disabled, .nxt-btn[aria-disabled="true"] {
  background: var(--nxt-surface-2); color: var(--nxt-muted); border-color: var(--nxt-border);
  cursor: not-allowed; box-shadow: none; transform: none;
}

/* ---------- Cartes (formation, catégorie, fonctionnalité, témoignage, tarif) ---------- */
/* Carte sombre : bordure dégradée (padding-box/border-box), lumière qui suit le pointeur (--mx/--my, effects.js),
   léger soulèvement et halo violet au survol. */
.nxt-card, .nxt-glow-card {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(var(--nxt-background-soft), var(--nxt-background-soft)) padding-box, var(--nxt-gradient-border) border-box;
  border: 1px solid transparent; border-radius: var(--nxt-radius-lg); padding: var(--nxt-space-8);
  box-shadow: var(--nxt-shadow-sm);
  transition: transform var(--nxt-transition), box-shadow var(--nxt-transition);
}
.nxt-card::before, .nxt-glow-card::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(73, 121, 232, 0.16), transparent 60%);
  transition: opacity var(--nxt-transition);
}
.nxt-card:hover, .nxt-glow-card:hover { transform: translateY(-4px); box-shadow: var(--nxt-glow); }
.nxt-card:hover::before, .nxt-glow-card:hover::before { opacity: 1; }
.nxt-card--featured { background: linear-gradient(var(--nxt-surface-2), var(--nxt-surface-2)) padding-box, linear-gradient(140deg, #A4BCF4, #4979E8 45%, rgba(255,255,255,.08)) border-box; box-shadow: var(--nxt-glow); }

/* ---------- Badges et alertes ---------- */
.nxt-badge {
  display: inline-flex; align-items: center; padding: 0.25rem 0.75rem;
  font: 500 var(--nxt-fs-xs)/1.4 var(--nxt-font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--nxt-link); background: var(--nxt-lavender); border-radius: 999px;
}
.nxt-alert {
  padding: var(--nxt-space-4) var(--nxt-space-6); border-radius: var(--nxt-radius);
  border: 1px solid currentColor; font-size: var(--nxt-fs-sm);
}
.nxt-alert--success { color: var(--nxt-success); background: var(--nxt-success-bg); }
.nxt-alert--warning { color: var(--nxt-warning); background: var(--nxt-warning-bg); }
.nxt-alert--danger  { color: var(--nxt-danger);  background: var(--nxt-danger-bg); }
.nxt-alert--info    { color: var(--nxt-info);    background: var(--nxt-info-bg); }

/* ---------- Formulaires (portée .nxt-form, + Fluent Forms) ---------- */
.nxt-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, textarea),
.fluentform .ff-el-form-control {
  width: 100%; min-height: 48px; padding: 0.75rem 1rem;
  font: 400 var(--nxt-fs-base)/1.4 var(--nxt-font-sans); color: var(--nxt-heading);
  background: var(--nxt-surface-2); border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-sm);
  transition: border-color var(--nxt-transition-fast), box-shadow var(--nxt-transition-fast);
}
.nxt-form :where(input, select, textarea):focus,
.fluentform .ff-el-form-control:focus {
  border-color: var(--nxt-primary); box-shadow: 0 0 0 3px var(--nxt-lavender); outline: none;
}
.nxt-form :where(input, select, textarea)[aria-invalid="true"],
.fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--nxt-danger); }
.nxt-form label, .fluentform .ff-el-input--label label {
  font-weight: 600; color: var(--nxt-heading); font-size: var(--nxt-fs-sm);
}
.nxt-form :where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--nxt-primary); width: 1.125rem; height: 1.125rem; }
.nxt-form .nxt-error { color: var(--nxt-danger); font-size: var(--nxt-fs-sm); }

/* ---------- FAQ (<details class="nxt-faq">) ---------- */
.nxt-faq { border-bottom: 1px solid var(--nxt-border); padding: var(--nxt-space-4) 0; }
.nxt-faq summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--nxt-space-4);
  font-weight: 600; color: var(--nxt-heading);
}
.nxt-faq summary::-webkit-details-marker { display: none; }
.nxt-faq summary::after { content: "+"; font-family: var(--nxt-font-mono); color: var(--nxt-link); }
.nxt-faq[open] summary::after { content: "\2212"; }
.nxt-faq > :not(summary) { margin-top: var(--nxt-space-3); }

/* ---------- Progression ---------- */
.nxt-progress { height: 8px; background: var(--nxt-lavender); border-radius: 999px; overflow: hidden; }
.nxt-progress > span { display: block; height: 100%; background: var(--nxt-primary); border-radius: inherit; transition: width var(--nxt-transition); }

/* ---------- Bandeau promotionnel ---------- */
.nxt-promo-banner {
  background: var(--nxt-lavender); color: var(--nxt-heading); text-align: center;
  padding: var(--nxt-space-3) var(--nxt-space-4); font-size: var(--nxt-fs-sm);
}

/* ---------- Onglets (WAI-ARIA, JS léger dans assets/js/tabs.js) ---------- */
.nxt-tabs [role="tablist"] { display: flex; gap: var(--nxt-space-2); border-bottom: 1px solid var(--nxt-border); overflow-x: auto; }
.nxt-tabs [role="tab"] {
  min-height: 44px; padding: 0.5rem 1rem; background: none; border: 0; border-bottom: 2px solid transparent;
  font: 600 var(--nxt-fs-sm) var(--nxt-font-sans); color: var(--nxt-text); cursor: pointer;
}
.nxt-tabs [role="tab"][aria-selected="true"] { color: var(--nxt-link); border-bottom-color: var(--nxt-primary); }

/* ---------- Navigation (étiquettes mono, en complément du Customizer Blocksy) ---------- */
.nxt-nav-mono .menu > li > a {
  font-family: var(--nxt-font-mono); font-weight: 500; font-size: var(--nxt-fs-xs);
  letter-spacing: 0.08em; text-transform: uppercase;
}


/* =========================================================
   SECTIONS — système unique d'espacement (thème sombre)
   .nxt-s            section pleine largeur, padding vertical --nxt-section-y
   .nxt-s--alt       fond plus profond (#161B26) pour alterner
   .nxt-s--brand     bandeau violet (appel à l'action)
   .nxt-container    conteneur 1200 px + gouttière (identique en-tête / pied)
   .nxt-head         surtitre + titre + intro, suivi d'un écart --nxt-stack
   ========================================================= */
.nxt-s { padding-block: var(--nxt-section-y); position: relative; background: transparent; color: var(--nxt-text); }
.nxt-s--alt { background: transparent; }
.nxt-s--soft { background: transparent; } /* alias historique */
.nxt-s--dark { background: transparent; } /* alias historique */
.nxt-s--brand { background: transparent; color: #fff; }
.nxt-s--brand > .nxt-container {
  position: relative; overflow: hidden; isolation: isolate;
  max-width: calc(var(--nxt-container) + 2 * var(--nxt-gutter));
  padding: clamp(2.5rem, 2rem + 4vw, 5rem) clamp(1.5rem, 1rem + 4vw, 4.5rem);
  border-radius: var(--nxt-radius-xl);
  background: radial-gradient(70% 120% at 90% 0%, rgba(73, 121, 232, .55), transparent 60%),
              linear-gradient(140deg, #293DA4, #1C234F 55%, #1C234F) padding-box,
              linear-gradient(140deg, #A4BCF4, rgba(255,255,255,.08) 50%, #4979E8) border-box;
  border: 1px solid transparent; box-shadow: var(--nxt-glow);
}
@media (max-width: 1279px) { .nxt-s--brand > .nxt-container { margin-inline: var(--nxt-gutter); width: auto; } }
.nxt-s :where(h1, h2, h3, h4) { color: var(--nxt-heading); }
.nxt-s--brand .nxt-eyebrow, .nxt-s--brand .nxt-accent { color: #fff; }
.nxt-s--brand p { color: rgba(255, 255, 255, 0.92); }

.nxt-container { width: 100%; max-width: calc(var(--nxt-container) + 2 * var(--nxt-gutter)); margin-inline: auto; padding-inline: var(--nxt-gutter); }
.nxt-s .nxt-container > *, .nxt-head > *, .nxt-grid > *, .nxt-card > *, .nxt-panel > * { margin-block: 0; }
.nxt-head { display: grid; gap: var(--nxt-space-4); max-width: 48rem; margin-block-end: var(--nxt-stack) !important; }
.nxt-head h2 { font-size: var(--nxt-fs-h1); letter-spacing: -0.04em; line-height: 1.02; }
.nxt-head p:not(.nxt-eyebrow) { font-size: var(--nxt-fs-lg); }
.nxt-head--center { margin-inline: auto; text-align: center; justify-items: center; }
.nxt-head--split { max-width: none; grid-template-columns: 1fr; align-items: end; }
@media (min-width: 900px) { .nxt-head--split { grid-template-columns: 1.2fr 1fr; gap: var(--nxt-space-12); } }
.nxt-head--split > div { display: grid; gap: var(--nxt-space-4); }
.nxt-head--split > div > * { margin: 0; }

.nxt-eyebrow { display: inline-flex; align-items: center; gap: var(--nxt-space-3); color: var(--nxt-link); }
.nxt-eyebrow::before { content: ""; width: 2rem; height: 1px; background: currentColor; }
.nxt-head--center .nxt-eyebrow::after { content: ""; width: 2rem; height: 1px; background: currentColor; }

.nxt-grid { display: grid; gap: var(--nxt-space-6); grid-template-columns: 1fr; }
@media (min-width: 700px) { .nxt-grid--2, .nxt-grid--3, .nxt-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nxt-grid--3 { grid-template-columns: repeat(3, 1fr); } .nxt-grid--4 { grid-template-columns: repeat(4, 1fr); } }

.nxt-s .nxt-card { display: grid; gap: var(--nxt-space-3); align-content: start; }
.nxt-card h3 { font-size: var(--nxt-fs-h4); letter-spacing: -0.02em; }
.nxt-card .nxt-mono { color: var(--nxt-muted); }
.nxt-card a { color: var(--nxt-link); font-weight: 600; text-decoration: none; }
.nxt-card a:hover { color: #fff; }
.nxt-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--nxt-lavender); color: var(--nxt-link); font: 600 1.125rem/1 var(--nxt-font-mono); }
.nxt-status { justify-self: start; font: 500 .75rem/1 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; padding: .4rem .65rem; border: 1px solid currentColor; border-radius: 999px; }
.nxt-status--on { color: var(--nxt-success); }
.nxt-status--soon { color: var(--nxt-muted); }

/* Boutons */
.wp-block-button.is-style-nxt-primary .wp-block-button__link::after { content: " →"; }
.nxt-s--brand .is-style-nxt-primary .wp-block-button__link { background: #fff; color: #2B49CA; }
.nxt-s--brand .is-style-nxt-primary .wp-block-button__link:hover { background: #FFFFFF; color: #2B49CA; box-shadow: none; }
.nxt-s--brand .is-style-nxt-secondary .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.nxt-s--brand .is-style-nxt-secondary .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.nxt-s .wp-block-buttons { gap: var(--nxt-space-4); }

/* ---------- 01 Héros ---------- */
.nxt-hero { padding-block: clamp(4.5rem, 3rem + 7vw, 9rem); overflow: hidden; background: transparent; }
.nxt-hero::before { /* halo violet */
  content: ""; position: absolute; inset: -20% -10% auto auto; width: 70vw; height: 70vw; max-width: 900px; max-height: 900px; pointer-events: none;
  background: radial-gradient(closest-side, rgba(62, 100, 222, 0.35), transparent 70%); filter: blur(10px);
}
.nxt-hero::after { /* trame */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(var(--nxt-border) 1px, transparent 1px), linear-gradient(90deg, var(--nxt-border) 1px, transparent 1px);
  background-size: 64px 64px; opacity: .5; mask-image: radial-gradient(70% 60% at 75% 30%, #000 0%, transparent 75%);
}
.nxt-hero .nxt-container { position: relative; z-index: 1; display: grid; gap: var(--nxt-stack); align-items: center; }
@media (min-width: 1024px) { .nxt-hero:not(.nxt-hero--page) .nxt-container { grid-template-columns: 1.35fr 1fr; } }
.nxt-hero__copy { display: grid; gap: var(--nxt-space-6); }
.nxt-hero__copy > * { margin: 0; }
.nxt-hero h1 { font-size: var(--nxt-fs-display); letter-spacing: -0.045em; line-height: .98; font-weight: 800; }
.nxt-hero .nxt-lead { font-size: var(--nxt-fs-lg); max-width: 34rem; }
.nxt-hero .wp-block-buttons { margin-top: var(--nxt-space-2); }

/* Panneau du héros */
.nxt-panel {
  position: relative; display: grid; gap: var(--nxt-space-6); padding: var(--nxt-space-8);
  background: linear-gradient(rgba(31, 36, 47, .85), rgba(31, 36, 47, .85)) padding-box, var(--nxt-gradient-border) border-box;
  border: 1px solid transparent; border-radius: var(--nxt-radius-xl); box-shadow: var(--nxt-shadow-lg);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.nxt-panel__top { display: flex; justify-content: space-between; align-items: baseline; gap: var(--nxt-space-4); }
.nxt-panel__top > * { margin: 0; }
.nxt-panel__count { font: 300 var(--nxt-fs-h2)/1 var(--nxt-font-sans); color: var(--nxt-link); letter-spacing: -0.03em; }
.nxt-panel ol, .nxt-panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--nxt-space-2); }
.nxt-panel li { display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--nxt-space-3); align-items: center; padding: var(--nxt-space-4); border-radius: var(--nxt-radius); background: rgba(255, 255, 255, .03); border: 1px solid var(--nxt-border); color: #fff; font-weight: 600; }
.nxt-panel li span { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); color: var(--nxt-link); letter-spacing: .08em; }
.nxt-panel__note { font-size: var(--nxt-fs-sm); color: var(--nxt-muted); }

/* En-tête de page (Formations, Aide…) */
.nxt-hero--page { padding-block: clamp(4rem, 3rem + 5vw, 7rem); }
.nxt-hero--page .nxt-container { gap: var(--nxt-space-6); grid-template-columns: 1fr; justify-items: start; }
.nxt-hero--page .nxt-container > * { margin: 0; }
.nxt-hero--page h1 { font-size: var(--nxt-fs-display); }
.nxt-hero--page .nxt-lead { max-width: 40rem; }

/* ---------- 02 Preuves (bandeau de faits vérifiables) ---------- */
.nxt-proof { padding-block: var(--nxt-space-12); }
.nxt-proof__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--nxt-space-6); }
@media (min-width: 700px) { .nxt-proof__list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nxt-proof__list { grid-template-columns: repeat(4, 1fr); } }
.nxt-proof__list li { display: grid; gap: var(--nxt-space-1); padding-left: var(--nxt-space-4); border-left: 2px solid var(--nxt-primary); }
.nxt-proof__list strong { color: #fff; font-size: var(--nxt-fs-lg); letter-spacing: -0.01em; }
.nxt-proof__list span { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }

/* ---------- 04 Solution : maquette d'interface ---------- */
.nxt-split { display: grid; gap: var(--nxt-stack); align-items: center; }
@media (min-width: 900px) { .nxt-split { grid-template-columns: 1fr 1.15fr; } .nxt-split--top { align-items: start; } .nxt-split > .nxt-head { margin-block-end: 0 !important; } }
@media (min-width: 900px) { .nxt-split--top > .nxt-head { position: sticky; top: 7rem; } }
.nxt-mock { padding: var(--nxt-space-6); border-radius: var(--nxt-radius-xl); }
.nxt-mock__bar { display: flex; gap: 6px; margin-bottom: var(--nxt-space-6); }
.nxt-mock__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .15); }
.nxt-mock__row { display: grid; grid-template-columns: 1fr auto; gap: var(--nxt-space-2) var(--nxt-space-4); align-items: center; padding: var(--nxt-space-4); border-radius: var(--nxt-radius); background: rgba(255, 255, 255, .03); border: 1px solid var(--nxt-border); }
.nxt-mock__row + .nxt-mock__row { margin-top: var(--nxt-space-3); }
.nxt-mock__row b { color: #fff; font-weight: 600; }
.nxt-mock__row em { font: normal 500 .75rem/1 var(--nxt-font-mono); letter-spacing: .08em; color: var(--nxt-link); text-transform: uppercase; }
.nxt-mock__track { grid-column: 1 / -1; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.nxt-mock__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4979E8, #A4BCF4); }
.nxt-mock__score { display: flex; align-items: baseline; gap: var(--nxt-space-3); margin-top: var(--nxt-space-6); padding-top: var(--nxt-space-6); border-top: 1px solid var(--nxt-border); }
.nxt-mock__score strong { font-size: var(--nxt-fs-h2); color: #fff; letter-spacing: -0.03em; }
.nxt-mock__score span { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }

/* ---------- 06 Étapes ---------- */
.nxt-steps { display: grid; grid-template-columns: 1fr; gap: var(--nxt-space-6); counter-reset: step; }
@media (min-width: 700px) { .nxt-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nxt-steps { grid-template-columns: repeat(4, 1fr); } }
.nxt-step__num { font: 300 var(--nxt-fs-h1)/1 var(--nxt-font-sans); letter-spacing: -0.04em; background: linear-gradient(180deg, #A4BCF4, rgba(73, 121, 232, .25)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- 07 Avis ---------- */
.nxt-quote { font-size: var(--nxt-fs-lg); color: #fff; line-height: 1.5; }
.nxt-quote-meta { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }

/* ---------- 08 Tarifs ---------- */
.nxt-price { display: grid; gap: var(--nxt-space-4); }
.nxt-price__amount { font-size: var(--nxt-fs-h2); font-weight: 800; letter-spacing: -0.03em; color: #fff; }
.nxt-price ul { list-style: none; margin: 0; padding: var(--nxt-space-4) 0 0; border-top: 1px solid var(--nxt-border); display: grid; gap: var(--nxt-space-3); }
.nxt-price li { padding-left: 1.75rem; position: relative; }
.nxt-price li::before { content: "✓"; position: absolute; left: 0; color: var(--nxt-link); font-weight: 700; }
.nxt-price .wp-block-buttons { margin-top: var(--nxt-space-2); }
.nxt-price .wp-block-button, .nxt-price .wp-block-button__link { width: 100%; }
.nxt-tag { justify-self: start; font: 500 .75rem/1 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; padding: .45rem .7rem; border-radius: 999px; background: var(--nxt-primary); color: var(--nxt-on-primary); }

/* ---------- Formations (boucle de requête) ---------- */
.nxt-courses .wp-block-post-template { display: grid !important; grid-template-columns: 1fr !important; gap: var(--nxt-space-6); list-style: none; padding: 0; }
@media (min-width: 700px) { .nxt-courses .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (min-width: 1024px) { .nxt-courses .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.nxt-courses .wp-block-post-template > li { margin: 0; }
.nxt-card--course { padding: 0 !important; gap: 0 !important; height: 100%; }
.nxt-card--course .wp-block-post-featured-image { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.nxt-card--course .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--nxt-transition); }
.nxt-card--course:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.nxt-card--course:not(:has(img))::after { content: ""; order: -1; display: block; aspect-ratio: 16 / 10; background: radial-gradient(circle at 30% 30%, rgba(73, 121, 232, .35), transparent 60%), var(--nxt-surface-2); }
.nxt-card--course > :not(.wp-block-post-featured-image) { margin-inline: var(--nxt-space-6); }
.nxt-card--course .wp-block-post-title { margin-top: var(--nxt-space-6); font-size: var(--nxt-fs-h4); letter-spacing: -0.02em; line-height: 1.25; }
.nxt-card--course .wp-block-post-title a { color: #fff; }
.nxt-card--course .wp-block-post-excerpt { margin-block: var(--nxt-space-3) var(--nxt-space-6); font-size: var(--nxt-fs-sm); }
.nxt-card--course .wp-block-post-excerpt__more-text { display: none; }
.nxt-after-grid { margin-top: var(--nxt-stack) !important; }

/* ---------- Liste qualité numérotée ---------- */
.nxt-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--nxt-space-3); }
.nxt-checklist li { display: grid; grid-template-columns: 3rem 1fr; column-gap: var(--nxt-space-4); row-gap: var(--nxt-space-1); padding: var(--nxt-space-6); border-radius: var(--nxt-radius); background: var(--nxt-background-soft); border: 1px solid var(--nxt-border); }
.nxt-checklist li span { grid-row: span 2; font: 500 var(--nxt-fs-xs)/1.9 var(--nxt-font-mono); letter-spacing: .08em; color: var(--nxt-link); }
.nxt-checklist li strong { display: block; color: #fff; font-size: var(--nxt-fs-lg); letter-spacing: -0.01em; }

/* ---------- FAQ ---------- */
.nxt-faq-list { display: grid; gap: var(--nxt-space-3); }
.nxt-faq-list > *, .nxt-help-group > * { margin: 0; }
.nxt-faq { padding: var(--nxt-space-6); border: 1px solid var(--nxt-border); border-radius: var(--nxt-radius); background: var(--nxt-background-soft); transition: border-color var(--nxt-transition-fast); }
.nxt-faq[open], .nxt-faq:hover { border-color: rgba(73, 121, 232, .45); }
.nxt-faq summary { font-size: var(--nxt-fs-lg); }
.nxt-faq summary::after { width: 28px; height: 28px; display: grid; place-items: center; flex: none; border-radius: 50%; background: var(--nxt-lavender); }
.nxt-help-group { display: grid; gap: var(--nxt-space-3); }
.nxt-help-group + .nxt-help-group { margin-top: var(--nxt-stack) !important; }
.nxt-help-group > h2 { font-size: var(--nxt-fs-h3); letter-spacing: -0.03em; scroll-margin-top: 7rem; margin-bottom: var(--nxt-space-2) !important; }
.nxt-help-topics h3 a { color: #fff; }
.nxt-help-topics h3 a::after { content: ""; position: absolute; inset: 0; }

/* ---------- Appel à l'action ---------- */
.nxt-cta-band .nxt-container { display: grid; gap: var(--nxt-space-8); }
@media (min-width: 900px) { .nxt-cta-band .nxt-container { grid-template-columns: 1.4fr auto; align-items: end; } }
.nxt-cta-band h2 { font-size: var(--nxt-fs-h1); letter-spacing: -0.04em; line-height: 1.02; color: #fff; }
.nxt-cta-band .nxt-head { margin-block-end: 0 !important; }

/* ---------- Grille des domaines [nxt_categories] ---------- */
.nxt-cat-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--nxt-space-4); }
@media (min-width: 700px) { .nxt-cat-grid { grid-template-columns: repeat(2, 1fr); } }
.nxt-cat > * { height: 100%; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; column-gap: var(--nxt-space-4); row-gap: var(--nxt-space-2); text-decoration: none; color: #fff; }
.nxt-cat__index { grid-row: span 2; font: 500 var(--nxt-fs-xs)/2 var(--nxt-font-mono); letter-spacing: .08em; color: var(--nxt-link); }
.nxt-cat__name { font-size: var(--nxt-fs-h4); font-weight: 700; letter-spacing: -0.02em; }
.nxt-cat__desc { grid-column: 2 / 4; color: var(--nxt-text); }
.nxt-cat--soon > * { opacity: .6; }
.nxt-cat--soon .nxt-glow-card:hover { transform: none; box-shadow: var(--nxt-shadow-sm); }
.nxt-cat__status { grid-column: 3; grid-row: 1; align-self: start; font: 500 .75rem/1 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; padding: .4rem .65rem; border: 1px solid currentColor; border-radius: 999px; color: var(--nxt-success); white-space: nowrap; }
.nxt-cat--soon .nxt-cat__status { color: var(--nxt-muted); }
@media (max-width: 480px) {
  .nxt-cat > * { grid-template-columns: 2rem minmax(0, 1fr); }
  .nxt-cat__desc { grid-column: 2; }
  .nxt-cat__status { grid-column: 2; grid-row: auto; justify-self: start; }
}

/* ---------- Pages de texte (mentions, confidentialité, CGV…) ---------- */
body.page:not(.tutor-frontend):not(.home) .entry-content { max-width: 46rem; margin-inline: auto; }
body.page:not(.tutor-frontend):not(.home) .entry-content > * + * { margin-top: var(--nxt-space-4); }
body.page:not(.tutor-frontend):not(.home) .entry-content h2 { font-size: var(--nxt-fs-h4); letter-spacing: -0.02em; margin-top: var(--nxt-space-12); padding-top: var(--nxt-space-6); border-top: 1px solid var(--nxt-border); }
body.page:not(.tutor-frontend):not(.home) .entry-content a { color: var(--nxt-link); text-underline-offset: 3px; }
.nxt-todo { background: var(--nxt-warning-bg); color: var(--nxt-warning); padding: 0 .3em; border-radius: 6px; }
.nxt-legal-note { padding: var(--nxt-space-4) var(--nxt-space-6); border: 1px solid var(--nxt-warning); background: var(--nxt-warning-bg); color: var(--nxt-warning); border-radius: var(--nxt-radius); font-size: var(--nxt-fs-sm); }

@media (prefers-reduced-motion: reduce) {
  .nxt-card:hover, .nxt-glow-card:hover { transform: none; }
}
.nxt-price__amount .nxt-todo { font-size: var(--nxt-fs-base); font-weight: 600; letter-spacing: 0; vertical-align: middle; }

/* =========================================================
   APPARITIONS AU DÉFILEMENT (reveal.js ajoute .is-visible)
   Sans JS ou avec « réduire les animations », tout reste visible.
   ========================================================= */
html { scroll-behavior: smooth; }
.nxt-reveal { opacity: 0; transform: translateY(28px); transition: opacity 700ms cubic-bezier(.2,.7,.2,1), transform 700ms cubic-bezier(.2,.7,.2,1); transition-delay: var(--nxt-delay, 0ms); }
.nxt-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nxt-reveal { opacity: 1; transform: none; transition: none; }
}

/* Grilles : aucune marge héritée de Gutenberg (cartes strictement symétriques). */
.nxt-steps > *, .nxt-grid > * { margin: 0 !important; }

/* Héros : route de nuit (thème taxi / VTC) en fond */
.nxt-hero:not(.nxt-hero--page)::after {
  background-image: url("../img/hero-road.svg?v=tutor"); background-size: cover; background-position: center bottom;
  opacity: .9; -webkit-mask-image: linear-gradient(transparent, #000 35%); mask-image: linear-gradient(transparent, #000 35%);
}

/* Section des cartes Tutor : fond légèrement teinté pour attirer l'œil, fondu aux bords (pas de rupture). */
.nxt-s--feature { background: linear-gradient(180deg, transparent, rgba(62, 100, 222, .10) 18%, rgba(62, 100, 222, .10) 82%, transparent); }

/* ---------- Avis défilants [nxt_reviews] ---------- */
.nxt-reviews { display: flex; gap: var(--nxt-space-6); overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.nxt-reviews__track { list-style: none; margin: 0; padding: var(--nxt-space-2) 0; display: flex; gap: var(--nxt-space-6); flex: none; animation: nxt-marquee 50s linear infinite; }
.nxt-reviews:hover .nxt-reviews__track { animation-play-state: paused; }
@keyframes nxt-marquee { to { transform: translateX(calc(-100% - var(--nxt-space-6))); } }
.nxt-review { width: min(360px, 80vw); display: grid; gap: var(--nxt-space-3); align-content: start; }
.nxt-review > * { margin: 0; }
.nxt-review__stars { color: #FDB022; letter-spacing: .15em; }
.nxt-review__text { color: #fff; font-size: var(--nxt-fs-lg); line-height: 1.5; }
.nxt-review__meta { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }
@media (prefers-reduced-motion: reduce) {
  .nxt-reviews { overflow-x: auto; } .nxt-reviews__track { animation: none; } .nxt-reviews__track[aria-hidden] { display: none; }
}

/* ---------- Pages Programme officiel (tableaux) ---------- */
.nxt-table { margin: 0; overflow-x: auto; border-radius: var(--nxt-radius-lg); border: 1px solid var(--nxt-border); background: var(--nxt-background-soft); }
.nxt-table table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: var(--nxt-fs-sm); }
.nxt-table th, .nxt-table td { padding: var(--nxt-space-4) var(--nxt-space-6); text-align: left; border-bottom: 1px solid var(--nxt-border); color: var(--nxt-text); vertical-align: top; }
.nxt-table thead th { font: 500 .75rem/1.4 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nxt-muted); background: rgba(255, 255, 255, .02); }
.nxt-table tbody th { color: #fff; font-weight: 600; }
.nxt-table tbody tr:last-child > * { border-bottom: 0; }
.nxt-table tbody tr.nxt-table__group th { font: 500 .75rem/1.4 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nxt-link); background: var(--nxt-lavender); }
.nxt-table td strong { color: #fff; }
.nxt-table figcaption { padding: var(--nxt-space-4) var(--nxt-space-6); color: var(--nxt-muted); font-size: var(--nxt-fs-sm); border-top: 1px solid var(--nxt-border); }
.nxt-note { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }
.nxt-kpis { display: grid; gap: var(--nxt-space-4); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .nxt-kpis { grid-template-columns: repeat(4, 1fr); } }
.nxt-kpi { display: grid; gap: var(--nxt-space-1); }
.nxt-kpi strong { font-size: var(--nxt-fs-h2); color: #fff; letter-spacing: -0.03em; line-height: 1; }
.nxt-kpi span { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }
.nxt-stack-lg > * + * { margin-top: var(--nxt-stack) !important; }

/* =========================================================
   PROGRAMMES DE FORMATION (patterns/programme-*.php)
   ========================================================= */
.nxt-grid--1 { grid-template-columns: 1fr !important; margin-top: var(--nxt-space-6) !important; }
.nxt-offer { display: grid; align-content: start; gap: var(--nxt-space-3); }
.nxt-offer__name { font-size: var(--nxt-fs-h4); font-weight: 800; letter-spacing: -0.02em; color: #fff; }
/* Liste à puces cochées */
.nxt-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--nxt-space-3); }
.nxt-checks li { position: relative; padding-left: 1.75rem; color: var(--nxt-text); }
.nxt-checks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--nxt-lavender) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2 7 10.5l4.5-5' fill='none' stroke='%23A4BCF4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.nxt-checks li strong { color: #fff; font-weight: 600; }
.nxt-card > h3 + .nxt-checks { margin-top: var(--nxt-space-4); }
/* Modules en accordéon */
.nxt-faq-list + .nxt-faq-list, .nxt-table + .nxt-faq-list, figure + .nxt-faq-list { margin-top: var(--nxt-space-6) !important; }
.nxt-module summary { gap: var(--nxt-space-4); justify-content: flex-start; text-align: left; }
.nxt-module summary::after { margin-left: auto; }
.nxt-module__num { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); letter-spacing: .08em; color: var(--nxt-link); margin-right: var(--nxt-space-3); }
.nxt-module[open] > :not(summary) { margin-top: var(--nxt-space-4); }
.nxt-module > * + :not(summary) { margin-top: var(--nxt-space-3); }
.nxt-module__meta { font: 500 var(--nxt-fs-xs)/1.5 var(--nxt-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--nxt-muted); }
.nxt-module__meta strong { color: var(--nxt-link); font-weight: 500; }
/* Titres h3 entre les tableaux de l'examen */
#examen h3 { margin-top: var(--nxt-space-8); margin-bottom: var(--nxt-space-4); font-size: var(--nxt-fs-h4); }

/* =========================================================
   PAGE CONTACT (patterns/contact.php) + FORMULAIRE FLUENT FORMS
   Les règles sont préfixées par .nxt-contact__form pour primer sur les styles de Fluent Forms.
   ========================================================= */
.nxt-contact { display: grid; gap: var(--nxt-space-8); align-items: start; }
@media (min-width: 960px) { .nxt-contact { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--nxt-space-12, 3rem); } }
.nxt-contact__aside { display: grid; gap: var(--nxt-space-4); }
@media (min-width: 960px) { .nxt-contact__aside { position: sticky; top: 7rem; } }
.nxt-contact__aside > *, .nxt-contact__form > * { margin: 0 !important; }
.nxt-contact__promise { background: linear-gradient(140deg, #293DA4, #1C234F 70%) padding-box, var(--nxt-gradient-border) border-box !important; }
.nxt-contact__big { font-size: clamp(3rem, 2.4rem + 3vw, 4.5rem); font-weight: 800; letter-spacing: -0.05em; line-height: 1; color: #fff; }
.nxt-contact__promise p:not(.nxt-contact__big) { color: #DBE4FA; margin-top: var(--nxt-space-3) !important; }
.nxt-contact__item { padding: var(--nxt-space-5, 1.25rem) var(--nxt-space-6) !important; }
.nxt-contact__item .nxt-mono { font-size: var(--nxt-fs-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--nxt-muted); margin-bottom: var(--nxt-space-1) !important; }
.nxt-contact__item a { color: var(--nxt-link); text-underline-offset: 3px; }
.nxt-contact__form {
  display: grid; gap: var(--nxt-space-4); padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
  border-radius: var(--nxt-radius-xl); border: 1px solid transparent;
  background: linear-gradient(var(--nxt-background-soft), var(--nxt-background-soft)) padding-box, var(--nxt-gradient-border) border-box;
  box-shadow: var(--nxt-shadow-md);
}
.nxt-contact__title { font-size: var(--nxt-fs-h3); letter-spacing: -0.03em; }

/* Grille du formulaire : e-mail et téléphone côte à côte sur grand écran */
.nxt-contact__form .frm-fluent-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--nxt-space-4); margin: 0; padding: 0; border: 0; min-width: 0; }
.nxt-contact__form .frm-fluent-form fieldset > * { grid-column: 1 / -1; }
@media (min-width: 640px) { .nxt-contact__form .frm-fluent-form fieldset > .nxt-ff-half { grid-column: auto; } }
.nxt-contact__form .fluentform .ff-el-group { margin-bottom: var(--nxt-space-5, 1.25rem); }
.nxt-contact__form .fluentform .ff-t-container { gap: var(--nxt-space-4); }
.nxt-contact__form .fluentform .ff-t-cell { padding: 0 !important; }

/* Libellés */
.nxt-contact__form .fluentform .ff-el-input--label { margin-bottom: var(--nxt-space-2); }
.nxt-contact__form .fluentform .ff-el-input--label label { color: #fff; font-weight: 600; font-size: .9375rem; letter-spacing: -0.005em; }
.nxt-contact__form .fluentform .ff-el-is-required.asterisk-right label::after { color: var(--nxt-link); margin-left: 4px; }

/* Champs */
.nxt-contact__form .fluentform .ff-el-form-control {
  width: 100%; min-height: 3.25rem; padding: .875rem 1rem; font: inherit; font-size: 1rem; color: #fff;
  background: rgba(255, 255, 255, .03); border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius);
  box-shadow: none; transition: border-color var(--nxt-transition-fast), box-shadow var(--nxt-transition-fast), background var(--nxt-transition-fast);
}
.nxt-contact__form .fluentform textarea.ff-el-form-control { min-height: 9rem; resize: vertical; line-height: 1.6; }
.nxt-contact__form .fluentform .ff-el-form-control::placeholder { color: var(--nxt-muted); opacity: .8; }
.nxt-contact__form .fluentform .ff-el-form-control:hover { border-color: rgba(164, 188, 244, .45); }
.nxt-contact__form .fluentform .ff-el-form-control:focus { outline: none; background: rgba(62, 100, 222, .06); border-color: #6F8FF0; box-shadow: 0 0 0 4px rgba(62, 100, 222, .25); }
.nxt-contact__form .fluentform select.ff-el-form-control {
  appearance: none; -webkit-appearance: none; padding-right: 2.75rem; cursor: pointer;
  background: rgba(255, 255, 255, .03) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23A4BCF4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 1rem center / 1rem no-repeat;
}
.nxt-contact__form .fluentform select.ff-el-form-control option { color: #0C111D; }

/* Sujet : options en pastilles */
.nxt-contact__form .nxt-ff-chips .ff-el-input--content { display: flex; flex-wrap: wrap; gap: var(--nxt-space-2); }
.nxt-contact__form .nxt-ff-chips .ff-el-form-check { margin: 0 !important; position: relative; }
.nxt-contact__form .nxt-ff-chips .ff-el-form-check-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nxt-contact__form .nxt-ff-chips .ff-el-form-check-label {
  display: inline-flex; align-items: center; gap: .5rem; margin: 0; padding: .625rem 1rem; cursor: pointer;
  font-size: .875rem; font-weight: 500; color: var(--nxt-text); border: 1px solid var(--nxt-border-strong); border-radius: 999px;
  background: rgba(255, 255, 255, .02); transition: all var(--nxt-transition-fast);
}
.nxt-contact__form .nxt-ff-chips .ff-el-form-check-label:hover { border-color: rgba(164, 188, 244, .55); color: #fff; }
.nxt-contact__form .nxt-ff-chips .ff-el-form-check:has(input:checked) .ff-el-form-check-label,
.nxt-contact__form .nxt-ff-chips .ff-el-form-check.ff_item_selected .ff-el-form-check-label { background: var(--nxt-primary); border-color: var(--nxt-primary); color: #fff; }
.nxt-contact__form .nxt-ff-chips .ff-el-form-check:has(input:focus-visible) .ff-el-form-check-label { box-shadow: 0 0 0 4px rgba(62, 100, 222, .35); }

/* Consentement */
.nxt-contact__form .fluentform .ff_t_c, .nxt-contact__form .fluentform .ff-el-tc { font-size: var(--nxt-fs-sm); color: var(--nxt-muted); line-height: 1.55; }
.nxt-contact__form .fluentform .ff_t_c a, .nxt-contact__form .fluentform .ff-el-tc a { color: var(--nxt-link); }
.nxt-contact__form .fluentform input[type="checkbox"] { accent-color: var(--nxt-primary); width: 1.125rem; height: 1.125rem; margin-top: .15rem; }
.nxt-contact__form .fluentform .ff-el-tc .ff-el-form-check-label, .nxt-contact__form .fluentform .ff_t_c { color: var(--nxt-muted); }
.nxt-contact__form .fluentform .nxt-ff-chips .ff-el-form-check:not(:has(input:checked)) .ff-el-form-check-label { color: var(--nxt-text); }

/* Bouton d'envoi */
.nxt-contact__form .fluentform .ff_submit_btn_wrapper { margin: var(--nxt-space-2) 0 0; }
.nxt-contact__form .fluentform .ff-btn-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%;
  min-height: 3.25rem; padding: .875rem 1.75rem; border: 0; border-radius: 999px !important; cursor: pointer;
  background: var(--nxt-primary) !important; color: #fff !important; font: 600 1rem/1 var(--nxt-font-sans);
  box-shadow: 0 12px 30px -12px rgba(62, 100, 222, .7); transition: background var(--nxt-transition-fast), transform var(--nxt-transition-fast);
}
.nxt-contact__form .fluentform .ff-btn-submit::after { content: "→"; }
.nxt-contact__form .fluentform .ff-btn-submit:hover { background: var(--nxt-primary-hover) !important; transform: translateY(-1px); }
.nxt-contact__form .fluentform .ff-btn-submit:focus-visible { outline: none; box-shadow: var(--nxt-focus-ring); }
@media (min-width: 640px) { .nxt-contact__form .fluentform .ff-btn-submit { width: auto; } }

/* Erreurs et confirmation */
.nxt-contact__form .fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--nxt-danger); }
.nxt-contact__form .fluentform .error, .nxt-contact__form .fluentform .text-danger { color: var(--nxt-danger); font-size: .8125rem; margin-top: var(--nxt-space-2); }
.nxt-contact__form .ff-message-success, .nxt-contact__form .ff-errors-in-stack { border: 0; padding: 0; box-shadow: none; background: none; }
.nxt-ff-success { padding: var(--nxt-space-8); border-radius: var(--nxt-radius-lg); background: var(--nxt-success-bg); border: 1px solid rgba(74, 222, 128, .35); color: var(--nxt-text); }
.nxt-ff-success__title { display: flex; align-items: center; gap: .75rem; font-size: var(--nxt-fs-h4); font-weight: 800; letter-spacing: -0.02em; color: #fff; margin-bottom: var(--nxt-space-3); }
.nxt-ff-success__title::before { content: "✓"; display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--nxt-success); color: #0C111D; font-size: 1.125rem; }

/* ── Leçons de formation (Tutor) : composants .nxl, aux couleurs du site ── */
.nxl { background: var(--nxt-bg); color: var(--nxt-text); border-radius: var(--nxt-radius-xl); padding: clamp(20px, 4vw, 48px); font-family: var(--nxt-font-sans); font-size: 1.0625rem; line-height: 1.7; }
.nxl :where(p, li, td, figcaption, summary) { color: var(--nxt-text); }
.nxl :where(h2, h3, h4, strong) { color: var(--nxt-heading); }
.nxl h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.75rem); line-height: 1.1; letter-spacing: -0.03em; font-weight: 800; margin: .3em 0 .5em; }
.nxl h3 { font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); letter-spacing: -0.02em; font-weight: 750; margin: 2.2em 0 .7em; }
.nxl h4 { font-size: 1.1rem; margin: 1.4em 0 .4em; }
.nxl em.nxl-accent, .nxl .nxl-accent { font-family: var(--nxt-font-accent); font-style: italic; font-weight: 400; color: var(--nxt-accent-text); letter-spacing: 0; }
.nxl p { margin: 0 0 1.05em; }
.nxl a { color: var(--nxt-link); }
.nxl ul, .nxl ol { margin: .4em 0 1.2em; padding-left: 1.3em; }
.nxl li { margin: .35em 0; }
.nxl-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--nxt-font-mono); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nxt-link) !important; }
.nxl-eyebrow::before { content: ""; width: 2rem; height: 1px; background: currentColor; }
.nxl-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.6; color: var(--nxt-text); max-width: 46rem; }
/* Dans le lecteur Tutor : pas de double cadre, pas de puces en double. */
.tutor-lesson-content .tutor-lesson-wrapper .nxl { background: transparent; padding: 0; }
.tutor-lesson-content .tutor-lesson-wrapper :is(.nxl-chips, .nxl-checks, .nxl-steps) { list-style: none; padding-left: 0; }
.nxl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.nxl-chips li { margin: 0; padding: 6px 14px; border-radius: 999px; background: var(--nxt-lavender); color: var(--nxt-link); font-size: .85rem; font-weight: 600; }
.nxl-card { position: relative; margin: 24px 0; padding: clamp(18px, 3vw, 28px); border-radius: var(--nxt-radius-lg); border: 1px solid transparent;
  background: linear-gradient(var(--nxt-background-soft), var(--nxt-background-soft)) padding-box, var(--nxt-gradient-border) border-box; }
.nxl-card > :last-child { margin-bottom: 0; }
.nxl-label { margin: 0 0 10px !important; font-family: var(--nxt-font-mono); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nxt-link) !important; }
.nxl-checks { list-style: none; padding: 0; }
.nxl-checks li { position: relative; padding-left: 34px; margin: .7em 0; }
.nxl-checks li::before { content: "✓"; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; background: var(--nxt-lavender); color: var(--nxt-link); }
.nxl-callout { margin: 22px 0; padding: 18px 22px; border-radius: var(--nxt-radius); background: var(--nxt-background-soft); border-left: 3px solid var(--nxt-accent-deco); }
.nxl-callout > :last-child { margin-bottom: 0; }
.nxl-callout--warn { border-left-color: #F2B45A; } .nxl-callout--warn .nxl-label { color: #F2C27A !important; }
.nxl-callout--ok { border-left-color: var(--nxt-success); } .nxl-callout--ok .nxl-label { color: var(--nxt-success) !important; }
.nxl-callout--changed { border-left-color: var(--nxt-danger); } .nxl-callout--changed .nxl-label { color: var(--nxt-danger) !important; }
.nxl-callout--check { border-left-color: #E8C547; } .nxl-callout--check .nxl-label { color: #E8C547 !important; }
.nxl-src { font-size: .88rem; color: var(--nxt-muted) !important; }
.nxl-key { margin: 28px 0; padding: clamp(18px, 3vw, 28px); border-radius: var(--nxt-radius-lg); background: radial-gradient(600px circle at 0 0, rgba(73, 121, 232, .25), transparent 60%), var(--nxt-surface-2); }
.nxl-key p { font-size: 1.15rem; color: var(--nxt-heading); }
.nxl-steps { counter-reset: s; list-style: none; padding: 0; }
.nxl-steps li { counter-increment: s; position: relative; padding: 0 0 0 52px; margin: 1.1em 0; }
.nxl-steps li::before { content: counter(s); position: absolute; left: 0; top: -.1em; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; background: var(--nxt-primary); color: #fff; }
.nxl-table { overflow-x: auto; margin: 20px 0; border-radius: var(--nxt-radius); border: 1px solid var(--nxt-border-strong); }
.nxl-table table { width: 100%; min-width: 540px; border-collapse: collapse; margin: 0; }
.nxl-table th { text-align: left; padding: 12px 14px; font-size: .85rem; letter-spacing: .04em; color: var(--nxt-heading); background: var(--nxt-surface-2); }
.nxl-table td { padding: 12px 14px; border-top: 1px solid var(--nxt-border); vertical-align: top; }
/* Grille horaire des tarifs : 24 colonnes, une par heure. */
.nxl-timeline { margin: 24px 0; padding: clamp(14px, 2.5vw, 24px); border-radius: var(--nxt-radius-lg); background: var(--nxt-background-soft); border: 1px solid var(--nxt-border); }
.nxl-tl-row { display: grid; grid-template-columns: minmax(120px, 210px) 1fr; gap: 12px; align-items: center; margin: 10px 0; }
.nxl-tl-label { font-size: .9rem; color: var(--nxt-heading); font-weight: 600; }
.nxl-tl-bar { display: grid; grid-template-columns: repeat(24, 1fr); gap: 2px; }
.nxl-tl-bar span { height: 34px; border-radius: 8px; display: grid; place-items: center; font-weight: 800; font-size: .9rem; }
.nxl-tl-bar .t-a { background: #A4BCF4; color: #161B26; } .nxl-tl-bar .t-b { background: #4979E8; color: #fff; } .nxl-tl-bar .t-c { background: #2B3A78; color: #fff; box-shadow: inset 0 0 0 1px rgba(164, 188, 244, .4); }
.nxl-tl-scale { display: grid; grid-template-columns: repeat(24, 1fr); font-family: var(--nxt-font-mono); font-size: .7rem; color: var(--nxt-muted); }
.nxl-tl-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 14px; font-size: .88rem; }
.nxl-tl-legend i.t-a { background: #A4BCF4; } .nxl-tl-legend i.t-b { background: #4979E8; } .nxl-tl-legend i.t-c { background: #2B3A78; }
.nxl-tl-legend i { display: inline-block; width: 14px; height: 14px; border-radius: 4px; vertical-align: -2px; margin-right: 6px; }
.nxl-c1 { grid-column: span 1; } .nxl-c2 { grid-column: span 2; } .nxl-c3 { grid-column: span 3; } .nxl-c4 { grid-column: span 4; } .nxl-c5 { grid-column: span 5; } .nxl-c6 { grid-column: span 6; } .nxl-c7 { grid-column: span 7; } .nxl-c8 { grid-column: span 8; } .nxl-c9 { grid-column: span 9; } .nxl-c10 { grid-column: span 10; } .nxl-c11 { grid-column: span 11; } .nxl-c12 { grid-column: span 12; } .nxl-c13 { grid-column: span 13; } .nxl-c14 { grid-column: span 14; } .nxl-c15 { grid-column: span 15; } .nxl-c16 { grid-column: span 16; } .nxl-c17 { grid-column: span 17; } .nxl-c18 { grid-column: span 18; } .nxl-c19 { grid-column: span 19; } .nxl-c20 { grid-column: span 20; } .nxl-c21 { grid-column: span 21; } .nxl-c22 { grid-column: span 22; } .nxl-c23 { grid-column: span 23; } .nxl-c24 { grid-column: span 24; } 
.nxl-ex { margin: 14px 0; border-radius: var(--nxt-radius); background: var(--nxt-background-soft); border: 1px solid var(--nxt-border); }
.nxl-ex summary { cursor: pointer; padding: 16px 20px; font-weight: 650; color: var(--nxt-heading); list-style: none; }
.nxl-ex summary::-webkit-details-marker { display: none; }
.nxl-ex summary::after { content: "Voir la correction"; float: right; font-size: .8rem; font-weight: 600; color: var(--nxt-link); }
.nxl-ex[open] summary::after { content: "Masquer"; }
.nxl-ex > :not(summary) { padding: 0 20px; }
.nxl-ex > :last-child { padding-bottom: 16px; }
.nxl-fig { margin: 24px 0; }
.nxl-fig img { width: 100%; height: auto; border-radius: var(--nxt-radius-lg); }
.nxl-fig figcaption { margin-top: 8px; font-size: .88rem; color: var(--nxt-muted); }
.nxl-source { margin-top: 36px; padding: 0; border-radius: var(--nxt-radius); border: 1px dashed var(--nxt-border-strong); }
.nxl-source summary { cursor: pointer; padding: 14px 18px; color: var(--nxt-muted); font-size: .92rem; }
.nxl-source-page { padding: 0 18px 14px; }
.nxl-page { font-family: var(--nxt-font-mono); font-size: .8rem; letter-spacing: .08em; color: var(--nxt-link) !important; }
.nxl summary:focus-visible { outline: none; box-shadow: var(--nxt-focus-ring); border-radius: 8px; }
@media (max-width: 600px) { .nxl-tl-row { grid-template-columns: 1fr; gap: 6px; } .nxl-tl-bar span { height: 28px; font-size: .75rem; } }

/* ── Contraste et séparation (audit du 31/10/2026) ── */
/* Sections alternées : bande un peu plus claire, filets en haut et en bas, pour rythmer la page. */
.nxt-s--alt { background: #253049; border-block: 1px solid var(--nxt-border); }
/* Cartes : ombre portée plus nette pour les détacher du fond. */
.nxt-card, .nxt-glow-card { box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 14px 34px rgba(0, 0, 0, .38); }

/* Message de verrouillage des examens blancs (functions.php) */
.nxt-verrou { margin: 0 0 20px; padding: 14px 18px; border-radius: var(--nxt-radius); background: rgba(62, 100, 222, .14); border: 1px solid rgba(164, 188, 244, .30); border-left: 4px solid var(--nxt-accent-deco); color: var(--nxt-text); font-size: var(--nxt-fs-sm); line-height: 1.5; }
.nxt-verrou strong { color: var(--nxt-heading); margin-right: .35em; }

/* ── Accueil v2 (03/11/2026) : « copie d'examen ». Filets fins, numéros en marge, pas de halo. ── */
.nxh { color: var(--nxt-text); }
.nxh :where(h1, h2, h3) { color: var(--nxt-heading); margin: 0; letter-spacing: -0.025em; }
.nxh :where(p, ol, ul, dl, figure) { margin: 0; }
.nxh a:not(.nxt-btn) { color: var(--nxt-link); text-underline-offset: 3px; }
.nxh-s { padding-block: clamp(4rem, 3rem + 4vw, 7rem); }
.nxh-s--band { background: #253049; border-block: 1px solid var(--nxt-border); }
.nxh-ctas { display: flex; flex-wrap: wrap; gap: var(--nxt-space-3); }

/* En-tête de section : numéro dans la marge, comme sur une copie. */
.nxh-head { display: grid; grid-template-columns: 4.5rem 1fr; gap: var(--nxt-space-4); margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem); max-width: 52rem; }
.nxh-head--tight { margin-bottom: var(--nxt-space-6); }
.nxh-num { font: 500 var(--nxt-fs-sm)/1 var(--nxt-font-mono); color: var(--nxt-link); padding-top: .9rem; border-top: 2px solid var(--nxt-accent-deco); align-self: start; }
.nxh-head h2 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem); line-height: 1.05; }
.nxh-head h2 + p { margin-top: var(--nxt-space-4); font-size: var(--nxt-fs-lg); color: var(--nxt-muted); max-width: 40rem; }

/* Héros */
.nxh-hero { padding-block: clamp(2.5rem, 1.5rem + 3vw, 4.5rem) clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.nxh-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.nxh-kicker { font: 500 var(--nxt-fs-xs)/1.4 var(--nxt-font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nxt-link); }
.nxh-hero h1 { margin-top: var(--nxt-space-4); font-size: clamp(2.375rem, 1.7rem + 2.4vw, 3.625rem); line-height: 1.04; letter-spacing: -0.035em; }
.nxh-lead { margin-top: var(--nxt-space-6) !important; font-size: var(--nxt-fs-lg); line-height: 1.6; max-width: 36rem; }
.nxh-track { display: inline-flex; align-items: center; gap: 4px; margin-top: var(--nxt-space-8); padding: 4px; border: 1px solid var(--nxt-border-strong); border-radius: 999px; }
.nxh-track__l { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); color: var(--nxt-muted); padding-inline: .75rem .5rem; }
.nxh-track button { font: 600 var(--nxt-fs-sm)/1 var(--nxt-font-sans); color: var(--nxt-text); background: none; border: 0; border-radius: 999px; padding: .6rem 1.1rem; cursor: pointer; }
.nxh-track button[aria-pressed="true"] { background: var(--nxt-heading); color: var(--nxt-bg); }
.nxh-track button:focus-visible, .nxh-opt:focus-visible, .nxh-faq summary:focus-visible, .nxh-res__again:focus-visible { outline: none; box-shadow: var(--nxt-focus-ring); }
.nxh-hero .nxh-ctas { margin-top: var(--nxt-space-6); }
.nxh-facts { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-top: var(--nxt-space-6) !important; font: 500 var(--nxt-fs-xs)/1.4 var(--nxt-font-mono); color: var(--nxt-muted); }
.nxh-facts span + span::before { content: "·"; margin-right: 1.25rem; color: var(--nxt-accent-deco); }
.nxh-hero__hint { font-size: var(--nxt-fs-sm); color: var(--nxt-muted); margin-bottom: var(--nxt-space-3) !important; }

/* Copie d'entraînement (mini-QCM) : papier réglé, cases A B C D. */
.nxh-quiz { background: var(--nxt-background-soft); border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-lg); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); overflow: hidden; }
.nxh-quiz__bar { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem; border-bottom: 1px solid var(--nxt-border); font: 500 var(--nxt-fs-xs)/1.3 var(--nxt-font-mono); color: var(--nxt-muted); text-transform: uppercase; letter-spacing: .06em; }
.nxh-quiz__bar b { color: var(--nxt-heading); font-weight: 500; }
.nxh-quiz__ticks { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; padding: 0 1.25rem; margin-top: 1rem !important; list-style: none; }
.nxh-quiz__ticks li { height: 4px; border-radius: 2px; background: var(--nxt-surface-2); transition: background var(--nxt-transition); }
.nxh-quiz__ticks .is-on { background: var(--nxt-link); }
.nxh-quiz__ticks .is-ok { background: var(--nxt-success); }
.nxh-quiz__ticks .is-ko { background: var(--nxt-danger); }
.nxh-quiz__body { padding: 1.25rem 1.25rem 1.5rem; background-image: repeating-linear-gradient(to bottom, transparent 0 31px, rgba(164, 188, 244, .05) 31px 32px); }
.nxh-quiz__subject { font: 500 var(--nxt-fs-xs)/1.3 var(--nxt-font-mono); color: var(--nxt-link); text-transform: uppercase; letter-spacing: .06em; }
.nxh-quiz__q { margin-top: .6rem !important; font-size: var(--nxt-fs-lg); font-weight: 600; line-height: 1.4; color: var(--nxt-heading); }
.nxh-opts { list-style: none; padding: 0; margin-top: 1rem !important; display: grid; gap: .5rem; }
.nxh-opt { width: 100%; display: flex; align-items: center; gap: .85rem; text-align: left; padding: .7rem .85rem; min-height: 48px; border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-sm); background: rgba(30, 38, 56, .55); color: var(--nxt-text); font: 500 var(--nxt-fs-sm)/1.4 var(--nxt-font-sans); cursor: pointer; transition: border-color var(--nxt-transition-fast), background var(--nxt-transition-fast); }
.nxh-opt:hover:not(:disabled) { border-color: var(--nxt-link); background: var(--nxt-lavender); }
.nxh-opt:disabled { cursor: default; opacity: .6; }
.nxh-opt__l { flex: none; width: 1.75rem; height: 1.75rem; display: grid; place-items: center; border: 1.5px solid currentColor; border-radius: 50%; font: 500 .8rem/1 var(--nxt-font-mono); color: var(--nxt-muted); transition: background var(--nxt-transition), color var(--nxt-transition); }
.nxh-opt.is-right { opacity: 1; border-color: var(--nxt-success); background: var(--nxt-success-bg); color: var(--nxt-heading); }
.nxh-opt.is-right .nxh-opt__l { background: var(--nxt-success); border-color: var(--nxt-success); color: #0B1A10; }
.nxh-opt.is-wrong { opacity: 1; border-color: var(--nxt-danger); background: var(--nxt-danger-bg); }
.nxh-opt.is-wrong .nxh-opt__l { background: var(--nxt-danger); border-color: var(--nxt-danger); color: #2A0B0B; }
.nxh-fb:not(:empty) { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--nxt-border-strong); display: grid; gap: .5rem; }
.nxh-fb__v { font-weight: 700; }
.nxh-fb__v.is-ok { color: var(--nxt-success); }
.nxh-fb__v.is-ko { color: var(--nxt-danger); }
.nxh-fb__e { font-size: var(--nxt-fs-sm); line-height: 1.55; }
.nxh-fb__r { font: 500 var(--nxt-fs-xs)/1.4 var(--nxt-font-mono); color: var(--nxt-muted); }
.nxh-fb__next { justify-self: start; margin-top: .25rem; }
.nxh-res__score { font: 800 3.5rem/1 var(--nxt-font-sans); color: var(--nxt-heading); letter-spacing: -0.04em; }
.nxh-res__score b { color: var(--nxt-heading); }
.nxh-res__msg { margin-top: .5rem !important; color: var(--nxt-text); }
.nxh-res__h { margin-top: 1rem !important; font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--nxt-link); }
.nxh-res__list { margin-top: .5rem !important; padding-left: 1rem; display: grid; gap: .4rem; font-size: var(--nxt-fs-sm); }
.nxh-res__list b { color: var(--nxt-heading); margin-right: .25rem; }
.nxh-res__note { margin-top: 1rem !important; font-size: var(--nxt-fs-xs); color: var(--nxt-muted); }
.nxh-res__ctas { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.nxh-res__again { margin-top: .75rem; background: none; border: 0; padding: .25rem 0; color: var(--nxt-link); font: inherit; font-size: var(--nxt-fs-sm); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.nxh-quiz__nojs { padding: 0 1.25rem 1.25rem; font-size: var(--nxt-fs-sm); }

/* 01 · Objectifs : une table des matières plutôt que des cartes. */
.nxh-goals { list-style: none; padding: 0; border-top: 1px solid var(--nxt-border-strong); }
.nxh-goals li { border-bottom: 1px solid var(--nxt-border-strong); }
.nxh-goals a { display: grid; grid-template-columns: 3rem minmax(0, 1.1fr) minmax(0, 1.3fr) auto; gap: 1.5rem; align-items: center; padding: 1.6rem .5rem; color: inherit !important; text-decoration: none; transition: background var(--nxt-transition-fast); }
.nxh-goals a:hover { background: rgba(164, 188, 244, .04); }
.nxh-goals__n { font: 500 var(--nxt-fs-sm)/1 var(--nxt-font-mono); color: var(--nxt-link); }
.nxh-goals__t { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem); font-weight: 700; color: var(--nxt-heading); letter-spacing: -0.02em; line-height: 1.2; }
.nxh-goals__d { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); line-height: 1.5; }
.nxh-goals__go { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); color: var(--nxt-link); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.nxh-goals__go::after { content: " →"; display: inline-block; transition: transform var(--nxt-transition-fast); }
.nxh-goals a:hover .nxh-goals__go::after { transform: translateX(4px); }
.nxh-goals a:focus-visible { outline: none; box-shadow: inset var(--nxt-focus-ring); }
.nxh-aside { margin-top: var(--nxt-space-6) !important; color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }

/* 02 · Méthode : trois colonnes séparées par des filets, chacune avec un vrai extrait. */
.nxh-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--nxt-border-strong); }
.nxh-step { padding: 1.75rem 1.75rem 0 0; display: grid; gap: .9rem; align-content: start; }
.nxh-step + .nxh-step { padding-left: 1.75rem; border-left: 1px solid var(--nxt-border); }
.nxh-step__k { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--nxt-link); }
.nxh-step h3 { font-size: var(--nxt-fs-h4); line-height: 1.25; }
.nxh-step > p:last-child { color: var(--nxt-muted); line-height: 1.6; }
.nxh-spec { background: var(--nxt-bg); border: 1px solid var(--nxt-border); border-radius: var(--nxt-radius); padding: 1rem; display: grid; gap: .55rem; min-height: 9.5rem; align-content: start; }
.nxh-spec__cap { font: 500 .7rem/1 var(--nxt-font-mono); text-transform: uppercase; letter-spacing: .08em; color: var(--nxt-muted); }
.nxh-spec__row, .nxh-spec__q { font-size: var(--nxt-fs-sm); color: var(--nxt-heading); font-weight: 600; line-height: 1.35; }
.nxh-tarif { display: flex; height: 28px; border-radius: 6px; overflow: hidden; font: 500 .75rem/28px var(--nxt-font-mono); text-align: center; }
.nxh-tarif .t-a { background: #6F8FF0; color: #0E1424; }
.nxh-tarif .t-b { background: #34405A; color: #fff; }
.nxh-tarif__scale { display: flex; justify-content: space-between; font: 500 .7rem/1 var(--nxt-font-mono); color: var(--nxt-muted); }
.nxh-spec__o { display: flex; gap: .6rem; align-items: center; font-size: var(--nxt-fs-sm); padding: .35rem .5rem; border-radius: 8px; border: 1px solid var(--nxt-border); }
.nxh-spec__o span { width: 1.4rem; height: 1.4rem; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid currentColor; font: 500 .7rem/1 var(--nxt-font-mono); }
.nxh-spec__o.is-ko { color: var(--nxt-muted); text-decoration: line-through; text-decoration-color: var(--nxt-danger); }
.nxh-spec__o.is-ok { color: var(--nxt-heading); border-color: var(--nxt-success); background: var(--nxt-success-bg); }
.nxh-spec__o.is-ok span { background: var(--nxt-success); border-color: var(--nxt-success); color: #0B1A10; }
.nxh-spec__line { display: grid; grid-template-columns: 1.4rem 1fr auto; gap: .6rem; align-items: center; font-size: var(--nxt-fs-sm); padding-bottom: .45rem; border-bottom: 1px solid var(--nxt-border); }
.nxh-spec__line:last-child { border-bottom: 0; padding-bottom: 0; }
.nxh-spec__line span { font: 500 .75rem/1 var(--nxt-font-mono); color: var(--nxt-muted); }
.nxh-spec__line b { font: 500 .7rem/1 var(--nxt-font-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--nxt-muted); }
.nxh-spec__line.is-done b { color: var(--nxt-success); }
.nxh-spec__line.is-now b { color: var(--nxt-link); }

/* 03 · Examens blancs : fiche technique. */
.nxh-exams { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.nxh-exams__p { font-size: var(--nxt-fs-lg); line-height: 1.6; margin-bottom: var(--nxt-space-6) !important; max-width: 34rem; }
.nxh-exams__small { margin-top: var(--nxt-space-3) !important; font-size: var(--nxt-fs-xs); color: var(--nxt-muted); }
.nxh-sheet { border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-lg); background: var(--nxt-background-soft); }
.nxh-sheet div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .95rem 1.25rem; border-bottom: 1px solid var(--nxt-border); }
.nxh-sheet div:last-child { border-bottom: 0; }
.nxh-sheet dt { font: 500 var(--nxt-fs-xs)/1.5 var(--nxt-font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--nxt-muted); }
.nxh-sheet dd { margin: 0; color: var(--nxt-heading); font-weight: 600; }

/* 04 · Formations : le besoin d'abord, en italique. */
.nxh-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1.25rem; }
.nxh-offer { display: flex; flex-direction: column; gap: .9rem; padding: 1.75rem; background: var(--nxt-bg); border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-lg); transition: border-color var(--nxt-transition); }
.nxh-offer:hover { border-color: rgba(164, 188, 244, .45); }
.nxh-offer__need { font: italic 400 1.5rem/1.15 var(--nxt-font-accent); color: var(--nxt-accent-text); }
.nxh-offer h3 { font-size: var(--nxt-fs-h4); }
.nxh-offer > p:not([class]) { color: var(--nxt-muted); line-height: 1.6; font-size: var(--nxt-fs-sm); }
.nxh-offer__inc { list-style: none; padding: .9rem 0 0; border-top: 1px solid var(--nxt-border); display: grid; gap: .5rem; font-size: var(--nxt-fs-sm); }
.nxh-offer__inc li { padding-left: 1.25rem; position: relative; }
.nxh-offer__inc li::before { content: ""; position: absolute; left: 0; top: .65em; width: .6rem; height: 1.5px; background: var(--nxt-accent-deco); }
.nxh-offer__meta { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: auto !important; padding-top: .5rem; }
.nxh-offer__meta span { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); padding: .45rem .6rem; border: 1px solid var(--nxt-border-strong); border-radius: 6px; color: var(--nxt-heading); }
.nxh-offer .nxt-btn { align-self: flex-start; }

/* 05 · Pourquoi : liste numérotée en deux colonnes. */
.nxh-why { list-style: none; padding: 0; counter-reset: why; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 1rem + 4vw, 5rem); border-top: 1px solid var(--nxt-border-strong); }
.nxh-why li { counter-increment: why; padding: 1.5rem 0 1.5rem 3rem; position: relative; border-bottom: 1px solid var(--nxt-border); }
.nxh-why li::before { content: counter(why, decimal-leading-zero); position: absolute; left: 0; top: 1.75rem; font: 500 var(--nxt-fs-sm)/1 var(--nxt-font-mono); color: var(--nxt-link); }
.nxh-why h3 { font-size: var(--nxt-fs-lg); }
.nxh-why p { margin-top: .4rem !important; color: var(--nxt-muted); line-height: 1.6; }
.nxh-promise { margin-top: var(--nxt-space-8) !important; padding: 1.25rem 1.5rem; border-left: 3px solid var(--nxt-accent-deco); background: rgba(62, 100, 222, .08); border-radius: 0 var(--nxt-radius) var(--nxt-radius) 0; max-width: 46rem; line-height: 1.6; }
.nxh-promise b { color: var(--nxt-heading); }

/* 06 · FAQ */
.nxh-faqwrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.nxh-faqwrap .nxh-head h2 { font-size: clamp(2rem, 1.5rem + 1.8vw, 2.75rem); }
.nxh-faq { border-top: 1px solid var(--nxt-border-strong); }
.nxh-faq details { border-bottom: 1px solid var(--nxt-border-strong); }
.nxh-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem .25rem; font-weight: 600; color: var(--nxt-heading); font-size: var(--nxt-fs-base); }
.nxh-faq summary::-webkit-details-marker { display: none; }
.nxh-faq summary::after { content: "+"; font: 500 1.25rem/1 var(--nxt-font-mono); color: var(--nxt-link); transition: transform var(--nxt-transition-fast); }
.nxh-faq details[open] summary::after { transform: rotate(45deg); }
.nxh-faq details p { padding: 0 .25rem 1.25rem; color: var(--nxt-text); line-height: 1.65; max-width: 40rem; }

/* Appel final et barre mobile */
.nxh-final { padding-block: clamp(4rem, 3rem + 4vw, 7rem) clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.nxh-final__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 2rem; padding-top: 2.5rem !important; border-top: 2px solid var(--nxt-accent-deco); }
.nxh-final h2 { font-size: clamp(2.25rem, 1.5rem + 3vw, 3.75rem); line-height: 1.05; max-width: 40rem; }
.nxh-sticky { display: none; }

@media (max-width: 960px) {
  .nxh-hero__grid, .nxh-exams, .nxh-faqwrap { grid-template-columns: 1fr; }
  .nxh-steps { grid-template-columns: 1fr; border-top: 0; }
  .nxh-step, .nxh-step + .nxh-step { padding: 1.75rem 0; border-left: 0; border-top: 1px solid var(--nxt-border-strong); }
  .nxh-goals a { grid-template-columns: 2rem 1fr auto; gap: .35rem 1rem; padding: 1.25rem .25rem; }
  .nxh-goals__d { grid-column: 2 / 4; grid-row: 2; }
  .nxh-why { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .nxh-head { grid-template-columns: 1fr; gap: var(--nxt-space-3); }
  .nxh-num { width: 3rem; padding-top: .6rem; }
  .nxh-ctas .nxt-btn { width: 100%; }
  .nxh-track { display: flex; width: 100%; }
  .nxh-track button { flex: 1; }
  .nxh-goals__go { font-size: 0; }
  .nxh-goals__go::after { font-size: 1rem; }
  .nxh-sheet div { grid-template-columns: 1fr; gap: .2rem; }
  .nxh-facts { gap: .3rem .9rem; }
  .nxh-facts span + span::before { display: none; }
  .nxh-sticky { display: block; position: fixed; inset: auto 0 0; z-index: 90; padding: .75rem var(--nxt-gutter) calc(.75rem + env(safe-area-inset-bottom)); background: rgba(30, 38, 56, .96); border-top: 1px solid var(--nxt-border-strong); transform: translateY(110%); transition: transform var(--nxt-transition); }
  .nxh-sticky.is-on { transform: none; }
  .nxh-sticky .nxt-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .nxh *, .nxh-sticky { transition: none !important; }
}

/* ── Palette éclaircie et touches de couleur (04/11/2026) ── */
/* En-tête : même fond que la page, filet bleu de marque en haut. */
html .nxt-header { background: rgba(30, 38, 56, .94); border-top: 3px solid var(--nxt-accent-deco); }
/* Hauts de page : légère teinte bleue qui se fond dans le fond. */
.nxh-hero, .nxt-hero { background: linear-gradient(180deg, #22305A 0%, var(--nxt-bg) 100%); }
/* Appel final de l'accueil : bande bleue pleine. */
.nxh-final { background: #3354C8; }
.nxh-final__in { border-top: 0; padding-top: 0 !important; }
.nxh-final h2 { color: #FFFFFF; }
.nxh-final .nxt-accent { color: #DCE5FF; }                                   /* 5,2:1 */
.nxh-final .nxt-btn--primary { background: #FFFFFF; color: #2B49CA; }      /* 7,2:1 */
.nxh-final .nxt-btn--primary:hover { background: #EEF2FF; color: #2B49CA; box-shadow: none; }
.nxh-final .nxt-btn--secondary { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .6); }
.nxh-final .nxt-btn--secondary:hover { background: rgba(255, 255, 255, .12); border-color: #FFFFFF; color: #FFFFFF; }
/* Pied de page : bleu nuit de marque, pour bien fermer la page. */
html .nxt-footer { background: #22305E; border-top: 3px solid var(--nxt-accent-deco); }
html .nxt-footer__legal { border-top-color: rgba(255, 255, 255, .12); }

/* ── Cartes de prix : un cran plus claires, liseré bleu et bandeau de couleur en haut (04/11/2026) ── */
.nxt-card.nxt-offer, .nxh-offer {
  background: linear-gradient(180deg, #34477E 0%, #2D3A5C 42%, #2A3550 100%) padding-box,
              linear-gradient(160deg, #A4BCF4, #4979E8 40%, rgba(73, 121, 232, .35)) border-box;
  border: 1.5px solid transparent;
  box-shadow: inset 0 4px 0 #4979E8, 0 28px 56px -28px rgba(8, 12, 28, .85);
}
.nxt-card.nxt-offer:hover, .nxh-offer:hover { box-shadow: inset 0 4px 0 #6F8FF0, 0 32px 64px -28px rgba(62, 100, 222, .55); }
.nxh-offer:hover { border-color: transparent; }
/* Ligne « Tarif » mise en avant dans les cartes des pages programme. */
.nxt-offer .nxt-checks li:nth-child(2) { background: rgba(255, 255, 255, .07); border: 1px solid rgba(164, 188, 244, .35); border-radius: var(--nxt-radius-sm); padding: .6rem .75rem .6rem 2.25rem; color: #FFFFFF; }
.nxt-offer .nxt-checks li:nth-child(2)::before { left: .75rem; top: calc(.6rem + .3em); }
/* Prix des cartes de l'accueil : pastille bleue pleine. */
.nxh-offer__meta span:first-child { background: #3E64DE; border-color: #3E64DE; color: #FFFFFF; font-size: var(--nxt-fs-sm); padding: .5rem .75rem; }
.nxh-offer .nxt-btn--secondary { background: #3E64DE; border-color: #3E64DE; color: #FFFFFF; }
.nxh-offer .nxt-btn--secondary:hover { background: #2B49CA; border-color: #2B49CA; color: #FFFFFF; }

/* ── Accueil v3 (04/11/2026) : sections claires, aperçu de l'application, démo QCM, espace apprenant, étapes ── */
/* Section claire : on redéfinit les jetons localement, tout le reste suit. Contrastes AA vérifiés sur #F4F7FD. */
.nxh-light {
  background: #F4F7FD; color: #3A4459;
  --nxt-heading: #1E2638; --nxt-text: #3A4459; --nxt-muted: #5A647A; --nxt-link: #2B49CA; --nxt-accent-text: #3557C9;
  --nxt-border: rgba(30, 38, 56, .10); --nxt-border-strong: rgba(30, 38, 56, .18); --nxt-lavender: rgba(62, 100, 222, .10);
  --nxt-focus-ring: 0 0 0 3px #F4F7FD, 0 0 0 5px #3E64DE;
}
.nxh-light .nxh-num { color: #2B49CA; }
.nxh-light .nxh-goals a:hover { background: #FFFFFF; }
.nxh-light .nxh-promise { background: #FFFFFF; }
/* Éléments « produit » posés sur une section claire : ils gardent l'apparence sombre de l'application. */
.nxh-dark, .nxh-light .nxh-spec {
  --nxt-heading: #FFFFFF; --nxt-text: #DEE2EA; --nxt-muted: #B4BAC6; --nxt-link: #A4BCF4; --nxt-accent-text: #8AA4F6;
  --nxt-border: rgba(175, 196, 247, .18); --nxt-border-strong: rgba(175, 196, 247, .32);
}
.nxh-light .nxh-spec { color: var(--nxt-text); box-shadow: 0 18px 40px -24px rgba(30, 38, 56, .55); }

/* Héros v3 : aperçu réaliste d'une leçon avec un QCM superposé. */
.nxh-assure { list-style: none; padding: 0; margin-top: var(--nxt-space-6) !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.nxh-assure li { font-size: var(--nxt-fs-xs); font-weight: 500; color: var(--nxt-heading); padding: .45rem .75rem; border: 1px solid var(--nxt-border-strong); border-radius: 999px; background: rgba(255, 255, 255, .04); }
.nxh-assure li::before { content: "✓"; color: var(--nxt-success); margin-right: .4rem; font-weight: 700; }
.nxh-app { position: relative; padding-bottom: 3.5rem; }
.nxh-app__win { background: var(--nxt-background-soft); border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-lg); overflow: hidden; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .75); }
.nxh-app__bar { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; border-bottom: 1px solid var(--nxt-border); background: rgba(255, 255, 255, .03); }
.nxh-app__bar i { width: .6rem; height: .6rem; border-radius: 50%; background: var(--nxt-surface-2); }
.nxh-app__bar span { margin-left: .6rem; font: 500 .72rem/1 var(--nxt-font-mono); color: var(--nxt-muted); text-transform: uppercase; letter-spacing: .06em; }
.nxh-app__body { display: grid; grid-template-columns: 11.5rem 1fr; min-height: 17rem; }
.nxh-app__side { list-style: none; margin: 0; padding: .9rem .75rem; border-right: 1px solid var(--nxt-border); display: grid; gap: .35rem; align-content: start; font-size: .78rem; line-height: 1.3; }
.nxh-app__side li { padding: .45rem .55rem; border-radius: 8px; color: var(--nxt-muted); }
.nxh-app__side li.is-done::before { content: "✓ "; color: var(--nxt-success); }
.nxh-app__side li.is-now { background: var(--nxt-lavender); color: var(--nxt-heading); box-shadow: inset 2px 0 0 var(--nxt-accent-deco); }
.nxh-app__main { padding: 1.1rem 1.25rem; display: grid; gap: .6rem; align-content: start; }
.nxh-app__eyebrow { font: 500 .7rem/1 var(--nxt-font-mono); color: var(--nxt-link); text-transform: uppercase; letter-spacing: .08em; }
.nxh-app__title { font-size: 1.35rem; font-weight: 800; color: var(--nxt-heading); letter-spacing: -0.02em; }
.nxh-app__p { font-size: .82rem; line-height: 1.5; color: var(--nxt-text); }
.nxh-app__quiz { position: absolute; right: -1rem; bottom: 0; width: min(19rem, 80%); background: #FFFFFF; color: #1E2638; border-radius: var(--nxt-radius); padding: 1rem; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); display: grid; gap: .45rem; }
.nxh-app__qk { font: 500 .68rem/1 var(--nxt-font-mono); color: #2B49CA; text-transform: uppercase; letter-spacing: .06em; }
.nxh-app__qq { font-size: .85rem; font-weight: 700; line-height: 1.35; }
.nxh-app__qo { display: flex; align-items: center; gap: .5rem; font-size: .8rem; padding: .4rem .5rem; border: 1px solid rgba(30, 38, 56, .14); border-radius: 8px; color: #3A4459; }
.nxh-app__qo b { width: 1.25rem; height: 1.25rem; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid currentColor; font: 500 .65rem/1 var(--nxt-font-mono); }
.nxh-app__qo.is-ok { border-color: #15803D; background: #ECFDF3; color: #14532D; font-weight: 600; }
.nxh-app__qo.is-ok b { background: #15803D; border-color: #15803D; color: #FFFFFF; }
.nxh-app__cap { margin-top: .75rem !important; max-width: 45%; font-size: var(--nxt-fs-xs); color: var(--nxt-muted); }

/* Démo QCM : section dédiée. */
.nxh-demo__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.nxh-demo__p { font-size: var(--nxt-fs-lg); line-height: 1.6; max-width: 32rem; }
.nxh-demo .nxh-track { margin-top: var(--nxt-space-6); }
.nxh-demo__next { margin-top: var(--nxt-space-8) !important; padding-top: var(--nxt-space-6); border-top: 1px solid var(--nxt-border); display: grid; gap: var(--nxt-space-4); justify-items: start; }
.nxh-demo__next p { color: var(--nxt-muted); font-size: var(--nxt-fs-sm); }
.nxh-demo .nxh-quiz { box-shadow: 0 0 0 6px rgba(62, 100, 222, .18), 0 40px 80px -40px rgba(0, 0, 0, .75); }

/* Espace apprenant : grille de quatre fonctions réelles. */
.nxh-bento { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.nxh-tile { background: #FFFFFF; border: 1px solid var(--nxt-border); border-radius: var(--nxt-radius-lg); padding: 1.5rem; display: grid; gap: .8rem; align-content: start; box-shadow: 0 1px 2px rgba(30, 38, 56, .06), 0 12px 32px -20px rgba(30, 38, 56, .25); }
.nxh-tile__k { font: 500 var(--nxt-fs-xs)/1 var(--nxt-font-mono); color: #2B49CA; text-transform: uppercase; letter-spacing: .08em; }
.nxh-tile h3 { font-size: var(--nxt-fs-h4); line-height: 1.25; }
.nxh-tile > p:last-child { color: var(--nxt-muted); line-height: 1.6; }
.nxh-spec__att { display: grid; grid-template-columns: 1fr auto auto; gap: .75rem; align-items: center; font-size: var(--nxt-fs-sm); padding-bottom: .45rem; border-bottom: 1px solid var(--nxt-border); }
.nxh-spec__att:last-child { border-bottom: 0; padding-bottom: 0; }
.nxh-spec__att b { font: 500 .75rem/1 var(--nxt-font-mono); color: var(--nxt-heading); }
.nxh-spec__att em { font: 500 .68rem/1 var(--nxt-font-mono); font-style: normal; text-transform: uppercase; letter-spacing: .05em; }
.nxh-spec__att em.is-ok { color: var(--nxt-success); }
.nxh-spec__att em.is-ko { color: var(--nxt-danger); }

/* Comment ça marche : trois étapes. */
.nxh-how { list-style: none; padding: 0; counter-reset: how; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.nxh-how li { counter-increment: how; padding: 1.75rem; border: 1px solid var(--nxt-border-strong); border-radius: var(--nxt-radius-lg); background: var(--nxt-background-soft); display: grid; gap: .6rem; align-content: start; }
.nxh-how li::before { content: counter(how); width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: #3E64DE; color: #FFFFFF; font: 700 1rem/1 var(--nxt-font-sans); margin-bottom: .4rem; }
.nxh-how h3 { font-size: var(--nxt-fs-h4); }
.nxh-how p { color: var(--nxt-muted); line-height: 1.6; }
.nxh-how-cta { margin-top: var(--nxt-space-8) !important; }

@media (max-width: 960px) {
  .nxh-demo__grid, .nxh-how { grid-template-columns: 1fr; }
  .nxh-bento { grid-template-columns: 1fr; }
  .nxh-app__quiz { right: 0; }
}
@media (max-width: 560px) {
  .nxh-app__body { grid-template-columns: 1fr; }
  .nxh-app__side { display: none; }
  .nxh-app { padding-bottom: 7rem; }
  .nxh-app__quiz { width: 88%; }
  .nxh-app__cap { max-width: none; }
  .nxh-app { padding-bottom: 0; }
  .nxh-app__quiz { position: relative; right: auto; bottom: auto; width: auto; margin: -2.5rem .75rem 0; }
}

/* ══ Accueil v4 « clair » (04/11/2026) — tout est limité à body.nxt-light ══
   Fonds blancs et gris très clair, bleu de marque en accent, Inter seule (pas d'italique décoratif). */
html:has(body.nxt-light), body.nxt-light {
  --nxt-bg: #FFFFFF; --nxt-background: #FFFFFF; --nxt-background-soft: #F6F8FC; --nxt-surface-2: #EEF2F8;
  --nxt-heading: #141B2D; --nxt-text: #475069; --nxt-muted: #667089; --nxt-link: #2B49CA; --nxt-accent-text: #3E64DE;
  --nxt-border: #E6EAF2; --nxt-border-strong: #D5DBE7; --nxt-lavender: #EEF3FF;
  --nxt-focus-ring: 0 0 0 3px #FFFFFF, 0 0 0 5px #3E64DE;
  --nx3-soft: #F6F8FC; --nx3-tint: #EEF3FF; --nx3-shadow: 0 1px 2px rgba(20, 27, 45, .05), 0 12px 32px -12px rgba(20, 27, 45, .14);
  background: #FFFFFF; color: var(--nxt-text);
}
html:has(body.nxt-light) { background: #FFFFFF; }
body.nxt-light .nxt-accent { font-family: var(--nxt-font-sans); font-style: normal; font-weight: inherit; letter-spacing: inherit; color: #3E64DE; }

/* En-tête clair */
body.nxt-light .nxt-header { background: rgba(255, 255, 255, .9); border-bottom: 1px solid #E6EAF2; border-top: 0; }
body.nxt-light .nxt-header .nxt-menu a, body.nxt-light .nxt-header .nxt-mega__trigger, body.nxt-light .nxt-header__login { color: #141B2D; font-family: var(--nxt-font-sans); text-transform: none; letter-spacing: 0; font-size: .9375rem; font-weight: 500; }
body.nxt-light .nxt-header .nxt-menu a:hover, body.nxt-light .nxt-header .nxt-mega__trigger:hover, body.nxt-light .nxt-header .nxt-menu a[aria-current="page"] { color: #3E64DE; }
body.nxt-light .nxt-header__nav .nxt-menu > li + li::before { content: ""; padding-inline: .9rem; }
body.nxt-light .nxt-header__toggle { border-color: #D5DBE7; }
body.nxt-light .nxt-header__burger, body.nxt-light .nxt-header__burger::before, body.nxt-light .nxt-header__burger::after { background: #141B2D; }
body.nxt-light .nxt-header__toggle[aria-expanded="true"] .nxt-header__burger { background: transparent; }

/* Boutons sur fond clair */
body.nxt-light .nxt-btn { font-weight: 600; letter-spacing: -0.005em; }
body.nxt-light .nxt-btn--primary:hover { box-shadow: 0 10px 24px -10px rgba(62, 100, 222, .7); }
body.nxt-light .nxt-btn--secondary { background: #FFFFFF; color: #141B2D; border-color: #D5DBE7; }
body.nxt-light .nxt-btn--secondary:hover { background: #F6F8FC; border-color: #3E64DE; color: #2B49CA; }

/* Structure commune */
.nx3 { color: var(--nxt-text); }
.nx3 :where(h1, h2, h3, p, ul, ol, dl, figure) { margin: 0; }
.nx3 :where(h1, h2, h3) { color: #141B2D; letter-spacing: -0.03em; font-weight: 700; }
.nx3-s { padding-block: clamp(4.5rem, 3rem + 5vw, 8rem); }
.nx3-s--soft { background: #F6F8FC; }
.nx3-head { max-width: 44rem; margin-bottom: clamp(2.5rem, 2rem + 2vw, 3.75rem); }
.nx3-head--c { margin-inline: auto; text-align: center; }
.nx3-eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: .8125rem; font-weight: 600; color: #3E64DE; margin-bottom: 1rem !important; }
.nx3-eyebrow::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: #3E64DE; box-shadow: 0 0 0 4px #EEF3FF; }
.nx3-head h2 { font-size: clamp(1.875rem, 1.4rem + 1.9vw, 2.75rem); line-height: 1.12; }
.nx3-head p:not(.nx3-eyebrow) { margin-top: 1rem !important; font-size: 1.125rem; line-height: 1.65; color: #556079; }
.nx3-i { width: 1.375rem; height: 1.375rem; flex: none; }
.nx3-ico { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 12px; background: #EEF3FF; color: #3E64DE; }

/* Héros */
.nx3-hero { padding-block: clamp(3.5rem, 2rem + 5vw, 7rem) clamp(4rem, 3rem + 4vw, 7rem); background: radial-gradient(60rem 30rem at 85% -10%, #EEF3FF 0%, rgba(238, 243, 255, 0) 70%), #FFFFFF; }
.nx3-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 1rem + 5vw, 6rem); align-items: center; }
.nx3-hero h1 { font-size: clamp(2.5rem, 1.5rem + 3.4vw, 4.25rem); line-height: 1.04; letter-spacing: -0.04em; }
.nx3-hero__lead { margin-top: 1.5rem !important; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.65; color: #556079; max-width: 34rem; }
.nx3-hero .nxh-ctas { margin-top: 2.25rem; }
.nx3-hero__hint { margin-top: 1.25rem !important; font-size: .875rem; color: #667089; display: flex; align-items: center; gap: .5rem; }
.nx3-hero__hint .nx3-i { width: 1.1rem; height: 1.1rem; color: #3E64DE; }
.nx3-demo { position: relative; }
.nx3-demo__tabs { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem !important; }
.nx3-demo__label { font-size: .875rem; font-weight: 600; color: #141B2D; }
body.nxt-light .nxh-track { margin: 0; padding: 3px; border: 1px solid #E6EAF2; background: #F6F8FC; }
body.nxt-light .nxh-track__l { display: none; }
body.nxt-light .nxh-track button { color: #556079; padding: .45rem .9rem; font-size: .875rem; }
body.nxt-light .nxh-track button[aria-pressed="true"] { background: #FFFFFF; color: #141B2D; box-shadow: 0 1px 3px rgba(20, 27, 45, .12); }

/* Mini-QCM en version claire */
body.nxt-light .nxh-quiz { background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 20px; box-shadow: 0 1px 2px rgba(20, 27, 45, .04), 0 30px 60px -24px rgba(20, 27, 45, .22); }
body.nxt-light .nxh-quiz__bar { border-bottom: 1px solid #EEF1F6; font-family: var(--nxt-font-sans); text-transform: none; letter-spacing: 0; font-size: .8125rem; color: #667089; padding: 1rem 1.5rem; }
body.nxt-light .nxh-quiz__bar b { color: #141B2D; font-weight: 600; }
body.nxt-light .nxh-quiz__ticks { padding: 0 1.5rem; }
body.nxt-light .nxh-quiz__ticks li { background: #EEF1F6; height: 5px; border-radius: 3px; }
body.nxt-light .nxh-quiz__ticks .is-on { background: #3E64DE; }
body.nxt-light .nxh-quiz__ticks .is-ok { background: #16A34A; }
body.nxt-light .nxh-quiz__ticks .is-ko { background: #DC2626; }
body.nxt-light .nxh-quiz__body { background: none; padding: 1.5rem; }
body.nxt-light .nxh-quiz__subject { font-family: var(--nxt-font-sans); font-weight: 600; letter-spacing: 0; text-transform: none; font-size: .8125rem; color: #3E64DE; }
body.nxt-light .nxh-quiz__q { color: #141B2D; font-size: 1.1875rem; letter-spacing: -0.015em; }
body.nxt-light .nxh-opt { background: #FFFFFF; border: 1px solid #E1E6EF; color: #2A3247; border-radius: 12px; padding: .8rem 1rem; }
body.nxt-light .nxh-opt:hover:not(:disabled) { border-color: #3E64DE; background: #F7F9FF; }
body.nxt-light .nxh-opt__l { font-family: var(--nxt-font-sans); font-weight: 600; color: #667089; border: 1.5px solid #D5DBE7; }
body.nxt-light .nxh-opt.is-right { border-color: #16A34A; background: #F0FDF4; color: #14532D; }
body.nxt-light .nxh-opt.is-right .nxh-opt__l { background: #16A34A; border-color: #16A34A; color: #FFFFFF; }
body.nxt-light .nxh-opt.is-wrong { border-color: #DC2626; background: #FEF2F2; color: #7F1D1D; }
body.nxt-light .nxh-opt.is-wrong .nxh-opt__l { background: #DC2626; border-color: #DC2626; color: #FFFFFF; }
body.nxt-light .nxh-opt:disabled { opacity: .55; }
body.nxt-light .nxh-opt.is-right:disabled, body.nxt-light .nxh-opt.is-wrong:disabled { opacity: 1; }
body.nxt-light .nxh-fb:not(:empty) { border-top: 1px solid #EEF1F6; }
body.nxt-light .nxh-fb__v.is-ok { color: #15803D; }
body.nxt-light .nxh-fb__v.is-ko { color: #B91C1C; }
body.nxt-light .nxh-fb__e { color: #2A3247; }
body.nxt-light .nxh-fb__r { font-family: var(--nxt-font-sans); color: #667089; }
body.nxt-light .nxh-res__score, body.nxt-light .nxh-res__score b { color: #141B2D; }
body.nxt-light .nxh-res__h { font-family: var(--nxt-font-sans); font-weight: 600; letter-spacing: 0; text-transform: none; color: #3E64DE; }
body.nxt-light .nxh-res__list b { color: #141B2D; }

/* Objectifs : tuiles de navigation */
.nx3-goals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.nx3-goal { display: flex; flex-direction: column; gap: 1rem; padding: 1.75rem; background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 18px; text-decoration: none !important; color: inherit !important; box-shadow: var(--nx3-shadow); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.nx3-goal:hover { transform: translateY(-4px); border-color: #B9C8F5; box-shadow: 0 2px 4px rgba(20, 27, 45, .05), 0 24px 48px -16px rgba(62, 100, 222, .28); }
.nx3-goal:focus-visible { outline: none; box-shadow: 0 0 0 3px #FFFFFF, 0 0 0 5px #3E64DE; }
.nx3-goal h3 { font-size: 1.1875rem; line-height: 1.3; }
.nx3-goal p { font-size: .9375rem; line-height: 1.6; color: #667089; }
.nx3-goal__go { margin-top: auto; display: inline-flex; align-items: center; gap: .4rem; font-size: .9375rem; font-weight: 600; color: #3E64DE; }
.nx3-goal__go .nx3-i { width: 1.1rem; height: 1.1rem; transition: transform .2s ease; }
.nx3-goal:hover .nx3-goal__go .nx3-i { transform: translateX(4px); }
.nx3-aside { margin-top: 2rem !important; text-align: center; color: #667089; font-size: .9375rem; }

/* Cartes de formation */
.nx3-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(18.5rem, 1fr)); gap: 1.5rem; }
.nx3-offer { display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 22px; overflow: hidden; box-shadow: var(--nx3-shadow); transition: transform .25s ease, box-shadow .25s ease; }
.nx3-offer:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(20, 27, 45, .05), 0 28px 56px -20px rgba(20, 27, 45, .22); }
.nx3-offer__body { padding: 1.75rem; display: flex; flex-direction: column; gap: .75rem; flex: 1; }
.nx3-offer__need { font-size: .8125rem; font-weight: 600; color: #3E64DE; }
.nx3-offer h3 { font-size: 1.375rem; line-height: 1.25; }
.nx3-offer__text { font-size: .9375rem; line-height: 1.6; color: #556079; }
.nx3-offer__inc { list-style: none; padding: 0; margin-top: .5rem !important; display: grid; gap: .6rem; }
.nx3-offer__inc li { display: flex; gap: .6rem; align-items: flex-start; font-size: .9375rem; color: #2A3247; line-height: 1.45; }
.nx3-offer__inc .nx3-i { width: 1.15rem; height: 1.15rem; color: #16A34A; margin-top: .1rem; }
.nx3-offer__foot { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid #EEF1F6; display: grid; gap: 1rem; }
.nx3-offer__price { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.nx3-offer__price b { font-size: 1.875rem; font-weight: 700; color: #141B2D; letter-spacing: -0.03em; }
.nx3-offer__price span { font-size: .8125rem; color: #667089; }
.nx3-offer .nxt-btn { width: 100%; }
/* Illustrations des cartes : petites scènes d'interface, sur fond bleu très clair */
.nx3-ill { height: 11rem; display: grid; place-items: center; background: linear-gradient(135deg, #EEF3FF 0%, #E3EBFF 100%); border-bottom: 1px solid #E6EAF2; color: #3E64DE; position: relative; overflow: hidden; }
.nx3-ill--taxi { background: linear-gradient(135deg, #FFF8E6 0%, #FDEFC8 100%); }
.nx3-ill--exam { background: linear-gradient(135deg, #ECFDF3 0%, #DDF7E8 100%); }
.nx3-ill > .nx3-i { width: 3rem; height: 3rem; }
.nx3-ill__ui { width: 78%; background: #FFFFFF; border-radius: 14px; padding: .9rem 1rem; box-shadow: 0 16px 32px -16px rgba(20, 27, 45, .3); display: grid; gap: .5rem; }
.nx3-ill__k { font-size: .75rem; font-weight: 600; color: #15803D; }
.nx3-ill__route { display: flex; align-items: center; gap: .4rem; font-size: .78rem; font-weight: 600; color: #141B2D; white-space: nowrap; }
.nx3-ill__route i { width: .55rem; height: .55rem; border-radius: 50%; border: 2px solid #3E64DE; flex: none; }
.nx3-ill__route i.is-end { background: #3E64DE; }
.nx3-ill__route span { flex: 1; min-width: 1rem; height: 0; border-top: 2px dotted #B9C8F5; }
.nx3-ill__meta { font-size: .72rem; color: #667089; }
.nx3-ill__meta b { color: #141B2D; }
.nx3-ill__sign { justify-self: start; display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .7rem; border-radius: 6px; background: #141B2D; color: #FFFFFF; font-weight: 800; font-size: .85rem; letter-spacing: .08em; }
.nx3-ill__sign i { width: .5rem; height: .5rem; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 3px rgba(34, 197, 94, .25); }
.nx3-ill__bar { display: flex; height: 1.4rem; border-radius: 6px; overflow: hidden; font-size: .68rem; font-weight: 700; line-height: 1.4rem; text-align: center; }
.nx3-ill__bar .a { background: #3E64DE; color: #FFFFFF; }
.nx3-ill__bar .b { background: #DCE4FA; color: #2B49CA; }
.nx3-ill--exam .nx3-ill__ui { grid-template-columns: auto 1fr; align-items: center; gap: 1rem; }
.nx3-ill__ring { width: 4.25rem; height: 4.25rem; border-radius: 50%; display: grid; place-content: center; text-align: center; background: conic-gradient(#16A34A 0 66%, #E6EAF2 66% 100%); position: relative; }
.nx3-ill__ring::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: #FFFFFF; }
.nx3-ill__ring b, .nx3-ill__ring span { position: relative; line-height: 1; }
.nx3-ill__ring b { font-size: 1.1rem; color: #141B2D; }
.nx3-ill__ring span { font-size: .55rem; color: #667089; }
.nx3-ill__list { list-style: none; padding: 0; display: grid; gap: .35rem; font-size: .72rem; color: #667089; }
.nx3-ill__list li::before { content: "○"; margin-right: .35rem; color: #B5BDCC; }
.nx3-ill__list li.ok { color: #141B2D; }
.nx3-ill__list li.ok::before { content: "✓"; color: #16A34A; font-weight: 700; }

/* Examens blancs : chiffres clés */
.nx3-exam { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 1rem + 5vw, 6rem); align-items: center; }
.nx3-exam .nx3-head { margin-bottom: 1.75rem; }
.nx3-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.nx3-stat { padding: 1.5rem; background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 18px; box-shadow: var(--nx3-shadow); }
.nx3-stat b { display: block; font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); font-weight: 700; letter-spacing: -0.04em; color: #141B2D; line-height: 1; }
.nx3-stat span { display: block; margin-top: .6rem; font-size: .9375rem; color: #667089; line-height: 1.45; }
.nx3-small { margin-top: .9rem !important; font-size: .875rem; color: #667089; }

/* Espace apprenant : grille de tuiles */
.nx3-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.25rem; }
.nx3-tile { grid-column: span 6; background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 22px; padding: 1.75rem; display: grid; gap: 1rem; align-content: start; box-shadow: var(--nx3-shadow); }
.nx3-tile--wide { grid-column: span 7; }
.nx3-tile--narrow { grid-column: span 5; }
.nx3-tile__top { display: flex; align-items: center; gap: .75rem; }
.nx3-tile__top .nx3-ico { width: 2.5rem; height: 2.5rem; border-radius: 10px; }
.nx3-tile__top p { font-size: .875rem; font-weight: 600; color: #3E64DE; }
.nx3-tile h3 { font-size: 1.25rem; line-height: 1.3; }
.nx3-tile > p { font-size: .9375rem; line-height: 1.6; color: #667089; }
.nx3-mock { background: #F6F8FC; border: 1px solid #EEF1F6; border-radius: 14px; padding: 1rem; display: grid; gap: .6rem; }
.nx3-mock__cap { font-size: .72rem; font-weight: 600; color: #8A93A8; text-transform: uppercase; letter-spacing: .06em; }
.nx3-mock__row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .75rem; background: #FFFFFF; border: 1px solid #EEF1F6; border-radius: 10px; font-size: .875rem; color: #2A3247; }
.nx3-mock__row b { font-weight: 600; color: #141B2D; }
.nx3-pill { font-size: .72rem; font-weight: 600; padding: .25rem .55rem; border-radius: 999px; }
.nx3-pill--ok { background: #DCFCE7; color: #166534; }
.nx3-pill--ko { background: #FEE2E2; color: #991B1B; }
.nx3-pill--now { background: #EEF3FF; color: #2B49CA; }
.nx3-pill--todo { background: #EEF1F6; color: #556079; }
.nx3-mock__bar { height: 8px; border-radius: 4px; background: #E6EAF2; overflow: hidden; }
.nx3-mock__bar i { display: block; height: 100%; background: #3E64DE; border-radius: 4px; }
.nx3-mock .nx3-ill__bar { height: 1.75rem; line-height: 1.75rem; font-size: .75rem; }
.nx3-mock__scale { display: flex; justify-content: space-between; font-size: .7rem; color: #8A93A8; }

/* Étapes */
.nx3-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; position: relative; }
.nx3-step { position: relative; padding: 2rem 1.75rem; background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 20px; display: grid; gap: .75rem; align-content: start; box-shadow: var(--nx3-shadow); }
.nx3-step__n { position: absolute; top: 1.5rem; right: 1.75rem; font-size: 2.5rem; font-weight: 700; letter-spacing: -0.04em; color: #E6EAF2; line-height: 1; }
.nx3-step h3 { font-size: 1.1875rem; margin-top: .5rem !important; }
.nx3-step p { font-size: .9375rem; line-height: 1.6; color: #667089; }
.nx3-steps-cta { margin-top: 2.5rem; display: flex; justify-content: center; }

/* Pourquoi */
.nx3-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.nx3-why__item { display: grid; gap: .75rem; align-content: start; }
.nx3-why__item h3 { font-size: 1.0625rem; line-height: 1.35; }
.nx3-why__item p { font-size: .9375rem; line-height: 1.6; color: #667089; }
.nx3-promise { margin-top: 3rem !important; padding: 1.25rem 1.5rem; border-radius: 16px; background: #F6F8FC; border: 1px solid #E6EAF2; color: #2A3247; line-height: 1.6; max-width: 50rem; margin-inline: auto !important; text-align: center; }
.nx3-promise b { color: #141B2D; }

/* FAQ claire */
.nx3-faqwrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 1rem + 5vw, 6rem); align-items: start; }
body.nxt-light .nxh-faq { border-top: 0; display: grid; gap: .75rem; }
body.nxt-light .nxh-faq details { border: 1px solid #E6EAF2; border-radius: 14px; background: #FFFFFF; padding: 0 1.25rem; transition: border-color .2s ease, box-shadow .2s ease; }
body.nxt-light .nxh-faq details[open] { border-color: #C9D5F7; box-shadow: var(--nx3-shadow); }
body.nxt-light .nxh-faq summary { color: #141B2D; padding: 1.1rem 0; font-size: 1rem; }
body.nxt-light .nxh-faq summary::after { font-family: var(--nxt-font-sans); font-weight: 400; color: #3E64DE; }
body.nxt-light .nxh-faq details p { color: #556079; padding: 0 0 1.2rem; }

/* Appel final : panneau bleu arrondi */
.nx3-final { padding-block: 0 clamp(4.5rem, 3rem + 5vw, 8rem); }
.nx3-final__panel { background: #3E64DE; border-radius: 28px; padding: clamp(2.5rem, 1.5rem + 4vw, 4.5rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; background-image: radial-gradient(40rem 20rem at 100% 0%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%); }
.nx3-final h2 { color: #FFFFFF; font-size: clamp(1.875rem, 1.3rem + 2vw, 2.75rem); line-height: 1.12; max-width: 32rem; }
.nx3-final p { margin-top: .75rem !important; color: rgba(255, 255, 255, .88); font-size: 1.0625rem; }
.nx3-final .nxt-btn--primary { background: #FFFFFF; color: #2B49CA; }
.nx3-final .nxt-btn--primary:hover { background: #F0F4FF; color: #2B49CA; box-shadow: none; }
.nx3-final .nxt-btn--secondary { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .6); }
.nx3-final .nxt-btn--secondary:hover { background: rgba(255, 255, 255, .12); color: #FFFFFF; border-color: #FFFFFF; }
body.nxt-light .nxh-sticky { background: rgba(255, 255, 255, .96); border-top: 1px solid #E6EAF2; }

@media (max-width: 1080px) {
  .nx3-goals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx3-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .nx3-hero__grid, .nx3-exam, .nx3-faqwrap { grid-template-columns: 1fr; }
  .nx3-steps { grid-template-columns: 1fr; }
  .nx3-tile, .nx3-tile--wide, .nx3-tile--narrow { grid-column: span 12; }
}
@media (max-width: 600px) {
  .nx3-goals, .nx3-why, .nx3-stats { grid-template-columns: 1fr; }
  .nx3-goal { flex-direction: row; flex-wrap: wrap; align-items: center; padding: 1.25rem; }
  .nx3-goal .nx3-ico { width: 2.5rem; height: 2.5rem; }
  .nx3-goal h3 { flex: 1; }
  .nx3-goal p { flex-basis: 100%; }
  .nx3-final__panel { border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .nx3-goal, .nx3-offer, .nx3-goal__go .nx3-i { transition: none; }
  .nx3-goal:hover, .nx3-offer:hover { transform: none; }
}
body.nxt-light .nx3-final.nxh-final { background: transparent; }
/* Corrections après revue visuelle (04/11) */
body.nxt-light .nxt-header__nav > .nxt-menu > li > :is(a, button) { color: #141B2D; font-family: var(--nxt-font-sans); text-transform: none; letter-spacing: 0; font-size: .9375rem; font-weight: 500; }
body.nxt-light .nxt-header__nav > .nxt-menu > li > :is(a, button):hover, body.nxt-light .nxt-header__nav > .nxt-menu > li > a[aria-current="page"] { color: #3E64DE; }
body.nxt-light .nx3 a:not(.nxt-btn):not(.nx3-goal) { color: #2B49CA; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(43, 73, 202, .35); }
@media (min-width: 961px) { .nx3-hero__grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); } }
.nx3-hero h1 { font-size: clamp(2.375rem, 1.5rem + 2.8vw, 3.75rem); }
body.nxt-light .nx3-final .nxt-btn--secondary { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, .6); }
body.nxt-light .nx3-final .nxt-btn--secondary:hover { background: rgba(255, 255, 255, .12); color: #FFFFFF; border-color: #FFFFFF; }
.nx3-demo { min-width: 0; }
@media (max-width: 767px) {
  .nx3-demo__tabs { flex-wrap: wrap; }
  body.nxt-light .nx3-demo .nxh-track { width: auto; display: inline-flex; }
  body.nxt-light .nx3-demo .nxh-track button { flex: none; }
}
/* Pied de page clair */
body.nxt-light .nxt-footer {
  background: #F6F8FC; border-top: 1px solid #E6EAF2; color: #475069;
  --nxt-on-dark: #141B2D; --nxt-on-dark-text: #475069; --nxt-on-dark-muted: #667089; --nxt-on-dark-accent: #2B49CA; --nxt-border: #E6EAF2; --nxt-dark: #F6F8FC;
}
body.nxt-light .nxt-footer__title { font-family: var(--nxt-font-sans); letter-spacing: .04em; font-weight: 600; color: #667089; }
body.nxt-light .nxt-footer__legal { border-top-color: #E6EAF2; }
body.nxt-light .nxt-footer__legal p { font-family: var(--nxt-font-sans); letter-spacing: 0; text-transform: none; color: #667089; }

/* ══ Site entier en clair (04/11/2026) : composants des autres pages ══ */
html:has(body.nxt-light), body.nxt-light {
  --nxt-dark: #FFFFFF; --nxt-dark-line: #E6EAF2; --nxt-on-dark: #141B2D; --nxt-on-dark-text: #475069; --nxt-on-dark-muted: #667089; --nxt-on-dark-accent: #2B49CA;
  --nxt-glow: 0 2px 4px rgba(20, 27, 45, .05), 0 24px 48px -16px rgba(62, 100, 222, .28);
}
/* Hauts de page : fond blanc avec un voile bleu très léger, sans trame ni halo. */
body.nxt-light .nxt-hero { background: radial-gradient(60rem 30rem at 85% -10%, #EEF3FF 0%, rgba(238, 243, 255, 0) 70%), #FFFFFF; }
body.nxt-light .nxt-hero::before, body.nxt-light .nxt-hero::after { display: none; }
body.nxt-light .nxt-hero h1 { font-weight: 700; letter-spacing: -0.04em; }
/* Petits titres : Inter, sans majuscules forcées. */
body.nxt-light .nxt-eyebrow { font-family: var(--nxt-font-sans); font-size: .8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: #3E64DE; }
body.nxt-light .nxt-eyebrow::before { width: .5rem; height: .5rem; border-radius: 50%; background: #3E64DE; box-shadow: 0 0 0 4px #EEF3FF; }
/* Sections et cartes */
body.nxt-light .nxt-s--alt { background: #F6F8FC; border-block: 0; }
body.nxt-light :is(.nxt-card, .nxt-glow-card) { background: #FFFFFF; border: 1px solid #E6EAF2; box-shadow: var(--nx3-shadow); }
body.nxt-light :is(.nxt-card, .nxt-glow-card)::before { display: none; }
body.nxt-light .nxt-card--featured { border-color: #3E64DE; }
body.nxt-light .nxt-checks li strong, body.nxt-light .nxt-offer__name { color: #141B2D; }
body.nxt-light .nxt-checks li::before { background-color: #EEF3FF; }
/* Cartes de prix des pages programme : blanches, bandeau bleu en haut, ligne « Tarif » encadrée. */
body.nxt-light .nxt-card.nxt-offer { background: #FFFFFF; border: 1px solid #E6EAF2; border-top: 4px solid #3E64DE; box-shadow: var(--nx3-shadow); }
body.nxt-light .nxt-card.nxt-offer:hover { box-shadow: 0 2px 4px rgba(20, 27, 45, .05), 0 28px 56px -20px rgba(20, 27, 45, .22); }
body.nxt-light .nxt-offer .nxt-checks li:nth-child(2) { background: #EEF3FF; border-color: #C9D5F7; color: #141B2D; }
/* Bandeaux d'appel à l'action et encadrés colorés : bleu plein, texte blanc. */
body.nxt-light .nxt-s--brand > .nxt-container { background: #3E64DE !important; box-shadow: none; }
body.nxt-light .nxt-contact__promise { background: #3E64DE !important; border-color: #3E64DE !important; }
/* Listes, FAQ et étiquettes en mono : Inter. */
body.nxt-light .nxt-panel li span, body.nxt-light .nxt-faq summary::after { font-family: var(--nxt-font-sans); font-weight: 600; letter-spacing: 0; }
/* Menus : méga-menu et panneau mobile clairs. */
body.nxt-light .nxt-mega { background: #FFFFFF; border-bottom: 1px solid #E6EAF2; box-shadow: 0 24px 48px -24px rgba(20, 27, 45, .25); }
body.nxt-light .nxt-mega__card { background: #F6F8FC; border: 1px solid #E6EAF2; }
body.nxt-light .nxt-mobile { background: #FFFFFF; }
body.nxt-light .nxt-drop { background: #FFFFFF; border-color: #E6EAF2; box-shadow: 0 24px 48px -16px rgba(20, 27, 45, .25); }
body.nxt-light .nxt-drop__label { color: #141B2D; }
/* Textes codés en blanc dans les composants d'origine : encre foncée sur fond clair. */
body.nxt-light :is(.hero-section .page-title, .nxt-proof__list strong, .nxt-mock__row b, .nxt-mock__score strong, .nxt-quote, .nxt-price__amount,
  .nxt-card--course .wp-block-post-title a, .nxt-checklist li strong, .nxt-help-topics h3 a, .nxt-review__text, .nxt-table tbody th, .nxt-table td strong,
  .nxt-kpi strong, .nxt-panel li, .nxt-cat > *, .nxt-ff-success__title, .nxt-contact__form .fluentform .ff-el-input--label label,
  .nxt-contact__form .fluentform .ff-el-form-control, .nxt-contact__form .nxt-ff-chips .ff-el-form-check-label:hover) { color: #141B2D !important; }
body.nxt-light .nxt-card a:hover { color: #2B49CA; }
body.nxt-light .nxt-table thead th { font-family: var(--nxt-font-sans); letter-spacing: .02em; font-weight: 600; }
body.nxt-light :is(.nxt-panel li, .nxt-contact__form .fluentform .ff-el-form-control, .nxt-contact__form .nxt-ff-chips .ff-el-form-check-label) { background-color: #FFFFFF; }
body.nxt-light .nxt-mock__track { background: #E6EAF2; }
body.nxt-light .nxt-cat__index { font-family: var(--nxt-font-sans); font-weight: 600; letter-spacing: 0; }
/* Blocs restés blancs sur fond bleu : on garde le blanc. */
body.nxt-light :is(.nxt-contact__promise, .nxt-s--brand) :is(h2, h3, p, strong, .nxt-contact__big) { color: #FFFFFF !important; }
/* Blocksy calcule ses couleurs à la racine : on les redéclare pour qu'elles suivent les jetons clairs. */
html:has(body.nxt-light), body.nxt-light {
  --theme-palette-color-1: var(--nxt-primary); --theme-palette-color-2: var(--nxt-primary-hover); --theme-palette-color-3: var(--nxt-text);
  --theme-palette-color-4: var(--nxt-heading); --theme-palette-color-5: var(--nxt-border); --theme-palette-color-6: var(--nxt-background-soft);
  --theme-palette-color-7: var(--nxt-lavender); --theme-palette-color-8: var(--nxt-background);
  --theme-text-color: var(--nxt-text); --theme-headings-color: var(--nxt-heading); --theme-link-initial-color: var(--nxt-link); --theme-link-hover-color: #141B2D;
  --theme-border-color: var(--nxt-border); --theme-form-field-border-initial-color: var(--nxt-border-strong);
}
body.nxt-light :where(.entry-content, .nxt-s, .nxl) a:where(:not(.nxt-btn):not(.wp-block-button__link):not([class*="tutor-btn"])) { color: #2B49CA; }
body.nxt-light .nx3-mock__cap, body.nxt-light .nx3-mock__scale { color: #5B6478; }
body.nxt-light .nxt-todo { background: #FEF3C7; color: #92400E; }
body.nxt-light :is(.nxt-s--brand, .nxt-contact__promise) .nxt-accent { color: #FFFFFF; }
body.nxt-light .nxt-cat__status { color: #166534; background: #DCFCE7; border-color: #BBF7D0; font-family: var(--nxt-font-sans); letter-spacing: 0; }
body.nxt-light .nxt-legal-note { color: #92400E; background: #FFFBEB; border-color: #FCD34D; }
body.nxt-light .nxl-callout--warn .nxl-label { color: #92400E; }
body.nxt-light .nxl-callout--ok .nxl-label { color: #166534; }
/* Leçons : même typographie que le site (Inter, sans italique décorative ni mono en capitales). */
body.nxt-light .nxl-accent { font-family: var(--nxt-font-sans); font-style: normal; color: #3E64DE; }
body.nxt-light :is(.nxl-eyebrow, .nxl-label, .nxl-chips li, .nxl-src, .nxl-page) { font-family: var(--nxt-font-sans); letter-spacing: 0; text-transform: none; }
body.nxt-light :is(.nxl-eyebrow, .nxl-label) { font-weight: 600; }
/* Cohérence (04/11) : ombres douces et typographie unique sur tout le site clair. */
html:has(body.nxt-light), body.nxt-light {
  --nxt-shadow-sm: 0 1px 2px rgba(20, 27, 45, .05), 0 8px 20px -12px rgba(20, 27, 45, .12);
  --nxt-shadow-md: 0 1px 2px rgba(20, 27, 45, .05), 0 16px 36px -18px rgba(20, 27, 45, .16);
  --nxt-shadow-lg: 0 2px 4px rgba(20, 27, 45, .05), 0 28px 56px -24px rgba(20, 27, 45, .20);
  --nxt-font-mono: var(--nxt-font-sans);
}
body.nxt-light .nxt-contact__form { border: 1px solid #E6EAF2; box-shadow: var(--nxt-shadow-md); }
/* Bandeau d'avis Trustpilot dans le pied de page */
.nxt-footer__reviews { max-width: calc(var(--nxt-container) + 2 * var(--nxt-gutter)); margin-inline: auto; padding: 0 var(--nxt-gutter) var(--nxt-space-8); display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: var(--nxt-space-4) var(--nxt-space-8); align-items: center; }
.nxt-footer__reviews p { margin: 0; color: var(--nxt-on-dark-text); font-size: var(--nxt-fs-sm); }
.nxt-footer__reviews .trustpilot-widget a { color: var(--nxt-on-dark-accent); }
@media (max-width: 767px) { .nxt-footer__reviews { grid-template-columns: 1fr; } }

/* ══ 04/11 (suite) : pied bleu sombre, cartes alternées, page de cours et cartes Tutor ══ */
/* Pied de page bleu sombre sur toutes les pages */
body.nxt-light .nxt-footer {
  background: #17213D; border-top: 0; color: #C9D2E6;
  --nxt-on-dark: #FFFFFF; --nxt-on-dark-text: #C9D2E6; --nxt-on-dark-muted: #A3AEC8; --nxt-on-dark-accent: #A4BCF4; --nxt-border: rgba(255, 255, 255, .12); --nxt-dark: #17213D;
}
body.nxt-light .nxt-footer__title, body.nxt-light .nxt-footer__legal p { color: #A3AEC8; }
body.nxt-light .nxt-footer__legal { border-top-color: rgba(255, 255, 255, .12); }

/* Accueil : l'appel final respire par rapport à la FAQ */
.nx3-final { padding-top: clamp(4rem, 3rem + 4vw, 7rem) !important; }

/* Cartes bleu foncé en alternance (programmes, aide, contact) */
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) :is(.nxt-grid > .nxt-card:nth-child(2n), .nxt-contact__aside > .nxt-card:nth-child(3)) {
  background: #17213D; border-color: #17213D;
  --nxt-heading: #FFFFFF; --nxt-text: #D5DCEA; --nxt-muted: #A9B4CC; --nxt-link: #A4BCF4; --nxt-border: rgba(255, 255, 255, .12); --nxt-lavender: rgba(164, 188, 244, .16);
  color: #D5DCEA;
}
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) :is(.nxt-grid > .nxt-card:nth-child(2n), .nxt-contact__aside > .nxt-card:nth-child(3)) :is(h2, h3, h4, strong, .nxt-offer__name, .nxt-checks li strong, .nxt-checklist li strong, .nxt-help-topics h3 a, .nxt-panel li) { color: #FFFFFF !important; }
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) :is(.nxt-grid > .nxt-card:nth-child(2n), .nxt-contact__aside > .nxt-card:nth-child(3)) :is(p, li) { color: #D5DCEA; }
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) :is(.nxt-grid > .nxt-card:nth-child(2n), .nxt-contact__aside > .nxt-card:nth-child(3)) a:not(.nxt-btn) { color: #A4BCF4 !important; }
body.nxt-light .nxt-grid > .nxt-card.nxt-offer:nth-child(2n) { border-top-color: #6F8FF0; }
body.nxt-light .nxt-grid > .nxt-card.nxt-offer:nth-child(2n) .nxt-checks li:nth-child(2) { background: rgba(255, 255, 255, .08); border-color: rgba(164, 188, 244, .35); color: #FFFFFF; }

/* Bandeau titre des pages Blocksy (page de cours, inscription, pages légales) : clair, sans trame */
body.nxt-light .hero-section[data-type]::before { background: radial-gradient(60% 120% at 85% 0%, #E8EEFF, rgba(232, 238, 255, 0) 70%); -webkit-mask-image: none; mask-image: none; }
body.nxt-light .hero-section .entry-header::before { font-size: .8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: #3E64DE; }
body.nxt-light .hero-section .page-title { font-weight: 700; letter-spacing: -0.035em; }

/* Page de présentation d'un cours Tutor */
body.nxt-light.single-courses .tutor-course-thumbnail img, body.nxt-light.single-courses .tutor-course-thumbnail { border-radius: 22px; overflow: hidden; }
body.nxt-light.single-courses .tutor-course-thumbnail { border: 1px solid #E6EAF2; box-shadow: var(--nxt-shadow-md); }
body.nxt-light.single-courses :is(.tutor-sidebar-card, .tutor-course-details-instructors, .tutor-course-details-widget) { background: #FFFFFF; border: 1px solid #E6EAF2; border-radius: 20px; box-shadow: var(--nxt-shadow-md); overflow: hidden; }
body.nxt-light.single-courses .tutor-sidebar-card .tutor-card-body { background: #FFFFFF; padding: 1.75rem; }
body.nxt-light.single-courses .tutor-sidebar-card .tutor-card-footer { border-top: 1px solid #EEF1F6; background: #F6F8FC; }
body.nxt-light.single-courses .tutor-btn { border-radius: 999px; font-weight: 600; }
body.nxt-light.single-courses .tutor-btn-primary { background: #3E64DE; border-color: #3E64DE; }
body.nxt-light.single-courses .tutor-btn-primary:hover { background: #2B49CA; border-color: #2B49CA; }
body.nxt-light.single-courses .tutor-progress-bar { height: 8px; border-radius: 4px; background: #EEF1F6; }
body.nxt-light.single-courses .tutor-progress-bar .tutor-progress-value { border-radius: 4px; background: #3E64DE; }
body.nxt-light.single-courses .tutor-nav { border-bottom: 1px solid #E6EAF2; }
body.nxt-light.single-courses .tutor-nav-link { font-weight: 600; color: #667089; }
body.nxt-light.single-courses .tutor-nav-link.is-active { color: #3E64DE; }
body.nxt-light.single-courses :is(.tutor-course-details-content h2, .tutor-course-details-tab h2, .tutor-course-details-tab h3) { color: #141B2D; letter-spacing: -0.02em; font-weight: 700; }
body.nxt-light.single-courses .tutor-accordion-item { border: 1px solid #E6EAF2; border-radius: 14px; overflow: hidden; box-shadow: var(--nxt-shadow-sm); }
body.nxt-light.single-courses .tutor-accordion-item + .tutor-accordion-item { margin-top: .75rem; }
body.nxt-light.single-courses .tutor-accordion-item-header { font-weight: 600; color: #141B2D; padding: 1.1rem 1.25rem; }
body.nxt-light.single-courses .tutor-accordion-item-header.is-active { background: #F6F8FC; }

/* Cartes de cours Tutor (catalogue, tableau de bord) */
body.nxt-light .tutor-course-card { border: 1px solid #E6EAF2; border-radius: 20px; overflow: hidden; background: #FFFFFF; box-shadow: var(--nxt-shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
body.nxt-light .tutor-course-card:hover { transform: translateY(-4px); box-shadow: var(--nxt-shadow-lg); }
body.nxt-light .tutor-course-card .tutor-course-thumbnail { border-bottom: 1px solid #EEF1F6; }
body.nxt-light .tutor-course-card .tutor-card-body { padding: 1.25rem 1.5rem 1rem; }
body.nxt-light .tutor-course-card .tutor-course-name { font-size: 1.1875rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.3; }
body.nxt-light .tutor-course-card .tutor-course-name a { color: #141B2D; text-decoration: none; }
body.nxt-light .tutor-course-card .tutor-course-name a:hover { color: #3E64DE; }
body.nxt-light .tutor-course-card .tutor-meta { font-size: .875rem; color: #667089; }
body.nxt-light .tutor-course-card .tutor-meta a { color: #141B2D; font-weight: 600; text-decoration: none; }
body.nxt-light .tutor-course-card .tutor-meta .tutor-avatar { width: 28px; height: 28px; font-size: .75rem; }
body.nxt-light .tutor-course-card .tutor-card-footer { padding: 1rem 1.5rem 1.5rem; border-top: 1px solid #EEF1F6; }
body.nxt-light .tutor-course-card .tutor-btn { width: 100%; justify-content: center; border-radius: 999px; font-weight: 600; min-height: 2.75rem; }
body.nxt-light .tutor-course-card :is(.tutor-btn-outline-primary, .tutor-btn-primary) { background: #3E64DE; border-color: #3E64DE; color: #FFFFFF; }
body.nxt-light .tutor-course-card :is(.tutor-btn-outline-primary, .tutor-btn-primary):hover { background: #2B49CA; border-color: #2B49CA; color: #FFFFFF; }
body.nxt-light .tutor-course-card .tutor-course-bookmark { background: #FFFFFF; border-radius: 50%; box-shadow: 0 4px 12px rgba(20, 27, 45, .15); }
body.nxt-light .tutor-course-card .tutor-item-price, body.nxt-light .tutor-course-card .price { font-weight: 700; color: #141B2D; }

/* ══ 04/11 (fin) : pages natives Tutor/Blocksy, formulaires, cartes domaines ══ */
/* Titre des pages natives (inscription, tableau de bord, panier, pages légales) : plus mesuré */
body.nxt-light .hero-section[data-type] { padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem) clamp(1.5rem, 1rem + 2vw, 2.5rem); margin-bottom: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
body.nxt-light .hero-section .page-title { font-size: clamp(2rem, 1.5rem + 2vw, 3rem) !important; line-height: 1.1; }

/* Formulaires Tutor (inscription, connexion) : carte nette, champs blancs bien bordés */
body.nxt-light:is(.page-id-7, .page-id-8) .ct-container-full { background: #F6F8FC; }
body.nxt-light :is(#tutor-registration-wrap, .tutor-login-wrap, .tutor-login-form-wrapper) { background: #FFFFFF; border: 1px solid #DCE2EC; border-radius: 20px; box-shadow: var(--nxt-shadow-md); }
body.nxt-light .tutor-label { color: #141B2D; font-weight: 600; font-size: .9375rem; }
body.nxt-light :is(.tutor-input, .tutor-form-control) { background: #FFFFFF !important; border: 1px solid #C3CCDC !important; border-radius: 12px; color: #141B2D; min-height: 3rem; padding: .75rem 1rem; box-shadow: none; }
body.nxt-light :is(.tutor-input, .tutor-form-control):focus { border-color: #3E64DE !important; box-shadow: 0 0 0 4px rgba(62, 100, 222, .18); outline: none; }
body.nxt-light :is(.tutor-input, .tutor-form-control)::placeholder { color: #8A93A8; }
body.nxt-light .tutor-btn-primary { background: #3E64DE; border-color: #3E64DE; border-radius: 999px; font-weight: 600; min-height: 3rem; }
body.nxt-light .tutor-btn-primary:hover { background: #2B49CA; border-color: #2B49CA; }

/* Catalogue : cartes « domaines » en bleu (bleu de marque, puis bleu nuit) */
body.nxt-light .nxt-cat > :is(#nxt-z, .nxt-glow-card) { background: #3E64DE; border-color: #3E64DE; color: #FFFFFF !important; transition: transform .25s ease, box-shadow .25s ease; }
body.nxt-light .nxt-cat:nth-child(even) > :is(#nxt-z, .nxt-glow-card) { background: #17213D; border-color: #17213D; }
body.nxt-light .nxt-cat > :is(#nxt-z, .nxt-glow-card):hover { transform: translateY(-4px); box-shadow: 0 24px 48px -20px rgba(23, 33, 61, .55); }
body.nxt-light .nxt-cat :is(#nxt-z, .nxt-cat__name) { color: #FFFFFF !important; }
body.nxt-light .nxt-cat :is(#nxt-z, .nxt-cat__desc) { color: #FFFFFF !important; opacity: .92; }
body.nxt-light .nxt-cat :is(#nxt-z, .nxt-cat__index) { color: #DCE5FF !important; }
body.nxt-light .nxt-cat :is(#nxt-z, .nxt-cat__status) { background: rgba(255, 255, 255, .16) !important; border-color: rgba(255, 255, 255, .35) !important; color: #FFFFFF !important; }

/* ══ Sobriété (04/11, retour client) : aucun voile ni flou, échelle typographique resserrée ══ */
/* 1. Plus de voiles bleus ni d'effets de flou */
body.nxt-light .nxt-header, body.nxt-light .nxt-mega { background: #FFFFFF; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.nxt-light :is(.nxt-hero, .nx3-hero) { background: #FFFFFF; }
body.nxt-light .hero-section[data-type]::before { background: none; }
body.nxt-light .nx3-final__panel { background-image: none; }
body.nxt-light .nxt-s--brand > .nxt-container::before, body.nxt-light .nxt-s--brand > .nxt-container::after { display: none; }

/* 2. Échelle typographique : titres plus petits et moins gras, texte courant à 16–17 px */
html:has(body.nxt-light), body.nxt-light {
  --nxt-fs-base: 1rem;
  --nxt-fs-lg: clamp(1.0625rem, 1rem + .2vw, 1.125rem);
  --nxt-fs-h4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);
  --nxt-fs-h3: clamp(1.3125rem, 1.15rem + .6vw, 1.5rem);
  --nxt-fs-h2: clamp(1.75rem, 1.4rem + 1.4vw, 2.375rem);
  --nxt-fs-h1: clamp(2.125rem, 1.6rem + 2vw, 3rem);
  --nxt-fs-display: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
}
body.nxt-light { font-size: 1rem; line-height: 1.65; }
body.nxt-light :is(h1, h2, h3, h4, .page-title, .nxt-offer__name) { font-weight: 700 !important; letter-spacing: -0.02em !important; line-height: 1.15; }
body.nxt-light .nxt-hero h1, body.nxt-light .hero-section .page-title { font-size: var(--nxt-fs-display) !important; line-height: 1.08; letter-spacing: -0.03em !important; }
body.nxt-light .nx3-hero h1 { font-size: clamp(2.25rem, 1.5rem + 2.6vw, 3.5rem); letter-spacing: -0.03em !important; }
body.nxt-light :is(.nxt-checks li, .nxt-checklist li, .nxt-card p, .nxt-lead) { font-size: 1rem; line-height: 1.6; }
body.nxt-light .nxt-hero .nxt-lead { font-size: var(--nxt-fs-lg); }
body.nxt-light .nxt-card { padding: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
body.nxt-light .nxt-card h3 { font-size: var(--nxt-fs-h4); }
/* 3. Rythme vertical resserré et icônes visibles dans les cartes foncées */
html:has(body.nxt-light), body.nxt-light { --nxt-section-y: clamp(3.5rem, 2.5rem + 3vw, 5.5rem); --nxt-stack: clamp(2rem, 1.6rem + 1.5vw, 3rem); }
body.nxt-light .nxt-hero, body.nxt-light .nxt-hero--page { padding-block: clamp(3rem, 2rem + 3vw, 5rem) clamp(2rem, 1.5rem + 2vw, 3rem); }
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) .nxt-grid > .nxt-card:nth-child(2n) .nxt-checks li::before { background-color: #3E64DE; filter: brightness(1.15); }

/* ══ Cartes de prix des programmes (04/11, refonte) ══ */
.nx3-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr)); gap: 1.5rem; align-items: stretch; }
.nx3-plans--2 { grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); max-width: 56rem; }
.nx3-plan { position: relative; display: flex; flex-direction: column; padding: 2rem; background: #FFFFFF; border: 1px solid #E3E8F0; border-radius: 20px; box-shadow: 0 1px 2px rgba(20, 27, 45, .04), 0 12px 32px -18px rgba(20, 27, 45, .18); }
.nx3-plan__kicker { margin: 0 0 .75rem !important; font-size: .8125rem; font-weight: 600; color: #3E64DE; }
.nx3-plan h3 { margin: 0 !important; font-size: 1.375rem !important; line-height: 1.25; color: #141B2D; }
.nx3-plan__desc { margin: .6rem 0 0 !important; font-size: .9375rem; line-height: 1.55; color: #5A647A; min-height: 4.65em; }
.nx3-plan__price { margin: 1.5rem 0 0 !important; display: flex; align-items: baseline; gap: .5rem; }
.nx3-plan__price b { font-size: 2.75rem; line-height: 1; font-weight: 700; letter-spacing: -0.03em; color: #141B2D; }
.nx3-plan__price span { font-size: .875rem; color: #5A647A; }
.nx3-plan__vat { margin: .4rem 0 0 !important; font-size: .8125rem; color: #6B7489; min-height: 2.6em; }
.nx3-plan__list { list-style: none; margin: 1.5rem 0 0 !important; padding: 1.5rem 0 0 !important; border-top: 1px solid #EEF1F6; display: grid; gap: .8rem; }
.nx3-plan__list li { display: grid; grid-template-columns: 1.25rem 1fr; gap: .7rem; align-items: start; font-size: .9375rem; line-height: 1.5; color: #2A3247; }
.nx3-plan__list .nx3-i { width: 1.25rem; height: 1.25rem; color: #3E64DE; margin-top: .1rem; }
.nx3-plan__list li.is-option { color: #5A647A; }
.nx3-plan__cta { margin-top: auto; padding-top: 1.75rem; }
.nx3-plan__cta .nxt-btn { width: 100%; justify-content: center; }
.nx3-plan__badge { position: absolute; top: 1.5rem; right: 1.5rem; font-size: .75rem; font-weight: 600; padding: .3rem .7rem; border-radius: 999px; background: #3E64DE; color: #FFFFFF; }
/* Formule mise en avant : bleu nuit */
.nx3-plan.is-featured { background: #17213D; border-color: #17213D; box-shadow: 0 24px 48px -24px rgba(23, 33, 61, .6); }
.nx3-plan.is-featured :is(h3, .nx3-plan__price b) { color: #FFFFFF !important; }
.nx3-plan.is-featured :is(.nx3-plan__desc, .nx3-plan__price span, .nx3-plan__vat) { color: #B8C2D9; }
.nx3-plan.is-featured .nx3-plan__kicker { color: #A4BCF4; }
.nx3-plan.is-featured .nx3-plan__list { border-top-color: rgba(255, 255, 255, .12); }
.nx3-plan.is-featured .nx3-plan__list li { color: #E3E8F2; }
.nx3-plan.is-featured .nx3-plan__list .nx3-i { color: #A4BCF4; }
.nx3-plan.is-featured .nxt-btn--primary { background: #FFFFFF; color: #17213D; border-color: #FFFFFF; }
.nx3-plan.is-featured .nxt-btn--primary:hover { background: #E8EEFF; color: #17213D; box-shadow: none; }
.nx3-plans-note { margin: 1.25rem 0 0 !important; font-size: .875rem; color: #6B7489; }
@media (max-width: 600px) { .nx3-plan { padding: 1.5rem; } .nx3-plan__desc, .nx3-plan__vat { min-height: 0; } }
.nx3-plan__badge { display: none; }

/* ══ Formules VTC / Taxi (04/11) : bascule et grilles ══ */
.nx3-switch { display: flex; width: max-content; margin: 0 auto 2.5rem; padding: .3rem; gap: .25rem; background: #EEF1F7; border: 1px solid #E3E8F0; border-radius: 999px; }
.nx3-switch button { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.5rem; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: .9375rem; font-weight: 600; color: #4A5470; cursor: pointer; transition: background-color .15s, color .15s; }
.nx3-switch button .nx3-i { width: 1.25rem; height: 1.25rem; }
.nx3-switch button:hover { color: #141B2D; }
.nx3-switch button[aria-selected="true"] { background: #FFFFFF; color: #17213D; box-shadow: 0 1px 2px rgba(20, 27, 45, .08), 0 4px 12px -6px rgba(20, 27, 45, .2); }
.nx3-switch button[aria-selected="true"] .nx3-i { color: #3E64DE; }
.nx3-switch button:focus-visible { outline: 2px solid #3E64DE; outline-offset: 2px; }
.nx3-plans--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx3-plans--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.nx3-plans--n4 .nx3-plan { padding: 1.75rem 1.5rem; }
.nx3-plans--n4 .nx3-plan h3 { font-size: 1.1875rem !important; }
.nx3-plans--n4 .nx3-plan__price b { font-size: 2.375rem; }
.nx3-plans--n5, .nx3-plans--n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1100px) { .nx3-plans--n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .nx3-plans--n3, .nx3-plans--n5, .nx3-plans--n6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .nx3-plans--n3, .nx3-plans--n4, .nx3-plans--n5, .nx3-plans--n6 { grid-template-columns: 1fr; } .nx3-switch button { padding: .6rem 1.15rem; } }
.nx3-plan.is-soon { background: #F7F9FC; box-shadow: none; border-style: dashed; border-color: #CFD7E6; }
.nx3-plan.is-soon :is(h3, .nx3-plan__price b) { color: #4A5470; }
.nx3-plan__soon { display: flex; justify-content: center; padding: .8rem 1rem; border-radius: 999px; background: #E8EDF6; color: #4A5470; font-size: .9375rem; font-weight: 600; }
/* Page de formation Tutor : demande d'inscription tant que le paiement en ligne n'est pas actif */
.nxt-enroll-request p { margin: .75rem 0 0; font-size: .8125rem; line-height: 1.5; color: #5A647A; text-align: center; }
/* Alignement des lignes d'une carte à l'autre (titre, prix, liste, bouton) */
.nx3-plans[class*="nx3-plans--n"] { row-gap: 0; }
.nx3-plans[class*="nx3-plans--n"] > .nx3-plan { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; margin-bottom: 1.5rem; }
.nx3-plans[class*="nx3-plans--n"] .nx3-plan__desc, .nx3-plans[class*="nx3-plans--n"] .nx3-plan__vat { min-height: 0; }
.nx3-plans[class*="nx3-plans--n"] .nx3-plan__cta { align-self: end; }
.nx3-plan__list--empty { border-top: 0 !important; padding: 0 !important; }
.nx3-formules { margin-bottom: -1.5rem; }
.nx3-plans[class*="nx3-plans--n"] .nx3-plan__list { align-content: start; }
.nxt-enroll-request .nxt-enroll-request__price { margin: 0 0 1.25rem !important; text-align: left; }
.nxt-enroll-request__price b { display: block; font-size: 2.25rem; line-height: 1.1; font-weight: 700; letter-spacing: -0.03em; color: #141B2D; }
.nxt-enroll-request__price span { display: block; margin-top: .35rem; font-size: .8125rem; line-height: 1.45; color: #6B7489; }
.nxt-loop-price { gap: .75rem; }
.nxt-loop-price__amount { font-size: 1.125rem; font-weight: 700; color: #141B2D; white-space: nowrap; }

/* ══════════════════════════════════════════════════════════════════
   Profondeur et contours (04/11) : boutons et cartes « modernes »,
   sans halo ni flou. Bordures en dégradé, ombres en couches,
   reflet intérieur, légère élévation au survol.
   ══════════════════════════════════════════════════════════════════ */
:root {
  --nx-edge: linear-gradient(180deg, #E8ECF4 0%, #D3DBE8 100%);
  --nx-edge-hover: linear-gradient(180deg, #9FB6F3 0%, #DCE3EF 100%);
  --nx-depth: 0 0 0 1px rgba(20, 27, 45, .015), 0 1px 2px rgba(20, 27, 45, .05), 0 4px 8px -4px rgba(20, 27, 45, .06), 0 18px 36px -20px rgba(20, 27, 45, .22), inset 0 1px 0 #FFFFFF;
  --nx-depth-hover: 0 0 0 1px rgba(20, 27, 45, .015), 0 2px 4px rgba(20, 27, 45, .05), 0 10px 18px -8px rgba(20, 27, 45, .10), 0 30px 56px -26px rgba(30, 52, 130, .34), inset 0 1px 0 #FFFFFF;
  --nx-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- Boutons principaux (site + Tutor) ---------- */
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary, .wp-block-button.is-style-nxt-primary .wp-block-button__link) {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #5479EC 0%, #3E64DE 52%, #3459D3 100%);
  border: 1px solid #2E50C4; color: #FFFFFF;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30), inset 0 -2px 0 rgba(10, 20, 60, .14), 0 1px 2px rgba(23, 33, 61, .28), 0 8px 18px -8px rgba(62, 100, 222, .65);
  transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease, background-position .2s ease, filter .2s ease;
}
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary, .wp-block-button.is-style-nxt-primary .wp-block-button__link)::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .38) 50%, transparent 65%);
  transform: translateX(-130%); transition: transform .75s cubic-bezier(.2, .8, .2, 1);
}
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary, .wp-block-button.is-style-nxt-primary .wp-block-button__link):hover {
  transform: translateY(-2px); color: #FFFFFF; filter: saturate(1.08) brightness(1.04);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), inset 0 -2px 0 rgba(10, 20, 60, .14), 0 2px 4px rgba(23, 33, 61, .22), 0 16px 30px -12px rgba(62, 100, 222, .72);
}
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary, .wp-block-button.is-style-nxt-primary .wp-block-button__link):hover::before { transform: translateX(130%); }
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary):active { transform: translateY(0); box-shadow: inset 0 2px 4px rgba(10, 20, 60, .25), 0 1px 2px rgba(23, 33, 61, .2); }
body.nxt-light :is(.nxt-btn, .tutor-btn):focus-visible { outline: 2px solid #3E64DE; outline-offset: 3px; }

/* Flèche qui avance au survol, sur les appels à l'action des contenus */
body.nxt-light :is(.nx3, .nxt-s, .nxt-hero, .nx3-plan__cta, .nxt-enroll-request) .nxt-btn--primary::after,
body.nxt-light .nxt-enroll-request .tutor-btn-primary::after,
body.nxt-light .nxt-header__actions .nxt-btn--primary::after {
  content: ""; width: 1.05em; height: 1.05em; flex: none; background: currentColor;
  -webkit-mask: var(--nx-arrow) center / contain no-repeat; mask: var(--nx-arrow) center / contain no-repeat;
  transition: transform .2s cubic-bezier(.2, .8, .2, 1);
}
body.nxt-light :is(.nxt-btn--primary, .tutor-btn-primary):hover::after { transform: translateX(3px); }
body.nxt-light .nxt-enroll-request .tutor-btn-primary { display: flex; gap: .5rem; align-items: center; justify-content: center; }

/* ---------- Boutons secondaires / contour ---------- */
body.nxt-light :is(.nxt-btn--secondary, .tutor-btn-outline-primary, .wp-block-button.is-style-nxt-secondary .wp-block-button__link) {
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box;
  border: 1px solid transparent; color: #17213D;
  box-shadow: 0 1px 2px rgba(20, 27, 45, .06), 0 4px 10px -6px rgba(20, 27, 45, .14), inset 0 -2px 0 rgba(20, 27, 45, .04);
  transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease, color .2s ease, background .2s ease;
}
body.nxt-light :is(.nxt-btn--secondary, .tutor-btn-outline-primary, .wp-block-button.is-style-nxt-secondary .wp-block-button__link):hover {
  background: linear-gradient(#F7F9FE, #F7F9FE) padding-box, linear-gradient(180deg, #7F9DF0, #C9D5F3) border-box;
  color: #2B49CA; transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(20, 27, 45, .06), 0 12px 22px -12px rgba(43, 73, 202, .38), inset 0 -2px 0 rgba(20, 27, 45, .04);
}

/* ---------- Boutons blancs sur fond foncé (carte mise en avant, bandeau final) ---------- */
body.nxt-light :is(.nx3-plan.is-featured, .nx3-final, .nxh-final) .nxt-btn--primary {
  background: linear-gradient(180deg, #FFFFFF 0%, #EEF2FC 100%); color: #17213D; border-color: rgba(255, 255, 255, .9);
  box-shadow: inset 0 -2px 0 rgba(23, 33, 61, .08), 0 1px 2px rgba(0, 0, 0, .25), 0 12px 26px -12px rgba(0, 0, 0, .55);
}
body.nxt-light :is(.nx3-plan.is-featured, .nx3-final, .nxh-final) .nxt-btn--primary::before { background: linear-gradient(105deg, transparent 35%, rgba(62, 100, 222, .16) 50%, transparent 65%); }
body.nxt-light :is(.nx3-plan.is-featured, .nx3-final, .nxh-final) .nxt-btn--primary:hover { color: #17213D; background: linear-gradient(180deg, #FFFFFF 0%, #E6ECFB 100%); box-shadow: inset 0 -2px 0 rgba(23, 33, 61, .08), 0 2px 4px rgba(0, 0, 0, .25), 0 18px 34px -14px rgba(0, 0, 0, .6); }
body.nxt-light :is(.nx3-final, .nxh-final) .nxt-btn--secondary {
  background: rgba(255, 255, 255, .06); color: #FFFFFF; border: 1px solid rgba(255, 255, 255, .45);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}
body.nxt-light :is(.nx3-final, .nxh-final) .nxt-btn--secondary:hover { background: rgba(255, 255, 255, .14); border-color: #FFFFFF; color: #FFFFFF; }

/* ---------- Cartes blanches : bordure en dégradé et profondeur ---------- */
body.nxt-light :is(.nx3-plan:not(.is-featured):not(.is-soon), .nx3-goal, .nx3-offer, .nx3-stat, .nx3-tile, .nx3-step, .nxt-card, .nxt-glow-card:not(.nxt-cat > *), .tutor-course-card, .nxt-contact__form, .nxh-quiz),
body.nxt-light.single-courses :is(.tutor-sidebar-card, .tutor-course-details-instructors, .tutor-course-details-widget),
body.nxt-light :is(#tutor-registration-wrap, .tutor-login-wrap, .tutor-login-form-wrapper) {
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box;
  border: 1px solid transparent; box-shadow: var(--nx-depth);
}
body.nxt-light .nxt-card.nxt-offer { border-top: 4px solid #3E64DE; }
/* Cartes cliquables : élévation et liseré bleu au survol */
body.nxt-light :is(.nx3-plan:not(.is-featured):not(.is-soon), .nx3-goal, .nx3-offer, .nx3-tile, .tutor-course-card) {
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease, background .3s ease;
}
body.nxt-light :is(.nx3-plan:not(.is-featured):not(.is-soon), .nx3-goal, .nx3-offer, .nx3-tile, .tutor-course-card):hover {
  transform: translateY(-4px);
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge-hover) border-box;
  box-shadow: var(--nx-depth-hover);
}
/* Cartes foncées (formule mise en avant, cartes alternées des programmes) : liseré lumineux en haut */
body.nxt-light .nx3-plan.is-featured,
body.nxt-light:is(.page-id-76, .page-id-77, .page-id-65, .page-id-84) :is(.nxt-grid > .nxt-card:nth-child(2n), .nxt-contact__aside > .nxt-card:nth-child(3)) {
  background: linear-gradient(180deg, #1B2747 0%, #17213D 60%) padding-box, linear-gradient(180deg, rgba(164, 188, 244, .55) 0%, rgba(164, 188, 244, .10) 45%, rgba(164, 188, 244, .04) 100%) border-box;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 4px rgba(23, 33, 61, .2), 0 28px 56px -26px rgba(23, 33, 61, .7);
}
body.nxt-light .nx3-plan.is-featured { transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; }
body.nxt-light .nx3-plan.is-featured:hover { transform: translateY(-4px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 4px 8px rgba(23, 33, 61, .2), 0 36px 64px -28px rgba(23, 33, 61, .8); }
/* Carte « bientôt » : pointillés conservés, légère profondeur */
body.nxt-light .nx3-plan.is-soon { box-shadow: inset 0 1px 0 #FFFFFF, 0 1px 2px rgba(20, 27, 45, .04); }
/* Pastilles de domaine bleues : reflet et contour */
body.nxt-light .nxt-cat > :is(#nxt-z, .nxt-glow-card) { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 0 0 1px rgba(23, 33, 61, .06), 0 14px 30px -18px rgba(23, 33, 61, .55); }
/* FAQ */
body.nxt-light .nxh-faq details { background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box; border: 1px solid transparent; box-shadow: 0 1px 2px rgba(20, 27, 45, .04), inset 0 1px 0 #FFFFFF; }
body.nxt-light .nxh-faq details[open] { box-shadow: var(--nx-depth); }
/* Bascule VTC / Taxi */
.nx3-switch { background: linear-gradient(180deg, #EAEEF6, #F1F4FA); box-shadow: inset 0 1px 2px rgba(20, 27, 45, .08), 0 1px 0 #FFFFFF; }
.nx3-switch button[aria-selected="true"] { background: linear-gradient(180deg, #FFFFFF, #F8FAFE); box-shadow: 0 1px 2px rgba(20, 27, 45, .10), 0 6px 14px -6px rgba(20, 27, 45, .22), inset 0 1px 0 #FFFFFF; }

/* ---------- En-tête ---------- */
body.nxt-light .nxt-header { background: rgba(255, 255, 255, .96); box-shadow: 0 1px 0 #E6EAF2, 0 8px 24px -18px rgba(20, 27, 45, .18); border-bottom-color: transparent; }
body.nxt-light .nxt-header__nav .nxt-menu > li + li::before { padding-inline: .2rem; }
body.nxt-light .nxt-header__nav .nxt-menu > li > :is(a, .nxt-mega__trigger) { padding: .55rem .95rem; border-radius: 999px; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
body.nxt-light .nxt-header__nav .nxt-menu > li > :is(a, .nxt-mega__trigger):hover { background: #F2F5FB; color: #2B49CA; }
body.nxt-light .nxt-header__nav .nxt-menu > li > a[aria-current="page"] { background: #EEF3FF; color: #2B49CA; box-shadow: inset 0 0 0 1px #DCE5FC; }
body.nxt-light .nxt-header__login { padding: .55rem 1rem; border-radius: 999px; transition: background-color .2s ease, color .2s ease; }
body.nxt-light .nxt-header__login:hover { background: #F2F5FB; color: #2B49CA; }
body.nxt-light .nxt-mega__panel, body.nxt-light .nxt-mega { border-radius: 20px; }
body.nxt-light .nxt-mega__card { background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box; border: 1px solid transparent; box-shadow: 0 1px 2px rgba(20, 27, 45, .05), inset 0 1px 0 #FFFFFF; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
body.nxt-light .nxt-mega__card:hover { transform: translateY(-2px); background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge-hover) border-box; box-shadow: 0 12px 24px -14px rgba(30, 52, 130, .35), inset 0 1px 0 #FFFFFF; }

/* ---------- Pied de page ---------- */
body.nxt-light .nxt-footer a:not(.nxt-btn) { transition: color .2s ease, transform .2s ease; display: inline-block; }
body.nxt-light .nxt-footer a:not(.nxt-btn):hover { color: #FFFFFF; transform: translateX(3px); }
.nxt-footer__reviews { align-items: center; padding: 1.25rem 1.5rem !important; margin-bottom: var(--nxt-space-8); border-radius: 18px;
  background: linear-gradient(180deg, #1F2B4D, #1A2443) padding-box, linear-gradient(180deg, rgba(164, 188, 244, .40), rgba(164, 188, 244, .06)) border-box;
  border: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); max-width: var(--nxt-container) !important; }
.nxt-footer__reviews p { color: #D5DCEA !important; }
/* Widget Trustpilot réduit et aligné à droite */
.nxt-footer__reviews { grid-template-columns: 1fr auto !important; }
/* Le bouton est centré dans un cadre de 240 × 52 : on recadre sur le bouton (≈ 208 × 37) */
.nxt-footer__reviews .trustpilot-widget { position: relative; width: 210px !important; height: 38px !important; overflow: hidden; justify-self: end; border-radius: 6px; }
.nxt-footer__reviews .trustpilot-widget iframe { position: absolute !important; left: -15px; top: 0; width: 240px !important; max-width: none !important; height: 52px !important; }
@media (max-width: 767px) { .nxt-footer__reviews { grid-template-columns: 1fr !important; } .nxt-footer__reviews .trustpilot-widget { justify-self: start; } }

@media (prefers-reduced-motion: reduce) {
  body.nxt-light :is(.nxt-btn, .tutor-btn, .nx3-plan, .nx3-goal, .nx3-offer, .nx3-tile, .tutor-course-card, .nxt-mega__card), body.nxt-light :is(.nxt-btn, .tutor-btn)::before { transition: none !important; }
  body.nxt-light :is(.nxt-btn, .tutor-btn, .nx3-plan, .nx3-goal, .nx3-offer, .nx3-tile, .tutor-course-card, .nxt-mega__card):hover { transform: none !important; }
}

/* ══ Cartes Tutor du catalogue alignées sur les cartes du site (04/11) ══ */
body.nxt-light .tutor-course-card, body.nxt-light .tutor-course-card :not([class*="tutor-icon"]):not(i) { font-family: var(--nxt-font-sans) !important; }
body.nxt-light .tutor-course-card { border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
body.nxt-light .tutor-course-card .tutor-card-image-top { border-bottom: 1px solid #EEF1F6; }
body.nxt-light .tutor-course-card .tutor-card-body { padding: 1.5rem 1.5rem 1.25rem !important; display: flex; flex-direction: column; gap: .75rem; flex: 1; }
/* Étoiles masquées tant qu'il n'y a aucun avis ; nombre d'inscrits masqué */
body.nxt-light .tutor-course-card .tutor-course-ratings:not(:has(.tutor-icon-star-bold, .tutor-icon-star-half-bold)) { display: none !important; }
body.nxt-light .tutor-course-card .tutor-meta:has(.tutor-icon-user-line):not(:has([class*="clock"])) { display: none !important; }
body.nxt-light .tutor-course-card .tutor-meta > div:has(.tutor-icon-user-line) { display: none !important; }
body.nxt-light .tutor-course-card :is(.tutor-course-name, .tutor-course-name a) { margin: 0 !important; font-size: 1.1875rem !important; line-height: 1.3 !important; font-weight: 700 !important; letter-spacing: -0.015em; color: #141B2D !important; text-decoration: none !important; }
body.nxt-light .tutor-course-card .tutor-course-name a:hover { color: #2B49CA !important; }
body.nxt-light .tutor-course-card .tutor-meta { margin: 0 !important; gap: .5rem 1rem; font-size: .875rem; color: #5A647A; }
body.nxt-light .tutor-course-card :is(.tutor-meta-value, .tutor-meta-key, .tutor-meta a) { font-size: .875rem !important; font-weight: 500 !important; color: #5A647A !important; }
body.nxt-light .tutor-course-card .tutor-meta .tutor-meta-icon { color: #3E64DE; }
/* Ligne « Par Nxtforma Dans Taxi » : discrète, sans avatar */
body.nxt-light .tutor-course-card .tutor-meta > div:has(.tutor-avatar) { display: none !important; }
body.nxt-light .tutor-course-card .tutor-meta:has(.tutor-avatar) { margin-top: auto !important; font-size: .8125rem; }
body.nxt-light .tutor-course-card .tutor-meta:has(.tutor-avatar) :is(a, span, div) { font-size: .8125rem !important; }
body.nxt-light .tutor-course-card .tutor-meta:has(.tutor-avatar) a:last-child { display: inline-flex; padding: .15rem .6rem; border-radius: 999px; background: #EEF3FF; color: #2B49CA !important; font-weight: 600 !important; text-decoration: none; }
/* Pied de carte : prix + bouton, comme les cartes de formules */
body.nxt-light .tutor-course-card .tutor-card-footer { padding: 1.25rem 1.5rem 1.5rem !important; border-top: 1px solid #EEF1F6 !important; background: transparent; }
body.nxt-light .tutor-course-card .nxt-loop-price { flex-direction: column; align-items: stretch !important; gap: .9rem; }
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn { white-space: nowrap; }
body.nxt-light .tutor-course-card .nxt-loop-price__amount { font-size: 1.625rem; line-height: 1; font-weight: 700; letter-spacing: -0.03em; color: #141B2D; }
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn {
  flex: 1; justify-content: center; gap: .45rem; min-height: 44px; padding: .6rem 1.1rem !important; border-radius: 999px !important;
  font-size: .9375rem !important; font-weight: 600 !important; color: #FFFFFF !important; position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #5479EC 0%, #3E64DE 52%, #3459D3 100%) !important; border: 1px solid #2E50C4 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30), inset 0 -2px 0 rgba(10, 20, 60, .14), 0 1px 2px rgba(23, 33, 61, .28), 0 8px 18px -8px rgba(62, 100, 222, .65) !important;
  transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease;
}
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn::after { content: ""; width: 1em; height: 1em; flex: none; background: currentColor; -webkit-mask: var(--nx-arrow) center / contain no-repeat; mask: var(--nx-arrow) center / contain no-repeat; transition: transform .2s ease; }
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), 0 2px 4px rgba(23, 33, 61, .22), 0 16px 30px -12px rgba(62, 100, 222, .72) !important; }
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn:hover::after { transform: translateX(3px); }
body.nxt-light .tutor-course-card .tutor-card-footer .tutor-btn :is(.tutor-icon-cart-line, [class*="tutor-icon"]) { display: none; }
body.nxt-light .tutor-course-card .tutor-course-wishlist-btn { background: #FFFFFF; border-radius: 999px; box-shadow: 0 1px 2px rgba(20, 27, 45, .12), 0 4px 10px -4px rgba(20, 27, 45, .2); }

/* ══ Page de formation Tutor : marges intérieures et police ══ */
body.nxt-light.single-courses :is(.tutor-wrap, .tutor-course-details-page) :not([class*="tutor-icon"]):not(i) { font-family: var(--nxt-font-sans); }
body.nxt-light.single-courses .tutor-course-details-widget { padding: 1.75rem 2rem !important; border-radius: 20px; }
body.nxt-light.single-courses .tutor-course-details-widget-title { margin-bottom: 1rem !important; font-size: 1.25rem !important; }
body.nxt-light.single-courses .tutor-course-details-widget ul { margin: 0 !important; }
body.nxt-light.single-courses .tutor-btn-show-more { border: 0 !important; box-shadow: none !important; background: none !important; padding: .25rem 0 !important; color: #2B49CA !important; font-weight: 600; gap: .4rem; }
body.nxt-light.single-courses .tutor-btn-show-more:hover { color: #17213D !important; }
body.nxt-light.single-courses .tutor-btn-show-more:focus:not(:focus-visible) { outline: 0; }
body.nxt-light.single-courses .tutor-course-details-content h2 { font-size: 1.375rem !important; margin: 1.75rem 0 .75rem !important; }

/* ══ Pages natives Tutor (tableau de bord, inscriptions, panier, commande) : en-tête compact et cohérent (04/11) ══ */
/* Colonne latérale de la page de formation : cartes espacées */
body.nxt-light.single-courses .tutor-single-course-sidebar-more { display: flex; flex-direction: column; gap: 1.25rem; }
body.nxt-light.single-courses .tutor-single-course-sidebar-more > * { margin: 0 !important; }
body.nxt-light.single-courses .tutor-course-details-instructors { padding: 1.5rem 1.75rem !important; border-radius: 20px; }

/* En-tête : plus de grand titre, une petite étiquette + un titre mesuré, centrés */
body.nxt-light:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .hero-section[data-type] { padding-block: clamp(2.5rem, 2rem + 2vw, 3.5rem) 0 !important; margin-bottom: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem) !important; text-align: center; }
body.nxt-light:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .hero-section .entry-header { display: flex; flex-direction: column; align-items: center; }
body.nxt-light:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .hero-section .page-title { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem) !important; line-height: 1.15; margin: 0 !important; }
body.nxt-light:is(.page-id-7, .page-id-8, .page-id-9, .page-id-10) .hero-section .entry-header::before {
  margin: 0 0 .9rem !important; padding: .35rem .8rem; border-radius: 999px; font-size: .8125rem !important; font-weight: 600; color: #2B49CA !important;
  background: #EEF3FF; box-shadow: inset 0 0 0 1px #DCE5FC;
}
body.nxt-light.page-id-7 .hero-section .entry-header::before { content: "Espace apprenant"; }
body.nxt-light.page-id-8 .hero-section .entry-header::before { content: "Espace formateur"; }
body.nxt-light.page-id-9 .hero-section .entry-header::before { content: "Votre sélection"; }
body.nxt-light.page-id-10 .hero-section .entry-header::before { content: "Commande"; }
/* Tableau de bord : pas de titre de page, l'espace commence directement */
body.nxt-light.page-id-6 .hero-section { display: none !important; }
body.nxt-light.page-id-6 .tutor-dashboard-layout { margin-block: clamp(2rem, 1.5rem + 2vw, 3rem) clamp(3rem, 2rem + 3vw, 4.5rem); }
body.nxt-light .tutor-dashboard-layout, body.nxt-light .tutor-dashboard-layout :not([class*="tutor-icon"]):not(i):not(svg *) { font-family: var(--nxt-font-sans); }
body.nxt-light .tutor-dashboard-layout {
  border-radius: 24px; overflow: hidden;
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box; border: 1px solid transparent; box-shadow: var(--nx-depth);
}
body.nxt-light .tutor-dashboard-sidebar { background: #F7F9FC; border-right: 1px solid #E6EAF2; }
body.nxt-light .tutor-dashboard-sidebar-nav a { border-radius: 12px; }
body.nxt-light .tutor-dashboard-layout .tutor-dashboard-page .tutor-card { border-radius: 16px; background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box; border: 1px solid transparent; box-shadow: 0 1px 2px rgba(20, 27, 45, .05), 0 8px 20px -14px rgba(20, 27, 45, .2), inset 0 1px 0 #FFFFFF; }

/* Panier vide / commande : carte du site, bouton lisible */
body.nxt-light .tutor-cart-page { max-width: 44rem; margin: 0 auto clamp(3rem, 2rem + 3vw, 4.5rem); }
body.nxt-light :is(.tutor-cart-empty-state, .tutor-checkout-page .tutor-card) {
  border-radius: 24px; padding: 2.5rem 2rem;
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, var(--nx-edge) border-box; border: 1px solid transparent; box-shadow: var(--nx-depth);
}
body.nxt-light .tutor-cart-empty-state :is(h3, h4, p, .tutor-fs-5, .tutor-fs-4) { font-family: var(--nxt-font-sans); font-weight: 700; color: #141B2D; letter-spacing: -0.015em; }
body.nxt-light .tutor-cart-empty-state img { max-width: 240px; height: auto; margin-inline: auto; opacity: .9; }
body.nxt-light .tutor-btn-primary, body.nxt-light .tutor-btn-primary:is(:hover, :focus, :visited) { color: #FFFFFF !important; }

/* ══ Connexion et tableau de bord : une seule carte, plus de chevauchement (04/11) ══ */
/* Connexion : l'enveloppe Tutor devient transparente, seul le formulaire est en carte */
body.nxt-light .tutor-login-wrap.tutor-card { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; max-width: 30rem; margin: clamp(2.5rem, 2rem + 3vw, 4.5rem) auto !important; }
body.nxt-light .tutor-login-form-wrapper { padding: 2.25rem 2rem 2rem !important; border-radius: 24px; }
body.nxt-light .tutor-login-form-wrapper, body.nxt-light .tutor-login-form-wrapper :not([class*="tutor-icon"]):not(i) { font-family: var(--nxt-font-sans); }
body.nxt-light .tutor-login-form-wrapper > :first-child { margin: 0 0 1.5rem !important; font-size: 1.625rem !important; font-weight: 700 !important; letter-spacing: -0.02em; color: #141B2D; }
body.nxt-light .tutor-login-form-wrapper .tutor-form-check label, body.nxt-light .tutor-login-form-wrapper .tutor-form-check-label { font-weight: 500 !important; font-size: .9375rem; color: #2A3247; }
body.nxt-light .tutor-login-form-wrapper a { color: #2B49CA; font-weight: 500; }
body.nxt-light .tutor-login-form-wrapper .tutor-btn-primary { width: 100%; justify-content: center; min-height: 50px; border-radius: 999px; font-weight: 600; }
body.nxt-light .tutor-login-form-wrapper .tutor-input { min-height: 50px; border-radius: 12px; }

/* Tableau de bord : en-tête et menu latéral ne « collent » plus (sticky) sous l'en-tête du site */
body.nxt-light .tutor-dashboard-layout :is(.tutor-dashboard-sidebar, .tutor-dashboard-header) { position: static !important; top: auto !important; }
body.nxt-light .tutor-dashboard-layout { align-items: stretch; }
body.nxt-light .tutor-dashboard-sidebar { align-self: stretch; height: auto !important; min-height: 100%; }
body.nxt-light .tutor-dashboard-sidebar-logo { min-height: 80px; display: flex; align-items: center; }
body.nxt-light .tutor-dashboard-header { background: #FFFFFF !important; border-bottom: 1px solid #E6EAF2 !important; min-height: 80px; display: flex; align-items: center; }
body.nxt-light .tutor-dashboard-page { padding: 1.75rem 1.5rem 2rem !important; margin: 0 !important; }
body.nxt-light .tutor-dashboard-page :is(.tutor-surface-l1.tutor-border, .tutor-surface-l1.tutor-rounded-2xl) { border-color: #E6EAF2 !important; border-radius: 18px !important; box-shadow: none; }
body.nxt-light .tutor-dashboard-sidebar-nav a[class*="active"], body.nxt-light .tutor-dashboard-sidebar-nav li[class*="active"] > a { box-shadow: inset 0 0 0 1px #DCE5FC; }
body.nxt-light .tutor-dashboard-header-inner { flex: 1; width: 100%; }
body.nxt-light.page-id-6 .tutor-dashboard-layout { margin-top: clamp(1.25rem, 1rem + 1vw, 2rem) !important; }
body.nxt-light.page-id-6 :is(.site-main, #main) { padding-top: 0 !important; }
body.nxt-light.page-id-6 .ct-container-full { padding-top: 0 !important; }

/* ══ Bannière de consentement Complianz : carte claire du site (05/11) ══ */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  --cmplz_banner_width: 420px; --cmplz_text_font_size: 14px; --cmplz_link_font_size: 12.5px; --cmplz_title_font_size: 17px;
  width: min(420px, calc(100vw - 32px)) !important; right: 20px !important; bottom: 20px !important; left: auto !important;
  padding: 1.375rem 1.375rem 1.125rem !important; gap: .9rem !important; border-radius: 20px !important;
  font-family: var(--nxt-font-sans) !important; color: #4A5470 !important;
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, linear-gradient(180deg, #E8ECF4 0%, #D3DBE8 100%) border-box !important;
  border: 1px solid transparent !important;
  box-shadow: 0 1px 2px rgba(20, 27, 45, .06), 0 12px 24px -12px rgba(20, 27, 45, .18), 0 32px 64px -28px rgba(20, 27, 45, .35), inset 0 1px 0 #FFFFFF !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner * { font-family: var(--nxt-font-sans) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider { display: none !important; }
/* En-tête : pastille + titre à gauche, fermeture ronde */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header { display: flex !important; align-items: center; gap: .65rem; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo { display: none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { flex: 1; display: flex !important; align-items: center; gap: .6rem; justify-content: flex-start !important; text-align: left !important; font-size: 1.0625rem !important; font-weight: 700 !important; letter-spacing: -0.015em; color: #141B2D !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title::before {
  content: ""; flex: none; width: 32px; height: 32px; border-radius: 10px; background: #EEF3FF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E64DE' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.2-3 7.6-7 9-4-1.4-7-4.8-7-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / 18px no-repeat; box-shadow: inset 0 0 0 1px #DCE5FC;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { width: 32px !important; height: 32px !important; display: grid !important; place-items: center; border-radius: 999px; background: #F2F5FB; color: #4A5470 !important; transition: background-color .2s ease, color .2s ease; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:hover { background: #E6ECF8; color: #141B2D !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg { width: 12px !important; height: 12px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg path { fill: currentColor !important; }
/* Texte et liens */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message * { font-size: .875rem !important; line-height: 1.55 !important; color: #4A5470 !important; text-align: left !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul { display: flex !important; flex-wrap: wrap; gap: .35rem 1rem; justify-content: flex-start !important; margin: 0 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a { font-size: .78rem !important; color: #5A647A !important; text-decoration: underline; text-decoration-color: #C9D2E3; text-underline-offset: 3px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a:hover { color: #2B49CA !important; text-decoration-color: currentColor; }
/* Boutons : Accepter et Refuser de même taille côte à côte, préférences en lien en dessous */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: .6rem !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
  width: 100% !important; min-height: 46px !important; height: auto !important; margin: 0 !important; padding: .65rem 1rem !important; border-radius: 999px !important;
  font-size: .9375rem !important; font-weight: 600 !important; line-height: 1.2 !important; white-space: nowrap;
  transition: transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease, background .2s ease, color .2s ease;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover { transform: translateY(-1px); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:focus-visible { outline: 2px solid #3E64DE; outline-offset: 3px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
  background: linear-gradient(180deg, #5479EC 0%, #3E64DE 52%, #3459D3 100%) !important; border: 1px solid #2E50C4 !important; color: #FFFFFF !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .30), inset 0 -2px 0 rgba(10, 20, 60, .14), 0 1px 2px rgba(23, 33, 61, .28), 0 8px 18px -8px rgba(62, 100, 222, .65) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:is(.cmplz-deny, .cmplz-save-preferences) {
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box, linear-gradient(180deg, #E8ECF4, #D3DBE8) border-box !important; border: 1px solid transparent !important; color: #17213D !important;
  box-shadow: 0 1px 2px rgba(20, 27, 45, .06), 0 4px 10px -6px rgba(20, 27, 45, .14), inset 0 -2px 0 rgba(20, 27, 45, .04) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:is(.cmplz-deny, .cmplz-save-preferences):hover { color: #2B49CA !important; background: linear-gradient(#F7F9FE, #F7F9FE) padding-box, linear-gradient(180deg, #7F9DF0, #C9D5F3) border-box !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences {
  grid-column: 1 / -1; min-height: 36px !important; padding: .35rem .5rem !important; background: none !important; border: 0 !important; box-shadow: none !important;
  color: #2B49CA !important; font-size: .875rem !important; text-decoration: underline; text-decoration-color: #C6D3F7; text-underline-offset: 4px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover { transform: none; text-decoration-color: currentColor; }
/* Préférences ouvertes : catégories en petites cartes */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories { gap: .5rem !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category { background: #F7F9FC !important; border: 1px solid #E6EAF2 !important; border-radius: 12px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category :is(.cmplz-category-title, summary, span) { color: #141B2D !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category .cmplz-description, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category p { color: #5A647A !important; font-size: .8125rem !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-always-active { color: #1F8A4C !important; font-weight: 600; }
#cmplz-cookiebanner-container .cmplz-cookiebanner input:checked + .cmplz-label::before, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label::before { background-color: #3E64DE !important; }
/* Onglet « Gérer le consentement » une fois le choix fait */
#cmplz-manage-consent .cmplz-manage-consent { font-family: var(--nxt-font-sans) !important; font-weight: 600 !important; color: #17213D !important; background: #FFFFFF !important; border: 1px solid #DCE2EC !important; border-bottom: 0 !important; border-radius: 12px 12px 0 0 !important; box-shadow: 0 -4px 14px -8px rgba(20, 27, 45, .25) !important; }
@media (max-width: 600px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner { right: 12px !important; left: 12px !important; bottom: 12px !important; width: auto !important; padding: 1.125rem !important; }
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { grid-template-columns: 1fr 1fr !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { grid-column: 1 / -1; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-categories, .cmplz-category) { box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; margin-inline: 0 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus { outline: 0 !important; box-shadow: 0 0 0 2px #DCE5FC; }

/* ══ Pied de page : moyens de paiement (05/11) ══ */
.nxt-footer__legal { display: flex !important; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; }
.nxt-footer__pay { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; }
.nxt-footer__pay-label { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--nxt-font-sans); font-size: .8125rem; font-weight: 600; color: #D5DCEA; white-space: nowrap; }
.nxt-footer__pay-label svg { color: #6FD39B; }
.nxt-footer__pay img { display: block; height: 30px; width: auto; max-width: 100%; }
@media (max-width: 767px) { .nxt-footer__legal { flex-direction: column-reverse; align-items: flex-start; } .nxt-footer__pay { flex-direction: column; align-items: flex-start; gap: .6rem; } .nxt-footer__pay img { height: auto; width: 100%; max-width: 400px; } }
.nxt-footer__legal > p { margin: 0 !important; text-align: left !important; flex: 0 1 auto; }
.nxt-footer__legal { padding-inline: 40px !important; } @media (max-width: 767px) { .nxt-footer__legal { padding-inline: 0 !important; } }
@media (max-width: 767px) { .nxt-footer__legal { padding-inline: 20px !important; padding-bottom: 5.5rem !important; } .nxt-footer__reviews { margin-inline: 16px !important; } }
/* Paiement sécurisé : sous le logo et la description, dans la colonne de marque */
.nxt-footer__brand .nxt-footer__pay { flex-direction: column; align-items: flex-start; gap: .65rem; margin-top: 1.5rem; }
.nxt-footer__brand .nxt-footer__pay img { height: 28px; width: auto; max-width: 100%; }
@media (max-width: 767px) { .nxt-footer__brand .nxt-footer__pay img { height: auto; width: 100%; max-width: 400px; } }
