/* Style partagé des pages légales Idonis (autonomes, sans dépendance à l'app). Rôles : /tokens.css. */
@import url("/tokens.css");
* { box-sizing:border-box; }
html { font-variant-numeric:tabular-nums; font-feature-settings:var(--num-features); }
body { margin:0; background:var(--surface-1); color:var(--text-primary); font:15px/1.6 var(--font-ui); }
a { color:var(--ink); }
.wrap { max-width:820px; margin:0 auto; padding:32px 22px 80px; }
header.lgh { display:flex; align-items:center; gap:10px; padding:14px 22px; border-bottom:1px solid var(--line);
             position:sticky; top:0; z-index:10; background:var(--surface-1); }   /* flottant */
header.lgh .brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
header.lgh img { width:26px; height:26px; }
header.lgh .wm { font-weight:800; font-size:19px; letter-spacing:-.02em; }
header.lgh .wm span { color:var(--ink); }
h1 { font-size:26px; letter-spacing:-.02em; margin:18px 0 4px; }
h2 { font-size:18px; margin:30px 0 8px; padding-top:8px; border-top:1px solid var(--line); }
h3 { font-size:15px; margin:18px 0 6px; }
.updated { color:var(--text-secondary); font-size:13px; margin-bottom:8px; }
.lead { color:var(--text-secondary); }
.note { background:var(--tint-ink); border:1px solid var(--ink); border-radius:10px; padding:12px 15px; margin:16px 0; font-size:14px; }
.warn { background:var(--tint-critical); border:1px solid var(--status-critical); border-radius:10px;
        padding:12px 15px; margin:16px 0; font-size:14px; }
.id { background:var(--surface-2); border:1px solid var(--line); border-radius:10px; padding:14px 16px; font-size:14px; }
.id b { color:var(--text-primary); }
ul { padding-left:20px; } li { margin:5px 0; }
.toc { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.toc a { background:var(--surface-2); border:1px solid var(--line); border-radius:20px; padding:7px 14px; font-size:13px; text-decoration:none; }
.toc a:hover { border-color:var(--ink); }
footer.lgf { border-top:1px solid var(--line); padding:22px; text-align:center; color:var(--text-secondary); font-size:12px; }
footer.lgf a { margin:0 8px; }
small.src { color:var(--text-secondary); }
/* fil d'Ariane + navigation entre les pages légales */
.lg-crumbs { font-size:13px; color:var(--text-secondary); margin:0 0 10px; } .lg-crumbs a { color:var(--text-secondary); }
.lg-nav { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 22px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.lg-nav a { font-size:13px; font-weight:600; text-decoration:none; color:var(--text-secondary); border:1px solid var(--line); border-radius:999px; padding:6px 13px; background:var(--surface-2); }
.lg-nav a:hover { border-color:var(--ink); color:var(--ink); }
.lg-nav a.on { background:var(--ink); color:var(--text-on-ink); border-color:var(--ink); }
/* tableaux d'inventaire (politique cookies) — défilement horizontal sur mobile */
.tbl { overflow-x:auto; margin:12px 0 16px; }
.tbl table { border-collapse:collapse; width:100%; font-size:13px; }
.tbl th, .tbl td { border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top; }
.tbl th { background:var(--surface-2); font-weight:600; }
.tbl code { font-size:12px; }
