/* Páginas legales (aviso legal y privacidad): se apoyan en styles.css */
.legal-head{background:var(--paper);border-bottom:1px solid var(--line);padding:56px 0 40px}
.legal-head h1{font-size:clamp(2rem,5vw,3rem)}
.legal-head .updated{color:var(--grey);margin:14px 0 0}
.legal-body{padding:48px 0 64px}
.legal-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:6px 22px;margin:16px 0 20px}
.legal-card dl{margin:0;display:grid;grid-template-columns:170px 1fr}
.legal-card dt,.legal-card dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.legal-card dt{color:var(--grey);font-weight:600}
.legal-card dt:last-of-type,.legal-card dd:last-of-type{border-bottom:0}
.legal-table-wrap{overflow-x:auto;margin:12px 0 20px;border:1px solid var(--line);border-radius:14px}
.legal-table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.5}
.legal-table th{text-align:left;background:var(--paper);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);padding:12px 16px}
.legal-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top;color:var(--grey)}
.legal-table td:first-child{color:var(--ink);font-weight:600;min-width:220px}
.legal-note{background:var(--ice);border-radius:14px;padding:16px 20px;color:var(--ink);margin:16px 0}
@media(max-width:700px){.legal-card dl{grid-template-columns:1fr}.legal-card dt{border-bottom:0;padding-bottom:0}}
@media(max-width:640px){
  .legal-table-wrap{border:0;overflow:visible}
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table td{display:block}
  .legal-table thead{display:none}
  .legal-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:4px 16px;background:var(--surface)}
  .legal-table td{border-top:0;padding:10px 0;min-width:0!important}
  .legal-table td+td{border-top:1px solid var(--line)}
  .legal-table td::before{content:attr(data-label);display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);margin-bottom:2px}
}
