/* Pages légales : lecture confortable, contrastes AA, impression propre. */
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: #fff; color: #0b1a2e; padding: 10px 14px; border-radius: 8px; font-weight: 700; }
.skip:focus { top: 12px; }
header.site.legal-top { position: static; background: var(--navy); backdrop-filter: none; -webkit-backdrop-filter: none; }
.legal-top .link { color: #dbe5f1; text-decoration: none; }
.legal-top .link:hover, .legal-top .link:focus-visible { color: #fff; text-decoration: underline; }
.legal { display: grid; grid-template-columns: 240px 1fr; gap: 40px; padding: 40px 0 24px; }
.legal:focus { outline: none; }
.legal-nav ul { list-style: none; margin: 0; padding: 0; position: sticky; top: 20px; display: grid; gap: 4px; }
.legal-nav a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--text); text-decoration: none; font-weight: 600; font-size: 0.92rem; }
.legal-nav a:hover, .legal-nav a:focus-visible { background: var(--accent); color: var(--brand-dark); }
.legal-nav a[aria-current="page"] { background: var(--navy); color: #fff; }
.legal article { max-width: 760px; line-height: 1.65; }
.legal h1 { font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.2; margin: 0 0 6px; }
.legal h2 { font-size: 1.2rem; margin: 34px 0 10px; scroll-margin-top: 20px; }
.legal .updated { color: var(--muted); margin: 0 0 22px; }
.legal .lead { font-size: 1.05rem; }
.legal a { color: var(--brand-dark); }
.legal ul { padding-left: 22px; }
.legal li { margin: 4px 0; }
.legal code { background: #eef1f5; padding: 1px 6px; border-radius: 5px; font-size: 0.9em; }
.legal .facts { display: grid; grid-template-columns: 220px 1fr; gap: 8px 18px; margin: 0; }
.legal .facts dt { font-weight: 700; }
.legal .facts dd { margin: 0; }
.table-wrap { overflow-x: auto; }
.legal table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.94rem; background: #fff; }
.legal caption { text-align: left; font-weight: 700; padding-bottom: 8px; }
.legal th, .legal td { border: 1px solid var(--border); padding: 9px 11px; text-align: left; vertical-align: top; }
.legal th { background: #eef3fa; }
/* Informations à compléter par l'éditeur : très visibles tant qu'elles ne sont pas remplacées. */
.todo { background: #fff3b0; color: #5c4400; padding: 1px 5px; border-radius: 4px; font-weight: 600; }
@media (max-width: 820px) {
  .legal { grid-template-columns: 1fr; gap: 18px; padding-top: 24px; }
  .legal-nav ul { position: static; display: flex; flex-wrap: wrap; }
  .legal .facts { grid-template-columns: 1fr; gap: 2px; }
  .legal .facts dd { margin-bottom: 10px; }
}
@media print { .legal-top, .legal-nav, footer { display: none; } .legal { display: block; } }
