/* Pages d'information (mentions légales, confidentialité, cookies, code de conduite, bénévoles).
   Même langage que l'accueil ; s'appuie sur css/home.css (variables, en-tête, pied de page, boutons). */
.page-body { background: var(--bg); min-height: 100vh; display: flex; flex-direction: column; }
.page-body > .foot { margin-top: auto; }
.top-back { display: inline-flex; align-self: center; }

.doc { width: min(860px, 100% - 2 * var(--gutter)); margin-inline: auto; padding: clamp(40px, 6vw, 84px) 0 clamp(56px, 8vw, 110px); }
.doc .eyebrow { margin-bottom: 18px; }
.doc h1 { font-size: clamp(2.4rem, 6vw, 4.4rem); font-weight: 900; line-height: 1.02; letter-spacing: -.03em; margin-bottom: 18px; }
.doc-meta { font: 400 .8rem/1.4 var(--mono); letter-spacing: .06em; color: var(--soft); margin-bottom: 44px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.doc .lead { font-size: 1.15rem; line-height: 1.7; color: var(--muted); max-width: 62ch; margin: 0 0 48px; }
.doc .lead strong { color: var(--text); }
.doc-body { display: grid; gap: 52px; }
.doc-body section { display: grid; gap: 0; }
.doc-body h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; line-height: 1.15; letter-spacing: -.015em; margin-bottom: 16px; padding-top: 22px; border-top: 1px solid var(--or); }
.doc-body h3 { font-size: 1.15rem; font-weight: 800; line-height: 1.25; margin-bottom: 8px; }
.doc-body p { color: var(--muted); margin: 0 0 14px; max-width: 70ch; }
.doc-body ul { display: grid; gap: 10px; margin: 0 0 8px; padding: 0; max-width: 70ch; }
.doc-body ul li { position: relative; padding-left: 26px; color: var(--muted); }
.doc-body ul li::before { content: ""; position: absolute; left: 4px; top: .72em; width: 10px; height: 2px; background: var(--or); }
.doc-body a:not(.btn) { color: var(--or-l); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.doc-body a:not(.btn):hover { color: var(--text); }
.doc-body strong { color: var(--text); }
.doc-body em { color: var(--text); }
.doc-body code { font-family: var(--mono); font-size: .86em; background: rgba(247, 242, 232, .07); padding: 2px 6px; }
.doc-body .mono { font-family: var(--mono); font-size: .92em; }
.doc-body .btn { margin: 6px 0 4px; }
.doc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.doc-card { padding: 24px 24px 8px; }
.doc-grid .doc-card:first-child { padding-left: 0; }
.doc-grid .doc-card + .doc-card { border-left: 1px solid var(--line); }
.doc-card p:last-child { margin-bottom: 0; }
.doc-body section.doc-card { padding: 0 0 8px; border: 0; }
.doc-body section.doc-card h2 { margin-bottom: 18px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line-2); background: var(--panel); }
.doc table { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 560px; }
.doc caption { caption-side: top; text-align: left; font: 400 .82rem/1.5 var(--mono); color: var(--muted); padding: 14px 16px; border-bottom: 1px solid var(--line); }
.doc th, .doc td { text-align: left; vertical-align: top; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--muted); }
.doc th { font: 600 .7rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--or-l); }
.doc tr:last-child td { border-bottom: 0; }

@media (max-width: 760px) {
  .doc-grid { grid-template-columns: minmax(0, 1fr); }
  .doc-card { padding: 22px 0; }
  .doc-grid .doc-card + .doc-card { border-left: 0; border-top: 1px solid var(--line); }
}
