/* FIRME — accueil façon « application » sur cellulaire (ajouté le 2026-10-16).
   Seulement pour les écrans de 640 px et moins : le formulaire est visible dès l'ouverture.
   Pour revenir à l'ancienne version : retirer la ligne <link ... mobile-app.css> dans index.html. */
@media (max-width: 640px) {
  .site-header { height: 58px; }
  .site-header .brand-tagline { display: none; }

  .home { min-height: 0; padding: 14px 16px 36px; background: #fff; }
  .home-grid { gap: 0; grid-template-columns: minmax(0, 1fr) !important; }
  .home-grid > *, .entry-card form, .entry-card .chips { min-width: 0; max-width: 100%; }
  .home-copy .eyebrow { display: none; }
  .home-copy h1 { order: 1; font-size: 27px; line-height: 1.08; letter-spacing: -.03em; margin: 2px 0 10px; }
  .home-copy .trust-row { order: 2; margin: 0 0 14px; gap: 6px 14px; }
  .home-copy .trust-row li { font-size: 13px; }
  .home-copy .trust-row li:nth-child(4) { display: none; }
  .home-copy > p { order: 8; font-size: 15px; margin: 22px 0 0; }

  /* le formulaire devient l'écran principal */
  .entry-card { order: 3; margin: 0 0 30px; padding: 16px; border-radius: 18px; box-shadow: 0 6px 22px rgba(20,32,51,.07); }
  .entry-card > .badge, .entry-card > h2, .entry-card > p { display: none; }
  .entry-card label, .entry-card .field-label { margin-bottom: 10px; font-size: 13.5px; }
  .entry-card input, .entry-card textarea { margin-top: 4px; min-height: 46px; padding: 11px 12px; border-radius: 12px; }
  .entry-card .form-row-2 { grid-template-columns: 1fr 1fr; gap: 0 10px; }
  .entry-card .chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 10px; padding: 2px 16px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .entry-card .chips::-webkit-scrollbar { display: none; }
  .entry-card .chips button { flex: none; white-space: nowrap; min-height: 38px; font-size: 13.5px; padding: 8px 13px; }
  .entry-card textarea#message { min-height: 70px !important; height: 70px; }
  .entry-card .msg-hint { display: none; }
  .entry-card #startBtn { min-height: 54px; border-radius: 14px; font-size: 16.5px; margin-top: 2px; }
  .entry-card .form-reassure { font-size: 12px; margin: 8px 0 0; }
  .entry-card .ex-link { margin-top: 8px; padding-top: 10px; }
  .entry-card > .resume-link { margin-top: 2px; }

  .home-copy .get-title { order: 6; }
  .home-copy .how { order: 7; }
}

/* ===== Diagnostic (étapes 1 à 8) : chaque écran façon application =====
   Le haut de chaque étape tient dans le premier écran ; le bouton principal reste toujours visible. */
/* « clip » au lieu de « hidden » : même effet (pas de défilement de côté) mais les barres collantes fonctionnent */
html, body { overflow-y: visible !important; overflow-x: clip !important; }
.journey .mq-nav {
  position: sticky; bottom: 0; z-index: 6;
  margin: 6px -4px 0; padding: 14px 4px calc(12px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 34%);
}
.journey .sum-actions, .journey .competitor-actions, .journey .site-actions, .journey .step-next-actions {
  position: sticky; bottom: 0; z-index: 6;
  margin-bottom: 0; padding: 16px 0 calc(12px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 30%);
}

@media (max-width: 640px) {
  .journey .step-title { margin-bottom: 12px; }
  .journey .step-title h2 { font-size: 24px; line-height: 1.12; margin: 2px 0 4px; }
  .journey .step-title p { font-size: 14px; line-height: 1.45; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .journey .mq-top { margin-bottom: 8px; }
  .journey .mq-card { padding: 16px 14px 12px; border-radius: 18px; }
  .journey .mq-icon { width: 40px; height: 40px; border-radius: 12px; margin-bottom: 8px; }
  .journey .mq-icon svg { width: 20px; height: 20px; }
  .journey .mq-card h3 { font-size: 19px; line-height: 1.2; margin: 0 0 4px; }
  .journey .mq-hint { font-size: 13px; margin: 0 0 10px; }
  .journey .mq-opts { gap: 8px; }
  .journey .mq-opt { min-height: 48px; padding: 9px 12px; font-size: 14px; border-radius: 12px; }
  .journey .mq-more { margin-top: 8px; }
  .journey .step-navigation > span { display: none; }
}
@media (min-width: 641px) and (max-height: 1000px) {
  .journey .step-title { margin-bottom: 14px; }
  .journey .mq-card { padding: 22px 26px 18px; }
  .journey .mq-icon { width: 46px; height: 46px; margin-bottom: 8px; }
  .journey .mq-card h3 { margin: 0 0 4px; }
  .journey .mq-hint { margin-bottom: 12px; }
  .journey .mq-opt { min-height: 50px; padding: 10px 14px; }
}
/* étape 8 : le rapport final a sa propre barre « Abonnement » ; « Revoir le diagnostic » reste à la fin */
.journey #s8 .sum-actions { position: static; padding: 0; background: none; }

/* ===== Version « appli » soignée du formulaire (2026-10-17) — cellulaire seulement =====
   Pour revenir à la version précédente : supprimer ce bloc. */
@media (max-width: 640px) {
  .home { padding: 18px 20px 40px; }
  .home-copy h1 { font-size: 30px; line-height: 1.08; letter-spacing: -.035em; margin: 4px 0 12px; }
  .home-copy .trust-row { margin: 0 0 22px; gap: 8px 14px; }
  .home-copy .trust-row li { font-size: 13px; color: #3d4a5e; }

  /* le formulaire posé directement sur la page, comme une appli */
  .entry-card { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; margin: 0 0 34px; }
  .entry-card label, .entry-card .field-label { font-size: 13px; font-weight: 600; color: #142033; margin: 0 0 16px; letter-spacing: -.005em; }
  .entry-card .opt { font-style: normal; font-weight: 500; color: #5f6b7d; }
  .entry-card input, .entry-card textarea {
    display: block; width: 100%; margin-top: 7px; min-height: 52px; padding: 14px 16px;
    font-size: 16px; line-height: 1.35; color: #142033;
    background: #f6f8fb; border: 1px solid #e3e8ef; border-radius: 14px;
    -webkit-appearance: none; appearance: none; box-shadow: none;
    transition: border-color .15s, background .15s, box-shadow .15s;
  }
  .entry-card input::placeholder, .entry-card textarea::placeholder { color: #9aa4b5; }
  .entry-card input:focus, .entry-card textarea:focus { outline: none; background: #fff; border-color: #246bdb; box-shadow: 0 0 0 4px rgba(36,107,219,.12); }
  .entry-card .form-row-2 { display: grid; grid-template-columns: 1fr !important; gap: 0; }
  .entry-card textarea#message { min-height: 96px !important; height: 96px; resize: none; }

  /* objectifs : toutes les options visibles, sans défilement de côté */
  .entry-card .chips { display: flex; flex-wrap: wrap !important; overflow: visible; gap: 8px; margin: 8px 0 12px; padding: 0; }
  .entry-card .chips button {
    flex: 0 0 auto; min-height: 40px; padding: 9px 15px; font-size: 14px; font-weight: 600;
    color: #3d4a5e; background: #fff; border: 1px solid #dfe5ed; border-radius: 999px; white-space: nowrap;
  }
  .entry-card .chips button.on { color: #fff; background: #246bdb; border-color: #246bdb; box-shadow: 0 4px 12px rgba(36,107,219,.25); }

  .entry-card #startBtn {
    min-height: 56px; border-radius: 16px; font-size: 17px; font-weight: 700; letter-spacing: -.01em; margin-top: 6px;
    box-shadow: 0 10px 24px rgba(36,107,219,.28);
  }
  .entry-card #startBtn:active { transform: scale(.985); }
  .entry-card .form-reassure { font-size: 12.5px; margin: 12px 0 0; color: #6b7588; }
  .entry-card .ex-link { margin: 18px 0 0; padding: 14px 0 0; font-size: 15px; }
  .entry-card > .resume-link { display: block; width: 100%; margin: 6px 0 0; padding: 12px 0; font-size: 15px; font-weight: 600; color: #5b6678; text-align: center; }
}

/* ===== Bouton visible dès l'ouverture (2026-10-17) ===== */
@media (max-width: 640px) {
  .home { padding-top: 14px; }
  .home-copy h1 { font-size: 26px; margin: 0 0 16px; }
  .home-copy .trust-row { display: none; }
  .entry-card label, .entry-card .field-label { margin-bottom: 12px; }
  .entry-card input, .entry-card textarea { min-height: 48px; padding: 12px 14px; margin-top: 6px; }
  .entry-card .form-row-2 { grid-template-columns: 1fr 1fr !important; gap: 0 10px; }
  /* objectifs sur une seule ligne, qu'on fait glisser */
  .entry-card .field-label { margin-bottom: 6px; }
  .entry-card .chips {
    flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
    margin: 0 -20px 10px; padding: 2px 20px 4px; gap: 8px;
    -webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent);
  }
  .entry-card .chips::-webkit-scrollbar { display: none; }
  .entry-card .chips button { min-height: 36px; padding: 7px 14px; font-size: 13.5px; }
  .entry-card textarea#message { min-height: 70px !important; height: 70px; line-height: 1.35; }
  .entry-card #startBtn { margin-top: 2px; }
}
@media (max-width: 640px) and (max-height: 700px) {
  .home-copy h1 { font-size: 23px; margin-bottom: 12px; }
  .entry-card textarea#message { min-height: 70px !important; height: 70px; }
}

/* ===== Étape 8 : l'abonnement se prend seulement dans plan.firme.ca (2026-10-17) ===== */
#buyPlan, #stickyBuy, .sticky-buy, div:has(> #closeBuy) { display: none !important; }
#toPlanOv { position: fixed; inset: 0; z-index: 2147483600; background: #fff; display: flex; align-items: center; justify-content: center; animation: tpoIn .2s ease; }
#toPlanOv .tpo-in { display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; padding: 24px; }
#toPlanOv .tpo-logo { display: flex; align-items: center; gap: 12px; }
#toPlanOv .tpo-logo b { font: 800 34px/1 Inter, system-ui, sans-serif; letter-spacing: .02em; color: #246bdb; }
#toPlanOv .tpo-logo span { font: 600 11px/1.2 Inter, system-ui, sans-serif; letter-spacing: .06em; color: #5b6678; text-align: left; }
#toPlanOv .tpo-sp { width: 30px; height: 30px; border: 3px solid #e3e8ef; border-top-color: #246bdb; border-radius: 50%; animation: tpoR .8s linear infinite; }
#toPlanOv p { margin: 0; font: 600 15px/1.4 Inter, system-ui, sans-serif; color: #142033; }
@keyframes tpoR { to { transform: rotate(360deg); } }
@keyframes tpoIn { from { opacity: 0; } }

/* ===== Étape 2 : un seul bouton principal à la fois + courriel trouvé proposé (2026-10-17) ===== */
.question-card:has(#emailBox:not(.hidden)) > .actions { display: none !important; }
.email-found { display: inline-flex; align-items: center; margin: -4px 0 12px; padding: 8px 14px; border: 1px solid #cfe0fa; border-radius: 999px; background: #f2f7ff; color: #246bdb; font: 600 13.5px/1.2 Inter, system-ui, sans-serif; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ===== Diagnostic contemporain (2026-10-31) ===== */
/* En-tête d’étape */
.journey .step-title.st2 p{display:block;-webkit-line-clamp:unset;overflow:visible}
.st-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.st-n{display:inline-flex;align-items:baseline;gap:4px;background:#0b2556;color:#fff;border-radius:99px;padding:5px 11px;font:800 12.5px/1 Inter,system-ui,sans-serif;letter-spacing:.02em}
.st-n small{font-weight:600;opacity:.75;font-size:11.5px}
.st-eta{display:inline-flex;align-items:center;gap:5px;background:#eef3fc;color:#174fae;border-radius:99px;padding:5px 10px;font:600 12px/1 Inter,system-ui,sans-serif}
.st-eta svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.step-title.st2 h2{letter-spacing:-.02em}
.step-title.st2 p{color:#5b6678}
/* Barre de progression en 8 segments (cellulaire) */
.mbar.seg{display:none}
@media (max-width:760px){
  .mbar.seg{display:grid!important;grid-template-columns:repeat(8,1fr);gap:4px;height:5px!important;background:none!important;margin:0 0 16px!important;overflow:visible!important}
  .mbar.seg i{display:block;height:5px;border-radius:99px;background:#e2e8f2;width:auto!important}
  .mbar.seg i.d{background:#246bdb}
  .mbar.seg i.c{background:linear-gradient(90deg,#246bdb,#7aa7f0)}
}
/* Qui est autour de vous */
.near{border:1px solid var(--line,#e3e8ef);border-radius:16px;background:#fff;overflow:hidden}
.near-you{display:flex;gap:12px;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#0b2556,#174fae);color:#fff}
.near-you b{display:block;font-size:15px}.near-you span{font-size:12.5px;color:#cfe0fb}
.near-you .c-logo{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.near-list{list-style:none;margin:0;padding:6px 0}
.near-list li{display:flex;gap:12px;align-items:center;padding:10px 16px}
.near-list li+li{border-top:1px solid #f0f3f7}
.near-m{flex:1;min-width:0}
.near-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.near-top b{font-size:14.5px;color:#142033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.near-d{flex:none;font:700 13px Inter,system-ui,sans-serif;color:#142033}
.near-bar{height:6px;border-radius:99px;background:#eef2f7;margin:6px 0;overflow:hidden}
.near-bar i{display:block;height:100%;border-radius:99px;background:#9db8e3}
.near-list li.t-hi .near-bar i{background:#e0533d}.near-list li.t-mid .near-bar i{background:#e8a33d}.near-list li.t-lo .near-bar i{background:#59b98a}
.near-sub{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;color:#5b6678}
.near-t{font-weight:700}
.near-list li.t-hi .near-t{color:#c0392b}.near-list li.t-mid .near-t{color:#b26a00}.near-list li.t-lo .near-t{color:#11744a}
/* Lecture personnalisée FIRME (étapes 6 et 7) */
/* Analyse des étapes 6 et 7 (v2, 2026-10-31) : tableau de bord sobre et contemporain */
.ai-ins{margin:0 0 26px}
.ai2{display:grid;gap:14px}
.ai2-head{background:#fff;border:1px solid #e3e8ef;border-radius:20px;padding:20px 22px;box-shadow:0 1px 2px rgba(20,32,51,.04),0 12px 32px rgba(20,32,51,.06)}
.ai2-kick{display:flex;align-items:center;gap:8px;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#246bdb;margin:0 0 10px}
.ai2-v{margin:0 0 16px;font:700 clamp(18px,2.4vw,22px)/1.4 Inter,system-ui,sans-serif;letter-spacing:-.01em;color:#142033}
.ai2-bar{display:flex;gap:4px;height:10px;border-radius:99px;overflow:hidden;background:#eef1f5}
.ai2-bar i{display:block;height:100%;border-radius:99px}
.ai2-bar i.ok,.ai2-leg i.ok{background:#1e9e5a}.ai2-bar i.mid,.ai2-leg i.mid{background:#f0a531}.ai2-bar i.no,.ai2-leg i.no{background:#e0533f}
.ai2-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13.5px;color:#3d4a5e;font-weight:600}
.ai2-leg span{display:inline-flex;align-items:center;gap:6px}.ai2-leg i{width:10px;height:10px;border-radius:50%;display:inline-block}
.ai2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:700px){.ai2-grid{grid-template-columns:minmax(0,1fr)}.ai2-head{padding:18px}}
.ai2-card{background:#fff;border:1px solid #e3e8ef;border-radius:18px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,transform .2s}
.ai2-card:hover{box-shadow:0 10px 28px rgba(20,32,51,.08);transform:translateY(-1px)}
.ai2-card header{display:flex;align-items:center;gap:10px}
.ai2-card header b{flex:1;font-size:15.5px;line-height:1.3;color:#142033}
.ai2-ic{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;flex:none}
.s-ok .ai2-ic{background:#e9f7ef;color:#11744a}.s-mid .ai2-ic{background:#fdf3e1;color:#8a5208}.s-no .ai2-ic{background:#fdecea;color:#b3261e}
.ai2-st{flex:none;font:700 11.5px/1 Inter,system-ui,sans-serif;padding:6px 9px;border-radius:99px}
.s-ok .ai2-st{background:#e9f7ef;color:#11744a}.s-mid .ai2-st{background:#fdf3e1;color:#8a5208}.s-no .ai2-st{background:#fdecea;color:#b3261e}
.ai2-card p{margin:0;font-size:14.5px;line-height:1.5;color:#3d4a5e}
.ai2-do{margin-top:auto;background:#f3f7fe;border-radius:12px;padding:10px 12px}
.ai2-do small{display:block;font:800 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#246bdb;margin-bottom:5px}
.ai2-do span{font-size:14.5px;line-height:1.45;color:#142033;font-weight:600}
.ai2-p{display:flex;gap:14px;align-items:flex-start;background:#fff;border:2px solid #142033;border-radius:18px;padding:16px 18px}
.ai2-pn{flex:none;width:36px;height:36px;border-radius:12px;background:#142033;color:#ffd166;display:grid;place-items:center;font:800 17px Inter,system-ui,sans-serif}
.ai2-p small{display:block;font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5b6678;margin-bottom:5px}
.ai2-p b{font-size:17px;color:#142033}.ai2-p p{margin:4px 0 0;font-size:14.5px;color:#3d4a5e;line-height:1.5}
.ai2-load{display:flex;gap:10px;align-items:center;color:#5b6678;font-size:14.5px}
.ai2-sk{height:130px;border-radius:18px;background:linear-gradient(90deg,#f1f4f8,#e8edf4,#f1f4f8);background-size:200% 100%;animation:aisk 1.3s linear infinite}
@keyframes aisk{0%{background-position:100% 0}100%{background-position:-100% 0}}
.ai-sp{width:18px;height:18px;border-radius:50%;border:2.5px solid #d6e4fb;border-top-color:#246bdb;animation:aisp .9s linear infinite}
@keyframes aisp{to{transform:rotate(360deg)}}
/* Vos réponses : repliées par défaut */
.mp-det{margin:0 0 18px;border:1px solid #e3e8ef;border-radius:16px;background:#fff}
.mp-det summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none;font-weight:700;color:#142033;min-height:52px}
.mp-det summary::-webkit-details-marker{display:none}
.mp-det summary small{font-weight:600;color:#246bdb;font-size:13.5px}
.mp-det summary small:after{content:" ▾"}.mp-det[open] summary small:after{content:" ▴"}
.mp-det .mp-grid{padding:0 14px 14px}
.journey .mp-tile.empty{display:none}

/* Étape 8 : carte du score en bleu foncé (2026-10-31) — le dégradé bleu pâle/violet était moins lisible */
html body .journey .fr-hero,html body .journey .fr-close{background:linear-gradient(135deg,#0b2556 0%,#163f93 100%)!important;color:#fff!important}
html body .journey .fr-hero .fr-hero-r{background:rgba(255,255,255,.07)}
html body .journey .fr-hero .gauge .g-bg,html body .journey .fr-bar>div{stroke:#2a4475;background:#2a4475}

/* Pied de page : liens lisibles sur le bleu (2026-10-31) — l’ancien CSS critique de l’accueil les mettait gris foncé (!important) */
html body .ft nav a,html body .ft .footer-social a{color:#dbe7fb!important}
html body .ft nav a:hover,html body .ft .ft-lang a[aria-current]{color:#fff!important}

/* Diagnostic intégré dans plan.firme.ca (html.embed, 2026-10-31) : seulement le formulaire et le parcours */
html.embed .site-header,html.embed footer,html.embed .ft,html.embed .seo-landing,html.embed .home-copy,html.embed #ckBar,html.embed #promoPill,
html.embed #exOpen,html.embed .resume-link,html.embed #resumeBox,html.embed #firmeTabs,html.embed .sticky-buy,html.embed .lang-banner,html.embed .end-cta{display:none!important}
html.embed body{background:#f6f8fb;padding-bottom:0!important}
html.embed .home{padding:16px 12px 30px!important;min-height:0!important;background:none!important}
html.embed .home-grid{display:block!important;max-width:620px;margin:0 auto}
html.embed .entry-card{margin:0 auto;box-shadow:0 10px 30px -18px rgba(20,32,51,.35)}
html.embed .journey{padding-top:10px}

/* ===== Parcours du diagnostic : refonte contemporaine (2026-10-31) — même langage visuel que plan.firme.ca ===== */
.journey{background:#f5f7fb;--j-line:#e3e8ef;--j-ink:#142033;--j-muted:#5b6678;--j-blue:#246bdb;--j-navy:#0f1d31}
.journey .step-shell{width:min(1040px,100%)}
/* Suivi des étapes : lisible (11,5 px au lieu de 9 px), étapes faites en bleu plein */
.journey .tracker{background:#fff;border:1px solid var(--j-line);border-radius:20px;padding:14px 10px 12px;margin-bottom:28px;box-shadow:0 1px 2px rgba(20,32,51,.04)}
.journey .track-line{top:31px}
.journey .tstep{font-size:11.5px;font-weight:600;color:#7a8597;gap:6px}
.journey .tstep b{width:34px;height:34px;font-size:13px;font-weight:800;border:2px solid #d3dbe6;color:#7a8597;transition:all .2s}
.journey .tstep.done b{background:var(--j-blue);border-color:var(--j-blue);color:#fff}
.journey .tstep.done{color:var(--j-ink)}
.journey .tstep.current b{background:var(--j-navy);border-color:var(--j-navy);color:#ffd166;box-shadow:0 0 0 5px rgba(36,107,219,.16)}
.journey .tstep.current{color:var(--j-ink);font-weight:800}
.journey .plan-pill{margin:-14px auto 22px;font-size:13.5px;padding:7px 16px;background:#fff;border-color:#cfe9da;box-shadow:0 1px 2px rgba(20,32,51,.04)}
/* Titres d'étape */
.journey .step-title{margin:0 0 22px}
.journey .step-title h2{font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.03em;color:var(--j-ink);margin:10px 0 6px}
.journey .step-title p{font-size:16px;line-height:1.55;color:var(--j-muted);max-width:760px}
/* Cartes : rayon généreux, ombre douce */
.journey .report-card,.journey .question-card,.journey .mq-card{border:1px solid var(--j-line);border-radius:22px;background:#fff;box-shadow:0 1px 2px rgba(20,32,51,.04),0 14px 34px rgba(20,32,51,.06)}
.journey .report-card{padding:26px 28px}
.journey .report-card h4,.journey .question-card h4,.journey .ca-h{font-size:12.5px;font-weight:800;letter-spacing:.09em;color:var(--j-blue);margin:28px 0 12px}
.journey .report-card h3{font-size:22px;letter-spacing:-.02em;color:var(--j-ink)}
.journey .report-card p,.journey .mini-card p{font-size:15px;line-height:1.55}
.journey .mini-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.journey .mini-card{border-radius:18px;border-color:var(--j-line);padding:20px;box-shadow:0 1px 2px rgba(20,32,51,.03)}
.journey .notice{border-radius:14px;font-size:15px}
/* Indicateurs */
.journey .kpi-strip{gap:12px;margin:14px 0 6px}
.journey .kpi{background:#fff;border:1px solid var(--j-line);border-radius:16px;padding:16px 18px;box-shadow:0 1px 2px rgba(20,32,51,.03)}
.journey .kpi b,.journey .kpi strong{font-size:28px;letter-spacing:-.02em}
.journey .kpi span,.journey .kpi small{font-size:13.5px;line-height:1.4}
/* Listes de concurrents */
.journey .competitor-row{border-radius:16px;padding:14px 16px;background:#fff;border-color:var(--j-line);transition:border-color .15s,box-shadow .15s;min-height:64px}
.journey .competitor-row:hover{border-color:#bcd0f4;box-shadow:0 6px 18px rgba(20,32,51,.06)}
.journey .competitor-row input{width:20px;height:20px}
.journey .competitor-row b,.journey .competitor-row strong{font-size:16px}
.journey .competitor-row small,.journey .competitor-row a{font-size:13.5px}
/* Champs : 52 px, police 16 px (pas de zoom iPhone) */
.journey .website-input input,.journey .confirm-grid input,.journey .add-competitor input,.journey input[type=text],.journey input[type=url],.journey input[type=email],.journey textarea{font-size:16px;border-radius:14px;border:1.5px solid #d3dbe6;background:#fff;padding:13px 15px;min-height:52px}
.journey input:focus,.journey textarea:focus{border-color:var(--j-blue);box-shadow:0 0 0 4px rgba(36,107,219,.12);outline:0}
.journey .website-input label,.journey .confirm-grid label{font-size:14px;font-weight:700;color:var(--j-ink)}
/* Boutons : grands et ronds, comme plan.firme.ca */
.journey .primary,.journey .secondary{min-height:52px;border-radius:14px;padding:13px 22px;font-size:16px;font-weight:800;letter-spacing:-.005em;transition:transform .12s,box-shadow .15s,background .15s}
.journey .primary{background:var(--j-blue);box-shadow:0 8px 20px rgba(36,107,219,.25)}
.journey .primary:hover{background:#1a5bc4;transform:translateY(-1px)}
.journey .secondary{background:#fff;border:1.5px solid #c9d6ea}
.journey .secondary:hover{background:#f3f7fe}
.journey .add-competitor-btn{min-height:52px;border-radius:14px;font-size:15px;font-weight:800;padding:0 18px}
/* Navigation en bas d'étape */
.journey .step-navigation{border-top:0;margin-top:28px;padding:0}
.journey .step-back{min-height:44px;border-radius:12px;font-size:14px;padding:10px 16px}
.journey .step-navigation span{font-size:13px;color:var(--j-muted)}
/* Étape 4 : cartes concurrents, tableau comparatif */
.journey .ca-card{border-radius:18px}
.journey .near-list,.journey .vs-board,.journey .mx-wrap{border-radius:18px}
.journey .theme-chip,.journey .offer-chips span{border-radius:99px}
/* Étape 8 : cartes d'actions et sections */
.journey .fr-act,.journey .fr-find,.journey .fr-priority,.journey .fr-toc,.journey .fr-road,.journey .fr-space{border-radius:20px}
.journey .fr-act{box-shadow:0 1px 2px rgba(20,32,51,.03)}
@media(max-width:700px){
  .journey{background:#f5f7fb}
  .journey .tracker{border-radius:16px;padding:10px 8px;margin-bottom:18px}
  .journey .report-card{padding:20px 18px;border-radius:18px}
  .journey .primary,.journey .secondary{width:100%;font-size:16px}
  .journey .kpi b,.journey .kpi strong{font-size:24px}
}
/* Accueil allégé (2026-10-31) : situation facultative repliée ; bannière de témoins compacte sur cellulaire */
.msg-collapsed{display:none!important}
.msg-toggle{display:block;margin:4px 0 12px;font-size:14.5px;font-weight:700;color:#246bdb;background:none;border:0;padding:6px 0;cursor:pointer;text-align:left}
.msg-toggle em{font-style:normal;font-weight:500;color:#5b6678}
@media(max-width:700px){
  .ck-bar{left:8px;right:8px;bottom:8px;padding:10px 12px;gap:8px;font-size:12.5px;flex-direction:row!important;align-items:center!important;flex-wrap:wrap}
  .ck-bar p{flex:1 1 100%;line-height:1.35}
  .ck-bar div{flex:1 1 100%}
  .ck-bar div button{padding:8px 12px;font-size:13px;min-height:38px}
}
