/* Páginas legales: reutiliza variables, tipografías y componentes de styles.css */
.legal-header{background:rgba(255,255,255,.96);box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.legal-header .header-inner{justify-content:space-between}
.legal-back{min-height:44px}
.legal-main{padding:calc(var(--header) + 56px) 0 88px}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
.legal-aside{position:sticky;top:calc(var(--header) + 32px);display:grid;gap:24px;max-height:calc(100vh - var(--header) - 64px);overflow:auto}
.legal-docs{display:grid;gap:4px}
.legal-docs a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;color:var(--muted);font-weight:500;transition:background-color .3s,color .3s}
.legal-docs a:hover{background:var(--soft);color:var(--ink)}
.legal-docs a[aria-current="page"]{background:var(--soft);color:var(--ink);font-weight:600}
.legal-toc-title,.legal-toc summary{margin:0;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 14px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.legal-toc ol{list-style:none;margin:4px 0 0;padding:0 0 0 14px;display:grid;gap:2px;border-left:1px solid var(--line)}
.legal-toc a{display:block;padding:6px 10px;font-size:14px;line-height:1.4;color:var(--muted)}
.legal-toc a:hover{color:var(--ink)}
.legal-doc{max-width:760px;min-width:0}
.legal-doc h1{font-size:clamp(34px,5vw,52px);margin-bottom:12px}
.legal-updated{margin:0 0 40px;color:var(--faint);font-size:14px}
.legal-doc section{padding-top:8px;margin-top:40px;scroll-margin-top:calc(var(--header) + 24px)}
.legal-doc h2{font-size:clamp(21px,2.4vw,26px);margin-bottom:14px}
.legal-doc h3{font-size:17px;margin:22px 0 8px;letter-spacing:-.01em}
.legal-doc p,.legal-doc li{color:var(--text);font-size:16.5px;line-height:1.75}
.legal-doc p{margin:0 0 14px}
.legal-doc ul,.legal-doc ol{margin:0 0 16px;padding-left:22px;display:grid;gap:8px}
.legal-doc a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c4cad6;overflow-wrap:anywhere}
.legal-doc a:hover{text-decoration-color:var(--brand)}
.legal-note{margin:4px 0 18px;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:14px;background:var(--soft)}
.legal-note p:last-child{margin:0}
.legal-aaip{font-size:14.5px!important;color:var(--muted)!important;padding:16px 18px;border-radius:14px;border:1px solid var(--line)}
.legal-data{display:grid;gap:0;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.legal-data div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:12px 18px;border-top:1px solid var(--line)}
.legal-data div:first-child{border-top:0}
.legal-data dt{font-weight:600;color:var(--ink)}
.legal-data dd{margin:0;color:var(--text)}
.data-fiscal{display:inline-flex;align-items:center}
.footer-nav a[aria-current="page"]{color:var(--ink);font-weight:600}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media (max-width:900px){
  .legal-main{padding-top:calc(var(--header) + 32px)}
  .legal-layout{grid-template-columns:1fr;gap:28px}
  .legal-aside{position:static;max-height:none;overflow:visible;gap:16px}
  .legal-docs{display:flex;flex-wrap:wrap;gap:6px}
  .legal-docs a{border:1px solid var(--line);min-height:40px;font-size:14px}
  .legal-toc{border:1px solid var(--line);border-radius:14px;padding:4px 6px 10px}
  .legal-toc:not([open]){padding-bottom:4px}
}
@media (max-width:560px){
  .legal-data div{grid-template-columns:1fr;gap:2px}
  .legal-doc p,.legal-doc li{font-size:16px}
  .legal-back{padding-inline:16px;font-size:14px}
}
.legal-toc-mob{display:none}
@media (max-width:900px){.legal-toc-desk{display:none}.legal-toc-mob{display:block;margin:0 0 8px}}
.legal-form{margin:8px 0 18px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.legal-form[hidden]{display:none}
.legal-doc .form-result{margin:8px 0 18px}
.legal-doc .form-result h3{margin:0}
.legal-doc a.button{text-decoration:none;font-weight:600}
.legal-doc a.button.primary{color:#fff}
.legal-doc .form-note{text-align:left;font-size:13.5px;color:var(--faint);margin:0}
.legal-doc .form-error{margin:-2px 0 0}
@media (max-width:560px){.legal-form{padding:18px}}

.legal-steps{margin:0 0 16px;padding-left:22px;display:grid;gap:8px}
