/* Soja — fiches médicales : encyclopédie, premiers secours, symptômes, images (inc/modules/fiches.php). */

/* En-tête de fiche : titres longs */
.fiche-head h1{font-size:clamp(2.1rem,4.6vw,3.6rem);overflow-wrap:anywhere;hyphens:auto}
.fiche-head .byline{gap:10px 12px}

/* Intertitres de fiche : la partie (h2) porte une petite barre, le champ (h3) reste sobre */
.fiche .prose h2:not(.fiche-essentiel__title){position:relative;padding-top:18px}
.fiche .prose h2:not(.fiche-essentiel__title)::before{content:"";position:absolute;left:0;top:0;width:44px;height:4px;border-radius:4px;background:var(--sage)}
.fiche .prose h3{font-size:1.25rem}
.fiche .prose h2+h3{margin-top:1em}

/* L'essentiel */
.fiche-essentiel{background:var(--sage-l);border-radius:28px;padding:26px 30px;margin-bottom:2em}
.prose .fiche-essentiel__title{font-size:1.5rem;margin:0 0 12px;color:var(--sage-d)}
.fiche-essentiel__def{font-size:1.12rem;line-height:1.65}
.fiche-essentiel__def>*+*{margin-top:.8em}
.fiche-essentiel dl{display:grid;gap:0;margin:16px 0 0;padding:0}
.fiche-essentiel dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:10px 0;border-top:1px solid rgba(47,93,51,.15)}
.fiche-essentiel dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-d);padding-top:3px}
.fiche-essentiel dd{margin:0;font-size:.98rem;line-height:1.5;overflow-wrap:anywhere}
.fiche-essentiel dd a{border-bottom-color:rgba(47,93,51,.3)}
.prose .fiche-jumps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;font-size:.9rem}
.fiche-jumps span{font-weight:700;color:var(--sage-d);margin-right:4px}
.prose .fiche-jumps a{background:var(--cream);border:0;border-radius:999px;padding:6px 14px;font-weight:600;color:var(--sage-d);transition:.2s}
.prose .fiche-jumps a:hover{background:var(--sage-d);color:var(--cream)}

/* Image de fiche : taille naturelle, cadre crème */
.prose .fiche-figure{margin:0 0 2em;text-align:center}
.fiche-figure img{display:block;width:auto;max-width:100%;height:auto;max-height:520px;margin:0 auto;border-radius:24px;border:8px solid var(--cream);box-shadow:0 24px 50px -32px rgba(38,35,29,.45);object-fit:contain;background:var(--cream)}

/* Voir également : pastilles en grille */
.prose .fiche-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.prose .fiche-links li{padding:0;margin:0}
.prose .fiche-links li::before{display:none}
.prose .fiche-links a{display:flex;flex-direction:column;height:100%;background:var(--cream);border:0;border-radius:18px;padding:12px 16px;font-weight:600;font-size:.98rem;line-height:1.35;color:var(--ink);transition:.2s}
.prose .fiche-links a:hover{background:var(--sage-l);color:var(--sage-d)}
.fiche-links small{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra);margin-bottom:2px}

/* Vignettes d'images */
.fiche-gallery,.prose .fiche-gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.prose .fiche-gallery li{padding:0;margin:0}
.prose .fiche-gallery li::before{display:none}
.fiche-gallery a,.prose .fiche-gallery a{display:block;border:0;color:var(--ink)}
.fiche-gallery__img{display:grid;place-items:center;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--cream);padding:8px}
.fiche-gallery__img img{width:100%;height:100%;object-fit:contain;border-radius:12px;transition:transform .6s}
.fiche-gallery a:hover .fiche-gallery__img img{transform:scale(1.04)}
.fiche-gallery__img>span{font-family:var(--serif);font-size:3rem;color:var(--sage-d);opacity:.6}
.fiche-gallery__title{display:block;margin-top:8px;font-size:.9rem;font-weight:600;line-height:1.35}
.fiche-gallery a:hover .fiche-gallery__title{color:var(--sage-d)}
.prose .rtecenter{text-align:center}
.fiche-refs{font-size:.95rem;overflow-wrap:anywhere}
.fiche-refs>*+*{margin-top:.6em}

/* ==========================================================================
   Premiers secours
   ========================================================================== */
