/* ═══════════════════════════════════════════════════════════════════
   curso.css · maquetación de un curso (capítulos + barra lateral).
   Solo la cargan las páginas de curso. Usa las variables del tema, así
   que hereda automáticamente el modo claro/oscuro y la paleta activa.
   ═══════════════════════════════════════════════════════════════════ */

.nl-curso{display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px;align-items:start;margin-top:6px}
@media(max-width:860px){.nl-curso{grid-template-columns:1fr}}

/* ── barra lateral (índice del curso) ── */
.nl-curso-side{position:sticky;top:84px;background:var(--nl-surface);border:1px solid var(--nl-line);
  border-radius:var(--nl-radius);overflow:hidden;max-height:calc(100vh - 104px);overflow-y:auto}
@media(max-width:860px){.nl-curso-side{position:static;max-height:none}}
.nl-curso-side-head{padding:14px 16px;border-bottom:1px solid var(--nl-line)}
.nl-curso-side-head b{display:block;font-family:var(--nl-display);font-size:1rem;line-height:1.2}
.nl-curso-side-head span{font-size:.74rem;color:var(--nl-muted)}
.nl-curso-tree{padding:8px 8px 14px;font-size:.88rem}
.nl-cap{margin:1px 0}
.nl-cap>.nl-cap-t{display:flex;gap:7px;align-items:center;width:100%;text-align:left;
  background:none;border:0;color:inherit;font:inherit;font-weight:600;padding:7px 9px;border-radius:8px;cursor:pointer}
.nl-cap>.nl-cap-t:hover{background:var(--nl-surface-2)}
.nl-cap-t.sub{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--nl-muted);font-weight:700;padding:10px 9px 3px}
.nl-caret{color:var(--nl-muted);font-size:.7rem;flex:none;transition:transform .15s}
@media(prefers-reduced-motion:reduce){.nl-caret{transition:none}}
.nl-cap.closed>.nl-cap-kids{display:none}
.nl-cap.closed .nl-caret{transform:rotate(-90deg)}
.nl-cap-kids{margin-left:9px;border-left:1px solid var(--nl-line);padding-left:8px;display:flex;flex-direction:column;gap:1px}
.nl-leaf{display:flex;gap:9px;align-items:center;padding:6px 9px;border-radius:7px;color:var(--nl-muted);text-decoration:none;line-height:1.3}
.nl-leaf:hover{background:var(--nl-surface-2);color:var(--nl-ink)}
.nl-leaf.on{background:color-mix(in srgb,var(--nl-accent) 16%,transparent);color:var(--nl-ink);font-weight:600}
.nl-leaf .dot{width:6px;height:6px;border-radius:50%;background:var(--nl-line);flex:none}
.nl-leaf.on .dot{background:var(--nl-accent)}

/* ── columna de contenido: reutiliza .nl-doc pero sin tope de ancho ── */
.nl-curso .nl-doc{max-width:none;margin:0}
.nl-curso-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--nl-accent);font-weight:700;margin-bottom:6px}

/* ── fichas (portada de curso o de capítulo) ── */
.nl-fichas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:20px 0}
.nl-ficha{display:block;text-decoration:none;color:inherit;background:var(--nl-surface);border:1px solid var(--nl-line);
  border-radius:var(--nl-radius);padding:16px}
.nl-ficha:hover{border-color:var(--nl-accent)}
.nl-ficha .k{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--nl-accent);font-weight:700}
.nl-ficha h3{font-family:var(--nl-display);font-size:1.05rem;margin:7px 0 4px}
.nl-ficha p{margin:0;font-size:.85rem;color:var(--nl-muted)}

/* ── anterior / siguiente ── */
.nl-prevnext{display:flex;justify-content:space-between;gap:14px;margin-top:30px;border-top:1px solid var(--nl-line);padding-top:18px}
.nl-pn{flex:1;max-width:49%;text-decoration:none;color:inherit;background:var(--nl-surface);border:1px solid var(--nl-line);
  border-radius:var(--nl-radius);padding:12px 15px}
.nl-pn:hover{border-color:var(--nl-accent)}
.nl-pn .k{font-size:.72rem;color:var(--nl-muted)}
.nl-pn .t{font-weight:700;margin-top:2px}
.nl-pn.sig{text-align:right;margin-left:auto}
