/* Pages de contenu (guides, procedures, outil). S'appuie sur app.css pour les
   couleurs, les polices et les boutons. Ici : une mise en page de lecture,
   sobre, pensee pour qu'on lise en entier et qu'on retrouve un passage. */

.page{max-width:760px;margin:0 auto;padding:118px var(--gutter) 40px}
.page--large{max-width:980px}

/* En-tete de page */
.kicker{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.page h1{font-weight:600;line-height:1.1;letter-spacing:-.03em;font-size:clamp(30px,4.4vw,48px);margin:0 0 20px;max-width:20ch}
.chapo{font-size:clamp(17px,1.7vw,19px);line-height:1.55;color:rgba(245,245,247,.86);margin:0 0 18px;max-width:62ch}
.signature-page{font-size:13px;color:var(--faint);margin:0 0 34px}
.signature-page a{color:var(--muted)}

/* Sommaire */
.sommaire{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:16px 0;margin:0 0 44px}
.sommaire p{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
.sommaire ol{margin:0;padding-left:20px;columns:2;column-gap:32px;font-size:15px;line-height:1.7}
.sommaire a{color:var(--muted);text-decoration:none}
.sommaire a:hover{color:var(--text)}
@media(max-width:620px){.sommaire ol{columns:1}}

/* Corps de texte */
.page h2{font-weight:600;line-height:1.2;letter-spacing:-.02em;font-size:clamp(22px,2.6vw,28px);margin:56px 0 14px;scroll-margin-top:90px}
.page h3{font-weight:600;line-height:1.3;letter-spacing:-.012em;font-size:18.5px;margin:30px 0 8px}
.page p,.page li{font-size:17px;line-height:1.65;color:rgba(245,245,247,.84)}
.page p{margin:0 0 16px}
.page ul,.page ol.liste{margin:0 0 18px;padding-left:22px}
.page li{margin-bottom:8px}
.page strong{color:var(--text);font-weight:600}
/* Liens du texte. Specificite basse (:where) : le sommaire, la signature,
   les fichiers et les boutons gardent leur propre style. */
:where(.page a:not(.btn)):any-link{color:#8fb6ff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(143,182,255,.4)}
:where(.page a:not(.btn)):any-link:hover{text-decoration-color:#8fb6ff}
.page code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:#1c1c21;padding:2px 6px;border-radius:4px;color:#d6d4dc;word-break:break-word}
.page pre{background:#0d0d10;border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;color:#cfcdd6;margin:0 0 20px}
.page pre code{background:none;padding:0;font-size:inherit}
.page .c{color:var(--faint)}

/* Encadres : un seul style, utilise rarement */
.encart{border-left:2px solid rgba(229,168,61,.65);background:rgba(229,168,61,.05);padding:16px 20px;border-radius:0 8px 8px 0;margin:4px 0 22px}
.encart p{margin:0 0 10px}.encart p:last-child{margin:0}

/* Tableaux */
.tableau{overflow-x:auto;margin:6px 0 22px;border:1px solid var(--line-soft);border-radius:10px}
.page table{width:100%;border-collapse:collapse;font-size:15px}
.page th{text-align:left;font-weight:600;color:var(--muted);font-size:13px;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.page td{padding:10px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top;line-height:1.5;color:rgba(245,245,247,.84)}
.page tr:last-child td{border-bottom:0}
.page td.m{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:#9ad9f5}
.page .ok{color:#6cc47f}.page .attn{color:#e5a83d}.page .ko{color:#e5484d}

/* Chiffres d'un cas reel */
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;margin:8px 0 22px}
.chiffres div{background:var(--bg);padding:16px 18px}
.chiffres b{display:block;font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}
.chiffres span{font-size:13px;color:var(--muted);line-height:1.4}

/* Telechargements */
.fichiers{display:grid;gap:12px;margin:6px 0 22px}
@media(min-width:640px){.fichiers{grid-template-columns:1fr 1fr}}
.fichiers a{display:block;border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .2s var(--ease),background .2s var(--ease)}
.fichiers a:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.03)}
.fichiers b{display:block;font-family:ui-monospace,Menlo,monospace;font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}
.fichiers span{font-size:14px;color:var(--muted);line-height:1.45}

/* Questions */
.faq{border-top:1px solid var(--line-soft);margin-top:8px}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{padding:18px 2px;cursor:pointer;font-size:17px;font-weight:500;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:10px;height:10px;flex:0 0 10px;border-right:1.8px solid var(--faint);border-bottom:1.8px solid var(--faint);transform:rotate(45deg) translateY(-3px);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq .rep{padding:0 2px 18px}

/* Appel a l'action, discret */
.suite{margin:48px 0 0;padding:22px 0 0;border-top:1px solid var(--line-soft);display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.suite p{margin:0 12px 0 0;font-size:15px;color:var(--muted)}

/* Pied de page commun */
.pied{padding:56px var(--gutter) 50px;text-align:center;border-top:1px solid var(--line-soft);margin-top:70px}
.pied .fine{font-size:12.5px;line-height:1.5;color:var(--muted);max-width:60ch;margin:0 auto}
.pied .sig{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0 12px}
.pied .sig .mark{display:inline-flex;align-items:center;gap:10px;font:600 24px/1 "AsaPro",var(--sans);letter-spacing:-.04em}
.pied .sig .mark svg{width:19px;height:19px;fill:none;stroke:var(--text);stroke-width:2.4;stroke-linecap:round}
.pied .sig .sep{width:1px;height:20px;background:var(--line)}
.pied .sig img{height:21px;opacity:.85}
.pied .liens{font-size:13px;color:var(--faint);margin-top:14px}
.pied .liens a{color:var(--muted);margin:0 8px}

/* En-tete sur telephone : le badge cede la place au bouton, qui sinon sort de l'ecran */
@media(max-width:430px){.nav .beta{display:none}}
