/*!
 * MesTests · mt-app.css
 * Tout le style des éléments .mt- rendus par le plugin (runner, résultat,
 * rapport, graphiques, shortcodes). Mobile first : ≤767 / 768 à 1024 / ≥1025.
 * Couleurs : reprend le design system du site (--mt-*) s'il existe, sinon
 * valeurs de repli locales. Aucune règle hors du préfixe .mt- (seule exception
 * documentée : masquage de l'en-tête et du pied du site à l'impression d'un
 * rapport, conditionné à la présence de .mt-report).
 * Les sélecteurs de boutons sont doublés (.mt-btn.mt-btn) pour résister aux
 * styles génériques du thème (Hello Elementor, kit Elementor).
 */

/* ======================================================================
   0. Jetons (variables locales avec repli)
   ==================================================================== */
.mt-app, .mt-result, .mt-report, .mt-unlock, .mt-bundle, .mt-retrieve, .mt-stat,
.mt-faq, .mt-types, .mt-cta, .mt-tests-grid, .mt-contact, .mt-card, .mt-notice,
.mt-form, .mt-prose, .mt-chart, .mt-iqscale, .mt-jobs, .mt-corr, .mt-paywall,
.mt-btn, .mt-level, .mt-fig {
  --mtc-indigo: var(--mt-indigo, #2B2D6E);
  --mtc-indigo-fonce: var(--mt-indigo-fonce, #1C1D4A);
  --mtc-corail: var(--mt-corail, #FF6B5B);
  --mtc-corail-fonce: var(--mt-corail-fonce, #E5503F);
  --mtc-lavande: var(--mt-lavande, #EEEBFF);
  --mtc-lavande-2: var(--mt-lavande-2, #D9D3FF);
  --mtc-creme: var(--mt-creme, #FFFAF3);
  --mtc-encre: var(--mt-encre, #1E1B3A);
  --mtc-gris: var(--mt-gris, #5C5A73);
  --mtc-ligne: var(--mt-ligne, #E6E1F2);
  --mtc-menthe: var(--mt-menthe, #2FA37A);
  --mtc-ambre: var(--mt-ambre, #F2A93B);
  --mtc-blanc: var(--mt-blanc, #fff);
  --mtc-titre: var(--mt-titre, 'Bricolage Grotesque', system-ui, -apple-system, 'Segoe UI', sans-serif);
  --mtc-texte: var(--mt-texte, 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif);
  --mtc-radius: var(--mt-radius, 20px);
  --mtc-ombre: var(--mt-ombre, 0 16px 40px rgba(43, 45, 110, .12));
  --mtc-ombre-s: 0 4px 14px rgba(43, 45, 110, .08);
  --mtc-lavande-3: #F7F5FF;
  --mtc-ok-bg: #E3F5EE; --mtc-ok-ink: #17664A;
  --mtc-err-bg: #FDECEA; --mtc-err-ink: #8C1D12;
  --mtc-warn-bg: #FFF1DA; --mtc-warn-ink: #7A4A00;
  --mtc-focus: 0 0 0 3px var(--mtc-blanc), 0 0 0 6px var(--mtc-indigo);
}

/* Racines : typographie et remise à zéro locale */
.mt-app, .mt-result, .mt-report, .mt-unlock, .mt-bundle, .mt-retrieve, .mt-faq,
.mt-types, .mt-cta, .mt-tests-grid, .mt-contact, .mt-card, .mt-notice, .mt-form,
.mt-prose, .mt-chart, .mt-jobs, .mt-corr, .mt-paywall {
  font-family: var(--mtc-texte);
  color: var(--mtc-encre);
  line-height: 1.6;
  text-align: left;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mt-app *, .mt-app *::before, .mt-app *::after,
.mt-result *, .mt-result *::before, .mt-result *::after,
.mt-report *, .mt-report *::before, .mt-report *::after,
.mt-unlock *, .mt-bundle *, .mt-retrieve *, .mt-faq *, .mt-types *, .mt-cta *,
.mt-tests-grid *, .mt-contact *, .mt-card *, .mt-form *, .mt-chart *, .mt-jobs *,
.mt-corr *, .mt-paywall * { box-sizing: border-box; }
.mt-app svg, .mt-result svg, .mt-report svg { max-width: 100%; }

/* Utilitaires */
.mt-sr {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important;
}
.mt-blur { filter: blur(5px); user-select: none; pointer-events: none; }

/* ======================================================================
   1. Boutons
   ==================================================================== */
.mt-btn.mt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  min-height: 48px; padding: .7em 1.35em; margin: 0;
  font-family: var(--mtc-texte); font-size: 16px; font-weight: 800; line-height: 1.2;
  letter-spacing: 0; text-transform: none; text-decoration: none; text-align: center; white-space: normal;
  border: 2px solid transparent; border-radius: 999px; box-shadow: none;
  background: var(--mtc-lavande); color: var(--mtc-indigo);
  cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.mt-btn.mt-btn svg { width: 1.15em; height: 1.15em; flex: none; }
.mt-btn.mt-btn:hover { background: var(--mtc-lavande-2); color: var(--mtc-indigo); text-decoration: none; }
.mt-btn.mt-btn:focus { background: var(--mtc-lavande); color: var(--mtc-indigo); outline: none; }
.mt-btn.mt-btn:focus-visible { box-shadow: var(--mtc-focus); outline: none; }
.mt-btn.mt-btn:active { transform: translateY(1px); }
.mt-btn.mt-btn[disabled], .mt-btn.mt-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; transform: none; }

/* Achat : corail (texte encre pour un contraste AA de 5,9:1) */
.mt-btn.mt-btn--buy, .mt-btn.mt-btn--buy:focus { background: var(--mtc-corail); color: var(--mtc-encre); border-color: var(--mtc-corail); box-shadow: 0 10px 24px rgba(255, 107, 91, .32); }
.mt-btn.mt-btn--buy:hover { background: #FF5745; border-color: #FF5745; color: var(--mtc-encre); transform: translateY(-1px); box-shadow: 0 14px 28px rgba(255, 107, 91, .38); }
.mt-btn.mt-btn--buy:focus-visible { box-shadow: var(--mtc-focus); }
.mt-btn.mt-btn--buy-outline, .mt-btn.mt-btn--buy-outline:focus { background: var(--mtc-blanc); color: var(--mtc-encre); border-color: var(--mtc-corail); }
.mt-btn.mt-btn--buy-outline:hover { background: #FFF0EE; color: var(--mtc-encre); border-color: var(--mtc-corail-fonce); }

/* Actions gratuites : indigo */
.mt-btn.mt-btn--primary, .mt-btn.mt-btn--primary:focus { background: var(--mtc-indigo); color: var(--mtc-blanc); border-color: var(--mtc-indigo); box-shadow: 0 10px 24px rgba(43, 45, 110, .22); }
.mt-btn.mt-btn--primary:hover { background: var(--mtc-indigo-fonce); border-color: var(--mtc-indigo-fonce); color: var(--mtc-blanc); transform: translateY(-1px); }
.mt-btn.mt-btn--primary:focus-visible { box-shadow: var(--mtc-focus); }

.mt-btn.mt-btn--ghost, .mt-btn.mt-btn--ghost:focus { background: var(--mtc-blanc); color: var(--mtc-indigo); border-color: var(--mtc-lavande-2); box-shadow: none; }
.mt-btn.mt-btn--ghost:hover { background: var(--mtc-lavande); color: var(--mtc-indigo); border-color: var(--mtc-lavande-2); }
.mt-btn.mt-btn--ghost:focus-visible { box-shadow: var(--mtc-focus); }

.mt-btn.mt-btn--lg { min-height: 56px; padding: .85em 1.7em; font-size: 18px; }
.mt-btn.mt-btn--sm { min-height: 44px; padding: .55em 1.05em; font-size: 15px; }
.mt-btn.mt-btn--block { display: flex; width: 100%; }

/* Bouton lien */
.mt-result .mt-linkbtn.mt-linkbtn, .mt-report .mt-linkbtn.mt-linkbtn {
  display: inline; min-height: 0; padding: 4px 0; margin: 0; border: 0; border-radius: 4px; background: none; box-shadow: none;
  font: inherit; font-weight: 700; color: var(--mtc-indigo); text-decoration: underline; text-underline-offset: 3px;
  text-transform: none; letter-spacing: 0; white-space: normal; cursor: pointer;
}
.mt-result .mt-linkbtn.mt-linkbtn:hover, .mt-result .mt-linkbtn.mt-linkbtn:focus,
.mt-report .mt-linkbtn.mt-linkbtn:hover, .mt-report .mt-linkbtn.mt-linkbtn:focus { background: none; color: var(--mtc-indigo-fonce); }
.mt-result .mt-linkbtn.mt-linkbtn:focus-visible, .mt-report .mt-linkbtn.mt-linkbtn:focus-visible { outline: 3px solid var(--mtc-indigo); outline-offset: 3px; }

/* Liens de texte dans les composants (résiste aux couleurs de liens du thème) */
:is(.mt-app, .mt-result, .mt-report, .mt-form, .mt-faq, .mt-bundle, .mt-cta, .mt-unlock, .mt-retrieve, .mt-contact, .mt-paywall, .mt-card, .mt-prose) a:not(.mt-btn):not([class*="mt-"]):not(.mt-notice a):not(.mt-report__toc a) {
  color: var(--mtc-indigo); font-weight: 700; text-decoration: underline; text-decoration-color: var(--mtc-corail); text-decoration-thickness: 2px; text-underline-offset: 3px;
}
:is(.mt-app, .mt-result, .mt-report, .mt-form, .mt-faq, .mt-bundle, .mt-cta, .mt-unlock, .mt-retrieve, .mt-contact, .mt-paywall, .mt-card, .mt-prose) a:not(.mt-btn):not([class*="mt-"]):not(.mt-notice a):not(.mt-report__toc a):hover {
  color: var(--mtc-indigo-fonce); text-decoration-color: var(--mtc-indigo);
}

/* Focus visible générique (liens, champs, résumés) */
.mt-app a:focus-visible, .mt-result a:focus-visible, .mt-report a:focus-visible, .mt-faq summary:focus-visible,
.mt-types a:focus-visible, .mt-tests-grid a:focus-visible, .mt-cta a:focus-visible, .mt-prose a:focus-visible {
  outline: 3px solid var(--mtc-indigo); outline-offset: 3px; border-radius: 6px;
}
.mt-app [tabindex="-1"]:focus, .mt-result [tabindex="-1"]:focus { outline: none; }

/* Spinner */
.mt-spinner { display: inline-block; width: 44px; height: 44px; border-radius: 50%; border: 4px solid var(--mtc-lavande-2, #D9D3FF); border-top-color: var(--mtc-indigo, #2B2D6E); animation: mt-spin .8s linear infinite; }
.mt-spinner--sm { width: 18px; height: 18px; border-width: 3px; vertical-align: -3px; }
@keyframes mt-spin { to { transform: rotate(360deg); } }

/* ======================================================================
   2. Composants génériques (A6)
   ==================================================================== */
.mt-card { background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); border-radius: var(--mtc-radius); box-shadow: var(--mtc-ombre-s); padding: 20px; }
.mt-thankyou { margin: 0 0 32px; }

/* Texte markdown rendu */
.mt-prose { font-size: 17px; line-height: 1.7; overflow-wrap: break-word; }
.mt-prose.mt-prose > :first-child { margin-top: 0; }
.mt-prose.mt-prose > :last-child { margin-bottom: 0; }
.mt-prose.mt-prose p { margin: 0 0 1em; font-size: inherit; line-height: inherit; color: inherit; }
.mt-prose.mt-prose h3 { margin: 1.5em 0 .5em; font-family: var(--mtc-titre); font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--mtc-indigo-fonce); letter-spacing: -.01em; text-transform: none; }
.mt-prose.mt-prose ul, .mt-prose.mt-prose ol { margin: 0 0 1em; padding-left: 1.4em; }
.mt-prose.mt-prose ul { list-style: none; padding-left: 1.3em; }
.mt-prose.mt-prose ul > li { position: relative; }
.mt-prose.mt-prose ul > li::before { content: ""; position: absolute; left: -1.05em; top: .62em; width: 8px; height: 8px; border-radius: 3px; background: var(--mtc-corail); transform: rotate(45deg); }
.mt-prose.mt-prose ol { list-style: decimal; }
.mt-prose.mt-prose ol > li::marker { color: var(--mtc-indigo); font-weight: 800; }
.mt-prose.mt-prose li { margin: 0 0 .45em; padding: 0; }
.mt-prose.mt-prose strong { font-weight: 800; color: var(--mtc-indigo-fonce); }
.mt-prose.mt-prose em { font-style: italic; }
.mt-prose.mt-prose a { color: var(--mtc-indigo); font-weight: 700; text-decoration: underline; text-decoration-color: var(--mtc-corail); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mt-prose.mt-prose a:hover { color: var(--mtc-indigo-fonce); text-decoration-color: var(--mtc-indigo); }

/* Niveaux */
.mt-level {
  display: inline-flex; align-items: center; padding: .2em .75em; border-radius: 999px;
  font-family: var(--mtc-texte); font-size: 13px; font-weight: 800; line-height: 1.5; letter-spacing: .01em; white-space: nowrap; vertical-align: middle;
  background: var(--mtc-lavande); color: var(--mtc-indigo);
}
.mt-level.mt-level--bas { background: var(--mtc-lavande); color: var(--mtc-indigo); }
.mt-level.mt-level--moyen { background: var(--mtc-lavande-2); color: var(--mtc-indigo-fonce); }
.mt-level.mt-level--eleve, .mt-level.mt-level--haut, .mt-level.mt-level--fort { background: var(--mtc-indigo); color: var(--mtc-blanc); }

/* Notices */
.mt-notice { display: block; padding: 14px 18px; border-radius: 16px; border: 1px solid transparent; font-size: 16px; line-height: 1.55; background: var(--mtc-lavande); color: var(--mtc-indigo-fonce); border-color: var(--mtc-lavande-2); }
.mt-notice + .mt-tests-grid { margin-top: 16px; }
.mt-notice.mt-notice p { margin: 0; color: inherit; }
.mt-notice.mt-notice p + p { margin-top: .5em; }
.mt-notice.mt-notice--ok { background: var(--mtc-ok-bg); color: var(--mtc-ok-ink); border-color: #BFE6D6; }
.mt-notice.mt-notice--err { background: var(--mtc-err-bg); color: var(--mtc-err-ink); border-color: #F6C6C0; }
.mt-notice.mt-notice--info { background: var(--mtc-lavande); color: var(--mtc-indigo-fonce); border-color: var(--mtc-lavande-2); }
.mt-notice a { color: inherit; font-weight: 800; }

/* Formulaires */
.mt-form { display: grid; gap: 16px; }
.mt-form .mt-field { display: grid; gap: 6px; margin: 0; }
.mt-form .mt-label, .mt-field .mt-label { display: block; margin: 0; font-family: var(--mtc-texte); font-size: 15px; font-weight: 800; color: var(--mtc-encre); text-transform: none; letter-spacing: 0; }
.mt-input.mt-input:not([type="button"]):not([type="submit"]) {
  display: block; width: 100%; min-height: 50px; margin: 0; padding: 12px 16px;
  font-family: var(--mtc-texte); font-size: 16px; line-height: 1.4; color: var(--mtc-encre);
  background: var(--mtc-blanc); border: 2px solid var(--mtc-ligne); border-radius: 14px; box-shadow: none; outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
textarea.mt-input:not([type="button"]):not([type="submit"]) { min-height: 140px; resize: vertical; }
.mt-input.mt-input:not([type="button"]):not([type="submit"]):hover { border-color: var(--mtc-lavande-2); }
.mt-input.mt-input:not([type="button"]):not([type="submit"]):focus { border-color: var(--mtc-indigo); box-shadow: 0 0 0 4px rgba(43, 45, 110, .15); outline: none; }
.mt-input.mt-input:not([type="button"]):not([type="submit"])[aria-invalid="true"] { border-color: var(--mtc-err-ink); }
.mt-form .mt-check, .mt-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--mtc-encre); }
.mt-check input[type="checkbox"] { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--mtc-indigo); }
.mt-form .mt-hp, .mt-form [data-mt-hp] { position: absolute !important; left: -9999px !important; }
.mt-form .mt-form__note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--mtc-gris); }
.mt-form .mt-form__note strong { color: var(--mtc-encre); }
.mt-form > .mt-btn { justify-self: start; }

/* ======================================================================
   3. Runner (interface du test)
   ==================================================================== */
.mt-app { display: block; width: 100%; max-width: 860px; margin: 0 auto; padding: 24px 16px 48px; }
.mt-app .mt-run {
  position: relative; overflow: hidden;
  background-color: var(--mtc-blanc);
  background-image: radial-gradient(520px 260px at 105% -10%, rgba(217, 211, 255, .6), transparent 70%), radial-gradient(420px 240px at -10% 110%, rgba(255, 107, 91, .08), transparent 70%);
  border: 1px solid var(--mtc-ligne); border-radius: 24px; box-shadow: var(--mtc-ombre);
  padding: 24px 18px 22px;
}
.mt-app .mt-run--q { background-image: none; }
.mt-app .mt-run__kicker {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 5px 12px; border-radius: 999px;
  background: var(--mtc-lavande); color: var(--mtc-indigo); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.mt-app .mt-run__title { margin: 0 0 18px; font-family: var(--mtc-titre); font-size: 28px; font-weight: 800; line-height: 1.12; letter-spacing: -.02em; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-app .mt-run__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.mt-app .mt-run__fact { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 14px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--mtc-encre); }
.mt-app .mt-run__fact svg { flex: none; width: 20px; height: 20px; color: var(--mtc-indigo); }
.mt-app .mt-run__lead { margin: 0 0 22px; font-size: 16px; }
.mt-app .mt-run__note { margin: 12px 0 0; font-size: 14px; color: var(--mtc-gris); }
.mt-app .mt-run__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.mt-app .mt-run__actions--start .mt-btn { width: 100%; }
.mt-app .mt-run__resume { margin: 0 0 6px; }
.mt-app .mt-run__resume .mt-run__actions { margin-top: 12px; }

/* Barre du haut, compteur, minuteur, progression */
.mt-app .mt-run__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; min-height: 36px; }
.mt-app .mt-run__count { margin: 0; font-size: 15px; font-weight: 700; color: var(--mtc-gris); font-variant-numeric: tabular-nums; }
.mt-app .mt-run__count strong { color: var(--mtc-indigo); font-weight: 800; }
.mt-app .mt-timer {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  background: var(--mtc-lavande); color: var(--mtc-indigo); font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; line-height: 1.2;
  transition: background-color .3s ease, color .3s ease;
}
.mt-app .mt-timer svg { width: 18px; height: 18px; }
.mt-app .mt-timer.is-warn { background: var(--mtc-warn-bg); color: var(--mtc-warn-ink); }
.mt-app .mt-timer.is-danger { background: var(--mtc-err-bg); color: var(--mtc-err-ink); }
.mt-app .mt-progress { position: relative; height: 8px; margin: 0 0 22px; border-radius: 999px; background: var(--mtc-lavande); overflow: hidden; }
.mt-app .mt-progress__bar { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mtc-indigo), #6D63E8); transition: width .35s ease; }

/* Question */
.mt-app .mt-q { margin: 0; }
.mt-app .mt-q--in { animation: mt-q-in .28s ease both; }
@keyframes mt-q-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.mt-app .mt-q__title {
  margin: 0 0 20px; min-height: 2.5em; font-family: var(--mtc-titre); font-size: 22px; font-weight: 700; line-height: 1.3;
  letter-spacing: -.01em; color: var(--mtc-encre); text-transform: none; text-wrap: balance;
}
.mt-app .mt-q__hint { display: none; margin: 16px 0 0; font-size: 13px; color: var(--mtc-gris); text-align: center; }
.mt-app .mt-q__figure { margin: 0 auto 22px; padding: 12px; max-width: 340px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); border-radius: 20px; }
.mt-app .mt-q__figure--wide { max-width: 600px; }
.mt-app .mt-q__figure .mt-fig { display: block; width: 100%; height: auto; }

/* Options : base commune */
.mt-app .mt-opts { display: grid; gap: 10px; margin: 0; padding: 0; }
.mt-app .mt-opt.mt-opt {
  position: relative; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 56px; margin: 0; padding: 12px 16px;
  font-family: var(--mtc-texte); font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; text-transform: none; text-align: left; white-space: normal;
  color: var(--mtc-encre); background: var(--mtc-blanc); border: 2px solid var(--mtc-ligne); border-radius: 16px; box-shadow: none;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.mt-app .mt-opt.mt-opt:hover { background: var(--mtc-lavande-3); border-color: var(--mtc-lavande-2); color: var(--mtc-encre); }
.mt-app .mt-opt.mt-opt:focus { background: var(--mtc-blanc); color: var(--mtc-encre); outline: none; }
.mt-app .mt-opt.mt-opt:focus-visible { box-shadow: var(--mtc-focus); border-color: var(--mtc-indigo); }
.mt-app .mt-opt.mt-opt.is-selected { background: var(--mtc-lavande); border-color: var(--mtc-indigo); color: var(--mtc-indigo-fonce); }
.mt-app .mt-opt__label { flex: 1 1 auto; min-width: 0; }
.mt-app .mt-opt__key {
  display: none; position: absolute; top: 6px; left: 8px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 6px;
  background: var(--mtc-lavande); color: var(--mtc-gris); font-size: 12px; font-weight: 800; line-height: 20px; text-align: center;
}

/* Likert : pastilles */
.mt-app .mt-opt__dot {
  flex: none; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  border: 2.5px solid #8A86A6; background: var(--mtc-blanc); color: transparent; transition: all .15s ease;
}
.mt-app .mt-opt__dot--pos { border-color: var(--mtc-indigo); }
.mt-app .mt-opt__dot--mid { border-color: #A9A5C2; }
.mt-app .mt-opt__dot svg { width: 60%; height: 60%; }
.mt-app .mt-opt.is-selected .mt-opt__dot { background: var(--mtc-indigo); border-color: var(--mtc-indigo); color: var(--mtc-blanc); }

/* Choix forcé : cartes */
.mt-app .mt-opts--forced .mt-opt.mt-opt {
  min-height: 96px; padding: 20px 52px 20px 20px; justify-content: flex-start;
  font-size: 18px; font-weight: 700; line-height: 1.4; background: var(--mtc-lavande-3); border-color: var(--mtc-ligne); border-radius: 20px;
}
.mt-app .mt-opts--forced .mt-opt.mt-opt:hover { background: var(--mtc-lavande); border-color: var(--mtc-lavande-2); transform: translateY(-2px); box-shadow: var(--mtc-ombre-s); }
.mt-app .mt-opts--forced .mt-opt.mt-opt.is-selected { background: var(--mtc-lavande); border-color: var(--mtc-indigo); }
.mt-app .mt-opt__tick {
  position: absolute; top: 50%; right: 16px; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
  display: grid; place-items: center; border: 2px solid var(--mtc-lavande-2); background: var(--mtc-blanc); color: transparent;
}
.mt-app .mt-opt__tick svg { width: 16px; height: 16px; }
.mt-app .mt-opt.is-selected .mt-opt__tick { background: var(--mtc-indigo); border-color: var(--mtc-indigo); color: var(--mtc-blanc); }

/* QI : réponses figures et texte */
.mt-app .mt-opts--iq-fig { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mt-app .mt-opts--iq-fig.mt-opts--c6, .mt-app .mt-opts--iq-fig.mt-opts--c5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mt-app .mt-opts--iq-fig .mt-opt.mt-opt { flex-direction: column; justify-content: center; gap: 6px; min-height: 0; padding: 8px; border-radius: 16px; }
.mt-app .mt-opt__fig { display: block; width: 100%; max-width: 120px; margin: 0 auto; }
.mt-app .mt-opt__fig .mt-fig { display: block; width: 100%; height: auto; }
.mt-app .mt-opt__letter {
  flex: none; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 10px;
  background: var(--mtc-lavande); color: var(--mtc-indigo); font-family: var(--mtc-titre); font-size: 15px; font-weight: 800;
}
.mt-app .mt-opts--iq-fig .mt-opt__letter { position: absolute; z-index: 1; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 8px; font-size: 13px; }
.mt-app .mt-opt.is-selected .mt-opt__letter { background: var(--mtc-indigo); color: var(--mtc-blanc); }

/* Navigation */
.mt-app .mt-run__nav { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; padding: 16px 0 0; border-top: 1px solid var(--mtc-ligne); }
.mt-app .mt-run__navspace { flex: 1 1 auto; }
.mt-app .mt-run__nav .mt-btn[disabled] { visibility: hidden; }

/* Vérification (QI) */
.mt-app .mt-run__missing { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.mt-app .mt-run__missing li { margin: 0; }

/* Envoi */
.mt-app .mt-run__busy { display: grid; justify-items: center; gap: 10px; padding: 36px 8px; text-align: center; }
.mt-app .mt-run__busy p { margin: 0; }
.mt-app .mt-run__busytitle { font-family: var(--mtc-titre); font-size: 22px; font-weight: 700; color: var(--mtc-indigo-fonce); }
.mt-app .mt-run--error .mt-notice { margin: 0; }

/* ======================================================================
   4. Page résultat
   ==================================================================== */
.mt-result { display: block; width: 100%; max-width: 900px; margin: 0 auto; padding: 24px 16px 56px; }
.mt-result .mt-res { display: grid; gap: 18px; }
.mt-result .mt-res__busy { display: grid; justify-items: center; gap: 12px; padding: 56px 16px; text-align: center; color: var(--mtc-gris); }
.mt-result .mt-res__busy p { margin: 0; }
.mt-result .mt-res--empty { gap: 16px; }

.mt-result .mt-res__hero {
  position: relative; overflow: hidden; padding: 26px 20px; border-radius: 28px;
  background: linear-gradient(135deg, var(--mtc-lavande) 0%, #F6F0FF 55%, var(--mtc-creme) 100%);
  border: 1px solid var(--mtc-lavande-2);
}
.mt-result .mt-res__hero::after {
  content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 107, 91, .20), rgba(255, 107, 91, 0) 70%); pointer-events: none;
}
.mt-result .mt-res__kicker { position: relative; margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mtc-indigo); }
.mt-result .mt-res__title { position: relative; margin: 0; font-family: var(--mtc-titre); font-size: 30px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--mtc-indigo-fonce); text-transform: none; text-wrap: balance; }
.mt-result .mt-res__type { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 14px 16px; margin: 18px 0 0; }
.mt-result .mt-res__code {
  flex: none; display: inline-grid; place-items: center; min-width: 88px; padding: 12px 16px; border-radius: 18px;
  background: var(--mtc-indigo); color: var(--mtc-blanc); font-family: var(--mtc-titre); font-size: 28px; font-weight: 800; letter-spacing: .05em; line-height: 1;
  box-shadow: 0 12px 26px rgba(43, 45, 110, .28);
}
.mt-result .mt-res__typetext { flex: 1 1 220px; min-width: 0; }
.mt-result .mt-res__label { margin: 0; letter-spacing: -.01em; font-family: var(--mtc-titre); font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--mtc-encre); }
.mt-result .mt-res__tagline { margin: 4px 0 0; font-size: 16px; color: var(--mtc-gris); }
.mt-result .mt-res__typelink { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; font-weight: 800; color: var(--mtc-indigo); text-decoration: underline; text-decoration-color: var(--mtc-corail); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.mt-result .mt-res__typelink svg { width: 18px; height: 18px; }
.mt-result .mt-res__typelink:hover { color: var(--mtc-indigo-fonce); }

.mt-result .mt-res__section { margin: 0; padding: 22px 18px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); border-radius: 24px; box-shadow: var(--mtc-ombre-s); }
.mt-result .mt-res__h { margin: 0 0 14px; font-family: var(--mtc-titre); font-size: 21px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-result .mt-res__h .mt-level { margin-left: 4px; vertical-align: 3px; }
.mt-result .mt-res__note { margin: -6px 0 16px; font-size: 15px; color: var(--mtc-gris); }
.mt-result .mt-res__summary .mt-prose { font-size: 17px; }

/* Rendu serveur minimal (sans JavaScript), remplacé à l'hydratation */
.mt-result .mt-result__ssr { display: grid; gap: 16px; padding: 24px 20px; border-radius: 24px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); }
.mt-result .mt-result__ssr > * { margin: 0; }
.mt-result .mt-result__kicker { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mtc-indigo); }
.mt-result .mt-result__headline { font-family: var(--mtc-titre); font-size: 30px; font-weight: 800; line-height: 1.15; letter-spacing: -.02em; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-result .mt-result__type { font-size: 17px; }
.mt-result .mt-result__dims { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mt-result .mt-result__dim { margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--mtc-lavande-3); }
.mt-result .mt-result__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mt-result .mt-result__teaser ul { margin: 8px 0 0; padding-left: 1.2em; }
.mt-result .mt-result__disclaimer, .mt-result .mt-res__disclaimer { font-size: 14px; color: var(--mtc-gris); }
.mt-result .mt-res__disclaimer { margin: 0; padding: 14px 16px; border-radius: 16px; background: var(--mtc-lavande-3); border: 1px dashed var(--mtc-lavande-2); }
.mt-result .mt-res__disclaimer .mt-prose { font-size: 14px; }

/* Score global (anneau) */
.mt-result .mt-res__global { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 12px; text-align: center; }
.mt-result .mt-res__globalviz { width: 132px; color: var(--mtc-indigo); }
.mt-result .mt-ring { display: block; width: 100%; height: auto; font-family: var(--mtc-titre); }
.mt-result .mt-ring text { fill: var(--mtc-indigo-fonce); }
.mt-result .mt-res__globaltext { text-align: left; }
.mt-result .mt-res__globaltext .mt-res__h { margin-bottom: 8px; }

/* QI */
.mt-result .mt-res__iqhead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; margin: 0 0 6px; }
.mt-result .mt-res__iqline { display: flex; align-items: baseline; gap: 10px; margin: 0; font-family: var(--mtc-titre); font-size: 22px; font-weight: 700; color: var(--mtc-indigo-fonce); }
.mt-result .mt-res__iqnum { font-size: 56px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--mtc-indigo); }
.mt-result .mt-res__iqnote { margin: 0; padding: 4px 10px; border-radius: 999px; background: var(--mtc-warn-bg); color: var(--mtc-warn-ink); font-size: 13px; font-weight: 800; }
.mt-result .mt-res__pct { margin: 6px 0 14px; font-size: 17px; }
.mt-result .mt-res__iqsummary { margin: 0 0 22px; padding: 16px 18px; border-radius: 16px; background: var(--mtc-lavande); }
.mt-result .mt-res__pct strong { color: var(--mtc-indigo); font-weight: 800; }
.mt-result .mt-res__caution { margin: 18px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); font-size: 14px; color: var(--mtc-gris); }
.mt-result .mt-res__caution strong { color: var(--mtc-encre); }

/* Courbe en cloche (aussi utilisée par le rapport PHP) */
.mt-iqscale { display: block; margin: 8px 0; padding: 0; color: var(--mtc-encre); font-family: var(--mtc-texte); }
.mt-iqscale svg { display: block; width: 100%; max-width: 560px; height: auto; margin: 0 auto; overflow: visible; }
.mt-iqscale .mt-iqscale__area { fill: var(--mtc-lavande); }
.mt-iqscale .mt-iqscale__shade { fill: var(--mtc-lavande-2); }
.mt-iqscale .mt-iqscale__curve { stroke: var(--mtc-indigo); stroke-width: 3; }
.mt-iqscale .mt-iqscale__marker { stroke: var(--mtc-indigo); stroke-width: 2.5; stroke-dasharray: 4 4; }
.mt-iqscale .mt-iqscale__dot { fill: var(--mtc-corail); stroke: var(--mtc-blanc); stroke-width: 3; }
.mt-iqscale .mt-iqscale__tag rect { fill: var(--mtc-indigo); }
.mt-iqscale .mt-iqscale__tag text { fill: var(--mtc-blanc); font-family: var(--mtc-titre); }
.mt-iqscale .mt-iqscale__svg { font-family: var(--mtc-texte); }
.mt-iqscale .mt-iqscale__legend { max-width: 60ch; margin: 10px auto 0; font-size: 15px; line-height: 1.5; text-align: center; color: var(--mtc-gris); }
.mt-iqscale .mt-iqscale__legend strong { color: var(--mtc-indigo-fonce); font-weight: 800; }

/* Aperçu du rapport */
.mt-result .mt-teaser { background: linear-gradient(180deg, var(--mtc-blanc), var(--mtc-lavande-3)); }
.mt-result .mt-teaser__grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.mt-result .mt-teaser__card {
  position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "lock title" "lock lines"; align-items: center; gap: 4px 12px;
  margin: 0; padding: 14px 14px 14px 12px; border-radius: 18px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne);
}
.mt-result .mt-teaser__lock { grid-area: lock; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--mtc-lavande); color: var(--mtc-indigo); }
.mt-result .mt-teaser__lock svg { width: 20px; height: 20px; }
.mt-result .mt-teaser__num { position: absolute; top: 10px; right: 14px; font-family: var(--mtc-titre); font-size: 13px; font-weight: 800; color: var(--mtc-gris); }
.mt-result .mt-teaser__title { grid-area: title; padding-right: 28px; font-weight: 800; font-size: 16px; line-height: 1.3; color: var(--mtc-encre); }
.mt-result .mt-teaser__lines { grid-area: lines; display: grid; gap: 5px; padding: 4px 0 0; }
.mt-result .mt-teaser__lines i { display: block; height: 7px; border-radius: 99px; background: linear-gradient(90deg, #CFC9EE, #E6E1F7); }

/* Offre */
.mt-result .mt-res__section.mt-offer { padding: 0; }
.mt-result .mt-offer { display: grid; gap: 16px; padding: 0; overflow: hidden; border: 2px solid var(--mtc-lavande-2); box-shadow: var(--mtc-ombre); }
.mt-result .mt-offer__main { display: grid; gap: 14px; padding: 22px 18px 4px; }
.mt-result .mt-offer--done .mt-offer__main { padding-bottom: 22px; justify-items: start; }
.mt-result .mt-offer--done p { margin: 0; color: var(--mtc-gris); }
.mt-result .mt-offer__eyebrow { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mtc-indigo); }
.mt-result .mt-offer__eyebrow svg { width: 18px; height: 18px; }
.mt-result .mt-offer__title { margin: 0; font-family: var(--mtc-titre); font-size: 24px; font-weight: 800; line-height: 1.15; letter-spacing: -.015em; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-result .mt-offer__badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 14px; font-weight: 800; }
.mt-result .mt-offer__badge svg { width: 16px; height: 16px; }
.mt-result .mt-offer__badge--ok { background: var(--mtc-ok-bg); color: var(--mtc-ok-ink); }
.mt-result .mt-offer__perks { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mt-result .mt-offer__perks li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 16px; line-height: 1.45; }
.mt-result .mt-offer__perks svg { flex: none; width: 22px; height: 22px; padding: 3px; margin-top: 1px; border-radius: 50%; background: var(--mtc-ok-bg); color: var(--mtc-ok-ink); }
.mt-result .mt-offer__buy { display: grid; gap: 12px; padding: 18px; border-radius: 20px; background: var(--mtc-creme); border: 1px solid #F5E6D3; }
.mt-result .mt-offer__price { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.mt-result .mt-offer__amount { font-family: var(--mtc-titre); font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -.02em; color: var(--mtc-encre); }
.mt-result .mt-offer__once { font-size: 15px; font-weight: 700; color: var(--mtc-gris); }
.mt-result .mt-offer__reassure { display: block; margin: 0; font-size: 13px; line-height: 1.5; color: var(--mtc-gris); text-align: center; }
.mt-result .mt-offer__reassure svg { display: inline-block; width: 14px; height: 14px; margin-right: 4px; vertical-align: -2px; }
.mt-result .mt-offer__msg:empty { display: none; }
.mt-result .mt-offer__bundle { display: grid; gap: 8px; justify-items: start; margin: 0 18px; padding: 18px; border-radius: 20px; background: var(--mtc-lavande); }
.mt-result .mt-offer__bundletitle { margin: 0; font-size: 17px; line-height: 1.4; color: var(--mtc-encre); }
.mt-result .mt-offer__bundletitle strong { font-family: var(--mtc-titre); font-size: 22px; font-weight: 800; color: var(--mtc-indigo-fonce); }
.mt-result .mt-offer__bundletext { margin: 0 0 6px; font-size: 15px; color: var(--mtc-gris); }
.mt-result .mt-claim { padding: 0 18px 20px; }
.mt-result .mt-claim__form { margin: 12px 0 0; padding: 16px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); }
.mt-result .mt-claim__form[hidden] { display: none; }
.mt-result .mt-claim__intro { margin: 0; font-size: 15px; color: var(--mtc-gris); }
.mt-result .mt-claim__row { display: grid; gap: 10px; }
.mt-result .mt-claim__msg:empty { display: none; }

/* Partage et pied */
.mt-result .mt-share__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mt-result .mt-share__msg { margin: 10px 0 0; min-height: 1.4em; font-weight: 700; color: var(--mtc-ok-ink); }
.mt-result .mt-share__msg:empty { margin: 0; min-height: 0; }
.mt-result .mt-res__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; padding: 8px 0 0; text-align: center; }
.mt-result .mt-res__copied { flex-basis: 100%; margin: 0; font-weight: 700; color: var(--mtc-ok-ink); }
.mt-result .mt-res__copied:empty { display: none; }
.mt-result .mt-res__small { flex-basis: 100%; margin: 0; font-size: 13px; color: var(--mtc-gris); }

/* ======================================================================
   5. Graphiques (A6 : .mt-chart), aussi utilisés par le rapport PHP
   ==================================================================== */
.mt-chart { display: grid; gap: 22px; margin: 0; padding: 0; list-style: none; }
.mt-chart .mt-chart__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; margin: 0; padding: 0; }
.mt-chart .mt-chart__row > .mt-chart__label { grid-column: 1; }
.mt-chart .mt-chart__row > .mt-chart__value { grid-column: 2; grid-row: 1; }
.mt-chart .mt-chart__row > .mt-chart__head, .mt-chart .mt-chart__row > .mt-chart__track, .mt-chart .mt-chart__row > .mt-chart__poles,
.mt-chart .mt-chart__row > .mt-chart__text, .mt-chart .mt-chart__row > .mt-chart__emp { grid-column: 1 / -1; }
.mt-chart .mt-chart__row + .mt-chart__row { padding-top: 20px; border-top: 1px solid var(--mtc-ligne); }
.mt-chart .mt-chart__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.mt-chart .mt-chart__label { font-weight: 800; font-size: 17px; color: var(--mtc-encre); }
.mt-chart .mt-chart__value { margin-left: auto; font-family: var(--mtc-titre); font-weight: 800; font-size: 18px; color: var(--mtc-indigo); font-variant-numeric: tabular-nums; }
.mt-chart .mt-chart__track { position: relative; display: block; height: 14px; border-radius: 999px; background: var(--mtc-lavande); overflow: hidden; }
.mt-chart .mt-chart__fill { position: absolute; left: 0; top: 0; bottom: 0; display: block; min-width: 6px; border-radius: inherit; background: linear-gradient(90deg, var(--mtc-indigo), #6D63E8); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.mt-chart .mt-chart__track--bi .mt-chart__fill { border-radius: 0; min-width: 3px; }
.mt-chart .mt-chart__mid { position: absolute; left: 50%; top: -2px; bottom: -2px; width: 2px; margin-left: -1px; background: #A9A5C2; z-index: 1; }
.mt-chart .mt-chart__poles { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--mtc-gris); }
.mt-chart .mt-chart__poles span:last-child { text-align: right; }
.mt-chart .mt-chart__poles .is-on { color: var(--mtc-indigo-fonce); font-weight: 800; }
.mt-chart .mt-chart__poles b { font-weight: 800; }
.mt-chart .mt-chart__text { margin-top: 4px; font-size: 16px; }
.mt-chart .mt-chart__emp, .mt-chart .mt-chart__note { margin: 0; font-size: 14px; color: var(--mtc-gris); }
.mt-chart .mt-chart__row > .mt-chart__note { grid-column: 1 / -1; }
.mt-chart .mt-chart__row--total { padding: 14px 16px; border-radius: 16px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); }
.mt-chart .mt-chart__row--total + .mt-chart__row { border-top: 0; }
.mt-chart .mt-chart__row--total .mt-chart__label { font-family: var(--mtc-titre); font-size: 18px; }
.mt-chart--domains { gap: 14px; }
.mt-chart--domains .mt-chart__row + .mt-chart__row { padding-top: 0; border-top: 0; }
/* Rapport QI : la valeur « 67 % de bonnes réponses » est longue. Sur mobile, elle passe sous le nom du
   domaine (plus de chevauchement) ; à partir de 768 px, elle revient à droite du nom. Seule la valeur
   enfant direct de la ligne est déplacée (rapport PHP) : la page résultat (mt-result.js) garde sa valeur
   courte dans .mt-chart__head, et une seule colonne ne change rien à son rendu. */
.mt-chart--domains .mt-chart__row { grid-template-columns: minmax(0, 1fr); }
.mt-chart--domains .mt-chart__row > .mt-chart__value { grid-column: 1; grid-row: 2; margin: -4px 0 0; font-family: var(--mtc-texte); font-size: 15px; font-weight: 700; line-height: 1.35; }
@media (min-width: 768px) {
  .mt-chart--domains .mt-chart__row { grid-template-columns: minmax(0, 1fr) auto; }
  .mt-chart--domains .mt-chart__row > .mt-chart__value { grid-column: 2; grid-row: 1; margin: 0 0 0 auto; font-family: var(--mtc-titre); font-size: 18px; font-weight: 800; line-height: inherit; text-align: right; }
}

/* Figures QI */
.mt-fig { display: block; max-width: 100%; height: auto; }

/* ======================================================================
   6. Rapport complet (rendu PHP, A6)
   ==================================================================== */
.mt-report { display: block; width: 100%; max-width: 1140px; margin: 0 auto; padding: 24px 16px 56px; }
.mt-report .mt-report__head {
  position: relative; overflow: hidden; margin: 0 0 20px; padding: 26px 20px; border-radius: 28px;
  background: linear-gradient(135deg, var(--mtc-lavande) 0%, #F6F0FF 55%, var(--mtc-creme) 100%); border: 1px solid var(--mtc-lavande-2);
}
.mt-report .mt-report__kicker { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mtc-indigo); }
.mt-report .mt-report__title { margin: 0 0 10px; font-family: var(--mtc-titre); font-size: 32px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--mtc-indigo-fonce); text-transform: none; text-wrap: balance; }
.mt-report .mt-report__meta { margin: 0; font-size: 15px; color: var(--mtc-gris); }
.mt-report .mt-report__meta > * { margin: 0; }
.mt-report .mt-report__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.mt-report .mt-report__toc {
  margin: 0 0 24px; padding: 18px 18px 14px; border-radius: 20px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); box-shadow: var(--mtc-ombre-s);
}
.mt-report .mt-report__toc-title { display: block; margin: 0 0 8px; font-family: var(--mtc-titre); font-size: 16px; font-weight: 800; line-height: 1.3; color: var(--mtc-indigo-fonce); }
.mt-report .mt-report__toc ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; counter-reset: mttoc; }
.mt-report .mt-report__toc li { margin: 0; padding: 0; counter-increment: mttoc; }
.mt-report .mt-report__toc a {
  display: flex; gap: 10px; padding: 7px 10px; border-radius: 10px; font-size: 15px; font-weight: 700; line-height: 1.35;
  color: var(--mtc-encre); text-decoration: none; border-left: 3px solid transparent;
}
.mt-report .mt-report__toc a::before { content: counter(mttoc, decimal-leading-zero); flex: none; font-family: var(--mtc-titre); font-weight: 800; color: var(--mtc-gris); }
.mt-report .mt-report__toc a:hover { background: var(--mtc-lavande-3); color: var(--mtc-indigo); }
.mt-report .mt-report__toc a.is-active, .mt-report .mt-report__toc a[aria-current] { background: var(--mtc-lavande); color: var(--mtc-indigo-fonce); border-left-color: var(--mtc-indigo); }
.mt-report .mt-report__toc a.is-active::before, .mt-report .mt-report__toc a[aria-current]::before { color: var(--mtc-indigo); }
.mt-report .mt-report__body { min-width: 0; }
.mt-report .mt-report__section { margin: 0 0 22px; padding: 24px 18px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); border-radius: 24px; scroll-margin-top: 90px; }
.mt-report .mt-report__h2 { margin: 0 0 16px; font-family: var(--mtc-titre); font-size: 25px; font-weight: 800; line-height: 1.2; letter-spacing: -.015em; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-report .mt-report__dim { margin: 0 0 16px; padding: 18px 16px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); }
.mt-report .mt-report__dim:last-child { margin-bottom: 0; }
.mt-report .mt-report__h3 { letter-spacing: -.005em; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 10px; font-family: var(--mtc-titre); font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--mtc-encre); text-transform: none; }
.mt-report .mt-report__intro { margin: 0 0 22px; padding: 22px 20px; border-radius: 24px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); font-size: 18px; }
.mt-report .mt-report__intro .mt-prose { font-size: 18px; }
.mt-report .mt-report__combo { margin: 0 0 14px; padding: 18px 20px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); border-left: 5px solid var(--mtc-indigo); box-shadow: none; }
.mt-report .mt-report__combo:last-child { margin-bottom: 0; }
.mt-report .mt-report__disclaimer { margin: 8px 0 0; padding: 16px 18px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px dashed var(--mtc-lavande-2); font-size: 14px; color: var(--mtc-gris); }
.mt-report .mt-report__disclaimer p { margin: 0 0 .5em; }
.mt-report .mt-report__disclaimer p:last-child { margin-bottom: 0; }
.mt-report .mt-prose { font-size: 17px; }

/* Rapport verrouillé */
.mt-report.mt-report--locked .mt-report__section { position: relative; }
.mt-report .mt-paywall, .mt-paywall {
  position: relative; z-index: 2; display: grid; gap: 12px; justify-items: center; margin: 0 0 22px; padding: 26px 20px; border-radius: 24px; text-align: center;
  background: var(--mtc-blanc); border: 2px solid var(--mtc-lavande-2); box-shadow: var(--mtc-ombre);
}
.mt-paywall > * { margin: 0; }
.mt-paywall.mt-paywall h2, .mt-paywall.mt-paywall h3, .mt-paywall.mt-paywall .mt-paywall__title { margin: 0; letter-spacing: -.01em; font-family: var(--mtc-titre); font-size: 24px; font-weight: 800; line-height: 1.2; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-paywall p { margin: 0; color: var(--mtc-gris); }
.mt-paywall .mt-paywall__text { max-width: 56ch; font-size: 16px; }
.mt-paywall .mt-paywall__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.mt-paywall .mt-paywall__claim { width: 100%; max-width: 520px; margin-top: 6px; padding: 16px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); text-align: left; }
.mt-paywall .mt-paywall__claim .mt-form { gap: 12px; }
.mt-paywall .mt-paywall__claim .mt-btn { justify-self: start; }
.mt-paywall .mt-paywall__price { font-family: var(--mtc-titre); font-size: 22px; font-weight: 800; color: var(--mtc-encre); }

/* Liste métiers */
.mt-jobs { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mt-jobs .mt-jobs__item { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: baseline; margin: 0; padding: 12px 14px; border-radius: 14px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); }
.mt-jobs .mt-jobs__item strong { font-weight: 800; color: var(--mtc-encre); }
.mt-jobs .mt-jobs__code { justify-self: end; padding: 2px 9px; border-radius: 999px; background: var(--mtc-indigo); color: var(--mtc-blanc); font-family: var(--mtc-titre); font-size: 13px; font-weight: 800; letter-spacing: .06em; }
.mt-jobs .mt-jobs__note { grid-column: 1 / -1; font-size: 14px; color: var(--mtc-gris); }

/* Corrigé QI */
.mt-corr { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.mt-corr .mt-corr__item {
  position: relative; display: grid; gap: 10px; margin: 0; padding: 16px 16px 16px 20px; border-radius: 18px;
  background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); border-left: 6px solid var(--mtc-lavande-2); break-inside: avoid;
}
.mt-corr .mt-corr__item.is-ok { border-left-color: var(--mtc-menthe); }
.mt-corr .mt-corr__item.is-ko { border-left-color: var(--mtc-corail-fonce); }
.mt-corr .mt-corr__prompt { margin: 0; font-size: 16px; line-height: 1.5; }
.mt-corr .mt-corr__prompt strong { font-family: var(--mtc-titre); font-weight: 800; color: var(--mtc-indigo-fonce); }
.mt-corr .mt-corr__figure { margin: 0; }
.mt-corr .mt-corr__figure .mt-fig { display: block; width: auto; max-width: 100%; height: auto; }
.mt-corr .mt-corr__answer { display: grid; gap: 6px; margin: 0; font-size: 15px; }
.mt-corr .mt-corr__answer p { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.mt-corr .mt-corr__label { font-weight: 800; color: var(--mtc-encre); }
.mt-corr .mt-corr__opt { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.mt-corr .mt-corr__opt .mt-fig { display: inline-block; vertical-align: middle; }
.mt-corr .mt-corr__letter { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 4px; border-radius: 8px; background: var(--mtc-lavande); color: var(--mtc-indigo); font-family: var(--mtc-titre); font-size: 13px; font-weight: 800; }
.mt-corr .mt-corr__verdict { font-weight: 800; color: var(--mtc-ok-ink); }
.mt-corr .is-ok .mt-corr__letter { background: var(--mtc-ok-bg); color: var(--mtc-ok-ink); }
.mt-corr .is-ko .mt-corr__answer p:first-child .mt-corr__letter { background: var(--mtc-err-bg); color: var(--mtc-err-ink); }
.mt-corr .mt-prose { font-size: 15px; }

/* ======================================================================
   7. Shortcodes (A6)
   ==================================================================== */
/* [mt_unlock] */
.mt-unlock { display: grid; gap: 8px; justify-items: start; margin: 0; }
.mt-unlock p, .mt-unlock .mt-unlock__note { margin: 0; font-size: 14px; line-height: 1.5; color: var(--mtc-gris); }

/* [mt_bundle] */
.mt-bundle {
  position: relative; display: grid; gap: 12px; margin: 0; padding: 24px 20px; border-radius: 24px;
  background: linear-gradient(135deg, var(--mtc-lavande), #F6F0FF); border: 1px solid var(--mtc-lavande-2);
}
.mt-bundle { justify-items: start; }
.mt-bundle > * { margin: 0; }
.mt-bundle.mt-bundle h2, .mt-bundle.mt-bundle h3, .mt-bundle.mt-bundle .mt-bundle__title { margin: 0; letter-spacing: -.01em; font-family: var(--mtc-titre); font-size: 24px; font-weight: 800; line-height: 1.2; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-bundle .mt-bundle__price { font-family: var(--mtc-titre); font-weight: 800; color: var(--mtc-encre); }
.mt-bundle .mt-bundle__price { font-size: 36px; line-height: 1; }
.mt-bundle ul { display: grid; gap: 6px; margin: 0; padding: 0 0 0 1.3em; }
.mt-bundle p { color: var(--mtc-encre); }
.mt-bundle .mt-bundle__kicker { font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--mtc-indigo); }
.mt-bundle .mt-bundle__text { max-width: 60ch; font-size: 16px; line-height: 1.6; }

/* [mt_retrieve], [mt_contact] */
.mt-retrieve, .mt-contact { display: block; max-width: 620px; margin: 0 auto; padding: 22px 18px; border-radius: 24px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); box-shadow: var(--mtc-ombre-s); }
.mt-retrieve > p, .mt-contact > p { margin: 0 0 12px; }
.mt-retrieve .mt-form .mt-btn, .mt-contact .mt-form .mt-btn { justify-self: start; }

/* [mt_stat] */
.mt-stat { font-weight: 800; font-variant-numeric: tabular-nums; color: inherit; }

/* [mt_faq] */
.mt-faq { display: grid; gap: 10px; margin: 0; }
.mt-faq .mt-faq__item { margin: 0; border-radius: 18px; background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); transition: box-shadow .2s ease, border-color .2s ease; }
.mt-faq .mt-faq__item[open] { border-color: var(--mtc-lavande-2); box-shadow: var(--mtc-ombre-s); }
.mt-faq .mt-faq__q {
  letter-spacing: -.005em; text-transform: none;
  position: relative; display: block; margin: 0; padding: 16px 52px 16px 18px; cursor: pointer; list-style: none;
  font-family: var(--mtc-titre); font-size: 18px; font-weight: 700; line-height: 1.35; color: var(--mtc-encre); border-radius: 18px;
}
.mt-faq .mt-faq__q::-webkit-details-marker { display: none; }
.mt-faq .mt-faq__q::marker { content: ""; }
.mt-faq .mt-faq__q::after {
  content: ""; position: absolute; right: 18px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%;
  background: var(--mtc-lavande) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%232B2D6E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
  transition: transform .2s ease;
}
.mt-faq .mt-faq__item[open] > .mt-faq__q::after { transform: rotate(180deg); }
.mt-faq .mt-faq__q:hover { color: var(--mtc-indigo); }
.mt-faq .mt-faq__a { padding: 0 18px 18px; font-size: 16px; line-height: 1.7; color: var(--mtc-encre); }
.mt-faq .mt-faq__a > :first-child { margin-top: 0; }
.mt-faq .mt-faq__a > :last-child { margin-bottom: 0; }
.mt-faq .mt-faq__a p { margin: 0 0 .8em; }
.mt-faq .mt-faq__a a { color: var(--mtc-indigo); font-weight: 700; }

/* [mt_types] */
.mt-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.mt-types .mt-types__card {
  display: grid; align-content: start; gap: 6px; margin: 0; padding: 16px 14px; border-radius: 18px; text-decoration: none;
  background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); color: var(--mtc-encre); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.mt-types .mt-types__card:hover { transform: translateY(-2px); border-color: var(--mtc-lavande-2); box-shadow: var(--mtc-ombre-s); color: var(--mtc-encre); }
.mt-types .mt-types__code { justify-self: start; padding: 4px 10px; border-radius: 10px; background: var(--mtc-indigo); color: var(--mtc-blanc); font-family: var(--mtc-titre); font-size: 16px; font-weight: 800; letter-spacing: .05em; line-height: 1.3; }
.mt-types .mt-types__label { letter-spacing: -.005em; font-family: var(--mtc-titre); font-size: 17px; font-weight: 700; line-height: 1.25; color: var(--mtc-indigo-fonce); }
.mt-types .mt-types__tagline { font-size: 14px; line-height: 1.45; color: var(--mtc-gris); }

/* [mt_cta] */
.mt-cta { margin: 0; }
.mt-cta.mt-cta--card {
  display: grid; gap: 12px; justify-items: start; padding: 24px 20px; border-radius: 24px;
  background: linear-gradient(135deg, var(--mtc-lavande), #F6F0FF); border: 1px solid var(--mtc-lavande-2);
}
.mt-cta.mt-cta--card > * { margin: 0; }
.mt-cta.mt-cta h2, .mt-cta.mt-cta h3, .mt-cta.mt-cta .mt-cta__title { margin: 0; letter-spacing: -.01em; font-family: var(--mtc-titre); font-size: 22px; font-weight: 800; line-height: 1.2; color: var(--mtc-indigo-fonce); text-transform: none; }
.mt-cta p { color: var(--mtc-encre); }
.mt-cta .mt-cta__meta { font-size: 15px; font-weight: 700; color: var(--mtc-gris); }
.mt-cta.mt-cta--inline a:not(.mt-btn) { color: var(--mtc-indigo); font-weight: 800; text-decoration: underline; text-decoration-color: var(--mtc-corail); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mt-cta.mt-cta--inline { display: block; line-height: 1.6; padding: 14px 16px; border-radius: 18px; background: var(--mtc-lavande-3); border: 1px solid var(--mtc-ligne); }
.mt-cta.mt-cta--inline > * { margin: 0; }

/* [mt_tests_grid] */
.mt-tests-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 0; }
.mt-tests-grid .mt-testcard {
  position: relative; display: grid; align-content: start; gap: 8px; margin: 0; padding: 20px; border-radius: 22px; text-decoration: none;
  background: var(--mtc-blanc); border: 1px solid var(--mtc-ligne); color: var(--mtc-encre); box-shadow: var(--mtc-ombre-s);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mt-tests-grid .mt-testcard:hover { transform: translateY(-3px); border-color: var(--mtc-lavande-2); box-shadow: var(--mtc-ombre); color: var(--mtc-encre); }
.mt-tests-grid .mt-testcard__title { margin: 0; letter-spacing: -.01em; text-transform: none; font-family: var(--mtc-titre); font-size: 19px; font-weight: 800; line-height: 1.25; color: var(--mtc-indigo-fonce); }
.mt-tests-grid .mt-testcard__meta { margin: 0; font-size: 14px; font-weight: 700; color: var(--mtc-gris); }
.mt-tests-grid .mt-testcard__price { margin: 0; font-size: 14px; color: var(--mtc-gris); }
.mt-tests-grid .mt-testcard__price strong, .mt-tests-grid .mt-testcard__price b { color: var(--mtc-encre); }
.mt-tests-grid .mt-testcard__go {
  display: inline-flex; align-items: center; justify-self: start; gap: 8px; margin-top: 6px; padding: 8px 16px; border-radius: 999px;
  background: var(--mtc-indigo); color: var(--mtc-blanc); font-size: 15px; font-weight: 800; line-height: 1.2; transition: background-color .18s ease;
}
.mt-tests-grid .mt-testcard__go::after { content: "→"; font-weight: 800; transition: transform .18s ease; }
.mt-tests-grid .mt-testcard:hover .mt-testcard__go { background: var(--mtc-indigo-fonce); }
.mt-tests-grid .mt-testcard:hover .mt-testcard__go::after { transform: translateX(3px); }

/* ======================================================================
   8. Tablette (768 à 1024)
   ==================================================================== */
@media (min-width: 768px) {
  .mt-app { padding: 36px 24px 64px; }
  .mt-app .mt-run { padding: 36px 40px 32px; border-radius: 28px; }
  .mt-app .mt-run__title { font-size: 38px; }
  .mt-app .mt-run__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mt-app .mt-run__fact { flex-direction: column; align-items: flex-start; gap: 6px; }
  .mt-app .mt-run__lead { font-size: 17px; }
  .mt-app .mt-run__actions--start .mt-btn { width: auto; }
  .mt-app .mt-q__title { font-size: 27px; margin-bottom: 26px; }
  .mt-app .mt-run--likert .mt-q__title, .mt-app .mt-run--forced .mt-q__title { text-align: center; }
  .mt-app .mt-q__hint { display: block; }

  /* Likert horizontal */
  .mt-app .mt-opts--likert { grid-template-columns: repeat(var(--mt-cols, 5), minmax(0, 1fr)); gap: 10px; align-items: stretch; }
  .mt-app .mt-opts--n5 { --mt-cols: 5; }
  .mt-app .mt-opts--n7 { --mt-cols: 7; gap: 8px; }
  .mt-app .mt-opts--likert .mt-opt.mt-opt { display: grid; grid-template-rows: 60px auto; justify-items: center; align-items: center; gap: 10px; min-height: 148px; padding: 22px 8px 14px; text-align: center; font-size: 15px; border-radius: 18px; }
  .mt-app .mt-opts--n7 .mt-opt.mt-opt { grid-template-rows: 52px auto; font-size: 14px; padding: 20px 4px 12px; }
  .mt-app .mt-opts--likert .mt-opt__dot { width: calc(52px * var(--mt-dot, 1)); height: calc(52px * var(--mt-dot, 1)); border-width: 3px; }
  .mt-app .mt-opts--n7 .mt-opt__dot { width: calc(44px * var(--mt-dot, 1)); height: calc(44px * var(--mt-dot, 1)); }
  .mt-app .mt-opts--likert .mt-opt__label { align-self: start; }
  .mt-app .mt-opts--likert .mt-opt.mt-opt:hover { transform: translateY(-2px); }
  .mt-app .mt-opt__key { display: block; }
  .mt-app .mt-opts--forced .mt-opt__key { top: 10px; left: 12px; }
  .mt-app .mt-opts--forced .mt-opt.mt-opt { padding-top: 34px; }

  /* Choix forcé côte à côte */
  .mt-app .mt-opts--forced { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .mt-app .mt-opts--forced.mt-opts--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mt-app .mt-opts--forced .mt-opt.mt-opt { min-height: 150px; align-items: center; justify-content: center; text-align: center; padding: 34px 22px 44px; }
  .mt-app .mt-opts--forced .mt-opt__tick { top: auto; bottom: 12px; right: 50%; margin: 0 -14px 0 0; }

  /* QI */
  .mt-app .mt-opts--iq-fig { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .mt-app .mt-opts--iq-fig.mt-opts--c6, .mt-app .mt-opts--iq-fig.mt-opts--c5 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 520px; margin: 0 auto; }
  .mt-app .mt-opts--iq-text { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mt-app .mt-q__figure { padding: 16px; }

  .mt-result { padding: 36px 24px 64px; }
  .mt-result .mt-res { gap: 22px; }
  .mt-result .mt-res__hero { padding: 36px 40px; }
  .mt-result .mt-res__title { font-size: 42px; }
  .mt-result .mt-res__code { min-width: 112px; font-size: 36px; padding: 16px 20px; }
  .mt-result .mt-res__label { font-size: 23px; }
  .mt-result .mt-res__section { padding: 30px 32px; }
  .mt-result .mt-res__h { font-size: 24px; }
  .mt-result .mt-res__global { grid-template-columns: 150px 1fr; justify-items: start; align-items: center; gap: 28px; }
  .mt-result .mt-res__globalviz { width: 150px; }
  .mt-result .mt-res__iqnum { font-size: 72px; }
  .mt-result .mt-teaser__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mt-result .mt-offer__main { grid-template-columns: 1.15fr 1fr; grid-template-areas: "eyebrow eyebrow" "title buy" "perks buy" "msg msg"; column-gap: 28px; padding: 30px 32px 6px; }
  .mt-result .mt-offer__main > .mt-offer__eyebrow { grid-area: eyebrow; }
  .mt-result .mt-offer__main > .mt-offer__title { grid-area: title; font-size: 28px; }
  .mt-result .mt-offer__main > .mt-offer__perks { grid-area: perks; align-self: start; }
  .mt-result .mt-offer__main > .mt-offer__buy { grid-area: buy; align-self: start; }
  .mt-result .mt-offer__main > .mt-offer__msg { grid-area: msg; }
  .mt-result .mt-offer--done .mt-offer__main { grid-template-columns: 1fr; grid-template-areas: none; padding-bottom: 30px; }
  .mt-result .mt-offer--done .mt-offer__main > * { grid-area: auto; }
  .mt-result .mt-offer__bundle { grid-template-columns: 1fr auto; align-items: center; column-gap: 20px; margin: 0 32px; padding: 20px 24px; }
  .mt-result .mt-offer__bundle > .mt-offer__eyebrow, .mt-result .mt-offer__bundle > .mt-offer__bundletitle, .mt-result .mt-offer__bundle > .mt-offer__bundletext { grid-column: 1; }
  .mt-result .mt-offer__bundle > .mt-btn { grid-column: 2; grid-row: 1 / span 3; }
  .mt-result .mt-claim { padding: 0 32px 26px; }
  .mt-result .mt-claim__row { grid-template-columns: 1fr auto; }

  .mt-report { padding: 36px 24px 64px; }
  .mt-report .mt-report__head { padding: 36px 40px; }
  .mt-report .mt-report__title { font-size: 44px; }
  .mt-report .mt-report__section { padding: 32px 36px; }
  .mt-report .mt-report__h2 { font-size: 30px; }
  .mt-report .mt-report__dim { padding: 22px 24px; }

  .mt-jobs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mt-types { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .mt-tests-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .mt-bundle, .mt-cta.mt-cta--card { padding: 32px; }
  .mt-retrieve, .mt-contact { padding: 30px 32px; }
}

/* ======================================================================
   9. Bureau (≥ 1025)
   ==================================================================== */
@media (min-width: 1025px) {
  .mt-app .mt-run { padding: 44px 56px 36px; }
  .mt-app .mt-run__title { font-size: 40px; }
  .mt-app .mt-q__title { font-size: 30px; }
  /* QI : grille à gauche, réponses à droite (tient dans un écran d'ordinateur portable) */
  .mt-app .mt-q--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "title title" "fig opts" "hint hint"; column-gap: 28px; align-items: center; }
  .mt-app .mt-q--split > .mt-q__title { grid-area: title; min-height: 0; }
  .mt-app .mt-q--split > .mt-q__figure { grid-area: fig; margin: 0; max-width: none; }
  .mt-app .mt-q--split > .mt-opts { grid-area: opts; max-width: none; margin: 0; }
  .mt-app .mt-q--split > .mt-q__hint { grid-area: hint; }
  .mt-app .mt-q--split > .mt-opts--iq-fig, .mt-app .mt-q--split > .mt-opts--iq-fig.mt-opts--c6, .mt-app .mt-q--split > .mt-opts--iq-fig.mt-opts--c5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mt-app .mt-q--split > .mt-opts--iq-fig.mt-opts--c4 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 300px; justify-self: center; width: 100%; }
  .mt-app .mt-q--split > .mt-opts--iq-text { grid-template-columns: 1fr; }

  .mt-result .mt-res__title { font-size: 48px; }

  /* Sommaire collant à gauche, seulement si le rapport a un sommaire */
  .mt-report:has(> .mt-report__toc) { display: grid; grid-template-columns: 270px minmax(0, 1fr); column-gap: 32px; align-items: start; }
  .mt-report:has(> .mt-report__toc) > .mt-report__head { grid-column: 1 / -1; }
  .mt-report:has(> .mt-report__toc) > .mt-report__toc { grid-column: 1; grid-row: 2 / span 60; position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; }
  .mt-report:has(> .mt-report__toc) > :not(.mt-report__head):not(.mt-report__toc) { grid-column: 2; }
  .mt-report .mt-report__title { font-size: 50px; }

  .mt-types { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mt-tests-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Écrans tactiles : pas d'indices clavier */
@media (hover: none) {
  .mt-app .mt-q__hint, .mt-app .mt-opt__key { display: none; }
}

/* ======================================================================
   10. Mouvement réduit
   ==================================================================== */
@media (prefers-reduced-motion: reduce) {
  .mt-app *, .mt-result *, .mt-report *, .mt-faq *, .mt-types *, .mt-tests-grid *, .mt-btn.mt-btn, .mt-app .mt-opt.mt-opt {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important;
  }
  .mt-app .mt-q--in { animation: none; }
  .mt-spinner { animation: none; border-top-color: var(--mtc-lavande-2, #D9D3FF); border-right-color: var(--mtc-indigo, #2B2D6E); }
  .mt-btn.mt-btn:hover, .mt-app .mt-opt.mt-opt:hover, .mt-tests-grid .mt-testcard:hover, .mt-types .mt-types__card:hover { transform: none; }
}

/* Contraste renforcé (Windows) */
@media (forced-colors: active) {
  .mt-app .mt-opt.mt-opt.is-selected { outline: 3px solid Highlight; }
  .mt-chart .mt-chart__fill, .mt-app .mt-progress__bar { background: Highlight; forced-color-adjust: none; }
}

/* ======================================================================
   11. Impression (rapport en PDF, format A4)
   ==================================================================== */
@media print {
  @page { size: A4; margin: 16mm 14mm 18mm; }

  /* Exception documentée : masquer l'habillage du site quand un rapport est imprimé. */
  body:has(.mt-report) header:not(.mt-report__head),
  body:has(.mt-report) footer:not(.mt-report__disclaimer),
  body:has(.mt-report) nav:not(.mt-report__toc),
  body:has(.mt-report) .elementor-location-header,
  body:has(.mt-report) .elementor-location-footer,
  body:has(.mt-report) #wpadminbar { display: none !important; }
  body:has(.mt-report) { background: #fff !important; }

  .mt-report { display: block !important; max-width: none; margin: 0; padding: 0; font-size: 11pt; color: #000; }
  .mt-report .mt-report__actions, .mt-report .mt-report__toc, .mt-report .mt-btn, .mt-report button, .mt-report .mt-paywall,
  .mt-report [data-mt-print], .mt-report .mt-unlock, .mt-report .mt-cta, .mt-report .mt-bundle { display: none !important; }
  .mt-report * { box-shadow: none !important; text-shadow: none !important; }
  .mt-report .mt-report__head { margin: 0 0 8mm; padding: 0 0 5mm; background: none; border: 0; border-bottom: 2pt solid #2B2D6E; border-radius: 0; }
  .mt-report .mt-report__head::after { display: none; }
  .mt-report .mt-report__title { font-size: 24pt; color: #1C1D4A; }
  .mt-report .mt-report__kicker, .mt-report .mt-report__meta { font-size: 9.5pt; }
  .mt-report .mt-report__section { margin: 0 0 7mm; padding: 0; background: none; border: 0; border-radius: 0; break-inside: auto; }
  .mt-report .mt-report__h2 { font-size: 16pt; margin: 0 0 3mm; padding-top: 2mm; break-after: avoid; page-break-after: avoid; }
  .mt-report .mt-report__h3 { font-size: 12.5pt; break-after: avoid; page-break-after: avoid; }
  .mt-report .mt-report__dim { margin: 0 0 4mm; padding: 3mm 4mm; background: #F7F5FF; border: 0.5pt solid #D9D3FF; border-radius: 3mm; break-inside: avoid; page-break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .mt-report .mt-prose { font-size: 11pt; line-height: 1.5; }
  .mt-report .mt-prose p, .mt-report .mt-prose li { orphans: 3; widows: 3; }
  .mt-report .mt-prose a { color: #000; text-decoration: none; }
  .mt-report .mt-blur { filter: none; }
  .mt-report .mt-chart { gap: 4mm; }
  .mt-report .mt-chart__row { break-inside: avoid; page-break-inside: avoid; }
  .mt-report .mt-chart__track, .mt-report .mt-level, .mt-report .mt-jobs__code, .mt-report .mt-iqscale { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .mt-report .mt-jobs { grid-template-columns: 1fr 1fr; gap: 2mm; }
  .mt-report .mt-jobs__item { padding: 2mm 3mm; break-inside: avoid; }
  .mt-report .mt-corr__item { break-inside: avoid; page-break-inside: avoid; }
  .mt-report .mt-report__disclaimer { background: none; border: 0.5pt solid #999; font-size: 9pt; break-inside: avoid; }
  .mt-report .mt-iqscale { break-inside: avoid; max-width: 140mm; }
}
