/* ==========================================================================
   docteurkadoch.com — couche « premium » (lisibilité, respiration, hiérarchie)
   Chargée après site.css sur toutes les pages. Aucun contenu n'est masqué :
   uniquement typographie, espacements, surfaces et repères visuels.
   ========================================================================== */
:root{
  --pm-ink:#0F2340;
  --pm-text:#26364D;
  --pm-soft:#5B6878;
  --pm-ivory:#FBFAF7;
  --pm-paper:#FFFFFF;
  --pm-hair:#E7E3DA;
  --pm-hair-2:#EFECE5;
  --pm-sage:#3F6F5E;
  --pm-sage-l:#A9CBB9;
  --pm-sage-50:#F1F5F1;
  --pm-gold:#B08D57;
  --pm-gold-l:#E9DCC4;
  --pm-r-s:10px;
  --pm-r:16px;
  --pm-r-l:24px;
  --pm-sh-1:0 1px 2px rgba(15,35,64,.04),0 6px 18px -8px rgba(15,35,64,.10);
  --pm-sh-2:0 2px 4px rgba(15,35,64,.04),0 22px 44px -24px rgba(15,35,64,.28);
  --pm-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Socle ---------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
html,body{background:var(--pm-ivory)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","calt"}
::selection{background:#DCE9E1;color:var(--pm-ink)}
.kd-page{background:var(--pm-ivory)}
.kd-page :focus-visible{outline:2px solid var(--pm-sage);outline-offset:3px;border-radius:4px}
.kd-page h1,.kd-page h2,.kd-page h3{font-feature-settings:"kern","liga","onum" 0}
.kd-page p,.kd-page li{hanging-punctuation:first}

/* ---------- Bandeau et en-tête ---------- */
.kd-util{letter-spacing:.01em}
.kd-header{background:rgba(251,250,247,.82) !important;border-bottom:1px solid var(--pm-hair) !important}
.kd-header.kd-scrolled{box-shadow:0 1px 0 var(--pm-hair),0 18px 40px -30px rgba(15,35,64,.35)}
.kd-nav a{position:relative;text-decoration:none !important;letter-spacing:.005em}
.kd-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1.5px;background:var(--pm-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--pm-ease)}
.kd-nav a:hover::after,.kd-nav a[aria-current]::after{transform:scaleX(1)}
.kd-logo-name{letter-spacing:-.01em}
.kd-logo-sub{letter-spacing:.16em}

/* ---------- Boutons ---------- */
.kd-btn .elementor-button,.kd-art-cta a,.kd-aside-cta a{border-radius:var(--pm-r-s) !important;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 18px -10px rgba(15,35,64,.45);transition:transform .25s var(--pm-ease),box-shadow .25s var(--pm-ease),background-color .25s}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .kd-btn .elementor-button:hover,.kd-art-cta a:hover,.kd-aside-cta a:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 14px 24px -12px rgba(15,35,64,.5)}
}

/* ---------- Sections : plus d'air ---------- */
@media (min-width:900px){
  .kd-sec{padding-top:120px !important;padding-bottom:120px !important}
  .kd-sec-top0{padding-top:0 !important}
  .kd-pagehead{padding-top:72px !important;padding-bottom:72px !important}
}
.kd-eyebrow p,.kd-eyebrow-s,.kd-brief h2,.kd-refs h2,.kd-toc p,.kd-related p,.bl-cat,.kd-meta{letter-spacing:.16em !important}
.kd-eyebrow p::before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px;opacity:.7}
.kd-h2 .elementor-heading-title{letter-spacing:-.022em}

/* ---------- Cartes (accueil, piliers, articles) ---------- */
.kd-card,.bl-card,.kd-posts a,.kd-cab{border:1px solid var(--pm-hair) !important;border-radius:var(--pm-r) !important;background:var(--pm-paper);box-shadow:var(--pm-sh-1)}
.kd-card-dark{background:var(--pm-ink) !important;border-color:var(--pm-ink) !important}
.bl-card{padding:28px 26px !important;gap:10px}
.bl-title{line-height:1.22 !important;letter-spacing:-.01em}
.bl-desc{color:var(--pm-soft) !important;line-height:1.6 !important}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .kd-card,.bl-card,.kd-posts a,.kd-cab{transition:transform .4s var(--pm-ease),box-shadow .4s var(--pm-ease),border-color .4s !important}
  .kd-card:hover,.bl-card:hover,.kd-posts a:hover,.kd-cab:hover{transform:translateY(-4px) !important;box-shadow:var(--pm-sh-2) !important;border-color:var(--pm-gold-l) !important}
}
.kd-posts .kd-post-img{border-radius:var(--pm-r) var(--pm-r) 0 0}

