/* Cursos (servilinux.com/cursos, DOCS/37): sobre sitio.css y sl-tokens.css */
.curso-imagen { display: block; width: 100%; height: auto; border-radius: var(--sl-radio); border: 1px solid var(--sl-borde); background: #09090b; }
.curso-sub { color: var(--sl-suave); font-size: 1.05rem; margin: -.3em 0 .8em; }

/* Lista */
.cursos-lista { align-items: stretch; }
.curso-tarjeta { display: flex; flex-direction: column; gap: .4em; }
.curso-tarjeta h2 { margin: .6em 0 0; }
.curso-tarjeta .acciones { margin: auto 0 0; padding-top: 1em; }
.curso-tarjeta-imagen { display: block; transition: transform .2s; }
.curso-tarjeta-imagen:hover { transform: translateY(-2px); }

/* Precio */
.curso-precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2em .5em; margin: .6em 0; }
.curso-precio .antes { width: 100%; color: var(--sl-suave); font-size: .85rem; }
.curso-precio .cifra { font-family: var(--sl-mono); font-size: 2rem; font-weight: 600; color: var(--sl-primario); }
.curso-precio .hoy { color: var(--sl-fuerte); font-weight: 600; }
.curso-precio .cuotas { width: 100%; color: var(--sl-suave); font-size: .9rem; }

/* Ficha */
.curso-hero-rejilla { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 32px; align-items: start; }
.curso-imagen-marco { margin-top: 1.5em; }
.curso-compra { position: sticky; top: 84px; }
.curso-compra h2 { margin-top: 0; font-size: 1.2rem; }
.boton.ancho { width: 100%; margin: .4em 0 1em; }
.curso-como { display: inline-flex; gap: .4em; align-items: center; margin-top: .8em; font-size: .9rem; color: var(--sl-suave); }
.curso-h2 { display: flex; align-items: center; gap: .5em; font-size: 1.2rem; margin-top: 0; }
.curso-h2 .fas, .curso-h3 .fas { color: var(--sl-primario); }
.curso-h3 { display: flex; align-items: center; gap: .5em; margin: 1.6em 0 .6em; }
.curso-bonus h4 { margin: 0 0 .4em; color: var(--sl-fuerte); }
.curso-bonus p { margin: 0; color: var(--sl-suave); font-size: .92rem; }

/* Listas con icono */
.curso-lista, .curso-incluye { list-style: none; padding: 0; margin: 0; }
.curso-lista li, .curso-incluye li { display: flex; gap: .7em; align-items: baseline; padding: .45em 0; }
.curso-lista li .fas { color: var(--sl-primario); font-size: .8em; flex: none; }
.curso-lista li .fa-circle { font-size: .45em; transform: translateY(-.25em); }
.curso-incluye li .fas { color: var(--sl-primario); width: 1.1em; text-align: center; flex: none; }
.curso-incluye li { font-size: .92rem; border-bottom: 1px solid var(--sl-borde-suave); }
.curso-incluye li:last-child { border-bottom: 0; }

/* Flujo de inscripción */
.curso-flujo { list-style: none; padding: 0; margin: 32px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: paso; }
.curso-flujo li h3 { margin: .7em 0 .3em; font-size: 1.05rem; }
.curso-flujo li p { margin: 0; color: var(--sl-suave); font-size: .92rem; }
.curso-paso { display: inline-flex; align-items: center; gap: .5em; font-family: var(--sl-mono); }
.curso-paso .fas { width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--sl-primario) 14%, transparent); color: var(--sl-primario); }
.curso-paso b { color: var(--sl-suave); font-weight: 600; }
.curso-aviso { margin: 24px 0 0; padding: 14px 16px; border-radius: var(--sl-radio-chico); background: color-mix(in srgb, var(--sl-aviso) 12%, transparent); border: 1px solid color-mix(in srgb, var(--sl-aviso) 35%, transparent); color: var(--sl-fuerte); }
.curso-aviso .fas { color: var(--sl-aviso); margin-right: .3em; }

/* Incluye con SERVILINUX y preguntas */
.curso-con-servilinux { align-items: center; }
.curso-faq { display: grid; gap: 10px; margin-top: 24px; }
.curso-faq details { padding: 0; }
.curso-faq summary { cursor: pointer; padding: 16px 20px; font-weight: 600; color: var(--sl-fuerte); list-style: none; display: flex; justify-content: space-between; gap: 1em; }
.curso-faq summary::after { content: '+'; color: var(--sl-primario); font-family: var(--sl-mono); }
.curso-faq details[open] summary::after { content: '−'; }
.curso-faq details p { margin: 0; padding: 0 20px 18px; color: var(--sl-suave); }

/* Llamada final */
.curso-final { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.curso-final h2 { margin: 0 0 .3em; }
.curso-final p { margin: 0; color: var(--sl-suave); }

@media (max-width: 900px) {
  .curso-hero-rejilla { grid-template-columns: 1fr; }
  .curso-compra { position: static; }
  .curso-flujo { grid-template-columns: 1fr; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .curso-flujo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
