/* Expérience 2027, vagues 1 et 1 bis (GO d'Alex, 25/10/2026) — feuille propre au lot, chargée après celles de QPX (balise EXP27).
   1. Transitions : le paysage ne passe plus au-dessus du contenu (html[data-qx27-vt], posé par qpx.js le temps d'une transition).
   2. Une seule navigation : la barre des chapitres prend la place des onglets et de « Voir mon équipe » ; les boutons qui
      servaient seulement à avancer ou revenir sont masqués (le DOM des lots gelés reste intact).
   3. Les modules « Demande à QEVYO » (QPX-06, chapitre QEVYO) et « Prépare ton RDV » (QPX-07, chapitre PRÉPARER UN RDV)
      comme chapitres de l'expérience.
   4. L'écran de conclusion 2030 : un seul appel, un retour discret. */

html[data-qx27-vt] .qpx-env{view-transition-name:none}
html[data-qx27-vt=flat] .qpx-session,html[data-qx27-vt=flat] .qpx-session *{view-transition-name:none!important}

/* 2. Ce que la barre des chapitres remplace, et les boutons d'avancement ou de retour redondants. */
.qpx-modules,.qpx-team-pill,
[data-qpx-review-link],[data-qpx-go-review],[data-qpx-go-manager],[data-qpx-go-convert],[data-qpx-go-final],
[data-qpx-back-today],[data-qpx-coach-back],[data-qpx-review-back],[data-qpx-manager-back],[data-qpx-ce-today],
[data-qpx-coach-discover],[data-qpx-coach-activity],[data-qpx-coach-today],.q-vs__choose .q-vs__actions>button:not([type=submit]),
.qpx-seuil-demos,.qpx-ce__demos{display:none!important}
/* « Explorer QEVYO » (liens hors de l'expérience) : au seuil seulement — à la conclusion, rien ne concurrence l'appel. */
html:not([data-qpx-stage=seuil]) .qx-explore{display:none}

/* La barre des chapitres, dans la barre de session : une ligne à elle, sous la marque et la session. */
.qpx-bar:has(.qx27-path:not([hidden])){flex-wrap:wrap;row-gap:var(--q-space-1)}
.qx27-path{order:10;flex-basis:100%;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-inline-size:0;margin:0 0 var(--q-space-1)}
.qx27-path[hidden]{display:none}
/* Ordinateur : une ligne sobre. Le chapitre en cours porte son nom ; les sept autres sont des repères de 44 px (vide = à
   venir, plein = déjà vu), nommés au survol et au focus ; « Suivant » annonce le chapitre qui vient. */
