/* Bibliothèque de lecture Poste / Juste, dérivée des modules v2. */
.poste-e-head{padding:1rem 0}
.poste-ariane{padding:.35rem 0;font-size:.8rem;max-width:1200px}
.poste-ariane ol{margin:.3rem 0;gap:.25rem .5rem}
.poste-e-board{padding-top:.5rem}
.poste-texte{max-width:1060px;margin:0 auto;padding:28px 48px}
.poste-texte>p,.poste-texte>blockquote,.poste-texte>ul,.poste-texte>ol{max-width:76ch}
.poste-texte h1{font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.02;max-width:30ch;margin:.5rem 0 .7rem}
.poste-ouverture .poste-e-tag{font-size:.78rem;margin-bottom:.35rem}
.poste-ouverture .poste-e-meta{margin-bottom:.4rem}
.poste-ouverture .poste-e-btn{margin:.5rem 0 1rem}
.poste-chapeau{max-width:76ch}
.poste-chapeau p{margin-bottom:.7rem}
.poste-texte h2{font-size:clamp(1.65rem,2.3vw,2.25rem);margin-top:2rem;max-width:32ch}
.poste-texte h3{font-size:1.5rem}
.poste-bref{border-left:8px solid var(--e-yellow);background:var(--e-concrete);padding:1.3rem 1.5rem;margin:1.3rem 0}
.poste-bref h2{margin:0 0 .7rem;font-size:1.8rem}
.poste-bref ul{margin:0;padding-left:1.2rem;display:grid;gap:.5rem}
.poste-bref li{padding-left:.2rem}
.poste-sommaire{margin:1.2rem 0;padding:.8rem 1.2rem}
.poste-sommaire summary{min-height:32px}
.poste-sommaire nav{padding-top:.5rem}
.poste-checklist{border:1px solid var(--e-rule);background:var(--e-paper);margin:1.3rem 0;padding:.2rem 1rem}
.poste-checklist .poste-checklist{border:0;padding:0;margin:0}
.poste-checklist ul{list-style:none;padding:0;margin:.6rem 0}
.poste-checklist li{position:relative;padding:.75rem .25rem .75rem 1.8rem;border-bottom:1px solid var(--e-concrete)}
.poste-checklist li:last-child{border-bottom:0}
.poste-checklist li:before{content:"";position:absolute;left:.15rem;top:1.1rem;width:.7rem;height:.7rem;background:var(--e-yellow);border:1px solid var(--e-ink)}
.poste-tableau{overflow-x:auto;max-width:100%;margin:1.5rem 0;border:1px solid var(--e-rule)}
.poste-tableau table{border-collapse:collapse;width:100%;min-width:480px;font-size:1rem}
.poste-tableau th{background:var(--e-ink);color:var(--e-paper);text-align:left}
.poste-tableau th,.poste-tableau td{padding:.8rem 1rem;border-bottom:1px solid var(--e-rule);vertical-align:top}
.poste-tableau tr:nth-child(even){background:var(--e-concrete)}
.poste-photo-dossier{margin:1.5rem auto;max-width:760px}
.poste-photo-dossier img{display:block;width:100%;height:clamp(180px,24vw,320px);max-height:42vh;object-fit:cover}
.poste-photo-dossier figcaption{padding:.5rem 0;font-size:.85rem;color:var(--e-muted)}
.poste-appel{margin:2rem 0;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;background:var(--e-ink);color:var(--e-paper);border-left:8px solid var(--e-yellow);padding:1.4rem}
.poste-appel h2{margin:0 0 .6rem;font-size:1.8rem}
.poste-appel p{margin:0;max-width:50ch;font-size:1rem}
.poste-appel .poste-e-btn{flex-shrink:0;max-width:280px}
.poste-carte{margin:2rem 0;border-top:6px solid var(--e-yellow);background:var(--e-concrete);padding:1rem}
.poste-carte figcaption{font-weight:700;margin-bottom:1rem}
.poste-carte-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.poste-carte-grille>div{background:var(--e-paper);border:1px solid var(--e-rule);padding:1rem}
.poste-carte-titre{display:block;font-family:var(--e-head);line-height:1.05;margin:0 0 .6rem;font-size:1.5rem}
.poste-carte p{font-size:.95rem;line-height:1.55;margin:0}
.poste-etapes ol{list-style:none;counter-reset:poste-etape;padding:0;margin:1.4rem 0}
.poste-etapes li{counter-increment:poste-etape;border-left:3px solid var(--e-ink);background:var(--e-concrete);position:relative;padding:1rem 1rem 1rem 4rem;margin:.6rem 0}
.poste-etapes li:before{content:counter(poste-etape,decimal-leading-zero);position:absolute;left:1rem;top:.65rem;font:700 2rem var(--e-head);border-bottom:4px solid var(--e-yellow)}
/* Hauteur bornée sans comprimer le texte : les SVG conservent leur ratio. */
[data-schema]{max-width:760px;margin:1.5rem auto;padding:1rem}
[data-schema] svg,.poste-glissement svg,.correctifs-parcours svg{display:block;width:auto;max-width:100%;height:auto;max-height:65vh;margin:0 auto;min-width:0}
.poste-glissement{max-width:100%;overflow-x:auto}
[data-schema] figcaption{margin-top:.6rem;padding-top:.6rem;font-size:.85rem;line-height:1.45}
.poste-e-hero .poste-e-photo [data-cadre]{max-height:45vh;min-height:0;flex:none;aspect-ratio:auto!important}
.poste-e-hero .poste-e-photo img{height:45vh;object-fit:cover}
.poste-e-hero{margin-bottom:2.5rem}
.poste-e-intro{padding:2rem}
.poste-e-intro h1{font-size:clamp(2.6rem,4.4vw,5rem)}
.poste-e-note{margin:2rem 0;padding:1.5rem}
.poste-mobile-appel{display:none}
@media(max-width:710px){
  body{padding-bottom:74px;font-size:1rem}
  .poste-e-top{font-size:.65rem;padding:.3rem 1rem}
  .poste-e-head{padding:.6rem 0;gap:.45rem}
  .poste-e-brand img{width:160px;height:auto}
  .poste-e-nav{gap:.2rem .7rem;font-size:.8rem}
  .poste-e-nav a{padding:.3rem 0}
  .poste-e-nav .poste-e-btn{min-height:36px;padding:.35rem .6rem}
  .poste-ariane{font-size:.7rem;line-height:1.4;padding:.2rem 0}
  .poste-ariane li:last-child{max-width:100%}
  .poste-texte{padding:1rem;margin:0 auto}
  .poste-texte h1{font-size:2rem;line-height:1.02;margin:.3rem 0 .6rem}
  .poste-ouverture .poste-e-tag{font-size:.68rem}
  .poste-ouverture .poste-e-meta{font-size:.75rem}
  .poste-ouverture .poste-e-btn{font-size:.9rem;margin:.4rem 0 .8rem}
  .poste-bref{padding:1rem;margin:1rem 0}
  .poste-photo-dossier img{height:190px;max-height:35vh}
  .poste-appel{display:block;padding:1.1rem}
  .poste-appel .poste-e-btn{margin-top:1rem;max-width:100%}
  .poste-carte-grille{grid-template-columns:1fr;gap:.6rem}
  .poste-carte{padding:.75rem}
  .poste-carte-titre{display:block;font-family:var(--e-head);line-height:1.05;font-size:1.25rem}
  .poste-carte p{font-size:.85rem;line-height:1.45}
  .poste-carte-grille>div{padding:.65rem}
  [data-schema]{padding:.6rem}
  [data-schema] svg,.poste-glissement svg{width:auto;min-width:0;max-width:100%;max-height:62vh}
  .poste-indication{display:none}
  .poste-e-intro{padding:1.2rem}
  .poste-e-intro h1{font-size:2.4rem;line-height:1.02}
  .poste-e-hero .poste-e-photo img{height:230px;max-height:40vh}
  .poste-e-hero .poste-e-photo [data-cadre]{max-height:40vh}
  .poste-mobile-appel{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;align-items:center;background:var(--e-paper);border-top:1px solid var(--e-rule);padding:7px 16px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 10px #20262914}
  .poste-mobile-appel .poste-e-btn{font-size:.9rem;padding:.55rem 1rem;min-height:44px;width:100%;max-width:390px;text-align:center}
}

/* Vague 1 : navigation complète et ouverture compacte. */
.poste-e-head{gap:1rem;align-items:center}.poste-e-nav{flex-wrap:wrap;justify-content:flex-end;gap:.6rem 1rem}.poste-e-nav>a{font-size:.95rem}
.poste-e-hero .poste-e-intro h1{font-size:clamp(2.2rem,3.7vw,3.7rem);line-height:1.02}.poste-e-hero .poste-e-intro{padding:1.4rem}
.poste-e-hero{min-height:0}.poste-e-hero .poste-e-photo img{max-height:400px}.poste-piliers{margin:1.4rem 0}.poste-carte-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
.poste-texte .poste-ouverture h1{font-size:clamp(1.9rem,3vw,3rem)}.poste-texte .poste-ouverture{padding:0}.poste-ariane li[aria-current]{max-width:70ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.poste-texte table{display:block;max-width:100%;overflow-x:auto}.poste-texte th,.poste-texte td{min-width:150px}
@media(max-width:699px){.poste-e-head{align-items:flex-start;gap:.4rem}.poste-e-nav{gap:.3rem .6rem;justify-content:flex-start}.poste-e-nav>a{font-size:.82rem}.poste-e-brand img{width:190px;height:auto}.poste-e-hero .poste-e-intro h1{font-size:2.1rem}.poste-e-hero .poste-e-intro{padding:1rem}.poste-carte-grille{grid-template-columns:1fr}.poste-texte{padding:1rem}.poste-texte .poste-ouverture h1{font-size:1.9rem}.poste-ariane li[aria-current]{max-width:230px}.poste-e-hero .poste-e-photo img{max-height:230px}}

.poste-suite{border-left:3px solid var(--e-yellow);background:#f7f8f7;padding:.8rem 1rem;margin:1rem 0}.poste-suite p{margin:0}
.poste-e-hero .poste-e-photo{align-self:start;height:auto;min-height:0}.poste-e-hero .poste-e-intro h1{max-width:27ch;font-size:clamp(2.1rem,3vw,3.3rem)}.poste-e-hero .poste-e-intro p{max-width:60ch}
