/* ==========================================================================
   IMS Victoire — pages d'information médicale (Test/soins/*.html)
   À charger après commun.css et praticien.css : reprend le bandeau,
   les titres, la présentation, « En bref » et la FAQ des pages praticiens,
   et ajoute les blocs propres à l'information patient.
   ========================================================================== */

/* ── Bandeau : illustration à droite du titre ── */
.soin-hero{padding-left:var(--pad);flex-direction:row-reverse;justify-content:space-between;}
.soin-hero .doc-hero-photo{width:clamp(160px,24vw,340px);height:clamp(200px,30vh,320px);align-self:center;}
.soin-hero .doc-hero-photo img{object-position:center;object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 55%,transparent 100%);mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 55%,transparent 100%);}
.soin-hero .doc-hero-body{max-width:760px;}
.soin-lead{margin-top:clamp(14px,2vh,20px);font-size:clamp(.88rem,1.2vw,1rem);font-weight:300;line-height:1.75;color:rgba(240,237,230,.62);max-width:58ch;}

/* ── Encadré d'information ── */
.callout{margin:clamp(20px,3vh,28px) 0;padding:1.1rem 1.3rem;border-left:2px solid var(--gold);background:rgba(184,169,138,.08);font-size:.88rem;font-weight:300;line-height:1.7;color:rgba(5,5,8,.75);max-width:78ch;}
.callout strong{font-weight:500;color:var(--ink)}
.callout--warn{border-left-color:#b4442c;background:rgba(180,68,44,.07);}

/* ── Ce que dit la science : cartes par indication ── */
.evidence{padding:clamp(70px,10vh,120px) var(--pad);background:linear-gradient(120deg,var(--mid) 0%,#18181f 55%,var(--ink) 100%);}
.evidence-intro{font-size:.9rem;font-weight:300;line-height:1.8;color:rgba(240,237,230,.65);max-width:74ch;margin:-12px 0 clamp(28px,4vh,40px);}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,1.6vw,22px);}
.ev-card{display:flex;flex-direction:column;gap:.7rem;padding:clamp(20px,2.2vw,28px);border:1px solid rgba(240,237,230,.1);border-radius:3px;background:rgba(255,255,255,.025);}
.ev-card h3{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:400;line-height:1.2;color:var(--ivory);}
.ev-card p{font-size:.84rem;font-weight:300;line-height:1.7;color:rgba(240,237,230,.68);}
.ev-level{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:2px;}
.ev-level::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;}
.ev-level--solid{color:#9fd3a8;background:rgba(159,211,168,.1);}
.ev-level--mixed{color:#e8c77f;background:rgba(232,199,127,.1);}
.ev-level--weak{color:#c9c3b6;background:rgba(201,195,182,.1);}
.ev-level--no{color:#e79a8a;background:rgba(231,154,138,.1);}
.ev-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:clamp(20px,3vh,28px);font-size:.72rem;color:rgba(240,237,230,.5);}

/* ── Déroulement en étapes ── */
.steps-section{background:#fff;color:var(--ink);padding:clamp(70px,10vh,120px) var(--pad);}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(16px,2vw,28px);max-width:1200px;}
.steps li{counter-increment:step;position:relative;padding-top:clamp(44px,6vh,56px);border-top:2px solid var(--gold);}
.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;top:10px;left:0;font-family:var(--serif);font-size:1.6rem;font-weight:300;color:#8f7f5f;}
.steps h3{font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.2;margin-bottom:.5rem;}
.steps p{font-size:.84rem;font-weight:300;line-height:1.7;color:rgba(5,5,8,.68);}

/* ── Praticiens concernés ── */
.team-mini{background:var(--ivory);color:var(--ink);padding:clamp(60px,9vh,100px) var(--pad);}
.team-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;max-width:1200px;}
.team-mini a{display:flex;flex-direction:column;gap:.3rem;padding:1.1rem 1.2rem;border:1px solid rgba(5,5,8,.1);border-radius:3px;background:#fff;transition:border-color .3s,transform .3s var(--ease-out);}
.team-mini a:hover{border-color:var(--gold);transform:translateY(-2px);}
.team-mini strong{font-family:var(--serif);font-size:1.2rem;font-weight:600;}
.team-mini span{font-size:.78rem;font-weight:300;line-height:1.5;color:rgba(5,5,8,.62);}

/* ── Sources ── */
.sources{background:var(--ivory);color:var(--ink);padding:0 var(--pad) clamp(60px,9vh,100px);}
.sources h2{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:400;margin-bottom:1rem;padding-top:clamp(28px,4vh,40px);border-top:1px solid rgba(5,5,8,.1);}
.sources ol{padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem;max-width:90ch;}
.sources li{font-size:.78rem;font-weight:300;line-height:1.6;color:rgba(5,5,8,.7);}
.sources a{color:#8f7f5f;border-bottom:1px solid rgba(143,127,95,.35);word-break:break-word;}
.sources-meta{margin-top:1.2rem;font-size:.74rem;font-weight:300;color:rgba(5,5,8,.5);max-width:90ch;line-height:1.6;}

/* ── Page d'index des fiches ── */
.soins-hub-hero{flex-direction:row;justify-content:flex-start;padding-bottom:clamp(36px,6vh,64px);}
.soins-list{background:var(--ivory);color:var(--ink);padding:clamp(60px,9vh,110px) var(--pad);}
.soins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(14px,1.6vw,22px);max-width:1300px;}
.soin-card{display:flex;flex-direction:column;gap:.6rem;padding:clamp(20px,2.2vw,28px);background:#fff;border:1px solid rgba(5,5,8,.08);border-radius:3px;transition:border-color .3s,transform .3s var(--ease-out),box-shadow .3s;}
.soin-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(5,5,8,.35);}
.soin-card-img{height:clamp(140px,16vw,180px);display:flex;align-items:center;justify-content:center;margin-bottom:.4rem;background:var(--ink);border-radius:2px;overflow:hidden;}
.soin-card-img img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 50%,transparent 100%);mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 50%,transparent 100%);transition:transform .6s var(--ease-out);}
.soin-card:hover .soin-card-img img{transform:scale(1.05);}
.soin-card-sub{font-size:.7rem;font-weight:500;letter-spacing:.1em;color:#8f7f5f;}
.soin-card-title{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.6rem);font-weight:400;line-height:1.15;}
.soin-card p{font-size:.84rem;font-weight:300;line-height:1.65;color:rgba(5,5,8,.65);flex:1;}
.soin-card-more{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.08em;color:#8f7f5f;transition:gap .3s var(--ease-out);}
.soin-card-more::after{content:'→';}
.soin-card:hover .soin-card-more{gap:12px;}
.soins-list .sources-meta{margin-top:clamp(28px,4vh,40px);}

/* ── Pages de spécialité ── */
.spe-figure{margin:0;}
.spe-figure img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;}
.photo-credit{display:block;margin-top:.5rem;font-size:.66rem;font-weight:300;letter-spacing:.04em;color:rgba(5,5,8,.45);}
.photo-credit a{color:inherit;border-bottom:1px solid rgba(5,5,8,.2);}
.doc-dark .photo-credit,.spe-band .photo-credit{color:rgba(240,237,230,.4);}
.doc-dark .photo-credit a,.spe-band .photo-credit a{border-color:rgba(240,237,230,.2);}
.doc-about .spe-figure.doc-about-photo{background:none;}
.spe-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(70px,10vh,120px) var(--pad);background:linear-gradient(120deg,var(--mid) 0%,#18181f 55%,var(--ink) 100%);}
.spe-band .spe-figure img{aspect-ratio:4/3;height:auto;}
.spe-band-text p{font-size:.92rem;font-weight:300;line-height:1.85;color:rgba(240,237,230,.72);max-width:60ch;margin-bottom:1rem;}
.spe-band-text ul{list-style:none;display:flex;flex-direction:column;margin-top:.6rem;}
.spe-band-text li{display:flex;gap:12px;align-items:baseline;padding:.6rem 0;border-bottom:1px solid rgba(240,237,230,.08);font-size:.88rem;font-weight:300;line-height:1.5;color:rgba(240,237,230,.82);}
.spe-band-text li::before{content:'';flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold);transform:translateY(-2px);}
.related{background:#fff;color:var(--ink);padding:clamp(60px,9vh,100px) var(--pad);}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;max-width:1200px;}
.related-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:1rem 1.2rem;border:1px solid rgba(5,5,8,.1);border-radius:3px;font-family:var(--serif);font-size:1.15rem;transition:border-color .3s,gap .3s var(--ease-out);}
.related-grid a::after{content:'→';font-family:var(--sans);font-size:.85rem;color:#8f7f5f;}
.related-grid a:hover{border-color:var(--gold);}

/* ── Responsive ── */
@media(max-width:900px){
  .spe-band{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .soin-hero{flex-direction:column;align-items:flex-start;padding:calc(var(--nav-h) + 24px) var(--pad) 32px;}
  .soin-hero .doc-hero-photo{width:140px;height:140px;align-self:flex-end;margin-top:-10px;}
  .soin-hero .doc-hero-body{padding:0;}
}

/* ── Pages de spécialité ── */
.spec-photo figcaption,.spec-split-img figcaption{font-size:.66rem;font-weight:300;letter-spacing:.04em;color:rgba(5,5,8,.45);padding:.4rem 0 0;}
.doc-about-photo.spec-photo{background:none;}
.doc-about-photo.spec-photo img{border-radius:2px;aspect-ratio:4/3;object-fit:cover;}
.spec-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(70px,10vh,120px) var(--pad);background:linear-gradient(120deg,var(--mid) 0%,#18181f 55%,var(--ink) 100%);}
.spec-split-img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;filter:saturate(.85);}
.spec-split-img figcaption{color:rgba(240,237,230,.4);}
.spec-split-text p{font-size:.92rem;font-weight:300;line-height:1.85;color:rgba(240,237,230,.72);max-width:60ch;margin-bottom:1rem;}
.spec-split-text .doc-title em{color:rgba(240,237,230,.45);}
.spec-fiches{background:#fff;}
@media(max-width:900px){.spec-split{grid-template-columns:1fr;}}

/* ── Mentions légales ── */
.legal .doc-title{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:clamp(36px,5vh,52px) 0 clamp(12px,2vh,18px);padding-top:clamp(24px,3vh,32px);border-top:1px solid rgba(5,5,8,.1);}
.legal .doc-title:first-child{margin-top:0;padding-top:0;border-top:none;}
.legal-list{list-style:none;display:flex;flex-direction:column;max-width:78ch;margin-bottom:1rem;}
.legal-list li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(5,5,8,.08);font-size:.9rem;font-weight:300;line-height:1.6;color:rgba(5,5,8,.75);}
.legal-list li span{font-size:.74rem;font-weight:500;letter-spacing:.06em;color:#8f7f5f;padding-top:.15rem;}
.legal a{color:#8f7f5f;border-bottom:1px solid rgba(143,127,95,.35);}
.legal-update{font-size:.78rem!important;color:rgba(5,5,8,.45)!important;margin-top:2rem;}
mark.todo{background:#f5e3b8;color:#5a4410;padding:.05rem .35rem;border-radius:2px;font-weight:500;}
@media(max-width:600px){.legal-list li{grid-template-columns:1fr;gap:.2rem;}}
