/* ─── Pages de texte (mentions, politiques, CGU, article, 404) — VK Invest ───
   S'appuie sur site.css (couleurs, menu, pied de page). */

/* ─── CONTENU ─── */
main.legal { max-width: 820px; margin: 0 auto; padding: clamp(124px, 14vw, 172px) 32px 84px; }
.legal-eyebrow {
  display: inline-flex; align-items: center; gap: 9px; font-size: 12.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faint);
  margin-bottom: 16px;
}
.legal-eyebrow::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
main.legal h1 {
  font-family: var(--sans); font-weight: 700; font-size: clamp(32px, 4.8vw, 54px);
  line-height: 1.03; letter-spacing: -0.032em; margin: 0 0 14px;
}
.legal-updated { color: var(--ink-faint); font-size: 14px; margin: 0 0 4px; }

main.legal h2 {
  font-family: var(--sans); font-weight: 600; font-size: 23px; line-height: 1.2; letter-spacing: -0.02em;
  margin: 48px 0 14px; scroll-margin-top: 100px;
}
main.legal h3 { font-family: var(--sans); font-weight: 600; font-size: 17px; letter-spacing: -0.01em; margin: 28px 0 8px; }
main.legal p, main.legal li, main.legal dd, main.legal dt { font-size: 15px; line-height: 1.7; color: var(--ink-soft); }
main.legal p { margin: 0 0 14px; }
main.legal ul, main.legal ol { padding-left: 22px; margin: 0 0 16px; }
main.legal li { margin-bottom: 7px; }
main.legal li::marker { color: var(--ink-faint); }
main.legal strong { color: #fff; font-weight: 600; }
main.legal a { color: var(--red-lit); text-underline-offset: 3px; }
main.legal a:hover { text-decoration: underline; }

main.legal .legal-toc {
  background: var(--glass); border: 1px solid var(--hair);
  border-radius: 18px; padding: 24px 28px; margin: 34px 0 8px;
}
main.legal .legal-toc h2 {
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink-faint); margin: 0 0 14px;
}
main.legal .legal-toc ol { margin: 0; padding-left: 20px; }
main.legal .legal-toc li { margin-bottom: 7px; font-size: 14.5px; }
main.legal .legal-toc li:last-child { margin-bottom: 0; }
main.legal .legal-toc a { color: rgba(255, 255, 255, 0.88); }
main.legal .legal-toc a:hover { color: var(--red-lit); text-decoration: none; }

.legal-box {
  background: var(--glass); border: 1px solid var(--hair);
  border-radius: 18px; padding: 22px 26px; margin: 22px 0;
}
.legal-box > :first-child { margin-top: 0; }
.legal-box > :last-child { margin-bottom: 0; }
.legal-box .kv { display: grid; grid-template-columns: 210px 1fr; gap: 8px 18px; }
.legal-box .kv dt { color: var(--ink-faint); font-size: 14.5px; }
.legal-box .kv dd { margin: 0; color: #fff; font-weight: 500; font-size: 14.5px; }

.legal-note {
  border-left: 3px solid var(--red); background: rgba(200, 25, 42, 0.09);
  padding: 15px 20px; border-radius: 0 12px 12px 0; margin: 22px 0;
  font-size: 14px; line-height: 1.65; color: var(--ink-soft);
}
main.legal p.legal-note, .legal-note p { font-size: 14px; line-height: 1.65; }
.legal-note > :last-child { margin-bottom: 0; }
.legal-note strong { color: #fff; }
.legal-note a { color: var(--red-lit); }

.legal-table-wrap { overflow-x: auto; margin: 18px 0; border: 1px solid var(--hair); border-radius: 14px; }
table.legal { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
table.legal th, table.legal td { padding: 12px 15px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hair-soft); color: var(--ink-soft); line-height: 1.55; }
table.legal tr:last-child td { border-bottom: 0; }
table.legal th { background: rgba(255, 255, 255, 0.05); color: #fff; font-weight: 600; font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; }
table.legal td:first-child { color: #fff; font-weight: 500; }

@media (max-width: 600px) {
  main.legal { padding-left: 20px; padding-right: 20px; padding-bottom: 60px; }
  .legal-box { padding: 20px; }
  .legal-box .kv { grid-template-columns: 1fr; gap: 2px 0; }
  .legal-box .kv dt { margin-top: 10px; }
  .legal-box .kv dt:first-child { margin-top: 0; }
}
