/* Página legal: lectura cómoda, índice accesible y adaptación a móvil. */
.legal-body {margin:0; background:#f8f8f3; color:#244236; font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.legal-header {max-width:1240px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #dfe6db}
.legal-brand {display:flex; align-items:center; gap:14px; text-decoration:none; color:#365944; font-size:23px; font-weight:750; letter-spacing:-.8px}
.legal-brand img {object-fit:contain}
.legal-brand small {display:block; font-size:9px; letter-spacing:2px; margin-top:5px}
.legal-back {padding:12px 18px; border:1px solid #d1ddca; border-radius:12px; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap}
.legal-page {max-width:1200px; margin:auto; padding:0 32px 80px}
.legal-hero {padding:64px 0 36px; max-width:850px}
.legal-eyebrow {display:block; font-size:11px; letter-spacing:2px; font-weight:700; color:#5c775c}
.legal-hero h1 {font-size:clamp(34px,4.3vw,58px); line-height:1.12; letter-spacing:-2px; margin:22px 0}
.legal-hero h1 em {font-family:Georgia,serif; color:#7b9474; font-weight:400}
.legal-hero > p {max-width:600px; font-size:17px; line-height:1.8; margin:0 0 20px; text-align:left; hyphens:none}
.legal-date {font-size:12px; color:#617363; display:inline-block; padding:8px 13px; border-radius:20px; background:#eaf0e4}
.legal-pending {padding:18px 22px; border:1px solid #eadcc0; border-left:4px solid #b28d49; border-radius:12px; background:#fffaf0; color:#705e3d; font-size:14px; line-height:1.7; margin:0 0 40px; text-align:left; hyphens:none}
.legal-layout {display:grid; grid-template-columns:255px minmax(0,1fr); gap:40px; align-items:start}
.legal-menu {position:sticky; top:24px; display:flex; flex-direction:column; gap:8px; padding:16px 0}
.legal-menu > .legal-eyebrow {margin:0 14px 12px}
.legal-menu > a {display:flex; gap:12px; padding:14px; border-radius:12px; text-decoration:none; font-size:14px; line-height:1.5; font-weight:600; border:1px solid transparent; transition:background .15s}
.legal-menu > a span {color:#85997b; font-size:12px; padding-top:2px}
.legal-menu > a:hover, .legal-menu > a:focus-visible {background:#eaf0e4; border-color:#d2dec9}
.legal-help {margin-top:20px; padding:22px 18px; background:#eaf0e4; border-radius:16px; font-size:14px}
.legal-help p {margin:8px 0 16px; font-size:13px; text-align:left}
.legal-help a {font-weight:600; text-underline-offset:5px}
.legal-content {min-width:0; counter-reset:legal-section}
.legal-content section {counter-increment:legal-section; background:#fff; border:1px solid #dfe6d9; border-radius:22px; padding:34px 38px; margin:0 0 24px; scroll-margin-top:24px; box-shadow:0 8px 32px #23402e04}
.legal-content h2 {font-size:27px; letter-spacing:-.7px; margin:0 0 24px; display:flex; align-items:center; gap:14px; line-height:1.3}
.legal-content h2::before {content:"0" counter(legal-section); display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:12px; background:#edf2e7; color:#6b8661; font-size:13px; letter-spacing:0}
.legal-content p {font-size:15px; line-height:1.9; margin:0 0 20px; text-align:left; hyphens:none; overflow-wrap:anywhere; color:#52665b}
.legal-content p:last-child {margin-bottom:0}
.legal-content strong {color:#244236; font-weight:650}
.legal-content a {color:#315d47; text-decoration:underline; text-underline-offset:3px}
.legal-body a:focus-visible {outline:3px solid #8ca77b; outline-offset:4px}
.legal-footer {border-top:1px solid #dfe6db; padding:28px 32px; display:flex; justify-content:space-between; gap:16px; max-width:1200px; margin:auto; font-weight:700; font-size:13px}
.legal-footer span {font-weight:400; color:#617363}
@media(max-width:800px) {
  .legal-layout {grid-template-columns:1fr; gap:22px}
  .legal-menu {position:static; display:grid; grid-template-columns:1fr 1fr; padding:0}
  .legal-menu > .legal-eyebrow {grid-column:1/-1}
  .legal-menu > a {background:#edf2e7; font-size:13px}
  .legal-help {display:none}
  .legal-hero {padding-top:40px}
}
@media(max-width:480px) {
  .legal-header {padding:18px 20px; flex-wrap:wrap}
  .legal-brand {font-size:19px}
  .legal-brand img {width:48px; height:48px}
  .legal-back {padding:9px 12px; font-size:13px}
  .legal-page {padding:0 20px 40px}
  .legal-hero h1 {letter-spacing:-1.2px}
  .legal-content section {padding:24px 20px; border-radius:18px}
  .legal-content h2 {font-size:23px}
  .legal-content p {font-size:15px; line-height:1.8}
  .legal-menu > a {padding:12px 10px; gap:8px}
  .legal-footer {padding:24px 20px; flex-direction:column}
}
@media print {
  .legal-menu,.legal-header,.legal-footer {display:none}
  .legal-layout {display:block}
  .legal-content section {box-shadow:none; break-inside:avoid}
}
