.cursos-wrap { max-width: 900px; margin: 0 auto; padding: 40px 28px 56px; }
.cursos-header { text-align: center; margin-bottom: 28px; }
.curso-card {
  border: 1px solid var(--border); border-radius: 10px; padding: 20px;
  background: var(--surface); display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px;
  text-decoration: none; color: inherit;
}
.curso-card.featured { border: 1.5px solid var(--wine); background: var(--wine-tint); position: relative; }
.curso-card .featured-badge { position: absolute; top: -10px; left: 16px; background: var(--wine); color: var(--cream-text); font-size: 10px; font-weight: 500; padding: 3px 10px; border-radius: 4px; }
.curso-icon { width: 70px; height: 70px; border-radius: 8px; background: var(--placeholder-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.curso-icon i { font-size: 26px; color: var(--placeholder-icon); }
.curso-info { flex: 1; min-width: 180px; }
.curso-info .title { font-family: var(--font-voice); font-size: 16px; color: var(--text-primary); margin-bottom: 4px; }
.curso-info .desc { font-size: 12px; color: var(--text-secondary); line-height: 1.5; margin-bottom: 8px; }
.curso-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.curso-meta .modulos { font-size: 11px; color: var(--text-muted); }
.curso-meta .price { font-size: 14px; font-weight: 500; color: var(--text-primary); }

.curso-detalle-header { max-width: 720px; margin: 0 auto; padding: 40px 28px 8px; }
.curso-detalle-header .stats { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.curso-detalle-header .stats span { font-size: 11.5px; color: var(--text-muted); }
.curso-detalle-header .price-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.curso-detalle-header .price { font-family: var(--font-voice); font-size: 22px; color: var(--text-primary); }
.temario-wrap { max-width: 720px; margin: 0 auto; padding: 0 28px 56px; }
.modulo-row { display: flex; gap: 12px; border: 1px solid var(--border); border-radius: 8px; padding: 14px; background: var(--surface); margin-bottom: 10px; }
.modulo-row.final { border: 1px solid var(--wine); background: var(--wine-tint); }
.modulo-num { width: 24px; height: 24px; border-radius: 4px; background: var(--wine); color: var(--cream-text); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; flex-shrink: 0; }
.modulo-title { font-size: 13px; font-weight: 500; color: var(--text-primary); }
.modulo-desc { font-size: 12px; color: var(--text-secondary); margin-top: 2px; line-height: 1.5; }
