/* =========================================================
   TEXTOS LEGALES · aviso legal, privacidad y cookies
   (usa los tokens de style.css y la base de tools.css)
   ========================================================= */
.legal-shell { max-width: 860px; }
.legal-updated { margin-top: 10px; font-size: 15px; color: var(--muted); }
.legal { padding: clamp(22px, 4vw, 40px); font-size: 17px; line-height: 1.7; color: var(--text-2); }
.legal h2 { font-family: var(--display); font-weight: 400; font-size: clamp(26px, 3vw, 32px); line-height: 1.1; letter-spacing: 2px; text-transform: uppercase; color: var(--sun); margin: 40px 0 12px; }
.legal h2:first-child { margin-top: 0; }
.legal p, .legal ul { margin-bottom: 14px; max-width: 70ch; }
.legal ul { list-style: disc; padding-left: 22px; }
.legal li { margin-bottom: 6px; }
.legal li::marker { color: var(--teal); }
.legal strong { color: var(--text); font-weight: 600; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal a:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; border-radius: 2px; }
.legal-data { margin: 0 0 18px; padding: 16px 20px; border-radius: 14px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--line); }
.legal-data p { margin: 4px 0; }
.legal mark { padding: 0 6px; border-radius: 4px; background: rgba(255, 176, 87, 0.18); color: var(--sun); }
.legal-table { overflow-x: auto; margin: 0 0 16px; }
.legal-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.legal-table th { font-family: var(--display); font-weight: 400; font-size: 17px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.legal-table code { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 14px; color: var(--text); }
