/* ruta-negocios.css — landings de ruta, biblioteca de herramientas y especializaciones
   de Lumbre Negocios (negocios.lumbre.lat).
   Una ruta es un recorrido, no un catálogo: la jerarquía va de la etapa al entregable y de ahí
   a los cursos. Sólo se carga en estas tres páginas; el resto del portal no cambia. */

/* ── cabecera ── */
.rn-hero { padding: 34px 0 26px; border-bottom: 1px solid var(--line); background: var(--surface); }
.rn-kicker { margin: 0 0 10px; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.rn-hero h1 { margin: 0 0 12px; font-size: clamp(1.7rem, 3.8vw, 2.6rem); line-height: 1.12; max-width: 24ch; }
.rn-lead { max-width: 66ch; margin: 0 0 18px; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.rn-stats { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--line); list-style: none; font-size: .84rem; color: var(--muted); }
.rn-stats b { display: block; font-size: 1.35rem; font-weight: 800; line-height: 1.1; color: var(--ink); font-variant-numeric: tabular-nums; }
.rn-entry, .rn-limits { max-width: 72ch; margin: 16px 0 0; font-size: .88rem; line-height: 1.55; }
.rn-limits { padding: 11px 14px; border-left: 3px solid var(--warm); background: var(--bg); color: var(--ink); border-radius: 0 6px 6px 0; }

/* ── bloques ── */
.rn-block { margin: 42px auto; }
.rn-sub { max-width: 70ch; margin: 6px 0 0; color: var(--muted); font-size: .94rem; line-height: 1.55; }
.rn-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0; }

/* ── selector de situaciones ── */
.rn-situaciones { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0 26px; margin: 20px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.rn-situaciones li { border-bottom: 1px solid var(--line); }
.rn-situaciones a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 4px; color: var(--ink); font-size: .93rem; text-decoration: none; }
.rn-situaciones a:hover, .rn-situaciones a:focus-visible { color: var(--accent); }

