/* Páginas legales */
body.legal { scroll-snap-type: none; }
.doc { width: min(780px, 100% - 40px); margin: 0 auto; padding: 110px 0 48px; }
.doc h1 { font-size: clamp(30px, 4vw, 44px); margin-bottom: 18px; }
.doc h2 { font-size: 22px; margin: 34px 0 10px; scroll-margin-top: 90px; }
.doc p, .doc li { color: var(--text-muted); font-size: 17px; }
.doc p { margin: 0 0 12px; }
.doc ul, .doc ol { margin: 0 0 14px; padding-left: 22px; display: grid; gap: 6px; }
.doc strong { color: var(--text); }
.doc mark { background: rgba(242, 196, 109, .18); color: var(--warning); padding: 0 4px; border-radius: 4px; }
.borrador { border: 1px solid var(--warning); background: rgba(242, 196, 109, .08); border-radius: var(--r-md); padding: 14px 16px; margin-bottom: 22px; color: var(--text); font-size: 16px; }
.tabla { overflow-x: auto; margin: 0 0 16px; border: 1px solid var(--border); border-radius: var(--r-md); }
.tabla table { border-collapse: collapse; width: 100%; min-width: 520px; }
.tabla th, .tabla td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--border-soft); vertical-align: top; font-size: 16px; color: var(--text-muted); }
.tabla th { color: var(--text); background: var(--surface); }
.tabla tr:last-child td { border-bottom: 0; }
.legal .foot { margin-top: 24px; padding-bottom: 28px; }