.qx27-path__steps{display:flex;align-items:center;gap:0;min-inline-size:0;margin:0;padding:0 6px;border:1px solid var(--q-hairline);border-radius:var(--q-radius-pill);background:color-mix(in oklab,var(--q-surface) 82%,transparent);list-style:none}
.qx27-path__ch{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-inline-size:44px;min-block-size:44px;padding:0;border:0;border-radius:var(--q-radius-pill);background:transparent;color:var(--q-text-secondary);font:var(--q-weight-strong) 11.5px/1 var(--q-font-body);letter-spacing:.14em;white-space:nowrap;cursor:pointer;transition:background var(--q-duration-fast,.18s) var(--q-ease),color var(--q-duration-fast,.18s) var(--q-ease)}
.qx27-path__dot{flex:none;inline-size:8px;block-size:8px;border-radius:50%;box-sizing:border-box;border:1.5px solid color-mix(in oklab,var(--q-text-secondary) 60%,transparent);transition:scale var(--q-duration-fast,.18s) var(--q-ease),border-color var(--q-duration-fast,.18s) var(--q-ease)}
.qx27-path__ch[data-done] .qx27-path__dot{border-color:var(--q-brand-deep);background:var(--q-brand-deep)}
.qx27-path__ch:hover .qx27-path__dot,.qx27-path__ch:focus-visible .qx27-path__dot{scale:1.35;border-color:var(--q-brand-deep)}
.qx27-path__ch[aria-current=step]{padding:0 18px;margin-inline:4px;background:var(--q-brand-deep);color:var(--q-on-dark)}
.qx27-path__ch[aria-current=step] .qx27-path__dot{display:none}
.qx27-path__ch[aria-current=step]::after{content:"";position:absolute;inset-inline:0;inset-block-end:7px;margin:auto;inline-size:16px;block-size:2px;border-radius:2px;background:var(--q-gold)}
.qx27-path__steps .qx27-path__ch:not([aria-current]) .qx27-path__name{position:absolute;z-index:30;inset-block-start:calc(100% + 6px);inset-inline-start:50%;padding:7px 11px;border-radius:var(--q-radius-pill);background:var(--q-brand-deep);color:var(--q-on-dark);font-size:10.5px;opacity:0;translate:-50% -4px;pointer-events:none;transition:opacity var(--q-duration-fast,.18s) var(--q-ease),translate var(--q-duration-fast,.18s) var(--q-ease)}
.qx27-path__steps .qx27-path__ch:not([aria-current]):is(:hover,:focus-visible) .qx27-path__name{opacity:1;translate:-50% 0}
.qx27-path__more{align-self:stretch;inline-size:1px;margin-inline:4px;background:linear-gradient(180deg,transparent,var(--q-gold) 30%,var(--q-gold) 70%,transparent)}
.qx27-path__prev,.qx27-path__next{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-block-size:44px;border-radius:var(--q-radius-pill);cursor:pointer;font:var(--q-weight-strong) var(--q-body-small)/1 var(--q-font-body)}
.qx27-path__prev{inline-size:44px;padding:0;border:1px solid var(--q-hairline);background:var(--q-surface);color:var(--q-text)}
.qx27-path__next{padding:0 14px 0 18px;border:0;background:var(--q-brand-deep);color:var(--q-on-dark)}
.qx27-path__next svg{color:var(--q-gold)}
.qx27-path__to{padding-inline-start:10px;border-inline-start:1px solid color-mix(in oklab,var(--q-gold) 55%,transparent);color:var(--q-gold);font-size:10.5px;letter-spacing:.14em}
.qx27-path__prev[hidden],.qx27-path__next[hidden]{display:inline-flex;visibility:hidden}
.qx27-path button:focus-visible{outline:2px solid var(--q-focus);outline-offset:2px}
.qx27-path__menu{display:none;align-items:center;gap:8px;min-inline-size:0;min-block-size:44px;padding:0 16px;border:1px solid var(--q-hairline);border-radius:var(--q-radius-pill);background:var(--q-surface);color:var(--q-text);font:var(--q-weight-medium) var(--q-caption)/1 var(--q-font-body);cursor:pointer}
.qx27-path__menu b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--q-weight-strong);letter-spacing:.12em;color:var(--q-brand-deep)}
.qx27-path__menu::after{content:"";flex:none;inline-size:7px;block-size:7px;margin-inline-start:2px;border-inline-end:1.6px solid currentColor;border-block-end:1.6px solid currentColor;rotate:45deg;translate:0 -2px;opacity:.6}
.qx27-path__count{color:var(--q-text-secondary);font-variant-numeric:tabular-nums}
.qx27-path__list{position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0;z-index:20;display:grid;gap:2px;max-inline-size:360px;margin:0 auto;padding:6px;border:1px solid var(--q-hairline);border-radius:18px;background:var(--q-surface);box-shadow:0 24px 48px -24px rgb(0 40 34 / 40%)}
.qx27-path__list[hidden]{display:none}
.qx27-path__list .qx27-path__ch{justify-content:flex-start;inline-size:100%;padding:0 14px;margin:0;text-align:start}
.qx27-path__list .qx27-path__ch[aria-current=step]::after{display:none}
/* Téléphone et tablette tactile : un compteur et le chapitre en cours, la liste nommée s'ouvre d'un toucher (au doigt,
   des repères sans nom ne suffisent pas). Avec une souris, les repères dès 768 px ; le nom du suivant dès 1024 px. */
@media (max-width:767px),(max-width:899px) and (hover:none){
  .qx27-path{justify-content:center}
  .qx27-path__steps{display:none}
  .qx27-path__menu{display:inline-flex;flex:1;max-inline-size:360px}
}
@media (max-width:1023px){.qx27-path__to{display:none}}
@media (max-width:420px){.qx27-path__next{padding:0 10px 0 14px}.qx27-path__menu{padding:0 12px}.qx27-path__menu b{font-size:10.5px;letter-spacing:.05em}}
/* Petit téléphone : le chapitre en cours garde son nom entier ; « Suivant » devient sa flèche (nom accessible inchangé). */
@media (max-width:420px){.qx27-path__next{inline-size:52px;padding:0}.qx27-path__next>span:first-child{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (prefers-reduced-motion:reduce){.qx27-path__ch,.qx27-path__dot,.qx27-path__name{transition:none!important}}

/* Le guide (aide sur la démonstration) mène discrètement à la conversation. */
.qx27-guide-ask{margin:0 0 var(--q-space-2)}
.qx27-guide-ask button{min-block-size:40px;padding:0;border:0;background:transparent;color:var(--q-brand-deep);font:var(--q-weight-strong) var(--q-body-small)/1.3 var(--q-font-body);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--q-gold) 70%,transparent);text-underline-offset:4px;cursor:pointer}

