/* ══════════════════════════════════════════════════════════════
   CONSULT.CSS — accueil praticien, pages consultations, rendez-vous
   S'appuie sur nsq-base / site / charte (couleurs, .cta, .lab, .faq)
   ══════════════════════════════════════════════════════════════ */

/* ── hero praticien ─────────────────────────────────────────── */
.cHero{padding:140px 0 80px;position:relative}
.cHeroGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.cHero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(38px,5.4vw,64px);
  line-height:1.1;letter-spacing:-.01em;margin:16px 0 22px;text-wrap:balance}
.cHero h1 em,#hero.cHero h1 em{font-style:italic;color:var(--accent)}
.cHero .cLead{font-size:19px;line-height:1.65;color:var(--txt);max-width:600px}
.cHero .cLead2{color:var(--txt2);margin-top:12px;max-width:600px}
.cBtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cta.ghost{background:none;border:1px solid var(--bord);color:var(--txt)}
.cta.ghost:hover{border-color:var(--accent);background:rgba(155,127,232,.1)}
.cPrix{margin-top:14px;font-size:15px;color:var(--txt2)}
.cPrix b{color:var(--txt);font-weight:500}
.cPortrait{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--bord);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.95);aspect-ratio:4/5;background:var(--card)}
.cPortrait img{width:100%;height:100%;object-fit:cover;display:block}
.cPortrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 18px;
  background:linear-gradient(180deg,transparent,rgba(8,11,20,.92));font-size:14px;line-height:1.5}
.cPortrait figcaption b{display:block;font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600}
.cPortrait figcaption span{color:var(--txt2);display:block;font-size:13px;line-height:1.5}
.cPortrait figcaption i{display:block;margin-top:6px;font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--gold)}
.cPortrait figcaption{padding-top:110px}
@media(max-width:900px){
  .cHero{padding:104px 0 56px}
  .cHeroGrid{grid-template-columns:1fr;gap:32px}
  .cPortrait{max-width:360px;aspect-ratio:4/5}
  .cPortrait img{object-position:50% 22%}
}

/* ── bandeau Axio « je vous oriente » ──────────────────────── */
.axioBande{display:flex;align-items:center;gap:18px;margin-top:34px;padding:16px 20px;border-radius:16px;
  border:1px solid var(--bord);background:rgba(13,16,34,.7);text-decoration:none;color:var(--txt);
  max-width:600px;transition:.2s;cursor:pointer;font:inherit;text-align:left;width:100%}
.axioBande:hover{border-color:var(--accent);transform:translateY(-2px)}
.axioBande img{width:56px;height:56px;flex:0 0 56px;border-radius:50%}
.axioBande b{display:block;font-weight:500;font-size:16.5px}
.axioBande span{color:var(--txt2);font-size:14.5px}
.axioBande i{margin-left:auto;font-style:normal;color:var(--accent);font-size:20px}

/* ── sections ──────────────────────────────────────────────── */
.cSec{padding:84px 0}
.cSec.fond{background:linear-gradient(180deg,transparent,rgba(13,16,34,.6),transparent)}
.cHead{max-width:760px;margin-bottom:40px}
.cHead h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(32px,4.2vw,48px);
  line-height:1.15;margin:12px 0 14px;text-wrap:balance}
.cHead h2 em{font-style:italic;color:var(--accent)}
.cHead p{color:var(--txt2);font-size:17px}
.cCenter{text-align:center;margin-left:auto;margin-right:auto}
.cAct{margin-top:36px}
@media(max-width:700px){.cSec{padding:60px 0}}

