/* ═══════════════════════════════════════════════════════════════════════════
   DiagnoPsy — Kit de design premium PARTAGÉ (pages principales)
   Scopé sous .dpx-page : n'affecte QUE le contenu enveloppé, jamais le
   header/footer partagés ni les pages non refondues. Même langage visuel que
   l'accueil (#dpx-home) : bleu/blanc, serif éditorial, cartes, dégradés.
   ═══════════════════════════════════════════════════════════════════════════ */
.dpx-page{
  --brand-1:#0c2145; --brand-2:#173463; --brand-3:#2e6bd6;
  --blue-800:#0c2145; --blue-600:#2e6bd6; --gold:#c8a15a;
  --ink:#12233f; --muted:#5b6b82; --surface:#ffffff; --tint:#f5f8fd; --hair:#e5ebf5;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua','Times New Roman',Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --shadow:0 30px 60px -30px rgba(12,33,69,.30);
  font-family:var(--sans); color:var(--ink); background:var(--surface); line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.dpx-page *{box-sizing:border-box;}
.dpx-page img{max-width:100%;}
.dpx-page .dpx-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px;}
.dpx-page .dpx-narrow{max-width:900px;margin-inline:auto;padding-inline:24px;}
.dpx-page h1,.dpx-page h2,.dpx-page h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;color:var(--blue-800);text-wrap:balance;margin:0;}
.dpx-page h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
.dpx-page h3{font-size:1.28rem;}
.dpx-page p{margin:0;}
.dpx-page a{color:inherit;text-decoration:none;}
.dpx-page .dpx-kicker{display:inline-block;font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-600);margin-bottom:14px;}
.dpx-page .dpx-lead{font-size:1.14rem;color:var(--muted);max-width:62ch;}

/* Sections */
.dpx-page .dpx-section{padding:88px 0;}
.dpx-page .dpx-section.tinted{background:var(--tint);}
.dpx-page .dpx-head{max-width:64ch;margin-bottom:46px;}
.dpx-page .dpx-head.center{margin-inline:auto;text-align:center;}

/* Boutons */
.dpx-page .dpx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:650;font-size:.98rem;padding:14px 28px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s;line-height:1;}
.dpx-page .dpx-btn-primary{background:linear-gradient(135deg,var(--brand-3),var(--brand-2));color:#fff;box-shadow:0 18px 34px -16px rgba(46,107,214,.7);}
.dpx-page .dpx-btn-primary:hover{transform:translateY(-2px);box-shadow:0 24px 44px -16px rgba(46,107,214,.85);}
.dpx-page .dpx-btn-ghost{background:transparent;color:var(--blue-800);border-color:var(--hair);}
.dpx-page .dpx-btn-ghost:hover{border-color:var(--blue-600);color:var(--blue-600);}
.dpx-page .dpx-btn-outline{background:transparent;color:var(--blue-600);border-color:var(--blue-600);}
.dpx-page .dpx-btn-outline:hover{background:var(--blue-600);color:#fff;}

/* Hero de page (bandeau bleu premium) */
.dpx-page .dpx-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--brand-1) 0%,var(--brand-2) 55%,var(--brand-3) 135%);}
.dpx-page .dpx-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 85% 10%,rgba(255,255,255,.14) 0,transparent 60%),radial-gradient(46% 60% at 6% 100%,rgba(46,107,214,.34) 0,transparent 60%);}
.dpx-page .dpx-hero .dpx-wrap{position:relative;padding:74px 24px 78px;}
.dpx-page .dpx-hero .dpx-kicker{color:#bcd3f7;}
.dpx-page .dpx-hero h1{color:#fff;font-size:clamp(2.3rem,4.8vw,3.7rem);line-height:1.07;max-width:20ch;}
.dpx-page .dpx-hero p{color:rgba(255,255,255,.86);margin-top:16px;max-width:62ch;font-size:1.08rem;}
.dpx-page .dpx-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.dpx-page .dpx-hero .dpx-btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);}
.dpx-page .dpx-hero .dpx-btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;}
/* Stats intégrées au hero */
.dpx-page .dpx-hero-stats{display:flex;gap:44px;flex-wrap:wrap;margin-top:40px;}
.dpx-page .dpx-hero-stats .n{font-family:var(--serif);font-size:2.4rem;color:#fff;line-height:1;font-variant-numeric:tabular-nums;}
.dpx-page .dpx-hero-stats .l{color:rgba(255,255,255,.72);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;margin-top:6px;}

/* Cartes */
.dpx-page .dpx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.dpx-page .dpx-cards.cols-2{grid-template-columns:repeat(2,1fr);}
.dpx-page .dpx-card{background:var(--surface);border:1px solid var(--hair);border-radius:20px;padding:32px 30px;box-shadow:var(--shadow);transition:transform .28s,box-shadow .28s;display:block;height:100%;}
.dpx-page .dpx-card:hover{transform:translateY(-6px);box-shadow:0 40px 70px -34px rgba(12,33,69,.4);}
.dpx-page .dpx-card .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,var(--brand-3),var(--brand-2));color:#fff;margin-bottom:18px;font-size:1.2rem;}
.dpx-page .dpx-card h3{margin-bottom:9px;}
.dpx-page .dpx-card p,.dpx-page .dpx-card .rt{color:var(--muted);font-size:.98rem;}
.dpx-page .dpx-card .more{display:inline-block;margin-top:16px;color:var(--blue-600);font-weight:650;font-size:.9rem;}