/* 3. DEMANDE À QEVYO, dans l'expérience. */
.qx27-ask{display:none;--q-home-bg:color-mix(in oklab,var(--q-surface-ivory) 55%,var(--q-surface));--q-home-card:color-mix(in oklab,var(--q-surface-ivory) 62%,var(--q-border-subtle));--q-home-green:color-mix(in oklab,var(--q-brand) 72%,var(--q-brand-deep));--q-home-bronze:oklch(from var(--q-gold) calc(l - .12) calc(c + .03) calc(h - 12));--q-shell-top:64px;color:var(--q-text);font-family:var(--q-font-body)} /* les variables que la page QPX-06 pose sur son <body class="qpx-ask"> */
html[data-qpx-stage=ask] .qx27-ask{display:block;outline:none}

/* PRÉPARER UN RDV, dans l'expérience : le module QPX-07 sur son fond (les variables que sa page pose sur <body class="qp-body">),
   sa note « données simulées » en tête. L'appel « Découvrir l'expérience QEVYO complète » ramenait à cette page : masqué. */
.qx27-prepare{display:none;--qp-bg:color-mix(in oklab,var(--q-surface-ivory) 55%,var(--q-surface));--qp-card:color-mix(in oklab,var(--q-surface-ivory) 62%,var(--q-border-subtle));--qp-green:color-mix(in oklab,var(--q-brand) 72%,var(--q-brand-deep));--qp-bronze:oklch(from var(--q-gold) calc(l - .12) calc(c + .03) calc(h - 12));--q-gutter:clamp(16px,4vw,32px);color:var(--q-text);font-family:var(--q-font-body)}
html[data-qpx-stage=prepare] .qx27-prepare{display:block;outline:none}
.qx27-prepare .qp-badge{position:static;margin:var(--q-space-3) auto 0;inline-size:fit-content;max-inline-size:100%;box-sizing:border-box;border-radius:var(--q-radius-pill)}
.qx27-prepare [data-qp-coach]{display:none}
.qx27-prepare .qp-ctas{grid-template-columns:minmax(0,460px);justify-content:center}
.qx27-prepare .qp-progress{inset-block-start:var(--qx27-bar,106px)}
/* Sa page pose le dossier sur un fond ivoire ; ici, la conclusion (« Ton rendez-vous est prêt. », la Fiche, la source) garde
   ce fond, en carte, au-dessus du paysage de QPX. */
.qx27-prepare .qp-final{margin-block-start:18px;padding:22px 22px 24px;border:1px solid color-mix(in oklab,var(--q-border-subtle) 80%,transparent);border-radius:24px;background:color-mix(in oklab,var(--q-surface-raised) 85%,var(--qp-bg))}
.qx27-prepare .qp-block{scroll-margin-block-start:calc(var(--qx27-bar,106px) + 96px)}
.qx27-prepare .qp-item{scroll-margin-block:calc(var(--qx27-bar,106px) + 96px) 24px}

/* Les blocs ouverts par un chapitre ne passent jamais sous la barre collante. */
.qpx-session section,.qpx-session article{scroll-margin-block-start:140px}

/* Lisibilité mobile : pendant l'initialisation, rien ne recouvre « Voir ce qui mérite ton attention ». */
@media (max-width:767px){html[data-qpx-stage=init] .qx-explore{visibility:hidden}}

/* 4. La conclusion 2030 : « Revoir l'expérience », discret, sous l'appel. */
.qx27-replay{margin:var(--q-space-4) 0 0;text-align:center}
.qx27-replay button{min-block-size:44px;padding:0 6px;border:0;background:transparent;color:inherit;opacity:.78;font:var(--q-weight-medium) var(--q-body-small)/1.3 var(--q-font-body);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--q-gold) 70%,transparent);text-underline-offset:4px;cursor:pointer}
.qx27-replay button:hover{opacity:1}
/* La session reste à droite de la barre (le bouton d'équipe masqué ne la déplace plus). */
.qpx-bar .qpx-bar__session{margin-inline-start:auto}
/* Dans QPX, le module garde ses trois questions et leur note d'honnêteté ; ni son propre paysage (QPX a le sien), ni son
   faux champ de saisie, qui laisserait croire à une question libre : ici, QEVYO répond à trois questions préparées. */
.qx27-ask .q-home-horizon,.qx27-ask [data-qpx-ask-composer]{display:none}
/* Téléphone : comme les anciens onglets, la barre des chapitres partage sa ligne avec le bouton Son (44 px). */
@media (max-width:560px){.qpx-bar:has(.qx27-path:not([hidden])) .qx27-path{flex:1 1 calc(100% - var(--q-tap) - var(--q-space-2));min-inline-size:0}}
/* La conclusion n'a qu'un appel : ni l'aide de la démonstration ni l'Explorer à côté ; une phrase courte qui respire. */
html[data-qpx-stage=convert] .qpx-guide{display:none}
.qpx-final__ask[data-qx27-final-ask]{max-inline-size:38ch}
