/* ============ Runnermania · páginas legales ============
   Reutiliza los tokens de styles.css (colores, tipografía). */

.legal-body{background:var(--paper);color:var(--text-dark)}
.legal-body .top{background:var(--ink)}
.legal-body footer{background:var(--paper);color:var(--muted-dark);border-top-color:var(--lav-2)}
.legal-body footer .legal a{color:var(--text-dark)}
.legal-body footer .legal a:hover{color:var(--purple)}
.legal-body footer .brand-full .on-dark{display:none}
.legal-body footer .brand-full .on-light{display:block}
.legal-body .switch a{color:var(--muted)}

.legal-hero{background:var(--ink);color:var(--paper);padding-block:44px 40px;border-bottom:1px solid var(--line)}
.legal-hero .eyebrow{color:var(--purple-hi)}
.legal-updated{color:var(--muted);font-size:15px;margin:14px 0 0}
.legal-updated strong{color:var(--paper);font-weight:600}

.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start;padding-block:48px clamp(56px,8vw,96px)}
@media (max-width:900px){.legal-layout{grid-template-columns:1fr;gap:28px}}

.legal-toc{position:sticky;top:calc(66px + env(safe-area-inset-top,0px) + 24px);max-height:calc(100vh - 120px);overflow-y:auto;border:1px solid var(--lav-2);border-radius:16px;background:#fff;padding:18px}
.legal-toc-label{font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple);display:block;margin-bottom:10px}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:none}
.legal-toc a{display:flex;gap:10px;align-items:baseline;text-decoration:none;color:var(--muted-dark);font-size:13.5px;line-height:1.4;padding:7px 8px;border-radius:8px}
.legal-toc a:hover{background:var(--lav);color:var(--text-dark)}
.legal-toc a span{font:700 11px/1 var(--mono);color:var(--purple);flex:none;min-width:16px}
@media (max-width:900px){.legal-toc{position:static;max-height:none}.legal-toc[open] summary{margin-bottom:12px}}

.legal-article{max-width:74ch;color:var(--text-dark)}
.legal-article h2{font:italic 800 clamp(24px,2.6vw,32px)/1.15 var(--display);text-transform:none;letter-spacing:0;margin:52px 0 16px;padding-top:8px;scroll-margin-top:90px;display:flex;gap:14px;align-items:baseline;color:var(--text-dark)}
.legal-article h2:first-child{margin-top:0}
.legal-article h2 .num{font:700 15px/1 var(--mono);color:var(--purple);flex:none}
.legal-article h3{font:700 17px/1.3 var(--body);margin:26px 0 8px;color:var(--text-dark)}
.legal-article p{margin:0 0 14px;color:var(--muted-dark);font-size:16px;line-height:1.7}
.legal-article ul{margin:0 0 16px;padding-left:20px;display:grid;gap:6px}
.legal-article li{color:var(--muted-dark);font-size:16px;line-height:1.6}
.legal-article p.sign{color:var(--text-dark);font-weight:700;margin-top:4px}
.legal-article .tbd{background:var(--lav);color:var(--purple);font:600 13px/1 var(--mono);padding:2px 6px;border-radius:5px;white-space:nowrap}
.legal-article a{color:var(--purple);text-decoration-thickness:1.5px}
