/* Kuma 2026 · ficha de curso (frame CURSO 394:1562): reflow entre 640 y 1366 px, temario
   desplegable y formulario real. ESCRITO A MANO sobre el CSS generado: no editar fx-curso.css.
   Principio: no reescribir el diseño; que las anchuras fijas del export respiren y que los
   nodos que la ficha convierte en <details>, <input> y <button> hereden el aspecto del Figma. */

/* --- portada: texto + vídeo en dos columnas que se apilan --- */
.fx-curso-0 [data-node-id="394:1576"] { flex-wrap: wrap; row-gap: 32px; }
.fx-curso-0 [data-node-id="394:1577"] { flex: 1 1 480px; min-width: 0; }
.fx-curso-0 [data-node-id="401:1919"] { flex: 1 1 380px; min-width: 0; }
.fx-curso-0 [data-node-id="401:1912"] { overflow: hidden; border-radius: 4px; }
.fx-curso-0 [data-node-id="401:1912"] img { object-fit: cover; }
.fx-curso-0 [data-node-id="401:1085"] { flex-wrap: wrap; }
.fx-curso-0 [data-node-id="401:1085"] > div { padding-inline: 0; padding-right: 48px; }

/* --- fila de iconos (as): del absoluto del export a flujo con solape --- */
.fx-curso-1 [data-node-id="401:1418"] {
  position: relative; left: auto; top: auto; height: auto;
  width: min(1248px, 100%); margin: -132px auto 0; flex-wrap: wrap;
}
.fx-curso-1 [data-node-id="401:1418"] > div { flex: 1 1 220px; min-width: 0; height: auto; }
.fx-curso-0 [data-node-id="394:1566"] { padding-bottom: 176px; }

/* --- columnas: el curso (fluida) + matrícula (400) --- */
.fx-curso-1 [data-node-id="401:1346"] { width: min(1248px, 100%); flex-wrap: wrap; }
.fx-curso-1 [data-node-id="401:1347"] { width: auto; flex: 1 1 560px; min-width: 0; position: static; }
.fx-curso-1 [data-node-id="401:1493"] { flex: 1 1 320px; max-width: 400px; position: sticky; top: 120px; }
.fx-curso-1 [data-node-id="401:1639"] { width: 100%; }
@media (max-width: 1100px) {
  .fx-curso-1 [data-node-id="401:1493"] { max-width: none; position: static; }
  .fx-curso-1 [data-node-id="401:1418"] { margin-top: -96px; }
}
@media (max-width: 640px) {
  .fx-curso-0 [data-node-id="394:1566"] { padding-bottom: 40px; }
  .fx-curso-1 [data-node-id="401:1418"] { margin-top: -40px; }
  .fx-curso-1 [data-node-id="401:1346"] { padding-top: 0; }
  .fx-curso-1 [data-node-id="401:1418"] > div { flex-basis: calc(50% - 2px); }
}

