/* Documentos legales: lectura cómoda, una sola columna. */
.legal { max-width: 780px; padding-top: 56px; padding-bottom: 72px; }
.legal h1 { font-size: clamp(2rem, 5vw, 2.8rem); margin-bottom: 12px; }
.legal h2 { font-size: 1.35rem; margin: 40px 0 12px; scroll-margin-top: 84px; }
.legal h3 { font-size: 1.05rem; margin: 20px 0 8px; }
.legal p, .legal li { color: #2c3a4d; line-height: 1.65; }
.legal p { margin: 0 0 14px; }
.legal ul { padding-left: 22px; margin: 0 0 14px; }
.legal li { margin-bottom: 8px; }
.legal a { color: var(--verde-oscuro); }
.legal .vigencia { color: var(--suave); font-size: .95rem; }
.legal .falta { background: #fff3cd; color: #7a5200; padding: 0 5px; border-radius: 4px; font-weight: 600; }

.indice { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 6px 20px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: 20px 22px; margin: 26px 0 8px; }
.indice a { text-decoration: none; font-size: .95rem; padding: 3px 0; }
.indice a:hover { text-decoration: underline; }

.ficha { list-style: none; padding: 0 !important; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); }
.ficha li { display: grid; grid-template-columns: 220px 1fr; gap: 12px; padding: 12px 18px; margin: 0; border-bottom: 1px solid var(--linea); }
.ficha li:last-child { border-bottom: 0; }
.ficha span:first-child { color: var(--suave); }
@media (max-width: 560px) { .ficha li { grid-template-columns: 1fr; gap: 2px; } }

.pie a { color: #c3cedc; }