/* ---------- Titres d'article ---------- */
.bl-h1-art{letter-spacing:-.025em !important;line-height:1.08 !important}
.bl-art .kd-crumb{font-size:13.5px}
.bl-art .bl-meta,.bl-art .kd-byline{color:var(--pm-soft)}

/* ---------- Corps de texte des articles ---------- */
.kd-article{color:var(--pm-text);font-size:17px;line-height:1.78;counter-reset:pmh2}
@media (min-width:1100px){.kd-article{font-size:18px}}
.kd-article p{margin:0 0 1.05em}
.kd-article > p,.kd-article > ul,.kd-article > ol{max-width:68ch}

/* Intertitres numérotés : repérage immédiat dans la page */
.kd-article > h2[id^="s"]{counter-increment:pmh2;position:relative;margin-top:72px;padding-top:28px;border-top:1px solid var(--pm-hair);letter-spacing:-.02em;scroll-margin-top:110px}
.kd-article > h2[id^="s"]::before{content:counter(pmh2,decimal-leading-zero);display:block;margin-bottom:10px;font-family:var(--kd-sans);font-size:12.5px;font-weight:600;letter-spacing:.18em;color:var(--pm-gold)}
.kd-article > h2#faq{margin-top:72px;padding-top:28px;border-top:1px solid var(--pm-hair);scroll-margin-top:110px}
.kd-article h3{position:relative;padding-left:16px;margin-top:36px;letter-spacing:-.005em}
.kd-article h3::before{content:"";position:absolute;left:0;top:.28em;bottom:.28em;width:3px;border-radius:3px;background:var(--pm-sage-l)}