/* ── « vous vous reconnaissez ? » ─────────────────────────── */
.reco{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.reco div{padding:24px;border-radius:16px;border:1px solid var(--bord);background:rgba(13,16,34,.55)}
.reco h3{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:500;margin-bottom:8px;line-height:1.4}
.reco p{color:var(--txt2);font-size:15.5px;line-height:1.6}
.recoFin{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(24px,3vw,30px);
  color:var(--accent);line-height:1.35;margin-top:40px;max-width:780px;text-wrap:balance}
@media(max-width:900px){.reco{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reco{grid-template-columns:1fr}}

/* ── cabinet / visio ───────────────────────────────────────── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.duoCard{display:flex;flex-direction:column;padding:34px;border-radius:20px;border:1px solid var(--bord);
  background:linear-gradient(180deg,rgba(13,16,34,.95),rgba(13,16,34,.7));position:relative}
.duoCard .lab{color:var(--gold)}
.duoCard h3{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;line-height:1.15;margin:12px 0 6px}
.duoCard .sous{color:var(--accent);font-size:15.5px;margin-bottom:14px}
.duoCard p{color:var(--txt2);font-size:16px}
.duoCard ul{list-style:none;margin:16px 0 0;display:flex;flex-direction:column;gap:6px}
.duoCard li{font-size:15px;padding-left:18px;position:relative}
.duoCard li:before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:50%;background:var(--purple)}
.duoPied{margin-top:auto;padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.duoPrix{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600}
.duoPrix small{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--txt2);font-weight:400}
@media(max-width:800px){.duo{grid-template-columns:1fr}.duoCard{padding:26px}}

/* ── portrait / qui suis-je ────────────────────────────────── */
.moi{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center}
.moi img{width:100%;border-radius:20px;border:1px solid var(--bord);display:block}
.moi h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,46px);font-weight:600;line-height:1.15;margin:10px 0 16px}
.moi p{color:var(--txt2);margin-bottom:12px;font-size:16.5px}
.moi p strong{color:var(--txt);font-weight:500}
.moiFaits{display:flex;flex-wrap:wrap;gap:22px;margin:22px 0}
.moiFaits div b{display:block;font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;color:var(--gold);line-height:1}
.moiFaits div span{font-size:13.5px;color:var(--txt2)}
@media(max-width:800px){.moi{grid-template-columns:1fr;gap:28px}.moi img{max-width:300px}}

/* ── formules ──────────────────────────────────────────────── */
.forms{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.form3{display:flex;flex-direction:column;padding:30px;border-radius:20px;border:1px solid var(--bord);background:rgba(13,16,34,.7)}
.form3.star{border-color:var(--accent);background:linear-gradient(180deg,rgba(107,79,187,.18),rgba(13,16,34,.85))}
.form3 .lab{color:var(--gold)}
.form3 h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;margin:10px 0 4px}
.form3 .acc{color:var(--txt2);font-size:15.5px;min-height:48px}
.form3 .px{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:600;margin:16px 0 2px;line-height:1}
.form3 .px small{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:400;color:var(--txt2)}
.form3 .px2{font-size:13.5px;color:var(--txt2)}
.form3 ul{list-style:none;margin:18px 0 24px;display:flex;flex-direction:column;gap:8px}
.form3 li{font-size:15px;padding-left:22px;position:relative;line-height:1.5}
.form3 li:before{content:"✓";position:absolute;left:0;color:var(--accent)}
.form3 .cta{margin-top:auto;justify-content:center}
.form3:not(.star) .cta{background:none;border:1px solid var(--bord)}
.form3:not(.star) .cta:hover{border-color:var(--accent);background:rgba(155,127,232,.1)}
.formsNote{margin-top:22px;color:var(--txt2);font-size:15px;text-align:center}
@media(max-width:900px){.forms{grid-template-columns:1fr}.form3 .acc{min-height:0}}

/* ── 3 étapes ──────────────────────────────────────────────── */
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:e}
.etapes div{padding:26px;border-top:1px solid var(--accent)}
.etapes div:before{counter-increment:e;content:"0" counter(e);font-family:'DM Mono',monospace;font-size:12px;color:var(--gold);letter-spacing:.12em}
.etapes h3{font-family:'DM Sans',sans-serif;font-size:19px;font-weight:500;margin:10px 0 8px}
.etapes p{color:var(--txt2);font-size:15.5px}
@media(max-width:800px){.etapes{grid-template-columns:1fr}}