/* --- temario: cada módulo es un <details> con el aspecto de la fila del export --- */
.fx-curso-1 details.kuma-temario-item { width: 100%; }
.fx-curso-1 details.kuma-temario-item > summary { list-style: none; cursor: pointer; }
.fx-curso-1 details.kuma-temario-item > summary::-webkit-details-marker { display: none; }
.fx-curso-1 details.kuma-temario-item > summary:focus-visible { outline: 3px solid var(--color\/line\/oposiciones, #2b6c97); outline-offset: 3px; }
.fx-curso-1 details.kuma-temario-item [data-node-id="401:1663"] { transition: transform .2s ease-out; }
.fx-curso-1 details.kuma-temario-item[open] [data-node-id="401:1663"] { transform: rotate(45deg); } /* el + del export pasa a × al abrir */
@media (prefers-reduced-motion: reduce) { .fx-curso-1 details.kuma-temario-item [data-node-id="401:1663"] { transition: none; } }
.fx-curso-1 details.kuma-temario-item [data-node-id="401:1625"] { white-space: normal; min-width: 0; }
.fx-curso-1 .kuma-temario-cuerpo { width: 100%; font-size: var(--font\/texts\/body\/desktop, 16px); line-height: 1.55; color: var(--color\/text\/muted, #494b50); }
.fx-curso-1 .kuma-temario-cuerpo h2, .fx-curso-1 .kuma-temario-cuerpo h3, .fx-curso-1 .kuma-temario-cuerpo h4 { font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--color\/text\/primary, #0b1c28); margin: 16px 0 6px; }
.fx-curso-1 .kuma-temario-cuerpo p { margin: 0 0 8px; }
.fx-curso-1 .kuma-temario-cuerpo ol, .fx-curso-1 .kuma-temario-cuerpo ul { margin: 0 0 8px; padding-left: 22px; }
.fx-curso-1 .kuma-temario-cuerpo li { margin: 0 0 4px; }
.fx-curso-1 .kuma-temario-cuerpo strong { color: var(--color\/text\/primary, #0b1c28); }

/* --- matrícula: precio y datos --- */
.fx-curso-1 [data-node-id="401:1513"], .fx-curso-1 [data-node-id="401:1514"] { width: auto; height: auto; white-space: nowrap; }
.fx-curso-1 [data-node-id="401:1515"] { flex-wrap: wrap; }
.fx-curso-1 [data-node-id="401:1514"] { text-decoration: line-through; }
.fx-curso-1 [data-node-id="401:1357"], .fx-curso-1 [data-node-id="401:1362"], .fx-curso-1 [data-node-id="401:1367"] { white-space: normal; }
.fx-curso-1 [data-node-id="401:1565"] { white-space: normal; }

/* --- formulario real dentro de la tarjeta del export --- */
.fx-curso-4 .kuma-form-ficha { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.fx-curso-4 .kuma-campo { width: 100%; min-height: 48px; font: inherit; font-size: 16px; color: var(--color\/text\/primary, #0b1c28); background: #fff; border-radius: 4px; outline: 0; }
.fx-curso-4 textarea.kuma-campo { min-height: 96px; resize: vertical; }
.fx-curso-4 .kuma-campo::placeholder { color: var(--color\/text\/muted, #494b50); opacity: .7; }
.fx-curso-4 .kuma-campo:focus-visible { border-color: var(--color\/border\/strong, #3797ca); box-shadow: 0 0 0 3px rgba(55, 151, 202, .25); }
.fx-curso-4 label { cursor: pointer; }
.fx-curso-4 .kuma-check { width: 20px; height: 20px; margin: 0; accent-color: var(--color\/accent\/emphasis, #0b1c28); flex: 0 0 20px; }
.fx-curso-4 .kuma-boton { font: inherit; cursor: pointer; }
.fx-curso-4 .kuma-boton:focus-visible { outline: 3px solid var(--color\/line\/oposiciones, #2b6c97); outline-offset: 3px; }
.fx-curso-4 .kuma-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fx-curso-4 .kuma-aviso { width: 100%; padding: 12px 16px; border-radius: 4px; font-size: 16px; line-height: 1.4; }
.fx-curso-4 .kuma-aviso--bien { background: #e8f5ee; color: #1d5c3b; }
.fx-curso-4 .kuma-aviso--mal { background: #fdecec; color: #8a1f1f; }
.fx-curso-4 [data-node-id="401:1748"], .fx-curso-4 [data-node-id="401:1749"] { flex-wrap: wrap; }
.fx-curso-4 [data-node-id="401:1748"] > *, .fx-curso-4 [data-node-id="401:1749"] > * { flex: 1 1 220px; }
.fx-curso-4 [data-node-id="401:1715"] { flex-wrap: wrap; }
.fx-curso-4 [data-node-id="401:1716"], .fx-curso-4 [data-node-id="401:1730"] { flex: 1 1 380px; min-width: 0; }