/* Mots clés : surlignage doux pour la lecture en diagonale */
.kd-article p strong,.kd-article li strong{color:var(--pm-ink);font-weight:650;background:linear-gradient(transparent 62%,rgba(169,203,185,.38) 62%);padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Listes : puces fines, lignes aérées */
.kd-article > ul{list-style:none;padding-left:0}
.kd-article > ul > li{position:relative;padding-left:26px;margin-bottom:10px}
.kd-article > ul > li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--pm-sage);box-shadow:0 0 0 3px var(--pm-sage-50)}
.kd-article > ol{padding-left:0;list-style:none;counter-reset:pmol}
.kd-article > ol > li{position:relative;padding-left:40px;margin-bottom:12px;counter-increment:pmol}
.kd-article > ol > li::before{content:counter(pmol);position:absolute;left:0;top:.12em;width:26px;height:26px;border-radius:50%;background:var(--pm-ink);color:#fff;font-size:13px;font-weight:600;line-height:26px;text-align:center}

/* Liens dans le texte */
.kd-article p a,.kd-article li a{color:var(--pm-sage);text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(63,111,94,.45);transition:text-decoration-color .2s,color .2s}
.kd-article p a:hover,.kd-article li a:hover{color:var(--pm-ink);text-decoration-color:var(--pm-gold)}

/* ---------- « En bref » : l'essentiel au premier regard ---------- */
.kd-brief{position:relative;border-radius:var(--pm-r-l) !important;background:linear-gradient(135deg,#FFFFFF 0%,#F4F8F4 100%) !important;border:1px solid #DDE7DF !important;box-shadow:var(--pm-sh-1);overflow:hidden}
.kd-brief::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--pm-sage),var(--pm-sage-l))}
.kd-brief-dark{background:linear-gradient(135deg,#16304F 0%,#0F2340 100%) !important;border-color:#16304F !important}
.kd-brief p{text-align:left !important;-webkit-hyphens:manual;hyphens:manual;letter-spacing:-.005em}
.kd-article .kd-brief{padding:34px 36px 34px 40px;margin:28px 0 40px}
.kd-article .kd-brief p{font-size:21px;line-height:1.55;color:var(--pm-ink)}
@media (max-width:700px){
  .kd-article .kd-brief{padding:26px 22px 26px 26px}
  .kd-article .kd-brief p,.kd-brief p{font-size:18.5px !important;line-height:1.55}
}

/* « L'essentiel » des pages piliers */
.kd-essentiel{border-radius:var(--pm-r-l) !important;box-shadow:var(--pm-sh-2)}
.kd-essentiel li{line-height:1.6}

/* ---------- Sommaire ---------- */
.kd-article > .kd-toc{background:var(--pm-paper);border:1px solid var(--pm-hair) !important;border-radius:var(--pm-r) !important;padding:22px 26px !important;box-shadow:var(--pm-sh-1)}
.kd-toc ol{counter-reset:pmtoc;list-style:none;padding-left:0 !important}
.kd-toc li{counter-increment:pmtoc;position:relative;padding-left:34px}
.kd-toc li::before{content:counter(pmtoc,decimal-leading-zero);position:absolute;left:0;top:10px;font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--pm-gold)}
.kd-toc a{line-height:1.4;transition:color .2s}
.kd-toc a:hover{color:var(--pm-sage) !important}
.kd-toc-side li{border-left:1px solid var(--pm-hair);padding-left:44px;margin-left:0}
.kd-toc-side li::before{left:14px}
.kd-toc-side a[aria-current="true"]{color:var(--pm-ink) !important;font-weight:600}
.kd-toc-side li:has(a[aria-current="true"]){border-left:2px solid var(--pm-gold)}

/* ---------- Tableaux ---------- */
.kd-table-wrap{border-radius:var(--pm-r) !important;border:1px solid var(--pm-hair);box-shadow:var(--pm-sh-1);background:var(--pm-paper)}
.kd-table{font-size:15.5px !important;line-height:1.5}
.kd-table thead th{background:var(--pm-ink) !important;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:16px 20px !important}
.kd-table td,.kd-table th[scope=row]{padding:16px 20px !important;border-bottom:1px solid var(--pm-hair-2) !important;vertical-align:top}
.kd-table tbody tr:nth-child(even) td,.kd-table tbody tr:nth-child(even) th[scope=row]{background:#FBFAF7 !important}
.kd-table tbody tr:last-child td,.kd-table tbody tr:last-child th[scope=row]{border-bottom:0 !important}
.kd-table th[scope=row]{color:var(--pm-ink);font-weight:650}
.kd-table tbody td:first-child{color:var(--pm-ink);font-weight:600}
@media (hover:hover){.kd-table tbody tr:hover td,.kd-table tbody tr:hover th[scope=row]{background:var(--pm-sage-50) !important}}

/* ---------- Questions fréquentes : cartes dépliables ---------- */
.kd-faqs{display:flex;flex-direction:column;gap:12px}
.kd-faq{background:var(--pm-paper);border:1px solid var(--pm-hair) !important;border-radius:var(--pm-r) !important;padding:0 !important;box-shadow:var(--pm-sh-1);transition:border-color .3s,box-shadow .3s}
.kd-faq:last-child{border-bottom:1px solid var(--pm-hair) !important}
.kd-faq summary{padding:20px 64px 20px 24px !important;position:relative;font-size:17.5px !important;line-height:1.4;color:var(--pm-ink)}
.kd-faq summary::after{content:"" !important;position:absolute;right:20px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--pm-sage-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233F6F5E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;border:0 !important;flex:none;transform:none;transition:transform .35s var(--pm-ease),background-color .3s}
.kd-faq[open]{border-color:#D4E2D8 !important;box-shadow:var(--pm-sh-2)}
.kd-faq[open] summary::after{transform:rotate(45deg);background-color:#E3EDE5}
.kd-faq > p,.kd-faq > div,.kd-faq > ul{padding:0 24px;margin-top:0 !important}
.kd-faq > :last-child{padding-bottom:22px}
.kd-faq summary{list-style:none}

/* ---------- À lire aussi, références, auteur, appel ---------- */
.kd-related{border:1px solid var(--pm-hair);border-radius:var(--pm-r) !important;box-shadow:var(--pm-sh-1);padding:26px 30px !important}
.kd-related ul{list-style:none;padding-left:0 !important;margin:0}
.kd-related li{border-top:1px solid var(--pm-hair-2);margin:0 !important}
.kd-related li:first-child{border-top:0}
.kd-related li a{display:flex !important;justify-content:space-between;gap:16px;padding:12px 0 !important;text-decoration:none !important;color:var(--pm-ink) !important;font-weight:500}
.kd-related li a::after{content:"→";color:var(--pm-gold);transition:transform .3s var(--pm-ease)}
.kd-related li a:hover::after{transform:translateX(4px)}
.kd-article .kd-refs{padding-top:28px;border-top:1px solid var(--pm-hair)}
.kd-article .kd-refs ul{color:var(--pm-soft)}
.kd-author{border-radius:var(--pm-r) !important;border-color:var(--pm-hair) !important;box-shadow:var(--pm-sh-1)}
.kd-author-av{box-shadow:0 0 0 3px #fff,0 0 0 4px var(--pm-gold-l)}
.kd-art-cta{border-radius:var(--pm-r-l) !important;padding:32px 34px !important;background:radial-gradient(120% 140% at 100% 0%,#1C3A60 0%,#0F2340 60%) !important}

/* ---------- Figures et illustrations ---------- */
.kd-fig img,.kd-photo-figure img{border-radius:var(--pm-r)}
.kd-fig{background:var(--pm-paper);border:1px solid var(--pm-hair);border-radius:var(--pm-r-l);padding:18px;box-shadow:var(--pm-sh-1)}
.kd-fig figcaption{padding:14px 6px 2px;line-height:1.55}
.kd-fig-cat{letter-spacing:.14em}

/* ---------- Encadré latéral des pages piliers ---------- */
@media (min-width:1100px){.kd-side{position:sticky;top:120px;align-self:flex-start}}
.kd-aside-box{border-radius:var(--pm-r) !important;border:1px solid var(--pm-hair);box-shadow:var(--pm-sh-1)}
.kd-aside{border-radius:var(--pm-r) !important;box-shadow:var(--pm-sh-2)}

/* ---------- Liste des articles (blog) ---------- */
.bl-wrap input[type=search]{border-radius:999px !important;border:1px solid var(--pm-hair) !important;box-shadow:var(--pm-sh-1);padding-left:20px !important;min-height:52px;font-size:16px}
.bl-chip{transition:background-color .2s,border-color .2s,color .2s}

/* ---------- Pied de page ---------- */
.kd-footer{border-top:1px solid rgba(255,255,255,.06)}

/* ---------- Mobile : confort de lecture ---------- */
@media (max-width:700px){
  .kd-article{font-size:17px;line-height:1.72}
  .kd-article > h2[id^="s"],.kd-article > h2#faq{margin-top:52px;padding-top:22px}
  .kd-faq summary{padding:18px 58px 18px 18px !important;font-size:16.5px !important}
  .kd-faq > p,.kd-faq > div,.kd-faq > ul{padding:0 18px}
  .kd-related{padding:22px 20px !important}
  .kd-art-cta{padding:26px 22px !important}
  .kd-fig{padding:10px;border-radius:var(--pm-r)}
}

/* ---------- Impression ---------- */
@media print{
  .kd-util,.kd-header,.kd-mbar,.kd-footer,.kd-toc-col,.kd-art-cta,.kd-progress,.kd-lang-w{display:none !important}
  html,body,.kd-page{background:#fff !important}
  .kd-article{font-size:12pt;color:#000}
  .kd-faq{box-shadow:none;break-inside:avoid}
  .kd-article a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}

/* ---------- Accueil : héros plus compact, photo encadrée ---------- */
@media (min-width:900px){
  .kd-hero{padding-top:64px !important;padding-bottom:88px !important}
  .kd-hero-photo{max-width:500px !important;margin-left:auto !important}
  .kd-hero-photo img{aspect-ratio:4/4.6 !important;max-height:min(72vh,640px);border-radius:var(--pm-r-l) !important;box-shadow:0 40px 80px -48px rgba(15,35,64,.55)}
}
.kd-hero-photo figcaption{border-radius:var(--pm-r) !important;box-shadow:0 10px 30px -18px rgba(15,35,64,.4)}
.kd-hero .kd-lead p{color:var(--pm-text)}
.kd-trust li{color:var(--pm-soft)}
.kd-loc p{box-shadow:var(--pm-sh-1)}

/* Accès rapides et établissements */
.kd-quick a{transition:background-color .3s}
.kd-quick a:hover{background:var(--pm-sage-50)}
.kd-quick b{letter-spacing:-.01em}

/* Orientation (onglets) */
.kd-orient-tabs{gap:8px !important}
.kd-orient-tabs button{border-radius:999px !important;padding-inline:18px !important;min-height:44px;transition:background-color .25s,color .25s,border-color .25s}
.kd-orient-panel{border-radius:var(--pm-r-l) !important;border:1px solid var(--pm-hair) !important;background:linear-gradient(135deg,#FFFFFF,#F7F5EF) !important;box-shadow:var(--pm-sh-1)}
.kd-orient-panel li,.kd-orient-panel ol > *{border-radius:var(--pm-r-s) !important}

/* Auto-évaluation des symptômes et listes à puces encadrées */
.kd-check label{border-radius:var(--pm-r-s) !important;transition:border-color .2s,background-color .2s}
.kd-check label:hover{border-color:var(--pm-sage-l) !important}
.kd-check label:has(input:checked){background:var(--pm-sage-50) !important;border-color:var(--pm-sage) !important}
.kd-check-out{border-radius:var(--pm-r) !important}
.kd-bullets{border-radius:var(--pm-r) !important;overflow:hidden;border:1px solid var(--pm-hair);box-shadow:var(--pm-sh-1)}
.kd-steps li{border-radius:var(--pm-r) !important}