.fiche-alert{background:var(--terra);color:#fff;border-radius:28px;padding:26px 30px;margin-bottom:1.6em;box-shadow:0 24px 50px -30px rgba(200,100,59,.8)}
.fiche-alert__label{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.fiche-alert__label svg{flex:none}
.fiche-alert__text{font-family:var(--serif);font-size:1.45rem;line-height:1.3;margin-top:10px}
.fiche-alert__text>*+*{margin-top:.5em}
.prose .fiche-alert__text a,.prose .fiche-alert__text strong{color:#fff}
.prose .fiche-alert__text a{border-bottom-color:rgba(255,255,255,.5)}
.prose .fiche-numbers{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.prose .fiche-numbers li{padding:0;margin:0}
.prose .fiche-numbers li::before{display:none}
.prose .fiche-numbers a{display:flex;flex-direction:column;align-items:flex-start;height:100%;background:#fff;color:var(--ink);border:0;border-radius:18px;padding:10px 14px;transition:.2s}
.prose .fiche-numbers a:hover{background:var(--terra-l)}
.fiche-numbers b{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;color:var(--terra)}
.fiche-numbers small{font-size:.76rem;line-height:1.3;color:var(--muted)}

.fiche-todo{background:var(--cream);border:2px solid var(--terra);border-radius:28px;padding:26px 30px;margin-bottom:1.6em}
.prose .fiche-todo__title{font-size:clamp(1.6rem,3vw,2rem);margin:0 0 .6em;color:var(--terra);padding:0}
.prose .fiche-todo__title::before{display:none}
.fiche-todo>*+*,.fiche-todo__body>*+*{margin-top:1em}
.fiche-todo--isolated{border-color:var(--plum)}
.prose .fiche-todo--isolated .fiche-todo__title{color:var(--plum)}

/* Étapes numérotées */
.prose .fiche-steps{list-style:none;padding:0;counter-reset:step;display:flex;flex-direction:column;gap:12px}
.prose .fiche-steps>li{counter-increment:step;position:relative;padding:4px 0 0 52px;min-height:38px;margin:0}
.prose .fiche-steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1rem;line-height:1}
.prose .fiche-steps>li::marker{content:none}
.prose .fiche-donts-title{font-weight:700;color:#9b3c1c}
.prose .fiche-donts{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.prose .fiche-donts>li{position:relative;padding-left:34px;margin:0}
.prose .fiche-donts>li::before{content:"✕";position:absolute;left:0;top:.15em;width:24px;height:24px;border-radius:50%;background:var(--terra-l);color:#9b3c1c;display:grid;place-items:center;font-size:.75rem;font-weight:700}

/* ==========================================================================
   Symptômes
   ========================================================================== */
.fiche-chips,.prose .fiche-chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.prose .fiche-chips li{padding:0;margin:0}
.prose .fiche-chips li::before{display:none}
.fiche-chips a,.fiche-chips span,.prose .fiche-chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:999px;background:var(--cream);border:1px solid var(--sand-2);font-size:.92rem;font-weight:600;line-height:1.3;color:var(--ink);transition:.2s}
.fiche-chips a:hover,.prose .fiche-chips a:hover{background:var(--sage-d);border-color:var(--sage-d);color:var(--cream)}
.fiche-chips .is-current{background:var(--sage-d);border-color:var(--sage-d);color:var(--cream)}
.fiche-chips small{font-weight:400;opacity:.7}

.fiche-symptom{background:var(--cream);border-radius:28px;padding:24px 28px;margin-bottom:2em;display:grid;gap:18px}
.fiche-symptom dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-d);margin-bottom:8px}
.fiche-symptom dd{margin:0}
.prose .fiche-pathos{columns:2 240px;column-gap:28px;display:block}
.prose .fiche-pathos li{break-inside:avoid;margin:0 0 10px}

/* Index A–Z */
.fiche-az-nav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:12px 0;margin:0 auto 32px;background:var(--sand)}
.fiche-az-nav a{min-width:38px;height:38px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:var(--cream);font-weight:700;font-size:.9rem;transition:.2s}
.fiche-az-nav a:hover{background:var(--sage-d);color:var(--cream)}
.fiche-zones{margin:0 auto 40px;max-width:980px;justify-content:center}
.fiche-az{columns:3 280px;column-gap:24px;padding-bottom:72px}
.fiche-az section{break-inside:avoid;margin-bottom:24px;background:var(--cream);border-radius:28px;padding:22px 26px;scroll-margin-top:72px}
.fiche-az h2{font-size:2.2rem;color:var(--terra);margin-bottom:8px}
.fiche-az ul{list-style:none;padding:0;margin:0}
.fiche-az li a{display:block;padding:6px 0;border-bottom:1px solid var(--sand-2);font-size:.95rem;line-height:1.4}
.fiche-az li:last-child a{border:0}
.fiche-az li a:hover{color:var(--sage-d)}

/* ==========================================================================
   Listes de fiches (encyclopédie) et galeries d'images
   ========================================================================== */
.fiche-list{list-style:none;padding:0;margin:28px 0 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fiche-list a{position:relative;display:block;height:100%;padding:22px 44px 22px 24px;background:rgba(255,250,242,.55);border:1px solid var(--sand-2);border-radius:22px;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.fiche-list a:hover,.fiche-list a:focus-visible{background:var(--cream);border-color:var(--sage-l);transform:translateY(-2px);box-shadow:0 18px 34px -24px rgba(38,35,29,.35)}
.fiche-list a::after{content:"→";position:absolute;right:20px;top:23px;color:var(--terra);opacity:0;transform:translateX(-6px);transition:.2s}
.fiche-list a:hover::after,.fiche-list a:focus-visible::after{opacity:1;transform:none}
.fiche-list a:hover b{color:var(--sage-d)}
.fiche-list b{display:block;font-family:var(--serif);font-weight:400;font-size:1.22rem;line-height:1.25;overflow-wrap:anywhere;transition:color .2s}
.fiche-list span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;color:var(--muted);font-size:.9rem;line-height:1.55}

/* Barre A–Z (reste visible au défilement) et lettrine */
.az-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:-12px auto 48px;padding:12px 8px;background:rgba(246,240,230,.92);backdrop-filter:blur(8px);border-radius:0 0 24px 24px;max-width:1240px}
.az-bar a,.az-bar span{min-width:36px;height:36px;padding:0 7px;border-radius:999px;display:grid;place-items:center;font-weight:600;font-size:.92rem}
.az-bar a{background:var(--cream);color:var(--ink);transition:.2s}
.az-bar a:hover{background:var(--sage-l);color:var(--sage-d)}
.az-bar a[aria-current]{background:var(--sage-d);color:var(--cream)}
.az-bar span{color:#cbbfa8}
.az-head{display:flex;align-items:center;gap:24px;margin:0 0 12px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.az-head__letter{font-family:var(--serif);font-size:5.5rem;line-height:.8;color:var(--terra)}
.az-head p{margin:0;font-weight:600}
.az-head small{font-weight:400;color:var(--muted);font-size:.88rem}
.fiche-range{text-align:center;color:var(--muted);font-size:.92rem;margin:-30px 0 28px}

.fiche-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:24px}

/* Image seule */
.fiche-image{margin:0 auto 40px;max-width:1080px;text-align:center}
.fiche-image a{display:inline-block;max-width:100%}
.fiche-image img{display:block;width:auto;max-width:100%;height:auto;max-height:80vh;margin:0 auto;border-radius:28px;border:10px solid var(--cream);background:var(--cream);box-shadow:0 30px 60px -34px rgba(38,35,29,.45);object-fit:contain}
.fiche-image figcaption{color:var(--muted);font-size:.88rem;margin-top:12px}
.fiche-pager{display:flex;justify-content:space-between;gap:12px;margin-top:2.4em}
.prose .fiche-pager a{flex:1;max-width:48%;background:var(--cream);border:0;border-radius:20px;padding:14px 18px;font-size:.92rem;line-height:1.4;color:var(--ink)}
.prose .fiche-pager a:hover{background:var(--sage-l)}
.fiche-pager small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
.fiche-pager .next{margin-left:auto;text-align:right}
.fiche-more{padding-bottom:72px}

@media (max-width:980px){
  .fiche-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fiche-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .prose .fiche-numbers{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .fiche-essentiel,.fiche-alert,.fiche-todo,.fiche-symptom{padding:20px;border-radius:22px}
  .fiche-essentiel dl div{grid-template-columns:1fr;gap:2px}
  .fiche-alert__text{font-size:1.2rem}
  .fiche-list{grid-template-columns:1fr}
  .fiche-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .fiche-gallery,.prose .fiche-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fiche-az-nav{gap:4px}
  .fiche-az-nav a{min-width:32px;height:32px;font-size:.82rem}
  .fiche-zones{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin:0 -16px 28px;padding:2px 16px 8px;scrollbar-width:none}
  .fiche-zones::-webkit-scrollbar{display:none}
  .fiche-zones li{flex:none}
  .fiche-pager{flex-direction:column}
  .prose .fiche-pager a{max-width:none}
  .fiche-image img{border-width:6px;border-radius:20px}
}

@media (max-width:980px){.fiche-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (max-width:600px){
  .fiche-list{grid-template-columns:1fr;gap:12px}
  .fiche-list a{padding:18px 40px 18px 20px}
  .az-bar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;margin-left:-22px;margin-right:-22px;border-radius:0;padding:10px 16px}
  .az-bar::-webkit-scrollbar{display:none}
  .az-bar a,.az-bar span{flex:none}
  .az-head__letter{font-size:4rem}
}