/* Bloc de valeur / liste à puces premium */
.dpx-page .dpx-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.dpx-page .dpx-vcard{background:var(--surface);border:1px solid var(--hair);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:flex-start;transition:transform .25s,border-color .25s;}
.dpx-page .dpx-vcard:hover{transform:translateY(-4px);border-color:var(--blue-600);}
.dpx-page .dpx-vcard .vic{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--tint);color:var(--blue-600);border:1px solid var(--hair);}
.dpx-page .dpx-vcard b{display:block;color:var(--blue-800);font-family:var(--sans);font-weight:700;font-size:1rem;}
.dpx-page .dpx-vcard span{color:var(--muted);font-size:.92rem;}

/* Bande de stats */
.dpx-page .dpx-stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--hair);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);}
.dpx-page .dpx-stat{padding:38px 22px;text-align:center;}
.dpx-page .dpx-stat + .dpx-stat{border-left:1px solid var(--hair);}
.dpx-page .dpx-stat .n{font-family:var(--serif);font-size:2.7rem;color:var(--blue-800);font-weight:600;font-variant-numeric:tabular-nums;line-height:1;}
.dpx-page .dpx-stat .l{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:600;margin-top:10px;}

/* Prose (paragraphes riches) */
.dpx-page .dpx-prose{color:var(--muted);font-size:1.05rem;line-height:1.75;max-width:70ch;}
.dpx-page .dpx-prose p{margin:0 0 16px;}
.dpx-page .dpx-prose p:last-child{margin-bottom:0;}
.dpx-page .dpx-prose h3{color:var(--blue-800);margin:26px 0 10px;}

/* Média + texte (split) */
.dpx-page .dpx-split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center;}
.dpx-page .dpx-media{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--hair);background:linear-gradient(135deg,var(--brand-2),var(--brand-3));aspect-ratio:4/3;}
.dpx-page .dpx-media img{width:100%;height:100%;object-fit:cover;display:block;}

/* Manifeste / bande citation */
.dpx-page .dpx-band{background:linear-gradient(135deg,var(--brand-2),var(--brand-1));color:#fff;}
.dpx-page .dpx-band .dpx-kicker{color:#bcd3f7;}
.dpx-page .dpx-band blockquote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.36;margin:16px 0 0;color:#fff;font-weight:500;}

/* Formulaire premium */
.dpx-page .dpx-field{margin-bottom:16px;}
.dpx-page .dpx-field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px;font-weight:600;}
.dpx-page .dpx-input,.dpx-page .dpx-field input,.dpx-page .dpx-field select,.dpx-page .dpx-field textarea{width:100%;padding:13px 15px;border:1px solid var(--hair);border-radius:12px;font:inherit;color:var(--ink);background:var(--surface);transition:border-color .2s,box-shadow .2s;}
.dpx-page .dpx-field input:focus,.dpx-page .dpx-field select:focus,.dpx-page .dpx-field textarea:focus{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(46,107,214,.12);}
.dpx-page .dpx-field textarea{min-height:120px;resize:vertical;}
.dpx-page .dpx-formcard{background:var(--surface);border:1px solid var(--hair);border-radius:22px;padding:34px;box-shadow:var(--shadow);}

/* Panneau info (contact) */
.dpx-page .dpx-info{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--hair);}
.dpx-page .dpx-info:last-child{border-bottom:none;}
.dpx-page .dpx-info .ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--blue-600);border:1px solid var(--hair);font-size:1.05rem;}
.dpx-page .dpx-info b{display:block;color:var(--blue-800);font-family:var(--sans);}
.dpx-page .dpx-info span,.dpx-page .dpx-info a{color:var(--muted);font-size:.95rem;}

/* FAQ (accordéon simple) */
.dpx-page .dpx-faq{max-width:820px;margin-inline:auto;}
.dpx-page .dpx-faq details{background:var(--surface);border:1px solid var(--hair);border-radius:14px;padding:4px 22px;margin-bottom:12px;box-shadow:var(--shadow);}
.dpx-page .dpx-faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:650;color:var(--blue-800);display:flex;justify-content:space-between;align-items:center;gap:14px;}
.dpx-page .dpx-faq summary::-webkit-details-marker{display:none;}
.dpx-page .dpx-faq summary::after{content:"+";font-size:1.4rem;color:var(--blue-600);transition:transform .2s;}
.dpx-page .dpx-faq details[open] summary::after{transform:rotate(45deg);}
.dpx-page .dpx-faq .a{color:var(--muted);padding:0 0 20px;line-height:1.7;}

/* CTA finale */
.dpx-page .dpx-cta{background:linear-gradient(135deg,var(--brand-1),var(--brand-3));color:#fff;border-radius:28px;padding:64px 40px;text-align:center;box-shadow:var(--shadow);}
.dpx-page .dpx-cta .dpx-kicker{color:#bcd3f7;}
.dpx-page .dpx-cta h2{color:#fff;}
.dpx-page .dpx-cta p{color:rgba(255,255,255,.86);max-width:56ch;margin:16px auto 0;}
.dpx-page .dpx-cta .dpx-btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);}
.dpx-page .dpx-cta .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px;}

/* Révélations au scroll */
.dpx-page .dpx-reveal{opacity:0;transform:translateY(30px) scale(.99);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1);}
.dpx-page .dpx-reveal.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .dpx-page .dpx-reveal{opacity:1!important;transform:none!important;transition:none;}
}
@media(max-width:900px){
  .dpx-page .dpx-cards,.dpx-page .dpx-vgrid{grid-template-columns:1fr;}
  .dpx-page .dpx-cards.cols-2{grid-template-columns:1fr;}
  .dpx-page .dpx-split{grid-template-columns:1fr;gap:34px;}
  .dpx-page .dpx-stats{grid-template-columns:repeat(2,1fr);}
  .dpx-page .dpx-stat:nth-child(2){border-left:none;}
  .dpx-page .dpx-section{padding:60px 0;}
  .dpx-page .dpx-hero .dpx-wrap{padding:54px 24px 58px;}
}
