/* Páginas legales: texto largo, cómodo de leer en el teléfono. */
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--font-body); line-height:1.6;}
.legal{max-width:720px; margin:0 auto; padding:28px 16px 64px;}
.legal-volver{display:inline-block; margin-bottom:18px; color:var(--primary-ink); font-weight:600; text-decoration:none;}
.legal h1{font-family:var(--font-display); font-size:30px; letter-spacing:-.02em; line-height:1.15; margin:0 0 6px;}
.legal .vigencia{color:var(--text-muted); font-size:13px; margin:0 0 26px;}
.legal h2{font-family:var(--font-display); font-size:19px; margin:30px 0 8px;}
.legal p, .legal li{font-size:15px; color:var(--text-muted);}
.legal strong{color:var(--text);}
.legal ul{padding-left:20px;}
.legal a{color:var(--primary-ink);}
.legal .caja{padding:14px 16px; border-radius:var(--r-md); background:var(--surface); border:1px solid var(--line); margin:16px 0;}
.legal form{display:flex; flex-direction:column; gap:12px; margin-top:12px;}
.legal label{display:flex; flex-direction:column; gap:4px; font-size:14px; color:var(--text);}
.legal input, .legal textarea, .legal select{
  font:inherit; font-size:16px; padding:12px; border-radius:var(--r-sm);
  border:1px solid var(--border-strong); background:var(--surface-2); color:var(--text);
}
.legal button{
  font:inherit; font-weight:700; font-size:16px; padding:14px; border:0; border-radius:var(--r-md);
  background:var(--primary); color:var(--on-primary); cursor:pointer;
}
.legal button:disabled{opacity:.6;}
.legal .msg{font-weight:600;}
.legal .msg.ok{color:var(--primary-ink);}
.legal .msg.mal{color:var(--danger-ink);}