/* ── listes de besoins (pages cabinet / visio) ─────────────── */
.besoins{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.besoins div{padding:24px;border-radius:16px;border:1px solid var(--bord);background:rgba(13,16,34,.55)}
.besoins h3{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:500;margin-bottom:6px}
.besoins h3 q{font-family:'Cormorant Garamond',serif;font-size:23px;font-style:italic;font-weight:600;color:var(--txt);quotes:"« " " »"}
.besoins p{color:var(--txt2);font-size:15.5px}
@media(max-width:700px){.besoins{grid-template-columns:1fr}}
.lieux{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lieux div{padding:22px;border-radius:16px;border:1px solid var(--bord);background:rgba(13,16,34,.55)}
.lieux b{display:block;font-size:17px;font-weight:500}
.lieux span{color:var(--txt2);font-size:14.5px}
@media(max-width:700px){.lieux{grid-template-columns:1fr}}
.prose2{max-width:720px}
.prose2 p{font-size:17.5px;line-height:1.75;margin-bottom:16px;color:var(--txt)}
.prose2 p.muted{color:var(--txt2)}

/* ── bandeau ressources (bas d'accueil) ───────────────────── */
.ressources{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ressources a{display:block;padding:20px;border-radius:14px;border:1px solid var(--bord);text-decoration:none;color:var(--txt);transition:.2s}
.ressources a:hover{border-color:var(--accent)}
.ressources b{display:block;font-weight:500;font-size:16px;margin-bottom:4px}
.ressources span{color:var(--txt2);font-size:14px}
@media(max-width:900px){.ressources{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ressources{grid-template-columns:1fr}}

/* ── bouton flottant rendez-vous ───────────────────────────── */
.rdvFab{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:12px;
  padding:10px 20px 10px 10px;border-radius:999px;border:1px solid var(--accent);text-decoration:none;
  background:rgba(13,16,34,.95);backdrop-filter:blur(14px);color:var(--txt);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.9);transition:.22s}
.rdvFab:hover{transform:translateY(-2px);background:rgba(107,79,187,.35)}
.rdvFab img{width:40px;height:40px;border-radius:50%}
.rdvFab span{display:flex;flex-direction:column;font-family:'DM Mono',monospace;font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--txt2);line-height:1.4}
.rdvFab b{font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--txt)}
@media(max-width:600px){
  .rdvFab{right:12px;bottom:12px;padding:8px 16px 8px 8px}
  .rdvFab img{width:34px;height:34px}
  .rdvFab span i{display:none}
}

/* ══════════════════════════════════════════════════════════════
   RENDEZ-VOUS — écrans successifs, un écran = une question
   ══════════════════════════════════════════════════════════════ */
.rdvPage{min-height:100vh;padding:96px 0 60px;position:relative}
.rdvBox{max-width:620px;margin:0 auto;padding:0 20px;position:relative;z-index:2}
.rdvTop{display:flex;align-items:center;gap:14px;margin-bottom:22px;min-height:36px}
.rdvRetour{all:unset;cursor:pointer;color:var(--txt2);font-size:14.5px;padding:6px 0}
.rdvRetour:hover{color:var(--txt)}
.rdvRetour[hidden]{display:none}
.rdvBarre{flex:1;height:3px;border-radius:3px;background:rgba(107,79,187,.25);overflow:hidden}
.rdvBarre i{display:block;height:100%;width:0;background:var(--accent);transition:width .35s}
.ecran{display:none;padding:0;animation:ecranIn .35s ease}
.ecran.on{display:block}
@keyframes ecranIn{from{transform:translateY(10px)}to{transform:none}}
.ecran h1,.ecran h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(30px,6vw,42px);
  line-height:1.15;margin:8px 0 10px;text-wrap:balance}
.ecran .consigne{color:var(--txt2);margin-bottom:22px;font-size:16px}
.axioDit{display:flex;gap:14px;align-items:flex-start;margin-bottom:6px}
.axioDit img{width:52px;height:52px;border-radius:50%;flex:0 0 52px}
.axioDit p{background:rgba(13,16,34,.85);border:1px solid var(--bord);border-radius:4px 16px 16px 16px;padding:12px 16px;font-size:15.5px}
.choix{display:flex;flex-direction:column;gap:10px}
.choix.grille{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:14px;
  padding:16px 18px;border-radius:14px;border:1px solid var(--bord);background:rgba(13,16,34,.7);transition:.18s;width:100%}
