/* Pages légales : une colonne de lecture, des tableaux qui défilent seuls sur mobile. */
.legal { max-width: 820px; padding-block: 56px 80px; }
.legal h2 { font-size: clamp(22px, 2.4vw, 28px); margin-top: 48px; }
.legal h2 + p, .legal > p:not(.intro) { margin-top: 12px; color: var(--text-2); max-width: 70ch; }
.table { margin-top: 18px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.table th { text-align: left; font: 500 11.5px var(--mono); letter-spacing: .6px; text-transform: uppercase; color: var(--text-3); background: var(--raise); }
.table th, .table td { padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.table tr:last-child td { border-bottom: 0; }
.table td.mono { font-size: 13px; white-space: nowrap; }

.choice { margin-top: 32px; padding: 20px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--panel); }
.choice fieldset { border: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; }
.choice legend { font: 600 17px var(--display); margin-bottom: 10px; }
.choice label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.choice input { accent-color: var(--ink); width: 16px; height: 16px; }
.choice .current { margin-top: 12px; font-size: 14px; color: var(--text-3); }
.choice .btn { margin-top: 16px; cursor: pointer; }

.legal .updated { margin-top: 10px; font: 12px var(--mono); color: var(--text-3); }
.legal a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.legal ul { margin-top: 12px; padding-left: 20px; color: var(--text-2); max-width: 70ch; display: grid; gap: 8px; }
.legal ul strong { color: var(--text); font-weight: 600; }
.legal .table + p { margin-top: 16px; color: var(--text-2); max-width: 70ch; }

/* Fiches éditeur et hébergeur : libellé à gauche, valeur à droite ; empilés sur mobile. */
.facts { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); border: 1px solid var(--line); border-radius: 12px; background: var(--panel); overflow: hidden; }
.facts dt, .facts dd { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.facts dt { font: 500 11.5px/1.9 var(--mono); letter-spacing: .6px; text-transform: uppercase; color: var(--text-3); background: var(--raise); }
.facts dd { overflow-wrap: anywhere; }
.facts dt:nth-last-of-type(1), .facts dd:last-child { border-bottom: 0; }
@media (max-width: 600px) {
  .facts { grid-template-columns: minmax(0, 1fr); }
  .facts dt { border-bottom: 0; padding-bottom: 2px; }
  .facts dt:nth-last-of-type(1) { border-bottom: 0; }
}
