/* ==========================================================================
   Legales · lectura cómoda (~70 caracteres por línea) e índice lateral fijo en escritorio
   ========================================================================== */
.lex { background: var(--paper); padding: var(--section-y) 0; }
.lex__in { row-gap: var(--s5); align-items: start; }

/* Índice */
.lex__aside { display: grid; gap: var(--s4); }
.lex__toc-h { color: var(--muted); margin-bottom: var(--s1); }
.lex__toc ol, .lex__docs ul { border-top: 2px solid var(--ink); }
.lex__toc a, .lex__docs a { position: relative; display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 0;
  border-bottom: var(--rule-light); text-decoration: none; font-size: .9375rem; font-weight: 600; line-height: 1.3; transition: color .3s, padding .45s var(--ease-out); }
.lex__toc a .num { flex: none; width: 1.6rem; font: 500 .75rem/1 var(--text); color: var(--bronze-deep); }
.lex__toc a:hover, .lex__docs a:hover { color: var(--bronze-deep); }
.lex__toc a[aria-current="true"] { padding-left: 14px; }
.lex__toc a[aria-current="true"]::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 4px; background: var(--bronze); }
.lex__docs a { font-weight: 500; color: var(--muted); }

/* Texto */
.lex__text { max-width: 68ch; font-size: 1.0625rem; line-height: 1.75; }
.lex__warn { padding: 14px 16px; font-size: .9375rem; line-height: 1.55;
  background: repeating-linear-gradient(-45deg, rgba(188, 77, 77, .08) 0 6px, transparent 6px 12px); outline: 1.5px dashed var(--red); outline-offset: -1.5px; }
.lex__sec { padding-top: var(--s5); scroll-margin-top: calc(var(--header-h) + var(--s3)); }
.lex__sec h2 { display: flex; align-items: baseline; gap: 14px; padding-bottom: var(--s2); margin-bottom: var(--s2); border-bottom: var(--rule-light);
  font-size: clamp(1.25rem, 4.6vw, 1.75rem); font-stretch: 112%; line-height: 1.05; letter-spacing: -.015em; }
.lex__sec h2 .num { flex: none; font: 500 .8125rem/1 var(--text); letter-spacing: .08em; color: var(--bronze-deep); }
.lex__sec p { color: #2f363c; }
.lex__sec p + p { margin-top: var(--s2); }
.lex__sec a, .lex__warn a { color: var(--bronze-deep); text-underline-offset: 3px; overflow-wrap: anywhere; }
.lex__back { margin-top: var(--s6); padding-top: var(--s3); border-top: 2px solid var(--ink); }

@media (max-width: 899px) {
  .lex__docs { display: none; }  /* los otros textos legales están en el pie de cada página */
  .lex__toc a { min-height: 44px; padding: 6px 0; font-size: .875rem; }
}
@media (min-width: 900px) {
  .lex__aside { grid-column: 1 / span 3; position: sticky; top: calc(var(--header-h) + var(--s5)); }
  .lex__text { grid-column: 5 / span 7; }
  .lex__sec { padding-top: var(--s6); }
}