.opt:hover{border-color:var(--accent)}
.opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.opt[aria-pressed="true"]{border-color:var(--accent);background:rgba(107,79,187,.28)}
.opt .oT{font-weight:500;font-size:16.5px;line-height:1.35}
.opt .oS{display:block;color:var(--txt2);font-size:14px;font-weight:400;margin-top:2px}
.opt .oP{margin-left:auto;font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;white-space:nowrap}
.opt .oI{font-size:22px;width:28px;text-align:center;flex:0 0 28px}
.choix.grille .opt{justify-content:center;text-align:center;padding:14px 10px}
.ecranPied{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.ecranPied .exp-btn{width:100%}
.rdvChamps{display:flex;flex-direction:column;gap:12px}
.rdvChamps textarea{resize:vertical}
.recoAxio{padding:22px;border-radius:16px;border:1px solid var(--accent);background:rgba(107,79,187,.16);margin:18px 0 6px}
.recoAxio b{display:block;font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;line-height:1.2;margin-bottom:6px}
.recoAxio p{color:var(--txt2);font-size:15.5px}
.recap{list-style:none;margin:18px 0;padding:18px 20px;border-radius:14px;border:1px solid var(--bord);background:rgba(13,16,34,.7);display:flex;flex-direction:column;gap:6px;font-size:15px}
.recap li span{color:var(--txt2)}
.lienDiscret{all:unset;cursor:pointer;color:var(--accent);font-size:15px;text-align:center;padding:6px}
.lienDiscret:hover{text-decoration:underline}
@media(max-width:520px){
  .rdvPage{padding:80px 0 40px}
  .opt{padding:14px 16px}
  .choix.grille{grid-template-columns:1fr 1fr}
}

/* ── pages locales (cabinet) et thématiques (visio) ───────── */
.besoins a.plus,.lieux a.plus{display:inline-block;margin-top:10px;color:var(--accent);font-size:15px;text-decoration:none}
.besoins a.plus:hover,.lieux a.plus:hover{text-decoration:underline}
.recit{border-left:2px solid var(--accent);padding-left:26px}
.recit p{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1.55}
.lieux .aCompleter{border-style:dashed;border-color:var(--gold)}
.lieux .aCompleter span{color:var(--gold)}
.voirAussi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.voirAussi a{display:block;padding:20px;border-radius:14px;border:1px solid var(--bord);text-decoration:none;color:var(--txt);transition:.2s}
.voirAussi a:hover{border-color:var(--accent);transform:translateY(-2px)}
.voirAussi b{display:block;font-weight:500;font-size:16px;margin-bottom:4px}
.voirAussi span{color:var(--txt2);font-size:14px}
@media(max-width:900px){.voirAussi{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.voirAussi{grid-template-columns:1fr}.recit{padding-left:18px}.recit p{font-size:20px}}

/* ── page Joachim : chiffres + frise ───────────────────────── */
.chiffres{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;text-align:center}
.chiffres b{display:block;font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:600;color:var(--gold);line-height:1}
.chiffres span{display:block;margin-top:8px;font-size:14px;color:var(--txt2)}
@media(max-width:800px){.chiffres{grid-template-columns:1fr 1fr}.chiffres div:last-child{grid-column:1/-1}}
.bio{max-width:720px;margin:0 auto;position:relative;padding-left:34px;border-left:1px solid var(--bord)}
.bio article{position:relative;margin-bottom:56px}
.bio article:last-child{margin-bottom:0}
.bio article:before{content:"";position:absolute;left:-40px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(155,127,232,.18)}
.bio h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(28px,3.6vw,38px);line-height:1.2;margin:8px 0 14px}
.bio p{font-family:'DM Sans',sans-serif;font-size:17.5px;line-height:1.75;margin-bottom:14px}
.bio .cBtns{margin-top:22px}
@media(max-width:600px){.bio{padding-left:22px}.bio article:before{left:-28px}}
