/* Pages légales du Système R.A.P.I.D.E. : complète style.css */
.lg-head { position: sticky; top: 0; z-index: 20; background: rgba(9, 9, 11, 0.86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.lg-head-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.lg-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 500; color: var(--muted); text-decoration: none; }
.lg-back:hover { color: var(--text); }
.legal { max-width: 820px; padding: 56px 0 96px; }
.legal h1 { margin: 0 0 12px; font-size: clamp(34px, 5.2vw, 54px); line-height: 1.04; letter-spacing: -0.045em; }
.legal .updated { margin: 0; font-size: 14px; color: var(--dim); }
.lg-lede { margin: 18px 0 0; font-size: 17px; line-height: 1.65; color: var(--muted); }
.foot a[aria-current="page"] { color: var(--text); }
.legal h2 { margin: 52px 0 12px; font-size: clamp(21px, 2.4vw, 25px); line-height: 1.25; letter-spacing: -0.025em; scroll-margin-top: 92px; }
.legal h2 .num { color: var(--o2); }
.legal h3 { margin: 26px 0 8px; font-size: 16.5px; letter-spacing: -0.01em; }
.legal p, .legal li { font-size: 15.5px; line-height: 1.75; color: #d8d5dc; }
.legal p { margin: 10px 0; }
.legal ul, .legal ol { margin: 10px 0; padding-left: 22px; }
.legal li { margin: 4px 0; }
.legal a { color: var(--o2); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal .lg-box { margin: 14px 0; padding: 16px 20px; border-radius: 16px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, 0.03); }
.legal .lg-box p { margin: 6px 0; }
.legal .form-model p { color: var(--muted); }
.toc { margin: 32px 0 8px; padding: 20px 24px; border-radius: 18px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.025); }
.toc > p { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dim); }
.toc ol { margin: 0; padding-left: 22px; columns: 2; column-gap: 32px; }
.toc li { margin: 3px 0; font-size: 14.5px; break-inside: avoid; }
.toc a { color: #d8d5dc; text-decoration: none; }
.toc a:hover { color: var(--o2); }
.table-wrap { margin: 16px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; }
.legal table { width: 100%; min-width: 640px; border-collapse: collapse; }
.legal th, .legal td { padding: 12px 14px; text-align: left; vertical-align: top; font-size: 14px; line-height: 1.55; color: #d8d5dc; border-bottom: 1px solid var(--line); }
.legal th { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dim); background: rgba(255, 255, 255, 0.03); }
.legal tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
  .legal { padding: 40px 0 72px; }
  .toc ol { columns: 1; }
  .lg-back { font-size: 13px; }
  .lg-head .brand small { display: none; }
  .table-wrap { overflow: visible; }
  .legal table, .legal tbody, .legal tr, .legal td { display: block; min-width: 0; }
  .legal thead { display: none; }
  .legal tr { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .legal tr:last-child { border-bottom: 0; }
  .legal td { padding: 3px 0; border: 0; }
  .legal td:first-child { padding-bottom: 6px; font-size: 15px; }
  .legal td[data-label]::before { content: attr(data-label); display: block; margin-top: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--dim); }
}
