@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --navy:#1B3A6B;
  --navy-deep:#0E2140;
  --gold:#C8962B;
  --gold-soft:#E4C687;
  --paper:#F3F5F8;
  --paper-alt:#FFFFFF;
  --ink:#1C222B;
  --ink-soft:#565F6C;
  --line:#DBE1E8;
  --serif:'Spectral', Georgia, serif;
  --sans:'Inter', 'Segoe UI', Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
}
h1,h2,h3{
  font-family:var(--serif);
  color:var(--navy-deep);
  line-height:1.2;
  margin:0 0 0.45em;
  font-weight:600;
}
h1{font-size:clamp(2rem,4.5vw,2.9rem);}
h2{font-size:clamp(1.4rem,2.6vw,1.85rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1.1em; color:var(--ink);}
a{color:var(--navy);}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.narrow{max-width:720px;}

/* ---------- NAV ---------- */
.nav{background:var(--navy-deep);position:sticky;top:0;z-index:50;}
.nav-inner{max-width:1080px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:28px;}
.brand{font-family:var(--serif);color:#fff;text-decoration:none;font-size:1.05rem;line-height:1.15;display:block;}
.brand span{display:block;font-family:var(--sans);font-size:0.62rem;letter-spacing:0.06em;color:var(--gold-soft);margin-top:2px;}
.nav-toggle{display:none;}
.nav-burger{display:none;}
.nav-links{display:flex;align-items:center;gap:22px;margin-left:auto;flex-wrap:wrap;}
.nav-links a{color:#D9DEE7;text-decoration:none;font-size:0.9rem;padding:4px 0;border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active{color:#fff;border-bottom-color:var(--gold);}
.btn-doctolib{background:var(--gold);color:var(--navy-deep) !important;padding:9px 16px;border-radius:2px;font-weight:600;border-bottom:none !important;}
.btn-doctolib:hover{background:var(--gold-soft);}
.mobile-doctolib{display:none;}

@media (max-width:860px){
  .nav-inner{gap:14px;}
  .mobile-doctolib{display:inline-block;margin-left:auto;background:var(--gold);color:var(--navy-deep);padding:8px 10px;border-radius:2px;font-weight:600;text-decoration:none;font-size:0.72rem;white-space:nowrap;}
  .mobile-doctolib:hover{background:var(--gold-soft);}
  .nav-burger{display:block;cursor:pointer;margin-left:0;}
  .nav-burger span, .nav-burger::before, .nav-burger::after{content:'';display:block;width:24px;height:2px;background:#fff;margin:5px 0;}
  .nav-links{
    position:absolute;left:0;right:0;top:100%;
    background:var(--navy-deep);
    flex-direction:column;align-items:flex-start;
    padding:6px 28px 18px;gap:14px;
    display:none;
  }
  .nav-toggle:checked ~ .nav-links{display:flex;}
  .btn-doctolib{display:none;}
}

/* ---------- HERO ---------- */
.hero{background:var(--navy-deep);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;}
.hero .wrap{display:flex;align-items:center;gap:40px;position:relative;z-index:2;}
.hero-copy{flex:1 1 420px;}
.kicker{color:var(--gold-soft);font-size:0.8rem;letter-spacing:0.04em;margin-bottom:10px;}
.hero h1{color:#fff;}
.hero-lede{color:#C6CEDB;font-size:1.08rem;max-width:46ch;}
.hero-visual-block{flex:0 0 390px}.hero-visual{width:100%;height:330px;position:relative;overflow:hidden;border-radius:3px;}
.hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:1;filter:none;}
.hero-visual-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,33,64,.28) 0%,rgba(14,33,64,.04) 22%,rgba(14,33,64,0) 58%,rgba(14,33,64,.06) 100%);pointer-events:none;}
.cta-row{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:26px;}
.btn{display:inline-block;padding:11px 20px;border-radius:2px;font-weight:600;text-decoration:none;font-size:0.94rem;}
.btn-primary{background:var(--gold);color:var(--navy-deep);}
.btn-primary:hover{background:var(--gold-soft);}
.btn-outline{border:1px solid #4C5F82;color:#fff;}
.btn-outline:hover{border-color:var(--gold-soft);color:var(--gold-soft);}

/* thin gold rule under kicker, used on inner pages instead of hero */
.page-head{padding:52px 0 8px;border-bottom:1px solid var(--line);margin-bottom:36px;}
.page-head .kicker{color:var(--gold);}
.rule-gold{width:46px;height:2px;background:var(--gold);border:none;margin:14px 0 22px;}

/* ---------- SECTIONS ---------- */
section{padding:44px 0;}
.section-title{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:22px;}

/* two-column feature blocks (chirurgie programmée / urgences) */
.split{display:flex;gap:28px;flex-wrap:wrap;}
.split > div{flex:1 1 320px;background:var(--paper-alt);border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px 24px;border-radius:3px;}


/* homepage navigation cards */
.home-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.home-feature-card{background:var(--paper-alt);border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px 24px;border-radius:3px;}
.home-feature-card h2{margin-bottom:10px;}
.home-feature-card p{margin-bottom:14px;}
@media(max-width:760px){.home-feature-grid{grid-template-columns:1fr;}}

/* clinic cards */
.clinics{display:flex;gap:20px;flex-wrap:wrap;}
.clinic-card{flex:1 1 260px;background:var(--paper-alt);border:1px solid var(--line);padding:22px 24px;border-radius:3px;}
.clinic-card h3{margin-bottom:4px;}
.clinic-card .place{color:var(--ink-soft);font-size:0.92rem;margin-bottom:14px;}

/* pathology grid */
.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;}
.path-card{background:var(--paper-alt);border:1px solid var(--line);padding:20px 20px 18px;border-radius:3px;text-decoration:none;display:block;transition:border-color .15s;}
.path-card:hover{border-color:var(--gold);}
.path-card h3{margin-bottom:6px;color:var(--navy-deep);}
.path-card p{margin:0;color:var(--ink-soft);font-size:0.88rem;}

/* condition list */
ul.cond-list{padding-left:1.1em;margin:0.4em 0 0;}
ul.cond-list li{margin-bottom:0.7em;}
ul.cond-list b{color:var(--navy-deep);}

/* numbered sequence (used only for real step sequences) */
.steps{counter-reset:step;}
.step{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
.step:first-child{border-top:none;}
.step::before{counter-increment:step;content:counter(step);font-family:var(--serif);color:var(--gold);font-size:1.3rem;flex:0 0 auto;width:34px;}

/* callout / placeholder */
.callout{background:#FBF1DC;border-left:3px solid var(--gold);padding:12px 16px;font-size:0.9rem;color:#6B5423;border-radius:0 3px 3px 0;margin:1em 0;}
.note{font-size:0.85rem;color:var(--ink-soft);}

/* urgence banner */
.urgence-banner{background:var(--navy);color:#fff;padding:20px 0;}
.urgence-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.urgence-banner a.tel{color:#fff;font-family:var(--serif);font-size:1.3rem;text-decoration:none;}
.urgence-banner a.tel:hover{color:var(--gold-soft);}

/* footer */
.site-footer{background:var(--navy-deep);color:#C6CEDB;padding:48px 0 20px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;margin-bottom:30px;}
.footer-title{color:#fff;font-family:var(--serif);font-size:0.98rem;margin-bottom:8px;}
.brand-footer{font-family:var(--serif);color:#fff;font-size:1.1rem;margin-bottom:8px;}
.site-footer p{margin:0 0 4px;font-size:0.88rem;color:#B4BECD;}
.site-footer a{color:#D9DEE7;text-decoration:none;}
.site-footer a:hover{color:var(--gold-soft);}
.rpps{color:#8B96A8 !important;font-size:0.8rem !important;margin-top:8px !important;}
.footer-bottom{border-top:1px solid #223353;padding-top:16px;font-size:0.78rem;color:#7C879A;}

@media (prefers-reduced-motion: no-preference){
  .hero-copy{animation:rise .7s ease-out both;}
  .hero-visual{animation:fade .9s ease-out .1s both;}
}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes fade{from{opacity:0;}to{opacity:0.9;}}

@media (max-width:760px){
  .hero .wrap{flex-direction:column;align-items:flex-start;}
  .hero-visual-block{order:-1;width:100%;flex-basis:auto}.hero-visual{width:100%;height:280px;}
  .hero-portrait{inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;}
}

/* Iconographie chirurgicale des fiches détaillées */
.surgical-figure{margin:18px 0 30px;}
.surgical-figure img{display:block;width:100%;max-width:560px;height:auto;border-radius:3px;border:1px solid rgba(15,39,71,.12);background:#fff;}
.surgical-figure figcaption{max-width:560px;margin-top:8px;font-size:.88rem;color:var(--muted);}

/* ---------- LIEUX D'EXERCICE V19 ---------- */
.practice-page{padding-bottom:8px;}
.practice-head{margin-bottom:30px;}
.practice-lede{max-width:920px;font-size:1.06rem;color:var(--ink-soft);}
.practice-lede strong{color:var(--navy-deep);font-weight:600;}
.practice-grid{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.practice-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 8px 24px rgba(14,33,64,.055);display:flex;flex-direction:column;min-width:0;}
.practice-logo-wrap{height:150px;background:#fff;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:center;padding:20px 28px;}
.practice-logo{display:block;max-width:100%;max-height:104px;width:auto;height:auto;object-fit:contain;}
.practice-logo-conti{max-width:430px;}
.practice-logo-landy{max-width:360px;}
.practice-card-body{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1;}
.practice-site-label{text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:600;color:var(--gold);margin-bottom:7px;}
.practice-card h2{font-size:1.55rem;margin-bottom:10px;}
.practice-address{font-size:.98rem;color:var(--ink-soft);margin-bottom:18px;}

.practice-map-links{display:flex;gap:8px;flex-wrap:wrap;margin:-7px 0 18px;}
.practice-map-link{display:inline-block;border:1px solid #d7dde6;background:#fff;color:var(--navy-deep);text-decoration:none;font-size:.82rem;font-weight:600;padding:8px 11px;border-radius:3px;}
.practice-map-link:hover{border-color:var(--gold);color:var(--gold);}
.practice-services{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px;}
.practice-services span{font-size:.76rem;border:1px solid #dfe4eb;color:#435064;background:#f8f9fb;border-radius:999px;padding:5px 9px;}
.practice-contact-box{margin-top:auto;border-top:1px solid #e7eaf0;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.practice-contact-label{font-size:.78rem;color:var(--ink-soft);margin-bottom:2px;}
.practice-phone{display:inline-block;text-decoration:none;font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--navy-deep);line-height:1.2;}
.practice-phone:hover{color:var(--gold);}
.practice-rdv{display:inline-block;background:var(--gold);color:var(--navy-deep);text-decoration:none;font-size:.84rem;font-weight:600;padding:10px 13px;border-radius:3px;white-space:nowrap;}
.practice-rdv:hover{background:var(--gold-soft);}
.practice-fesum-mini{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px;background:#f7f9fc;border:1px solid #e5eaf1;border-radius:4px;}
.practice-fesum-mini img{width:62px;height:62px;object-fit:cover;border-radius:50%;flex:0 0 auto;}
.practice-fesum-mini strong{display:block;color:var(--navy-deep);font-size:.88rem;margin-bottom:2px;}
.practice-fesum-mini p{font-size:.78rem;color:var(--ink-soft);margin:0;line-height:1.45;}
.practice-emergency{margin:28px 0 0;padding:22px 24px;background:#fff;border:1px solid #ead9d6;border-left:4px solid #b42b24;border-radius:5px;display:flex;gap:18px;align-items:flex-start;}
.practice-emergency-mark{width:42px;height:42px;border-radius:50%;background:#b42b24;color:white;font-family:var(--serif);font-size:1.55rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;}
.practice-emergency h2{font-size:1.25rem;margin:1px 0 5px;}
.practice-emergency p{font-size:.9rem;color:#4c5562;margin:0;}
.practice-emergency strong{color:#7e211c;}
.practice-recognition{padding:0;margin:26px 0 0;display:grid;grid-template-columns:1.5fr 1fr;gap:22px;}
.practice-recognition-main,.practice-ranking{background:#fff;border:1px solid var(--line);border-radius:5px;padding:22px;}
.practice-recognition-main{display:flex;gap:18px;align-items:center;}
.practice-recognition-main img{width:108px;height:108px;object-fit:cover;border-radius:50%;flex:0 0 auto;}
.practice-recognition-main h2{font-size:1.28rem;margin-bottom:6px;}
.practice-recognition-main p{font-size:.86rem;color:var(--ink-soft);margin:0;}
.practice-ranking{background:var(--navy-deep);border-color:var(--navy-deep);color:white;display:flex;flex-direction:column;justify-content:center;}
.practice-ranking-kicker{text-transform:uppercase;letter-spacing:.07em;color:var(--gold-soft);font-size:.7rem;margin-bottom:6px;}
.practice-ranking>strong{font-family:var(--serif);font-size:1.06rem;font-weight:600;}
.practice-ranking-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px;}
.practice-ranking-numbers span{font-size:.7rem;color:#c9d0dc;line-height:1.3;border-left:1px solid #304462;padding-left:9px;}
.practice-ranking-numbers span:first-child{border-left:none;padding-left:0;}
.practice-ranking-numbers b{display:block;color:white;font-family:var(--serif);font-size:1.25rem;}
.practice-ranking-numbers sup{font-size:.55em;}
.practice-source-note{font-size:.74rem;color:#7a8492;margin-top:14px;text-align:right;}

@media(max-width:800px){
  .practice-grid{grid-template-columns:1fr;}
  .practice-logo-wrap{height:128px;padding:18px 22px;}
  .practice-logo{max-height:92px;}
  .practice-card-body{padding:22px 20px;}
  .practice-recognition{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .practice-head{padding-top:38px;}
  .practice-card h2{font-size:1.35rem;}
  .practice-contact-box{align-items:flex-start;flex-direction:column;}
  .practice-rdv{width:100%;text-align:center;}
  .practice-emergency{padding:18px 17px;gap:12px;}
  .practice-emergency-mark{width:36px;height:36px;font-size:1.3rem;}
  .practice-recognition-main{align-items:flex-start;}
  .practice-recognition-main img{width:78px;height:78px;}
  .practice-ranking-numbers{gap:6px;}
}


/* V23 — refined emergency contact panel */
.urgent-contact-panel{margin:0 0 30px;background:#fff;border:1px solid #e2e6ec;border-radius:7px;overflow:hidden;box-shadow:0 8px 24px rgba(17,35,63,.045);}
.urgent-vital{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;background:#fbf6ed;border-bottom:1px solid #eee2cf;}
.urgent-vital-mark{width:38px;height:38px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#a12a25;color:#fff;font-family:var(--serif);font-size:1.25rem;font-weight:700;line-height:1;}
.urgent-vital-title{font-family:var(--serif);font-size:1.08rem;font-weight:700;color:var(--navy-deep);margin:0 0 3px;}
.urgent-vital p{margin:0;color:#414a57;font-size:.9rem;line-height:1.55;}
.urgent-vital strong{color:#7d211d;}
.urgent-hand-intro{padding:20px 22px 12px;color:var(--ink);font-size:.9rem;line-height:1.55;}
.urgent-clinic-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 22px 22px;}
.urgent-clinic{padding:16px 18px;background:#f8fafc;border:1px solid #e5e9ef;}
.urgent-clinic:first-child{border-radius:5px 0 0 5px;}
.urgent-clinic:last-child{border-left:0;border-radius:0 5px 5px 0;}
.urgent-clinic-name{font-weight:700;color:var(--navy-deep);font-size:.9rem;margin-bottom:1px;}
.urgent-clinic-city{font-size:.79rem;color:var(--ink-soft);margin-bottom:9px;}
.urgent-phone{display:inline-block;text-decoration:none;font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:.01em;color:var(--navy-deep);line-height:1.2;}
.urgent-phone:hover{color:var(--gold);}

/* V23 — cleaner diplomas typography */
.credentials-card{margin:1em 0 1.4em;background:#fff;border:1px solid #e1e5eb;border-left:3px solid var(--gold);border-radius:0 6px 6px 0;overflow:hidden;}
.credential-row{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:13px 17px;border-top:1px solid #edf0f4;align-items:start;}
.credential-row:first-child{border-top:0;}
.credential-year{font-family:var(--serif);font-weight:700;color:#795f25;font-size:.96rem;line-height:1.45;}
.credential-text{color:#36404d;font-size:.9rem;line-height:1.5;}
.credential-text span{display:block;color:var(--ink-soft);font-size:.82rem;margin-top:2px;}
.credential-no-year .credential-text{font-weight:500;}

@media (max-width:620px){
  .urgent-vital{padding:17px 16px;gap:12px;}
  .urgent-hand-intro{padding:17px 16px 10px;}
  .urgent-clinic-grid{grid-template-columns:1fr;padding:0 16px 17px;gap:8px;}
  .urgent-clinic:first-child,.urgent-clinic:last-child{border:1px solid #e5e9ef;border-radius:5px;}
  .urgent-phone{font-size:1.18rem;}
  .credential-row{grid-template-columns:58px 1fr;gap:10px;padding:12px 13px;}
}


/* V24 — publications & communications aligned with diploma card */
.science-card{margin:1em 0 1.4em;background:#fff;border:1px solid #e1e5eb;border-left:3px solid var(--gold);border-radius:0 6px 6px 0;overflow:hidden;}
.science-row{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:15px 17px;border-top:1px solid #edf0f4;align-items:start;}
.science-row:first-child{border-top:0;}
.science-year{font-family:var(--serif);font-weight:700;color:#795f25;font-size:.96rem;line-height:1.45;}
.science-text{color:#36404d;font-size:.9rem;line-height:1.48;}
.science-text strong{display:block;font-weight:650;color:#36404d;margin-bottom:3px;}
.science-text span,.science-text small{display:block;color:var(--ink-soft);font-size:.82rem;line-height:1.45;margin-top:2px;}
.science-text small{font-size:.8rem;}
@media (max-width:620px){.science-row{grid-template-columns:58px 1fr;gap:10px;padding:13px;}}

/* V25 — scientific entries without CV-style year column */
.science-row{grid-template-columns:1fr;}
@media (max-width:620px){.science-row{grid-template-columns:1fr;}}

/* V26 — spacing and mobile page breathing room */
.page-head{
  padding:52px 28px 8px;
}
.wrap.narrow > p{
  margin-bottom:1.55em;
}
.wrap.narrow > h2{
  margin-top:1.35em;
}
.practice-logo-conti{
  max-width:360px;
}
@media (max-width:620px){
  .page-head{padding:38px 22px 8px;}
  .wrap{padding-left:22px;padding-right:22px;}
  .nav-inner{padding-left:22px;padding-right:22px;}
  .nav-links{padding-left:22px;padding-right:22px;}
  .practice-logo-conti{max-width:300px;}
}

/* V27 — pathologies / fiches détaillées */
.cond-list.v27{list-style:none;padding:0;margin:24px 0 42px;display:grid;gap:12px}.cond-list.v27 li{margin:0;padding:0}.cond-link{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #dfe3ea;border-left:4px solid #c99a2e;border-radius:10px;padding:18px 20px;transition:transform .15s ease,box-shadow .15s ease}.cond-link:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(17,39,75,.07)}.cond-link strong{display:block;color:#13294b;font-size:1.08rem;margin-bottom:5px}.cond-link span{display:block;color:#616978;line-height:1.55}.cond-link em{display:inline-block;margin-top:8px;color:#8a6921;font-style:normal;font-weight:700;font-size:.9rem}.all-pathologies-title{margin-top:48px}.path-card .card-kicker{display:block;color:#a67a1d;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.detail-crosslink{margin-top:28px;padding:16px 18px;background:#f8f5ed;border-left:4px solid #c99a2e;border-radius:8px}.detail-crosslink a{font-weight:700}.surgical-figure.v27 img{width:100%;max-width:620px;height:auto;aspect-ratio:16/9;object-fit:cover;background:#f5f7fa}.path-grid.v27-all{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.path-grid.v27-all .path-card{min-height:150px}.category-count{font-size:.9rem;color:#727986;margin-top:4px}
@media(max-width:700px){.cond-link{padding:16px}.path-grid.v27-all{grid-template-columns:1fr}.all-pathologies-title{margin-top:34px}}

/* V31 — cadrages iconographiques demandés */
.surgical-figure.v27 img.focus-kienbock{object-position:center 30%;}
.surgical-figure.v27 img.focus-maillet{object-position:center 64%;}
.surgical-figure.v27 img.focus-boutonniere{object-position:center 58%;}
.surgical-figure.v27 img.contain-medical{object-fit:contain;background:#fff;}
.surgical-figure.v27 img.xray-hand-down{transform:rotate(180deg);object-fit:contain;background:#111;}

/* V32 targeted image presentation */
.surgical-figure.v27 img.show-full{object-fit:contain!important;aspect-ratio:auto!important;max-height:none!important;background:#fff;}
.surgical-figure.v27 img.flip-vertical{transform:rotate(180deg);object-fit:contain!important;background:#111;}
.surgical-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0 30px}.surgical-gallery figure{margin:0}.surgical-gallery img{width:100%;height:260px;object-fit:contain;background:#fff;border:1px solid rgba(15,39,71,.12);border-radius:3px}.surgical-gallery figcaption{font-size:.86rem;color:var(--muted);margin-top:7px}

.image-pair,.epl-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0 28px}.epl-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.image-pair figure,.epl-steps figure{margin:0}.image-pair img,.epl-steps img{width:100%;height:320px;object-fit:contain;background:#f6f7f8}@media(max-width:760px){.image-pair,.epl-steps{grid-template-columns:1fr}.image-pair img,.epl-steps img{height:auto}}

/* V35 — corrections strictement ciblées */
img.flip-vertical{transform:scaleY(-1)!important;object-fit:contain!important;}


/* V38 — recherche patient dans l'onglet Pathologies */
.pathology-search{margin:0 0 34px;padding:0}
.pathology-search-inner{background:#fff;border:1px solid rgba(14,33,64,.12);border-radius:18px;padding:28px;box-shadow:0 12px 32px rgba(14,33,64,.06)}
.search-kicker{color:#C8962B;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.pathology-search h2{margin:0 0 8px;color:#0E2140}
.pathology-search p{margin:0 0 18px;max-width:760px;color:#4b5565}
.pathology-search-box{display:flex;gap:10px;align-items:stretch}
.pathology-search-box input{min-width:0;flex:1;border:1px solid rgba(14,33,64,.24);border-radius:12px;padding:14px 16px;font:inherit;font-size:1rem;color:#0E2140;background:#F8FAFC;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.pathology-search-box input:focus{border-color:#C8962B;box-shadow:0 0 0 3px rgba(200,150,43,.14);background:#fff}
.pathology-search-box button{border:0;border-radius:12px;padding:0 20px;background:#0E2140;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.pathology-search-box button:hover{filter:brightness(1.08)}
.pathology-search-help{font-size:.82rem;color:#6b7280;margin-top:9px}
.pathology-search-results{margin-top:18px;border-top:1px solid rgba(14,33,64,.09);padding-top:15px}
.search-results-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:#6b7280;font-weight:700;margin-bottom:8px}
.search-suggestions{display:grid;gap:7px}
.search-suggestion{display:grid;grid-template-columns:30px 1fr 20px;gap:10px;align-items:center;padding:11px 12px;border-radius:11px;text-decoration:none;color:#0E2140;background:#F6F8FB;border:1px solid transparent}
.search-suggestion:hover,.search-suggestion:focus{background:#fff;border-color:rgba(200,150,43,.45);outline:none}
.search-rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0E2140;color:#fff;font-size:.74rem;font-weight:700}
.search-suggestion strong{display:block;font-size:.95rem}
.search-suggestion small{display:block;color:#667085;font-size:.8rem;line-height:1.4;margin-top:2px}
.search-arrow{color:#C8962B;font-weight:700;font-size:1.05rem}
.search-empty{display:flex;flex-direction:column;gap:3px;padding:10px 0;color:#0E2140}
.search-empty span{font-size:.86rem;color:#667085}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:640px){.pathology-search-inner{padding:20px 18px;border-radius:15px}.pathology-search-box{display:block}.pathology-search-box button{width:100%;padding:13px 16px;margin-top:9px}.search-suggestion{grid-template-columns:28px 1fr 16px}.search-suggestion small{font-size:.76rem}}

/* Accessibilité clavier : anneaux de focus visibles sur tous les éléments interactifs */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.nav-burger:focus-visible,
.path-card:focus-visible,
.home-feature-card a:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
  border-radius:4px;
}
.btn:focus-visible,
.btn-doctolib:focus-visible,
.mobile-doctolib:focus-visible{
  outline:3px solid var(--navy-deep);
  outline-offset:3px;
}

/* V41 — crédits iconographiques (aucune modification des images) */
.footer-credits{margin-top:8px;font-size:.82rem;opacity:.78}.footer-credits a{color:inherit}.credits-list{padding-left:1.25rem}.credits-list li{margin:0 0 1rem;line-height:1.55}

/* V43 — harmonisation exclusive des iconographies des 8 fiches révisées */
.v43-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;margin:18px 0 28px}
.v43-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.surgical-figure.v43{margin:0;display:flex;flex-direction:column;min-width:0}
.v43-media{height:390px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f4f5f7;border-radius:12px;border:1px solid rgba(14,33,64,.10)}
.v43-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;image-rendering:auto}
.v43-media img.v43-rotate{transform:rotate(180deg)}
.surgical-figure.v43 figcaption{padding-top:10px;line-height:1.45}
@media(max-width:720px){.v43-grid,.v43-grid-2{grid-template-columns:1fr}.v43-media{height:330px}}

/* V48 — logos établissements, sans autre modification */
.urgent-clinic-logo{display:block;width:auto;height:44px;max-width:190px;object-fit:contain;object-position:left center;margin:0 0 12px;}
.urgent-clinic:nth-child(2) .urgent-clinic-logo{height:52px;max-width:180px;}
.practice-logo-pair{height:168px;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;justify-items:center;padding:22px 28px;}
.practice-logo-pair .practice-logo,.practice-logo-pair .practice-clinic-logo{display:block;width:100%;height:88px;max-width:280px;max-height:88px;object-fit:contain;object-position:center;}
.practice-logo-pair .practice-logo-conti,.practice-logo-pair .practice-logo-landy{max-width:280px;}
.practice-logo-pair .practice-clinic-logo.clinic-conti,.practice-logo-pair .practice-clinic-logo.clinic-landy{max-width:280px;}
@media(max-width:620px){
  .practice-logo-pair{height:auto;min-height:150px;gap:16px;padding:18px 18px;}
  .practice-logo-pair .practice-logo,.practice-logo-pair .practice-clinic-logo{height:72px;max-height:72px;max-width:220px;}
  .urgent-clinic-logo{height:40px;max-width:170px;}
  .urgent-clinic:nth-child(2) .urgent-clinic-logo{height:48px;max-width:165px;}
}

/* V49 — uniquement ajustements logos cliniques dans Urgences */
.urgent-clinic{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.urgent-clinic-copy{min-width:0;flex:1;}
.urgent-clinic .urgent-clinic-logo{flex:0 0 auto;margin:0;width:auto;height:62px;max-width:220px;object-fit:contain;object-position:right center;}
.urgent-clinic:nth-child(2) .urgent-clinic-logo{height:70px;max-width:210px;}
@media(max-width:640px){
 .urgent-clinic{gap:12px;}
 .urgent-clinic .urgent-clinic-logo{height:54px;max-width:46%;}
 .urgent-clinic:nth-child(2) .urgent-clinic-logo{height:60px;max-width:44%;}
}

/* V51 — ajustements validés */
.portrait-caption{font-size:.76rem;line-height:1.35;color:#6f7478;margin-top:.45rem;letter-spacing:.01em}
.flip-vertical{transform:rotate(180deg)}
.v51-infographic img{width:100%;height:auto;display:block}
@media (min-width:900px){.v43-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