/* ── recorridos ── */
.rn-recorrido { padding: 26px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.rn-recorrido:first-of-type { border-top: 1px solid var(--line); }
.rn-recorrido h3 { margin: 0 0 6px; font-size: 1.2rem; }
.rn-recorrido header p { max-width: 72ch; margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.rn-rec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px 26px; margin: 20px 0 0; }
.rn-rec-item dt { margin: 0 0 4px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.rn-rec-item dd { margin: 0; font-size: .9rem; line-height: 1.6; }
.rn-rec-item dd ul { margin: 0; padding-left: 1.1em; }
.rn-rec-cursos { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.rn-rec-cursos h4 { margin: 0 0 8px; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.rn-rec-cursos ul { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; }
.rn-rec-cursos a { color: var(--ink); font-size: .9rem; text-decoration: none; }
.rn-rec-cursos a:hover, .rn-rec-cursos a:focus-visible { color: var(--accent); }
.rn-rec-cursos span { margin-left: 7px; font-size: .76rem; color: var(--muted); font-variant-numeric: tabular-nums; }

/* ── etapas ── */
.rn-stages { margin: 22px 0 0; padding: 0; list-style: none; counter-reset: rn; }
.rn-stage { padding: 22px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.rn-stage:first-child { border-top: 1px solid var(--line); }
.rn-stage-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; align-items: start; }
.rn-stage-num { grid-row: 1 / span 2; font-family: 'Literata', Georgia, serif; font-size: 1.5rem; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }
.rn-stage h3 { margin: 0; font-size: 1.08rem; line-height: 1.35; }
.rn-stage-desc { max-width: 72ch; margin: 4px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.rn-entregable { margin: 12px 0 0 56px; padding: 9px 13px; border-left: 3px solid var(--accent); background: var(--bg); border-radius: 0 6px 6px 0; font-size: .88rem; line-height: 1.5; }
.rn-entregable span { display: inline-block; margin-right: 8px; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.rn-stage-courses { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 14px 0 0 56px; padding: 0; list-style: none; }
.rn-stage-courses li { display: flex; align-items: baseline; gap: 8px; }
.rn-stage-courses a { color: var(--ink); font-size: .9rem; text-decoration: none; }
.rn-stage-courses a:hover, .rn-stage-courses a:focus-visible { color: var(--accent); }
.rn-stage-courses span { font-size: .76rem; color: var(--muted); font-variant-numeric: tabular-nums; }

/* ── herramientas ── */
.rn-tools { padding: 24px 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.rn-tools h2 { margin: 0 0 6px; font-size: 1.25rem; }
.rn-tools ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 20px; margin: 16px 0 14px; padding: 0; list-style: none; }
.rn-tools a { display: flex; align-items: baseline; gap: 9px; color: var(--ink); font-size: .89rem; text-decoration: none; }
.rn-tools a:hover, .rn-tools a:focus-visible { color: var(--accent); }
.rn-tool-num { font-family: 'Literata', Georgia, serif; font-size: .8rem; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }

.rn-tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; margin: 22px 0 0; padding: 0; list-style: none; counter-reset: rn; }
.rn-tool-card { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.rn-tool-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.rn-tool-head:hover, .rn-tool-head:focus-visible { color: var(--accent); }
.rn-tool-head strong { font-family: 'Literata', Georgia, serif; font-size: 1.02rem; line-height: 1.3; }
.rn-tool-para { margin: 0; font-size: .88rem; line-height: 1.55; }
.rn-tool-momento, .rn-tool-curso { margin: 0; font-size: .8rem; line-height: 1.5; color: var(--muted); }
.rn-tool-momento span, .rn-tool-curso span { display: inline-block; margin-right: 7px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

/* ── proyecto final ── */
.rn-final { padding: 26px 28px; border: 1px solid var(--line); border-left: 3px solid var(--warm); border-radius: 4px 12px 12px 4px; background: var(--surface); }
.rn-final h2 { margin: 0 0 8px; font-size: 1.3rem; }
.rn-final p { max-width: 76ch; margin: 0; font-size: .93rem; line-height: 1.65; }

/* ── especializaciones ── */
.rn-esp { padding: 26px 0; border-bottom: 1px solid var(--line); }
.rn-esp:first-of-type { border-top: 1px solid var(--line); }
.rn-esp-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 24px; }
.rn-esp-head h2 { margin: 0; font-size: 1.35rem; }
.rn-esp-perfil { max-width: 72ch; margin: 8px 0 0; color: var(--muted); font-size: .93rem; line-height: 1.55; }
.rn-esp-count { margin: 0; font-size: .8rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.rn-esp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 16px 26px; margin: 20px 0 0; }
.rn-esp-grid dt { margin: 0 0 4px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.rn-esp-grid dd { margin: 0; font-size: .89rem; line-height: 1.6; }
.rn-esp-riesgos { grid-column: 1 / -1; padding: 12px 14px; border-left: 3px solid var(--warm); background: var(--bg); border-radius: 0 6px 6px 0; }
.rn-esp-riesgos dt { color: var(--warm); }
.rn-esp-caso { grid-column: 1 / -1; }
.rn-esp-curriculum { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 6px 22px; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); list-style: none; }
.rn-esp-curriculum li { display: flex; align-items: baseline; gap: 9px; font-size: .88rem; }
.rn-esp-curriculum span { font-family: 'Literata', Georgia, serif; font-size: .78rem; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }
.rn-esp-go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 20px 0 0; }

/* ── cierre ── */
.rn-close { padding-top: 8px; border-top: 1px solid var(--line); }
.rn-close-lead { max-width: 66ch; margin: 0 0 14px; color: var(--muted); font-size: .94rem; }
.rn-empty { max-width: 60ch; color: var(--muted); }

@media (max-width: 720px) {
    .rn-block .section-heading { display: block; }
    .rn-block .section-heading .rn-sub { margin-top: 8px; }
}
@media (max-width: 640px) {
    .rn-hero { padding-top: 24px; }
    .rn-hero h1 { font-size: clamp(1.55rem, 6.4vw, 2rem); }
    .rn-stage-num { font-size: 1.2rem; }
    .rn-entregable, .rn-stage-courses { margin-left: 0; }
    .rn-tool-card { padding: 16px; }
}
