/* ============================================
   Wazo — simulador.css
   ============================================ */

/* ============================================
   SINGLE legacy (/simulador/<slug>/) · estilos del template clásico.
   No tocar al refactorizar la Page /simuladores/ — los selectores no
   .wazo-page-sim siguen sirviendo el single.
   ============================================ */

.wazo-sim__breadcrumb {
    display: flex;
    gap: var(--wazo-space-2);
    color: var(--wazo-color-text-muted);
    font-size: var(--wazo-font-size-sm);
    margin-bottom: var(--wazo-space-4);
}
.wazo-sim__breadcrumb a { color: inherit; }
.wazo-sim__breadcrumb a:hover { color: var(--wazo-color-text); }

.wazo-sim__hero-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--wazo-space-8);
    align-items: end;
}
@media (max-width: 1200px) { .wazo-sim__hero-grid { grid-template-columns: 1fr; } }

.wazo-sim__title { font-size: clamp(2rem, 5vw, var(--wazo-font-size-5xl)); line-height: var(--wazo-lh-display); max-width: 18ch; }
.wazo-sim__subtitle { margin-top: var(--wazo-space-4); color: var(--wazo-color-text-muted); font-size: var(--wazo-font-size-lg); max-width: 50ch; }
.wazo-sim__ctas { display: flex; gap: var(--wazo-space-3); flex-wrap: wrap; margin-top: var(--wazo-space-6); }

.wazo-sim__hero-stats { display: flex; flex-direction: column; gap: var(--wazo-space-3); }
.wazo-sim__stat {
    padding: var(--wazo-space-4);
    background: var(--wazo-color-surface);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: var(--wazo-radius-md);
}
.wazo-sim__stat--price { background: var(--wazo-gradient-primary); border: none; }
.wazo-sim__stat--casos { border-color: var(--wazo-color-primary-light); }
.wazo-sim__stat-num { display: block; font-size: var(--wazo-font-size-3xl); line-height: var(--wazo-lh-none); }
.wazo-sim__stat-lbl { display: block; margin-top: 4px; color: var(--wazo-color-text-muted); font-size: var(--wazo-font-size-sm); }
.wazo-sim__stat--price .wazo-sim__stat-lbl { color: rgba(255,255,255,0.85); }

.wazo-sim__publico h2,
.wazo-sim__ofrece h2 { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); max-width: 30ch; }
.wazo-sim__publico-desc,
.wazo-sim__ofrece-sub { color: var(--wazo-color-text-muted); margin-block: var(--wazo-space-4); max-width: 70ch; }

.wazo-sim__destacado-inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--wazo-space-8);
    align-items: center;
    padding: var(--wazo-space-8);
    background: var(--wazo-color-surface);
    border-radius: var(--wazo-radius-xl);
}
@media (max-width: 1200px) { .wazo-sim__destacado-inner { grid-template-columns: 1fr; padding: var(--wazo-space-5); } }
.wazo-sim__destacado-img { width: 100%; border-radius: var(--wazo-radius-lg); }
.wazo-sim__destacado-video { aspect-ratio: 16/9; border-radius: var(--wazo-radius-lg); overflow: hidden; }
.wazo-sim__destacado-video iframe { width: 100%; height: 100%; }
.wazo-sim__destacado-body h2 { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); }
.wazo-sim__destacado-desc { color: var(--wazo-color-text-muted); margin-top: var(--wazo-space-4); line-height: var(--wazo-lh-body); }

.wazo-sim__que-es-intro { max-width: 70ch; margin-bottom: var(--wazo-space-8); }
.wazo-sim__que-es-intro h2 { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); margin-bottom: var(--wazo-space-3); }
.wazo-sim__que-es-desc { color: var(--wazo-color-text-muted); line-height: var(--wazo-lh-body); }
.wazo-sim__que-es-desc p { line-height: var(--wazo-lh-body); }
.wazo-sim__que-es-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wazo-space-6); }
@media (max-width: 1200px) { .wazo-sim__que-es-grid { grid-template-columns: 1fr; } }
.wazo-sim__que-es-col {
    padding: var(--wazo-space-6);
    background: var(--wazo-color-surface);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: var(--wazo-radius-lg);
}
.wazo-sim__que-es-col h3 { font-size: var(--wazo-font-size-xl); margin-bottom: var(--wazo-space-4); padding-bottom: var(--wazo-space-3); border-bottom: 1px solid var(--wazo-color-ui-border); }

.wazo-sim__recursos-title { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); margin-bottom: var(--wazo-space-6); max-width: 36ch; }
.wazo-sim__recursos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--wazo-space-5); }
.wazo-sim__recurso-col {
    padding: var(--wazo-space-5);
    background: var(--wazo-color-surface);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: var(--wazo-radius-md);
}
.wazo-sim__recurso-col h3 { font-size: var(--wazo-font-size-lg); margin-bottom: var(--wazo-space-3); }

.wazo-sim__programas-title { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); margin-bottom: var(--wazo-space-2); }
.wazo-sim__programas-desc { color: var(--wazo-color-text-muted); margin-bottom: var(--wazo-space-6); max-width: 70ch; }
.wazo-sim__programas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wazo-space-4); }
@media (max-width: 1200px) { .wazo-sim__programas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px)  { .wazo-sim__programas-grid { grid-template-columns: 1fr; } }

.wazo-sim__tabla-title { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); margin-bottom: var(--wazo-space-3); }
.wazo-sim__tabla-desc { color: var(--wazo-color-text-muted); margin-bottom: var(--wazo-space-6); max-width: 70ch; }
.wazo-sim__tabla-wrap {
    overflow-x: auto;
    background: var(--wazo-color-surface);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: var(--wazo-radius-md);
    box-shadow: inset -8px 0 8px -8px rgba(0,0,0,0.4);
}
.wazo-sim__tabla-tbl { width: 100%; border-collapse: collapse; min-width: 720px; }
.wazo-sim__tabla-tbl th,
.wazo-sim__tabla-tbl td {
    padding: var(--wazo-space-3) var(--wazo-space-4);
    text-align: left;
    border-bottom: 1px solid var(--wazo-color-ui-border);
    white-space: nowrap;
}
.wazo-sim__tabla-tbl th {
    font-size: var(--wazo-font-size-xs);
    text-transform: uppercase;
    letter-spacing: -0.05em;
    color: var(--wazo-color-text-muted);
}

.wazo-sim__limit-title { font-size: clamp(1.5rem, 3vw, var(--wazo-font-size-3xl)); margin-bottom: var(--wazo-space-3); max-width: 30ch; }
.wazo-sim__limit-desc { color: var(--wazo-color-text-muted); margin-bottom: var(--wazo-space-4); max-width: 70ch; }
.wazo-sim__limit-list { display: flex; flex-direction: column; gap: var(--wazo-space-2); color: var(--wazo-color-text-muted); }
.wazo-sim__limit-list li { padding-left: var(--wazo-space-4); position: relative; }
.wazo-sim__limit-list li::before { content: '×'; position: absolute; left: 0; color: var(--wazo-color-text-dim); }

.wazo-sim__empezar--single .wazo-sim__empezar-inner {
    padding: var(--wazo-space-10);
    background: var(--wazo-gradient-primary);
    border-radius: var(--wazo-radius-xl);
    text-align: center;
}
.wazo-sim__empezar--single .wazo-sim__empezar-title { font-size: clamp(1.75rem, 3vw, var(--wazo-font-size-4xl)); margin-bottom: var(--wazo-space-3); }
.wazo-sim__empezar--single .wazo-sim__empezar-desc { color: rgba(255,255,255,0.85); margin-bottom: var(--wazo-space-6); max-width: 60ch; margin-inline: auto; }


/* ================================================================
 * PAGE /simuladores/ (id=19) · clon del sistema de diseño .wazo-home.
 *
 *   - <main.wazo-sim> = grid 12-col con gap 24px (mismo patrón que
 *     .wazo-home en home.css).
 *   - Cada <section> hereda las 12 cols via subgrid y coloca su
 *     contenido en cols 2-11 (heads en cols 2-6 + sub en 8-11
 *     según el patrón de .wazo-home__why-head + sub).
 *   - Tipografía display tokens: --wazo-fs-display-lg para titulos
 *     de sección · --md para subtítulos / números grandes ·
 *     --sm para card titles. Mismas escalas que en home.
 *   - Banners azules (.wazo-fcta--message / --cta) usan EL MISMO
 *     gradient/border/padding que .wazo-fcta (CTA global del footer):
 *     definidos en footer.css y refinados aquí solo para sus variants.
 *
 * Activo SOLO bajo body.wazo-page-sim (lo añade page-simuladores.php).
 * Las clases legacy del top del archivo siguen sirviendo el single.
 * ================================================================ */

/* ---- Override .wazo-container / .wazo-section ----
   Los <section> de los blocks llevan esas utility classes (heredadas del
   sistema original del proyecto). En el contexto de .wazo-page-sim el
   layout lo gobierna el subgrid 12-col del main, así que neutralizamos
   sus paddings — las reglas específicas que vienen abajo restituyen
   los padding-block correctos por sección. */
.wazo-page-sim .wazo-container { padding-inline: 0; }
.wazo-page-sim .wazo-section   { padding-block:  0; }

/* ---- Root grid (mismo patrón que .wazo-home) ---- */
.wazo-page-sim .wazo-main.wazo-sim {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--wazo-grid-gutter);
}
.wazo-page-sim .wazo-main.wazo-sim > section,
.wazo-page-sim .wazo-main.wazo-sim > footer {
    grid-column: 1 / -1;
}

@media (max-width: 1200px) {
    .wazo-page-sim .wazo-main.wazo-sim {
        grid-template-columns: 1fr;
        padding-inline: 16px;
    }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-main.wazo-sim {
        grid-template-columns: repeat(var(--wazo-grid-cols-phone), 1fr);
        column-gap: var(--wazo-grid-gutter-phone);
        padding-inline: 16px;  /* alineado con .wazo-home phone (hereda de tablet) */
    }
}

/* ---- Eyebrow override (idéntico al de .wazo-home__why-eyebrow) ---- */
.wazo-page-sim .wazo-eyebrow {
    font-size: var(--wazo-fs-14);
    font-weight: var(--wazo-font-weight-regular);
    color: var(--wazo-color-text);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
    opacity: 0.85;
    text-transform: none;
    margin: 0;
    display: inline-block;
}

/* ============================================
   1 · HERO  (clon .wazo-home__hero)
   ============================================ */
.wazo-page-sim .wazo-sim__hero {
    position: relative;
    padding-block: var(--wazo-sp-hero-block);
    padding-inline: 0;
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(24px, 3vw, 40px);
    background: transparent;
}
/* Línea separadora bottom · spans cols 2-11 (mismo patrón que
   .wazo-home__why-rows::before en home.css). */
.wazo-page-sim .wazo-sim__hero::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: var(--wazo-grid-margin);
    right: var(--wazo-grid-margin);
    height: 1px;
    background: var(--wazo-color-ui-border);
}
.wazo-page-sim .wazo-sim__hero > .wazo-eyebrow {
    grid-column: 2 / span 6;
    grid-row: 1;
    align-self: end;
}
.wazo-page-sim .wazo-sim__hero-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    align-items: end;
    row-gap: 24px;
}
.wazo-page-sim .wazo-sim__hero-content {
    grid-column: 2 / span 6;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--wazo-sp-phone-sm);
}
.wazo-page-sim .wazo-sim__title {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-xl);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    max-width: none;
    margin: 0;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__subtitle {
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
    max-width: 56ch;
    margin: 0;
}
.wazo-page-sim .wazo-sim__ctas {
    display: flex;
    gap: var(--wazo-sp-phone-sm);
    margin: 0;
    flex-wrap: wrap;
}
.wazo-page-sim .wazo-sim__hero-stats {
    grid-column: 8 / 12;
    align-self: end;
    display: flex;
    flex-direction: row;
    gap: 32px;
    padding: 0;
    background: transparent;
    border: 0;
}
.wazo-page-sim .wazo-sim__hero-stats .wazo-sim__stat {
    background: transparent;
    border: 0;
    padding: 0;
    border-radius: 0;
}
.wazo-page-sim .wazo-sim__hero-stats .wazo-sim__stat-num {
    display: block;
    font-size: var(--wazo-fs-display-md);
    font-weight: var(--wazo-font-weight-medium);
    line-height: var(--wazo-lh-none);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
}
.wazo-page-sim .wazo-sim__hero-stats .wazo-sim__stat-lbl {
    display: block;
    font-size: var(--wazo-fs-14);
    color: rgba(255, 255, 255, 0.55);
    margin-top: 8px;
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__hero {
        grid-template-columns: 1fr;
        row-gap: 24px;
    }
    .wazo-page-sim .wazo-sim__hero::after { left: 0; right: 0; }
    .wazo-page-sim .wazo-sim__hero > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__hero-grid,
    .wazo-page-sim .wazo-sim__hero-content,
    .wazo-page-sim .wazo-sim__hero-stats {
        grid-column: 1;
        grid-row: auto;
    }
    .wazo-page-sim .wazo-sim__hero-grid { grid-template-columns: 1fr; align-items: start; }
    .wazo-page-sim .wazo-sim__hero-stats { gap: 24px; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__hero {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__hero > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__hero-grid,
    .wazo-page-sim .wazo-sim__hero-content,
    .wazo-page-sim .wazo-sim__hero-stats { grid-column: 1 / -1; grid-row: auto; }
    .wazo-page-sim .wazo-sim__hero-content { gap: var(--wazo-sp-phone-sm); }
    .wazo-page-sim .wazo-sim__hero-stats { gap: var(--wazo-sp-phone-md); }
}

/* ============================================
   2 · PÚBLICO + OFRECE (clon .wazo-home__why)
   ============================================ */
.wazo-page-sim .wazo-sim__publico--archive {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
/* spec-title ("Prueba nuestros planes") en /simulador/ al tamaño de sección del
   simulador (display-lg/44) y a 5 columnas como el resto de títulos del sim
   (no al xl / head de 7-cols global que usa en home/catálogos). */
.wazo-page-sim .wazo-spec { row-gap: clamp(32px, 3.5vw, 56px); }  /* mismo ritmo head→sub→grid que el catálogo */
.wazo-page-sim .wazo-spec__title { font-size: var(--wazo-fs-display-lg); }
.wazo-page-sim .wazo-spec__head  { grid-column: 2 / span 5; }
/* sub DEBAJO del título (no a la derecha), igual que en los catálogos. */
.wazo-page-sim .wazo-spec__sub {
    grid-column: 2 / span 5;
    align-self: auto;
    margin: 0;
    margin-top: -8px;
}

.wazo-page-sim .wazo-sim__publico-title {
    grid-column: 2 / span 5;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    max-width: none;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__publico-grid {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wazo-grid-gutter);
}
.wazo-page-sim .wazo-sim__publico-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.wazo-page-sim .wazo-sim__publico-col-title {
    font-size: var(--wazo-fs-16);
    font-weight: var(--wazo-font-weight-regular);
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-display);
    margin: 0;
}
.wazo-page-sim .wazo-sim__publico-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.wazo-page-sim .wazo-sim__publico-chips .wazo-chip {
    font-size: var(--wazo-fs-16);
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__publico--archive { grid-template-columns: 1fr; row-gap: 32px; }
    .wazo-page-sim .wazo-sim__publico-title,
    .wazo-page-sim .wazo-sim__publico-grid { grid-column: 1; }
    .wazo-page-sim .wazo-sim__publico-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    /* spec · head/sub a full-width al colapsar el grid (faltaba · su base
       grid-column: 2/span 5 con especificidad 0,2,0 ganaba a la regla genérica
       móvil y descuadraba, a diferencia del catálogo). Iguala a /cursos/. */
    .wazo-page-sim .wazo-spec__head,
    .wazo-page-sim .wazo-spec__sub { grid-column: 1 / -1; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__publico--archive {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__publico-title,
    .wazo-page-sim .wazo-sim__publico-grid { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__publico-grid {
        grid-template-columns: 1fr;
        gap: var(--wazo-sp-phone-md);
    }
}

/* ============================================
   3 · ¿QUÉ ES?  +  2 CARDS (head como .wazo-home__why · 2 cards bajo)
   ============================================ */
.wazo-page-sim .wazo-sim__que-es {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
.wazo-page-sim .wazo-sim__que-es-intro {
    grid-column: 2 / span 5;
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
}
.wazo-page-sim .wazo-sim__que-es-intro h2 {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__que-es-desc {
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
    max-width: 100%;
    margin: 0;
}
.wazo-page-sim .wazo-sim__que-es-grid {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--wazo-grid-gutter);
}
.wazo-page-sim .wazo-sim__que-es-col {
    padding: 32px;
    background: var(--wazo-color-bg);
    border: 1px solid #00A1FF;
    border-radius: 16px;
}
.wazo-page-sim .wazo-sim__que-es-col h3 {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-32);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0 0 var(--wazo-sp-phone-md);
}

/* ============================================
   Listas iaf (incluye / implementa / recursos) · checkmarks azules,
   números en círculo. Aplica en cualquier .wazo-curso__iaf-list dentro
   de .wazo-page-sim (cards de ¿Qué es? y de Recursos).
   ============================================ */
.wazo-page-sim .wazo-curso__iaf-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--wazo-sp-phone-sm);
}
.wazo-page-sim .wazo-curso__iaf-list li {
    display: flex;
    align-items: center;
    gap: var(--wazo-sp-phone-sm);
    color: rgba(255, 255, 255, 0.85);
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-tight);
    letter-spacing: var(--wazo-ls-display);
}

/* ✓ azul · simple glyph alineado al texto */
.wazo-page-sim .wazo-curso__iaf-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--wazo-color-accent);
    font-size: var(--wazo-fs-16);
    font-weight: var(--wazo-font-weight-medium);
    flex-shrink: 0;
    line-height: var(--wazo-lh-none);
}

/* Números · círculo con outline blanco translúcido */
.wazo-page-sim .wazo-curso__iaf-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.30);
    color: rgba(255, 255, 255, 0.85);
    font-size: var(--wazo-fs-12);
    font-weight: var(--wazo-font-weight-regular);
    flex-shrink: 0;
    line-height: var(--wazo-lh-none);
    font-variant-numeric: tabular-nums;
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__que-es { grid-template-columns: 1fr; row-gap: 32px; }
    .wazo-page-sim .wazo-sim__que-es-intro,
    .wazo-page-sim .wazo-sim__que-es-grid { grid-column: 1; }
    .wazo-page-sim .wazo-sim__que-es-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__que-es {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__que-es-intro,
    .wazo-page-sim .wazo-sim__que-es-grid { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__que-es-grid {
        grid-template-columns: 1fr;
        gap: var(--wazo-sp-phone-sm);
    }
    .wazo-page-sim .wazo-sim__que-es-col { padding: var(--wazo-sp-phone-md); }
    .wazo-page-sim .wazo-sim__que-es-col h3 { font-size: var(--wazo-fs-32); }
}

/* ============================================
   5 · RECURSOS (head + 4-col features)
   ============================================ */
.wazo-page-sim .wazo-sim__recursos {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
.wazo-page-sim .wazo-sim__recursos > .wazo-eyebrow {
    grid-column: 2 / span 5;
    margin: 0 0 -16px;
}
.wazo-page-sim .wazo-sim__recursos-title {
    grid-column: 2 / span 5;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    max-width: none;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__recursos-grid {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--wazo-grid-gutter);
}
/* Variante 2-col (landing /simulador/) */
.wazo-page-sim .wazo-sim__recursos--2col .wazo-sim__recursos-grid {
    grid-template-columns: 1fr 1fr;
}
.wazo-page-sim .wazo-sim__recurso-col {
    background: transparent;
    border: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.wazo-page-sim .wazo-sim__recurso-col h3 {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-20);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0 0 20px;
    padding-bottom: 0;
    border-bottom: 0;
}
/* Listas de recursos · ✓ glyph · sin líneas separadoras entre items.
   Scopeado a recurso-col → no toca las listas de "¿Qué es?". */
.wazo-page-sim .wazo-sim__recurso-col .wazo-curso__iaf-list { gap: var(--wazo-sp-phone-sm); }
.wazo-page-sim .wazo-sim__recurso-col .wazo-curso__iaf-list li {
    align-items: flex-start;
    gap: var(--wazo-sp-phone-xs);
    padding: 0;
    line-height: var(--wazo-lh-body);
    border-bottom: 0;
}
.wazo-page-sim .wazo-sim__recurso-col .wazo-curso__iaf-check {
    width: auto;
    height: auto;
    font-size: var(--wazo-fs-14);
    line-height: var(--wazo-lh-body);
    flex-shrink: 0;
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__recursos { grid-template-columns: 1fr; row-gap: 32px; }
    .wazo-page-sim .wazo-sim__recursos > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__recursos-title,
    .wazo-page-sim .wazo-sim__recursos-grid { grid-column: 1; }
    .wazo-page-sim .wazo-sim__recursos-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__recursos {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__recursos > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__recursos-title,
    .wazo-page-sim .wazo-sim__recursos-grid { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__recursos-grid {
        grid-template-columns: 1fr;
        gap: var(--wazo-sp-phone-md);
    }
}

/* ============================================
   7 · TABLA MATERIAL
   ============================================ */
.wazo-page-sim .wazo-sim__tabla {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(24px, 3vw, 40px);
}
.wazo-page-sim .wazo-sim__tabla > .wazo-eyebrow {
    grid-column: 2 / span 5;
    margin: 0 0 -8px;
}
.wazo-page-sim .wazo-sim__tabla-title {
    grid-column: 2 / span 5;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    max-width: none;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__tabla-desc {
    grid-column: 2 / span 5;
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    max-width: 60ch;
    margin: 0;
}
.wazo-page-sim .wazo-sim__tabla-wrap {
    grid-column: 2 / 12;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow-x: auto;
}
.wazo-page-sim .wazo-sim__tabla-tbl {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}
.wazo-page-sim .wazo-sim__tabla-tbl th {
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--wazo-fs-12);
    text-transform: uppercase;
    letter-spacing: var(--wazo-ls-display);
    text-align: left;
    padding: var(--wazo-sp-phone-sm);
    border-bottom: 1px solid var(--wazo-color-ui-border);
    font-weight: var(--wazo-font-weight-regular);
    white-space: nowrap;
}
.wazo-page-sim .wazo-sim__tabla-tbl td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.85);
    padding: var(--wazo-sp-phone-sm);
    font-size: var(--wazo-fs-14);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
}
/* Columnas de cifras (Atlas, Nº abordajes, Regiones, Estructuras, Casos)
   centradas. La primera columna (Programa ecográfico) sigue a la izquierda. */
.wazo-page-sim .wazo-sim__tabla-tbl th:not(:first-child),
.wazo-page-sim .wazo-sim__tabla-tbl td:not(:first-child) {
    text-align: center;
}
/* Fila "destacada" desactivada · todas las filas se ven iguales. */
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__tabla { grid-template-columns: 1fr; row-gap: 24px; }
    .wazo-page-sim .wazo-sim__tabla > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__tabla-title,
    .wazo-page-sim .wazo-sim__tabla-desc,
    .wazo-page-sim .wazo-sim__tabla-wrap { grid-column: 1; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__tabla {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-sm);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__tabla > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__tabla-title,
    .wazo-page-sim .wazo-sim__tabla-desc,
    .wazo-page-sim .wazo-sim__tabla-wrap { grid-column: 1 / -1; }
}

/* ============================================
   8 · LIMITACIONES (lista 2-col)
   ============================================ */
.wazo-page-sim .wazo-sim__limit {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(24px, 3vw, 40px);
}
.wazo-page-sim .wazo-sim__limit > .wazo-eyebrow {
    grid-column: 2 / span 5;
    margin: 0 0 -8px;
}
.wazo-page-sim .wazo-sim__limit-title {
    grid-column: 2 / span 5;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    max-width: none;
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__limit-desc {
    grid-column: 2 / span 5;
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    max-width: 60ch;
    margin: 0;
}
.wazo-page-sim .wazo-sim__limit-list {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px var(--wazo-grid-gutter);
    color: var(--wazo-color-text);
    list-style: none;
    padding: 0;
    margin: 0;
}
.wazo-page-sim .wazo-sim__limit-list li {
    position: relative;
    padding-left: var(--wazo-sp-phone-md);
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-tight);
    letter-spacing: var(--wazo-ls-display);
}
.wazo-page-sim .wazo-sim__limit-list li::before {
    content: '×';
    position: absolute;
    left: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--wazo-fs-16);
}
/* Variantes de la lista plana · ✓ (positivo) y numerada (pasos).
   Reusadas por la landing de Cursos (qué aprenderá, ventajas, cómo funciona…). */
.wazo-page-sim .wazo-sim__limit-list--check li::before {
    content: '✓';
    color: var(--wazo-color-accent);
}
.wazo-page-sim .wazo-sim__limit-list--numbered { counter-reset: wzstep; }
.wazo-page-sim .wazo-sim__limit-list--numbered li::before {
    counter-increment: wzstep;
    content: counter(wzstep);
    color: var(--wazo-color-accent);
    font-weight: var(--wazo-font-weight-medium);
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__limit { grid-template-columns: 1fr; row-gap: 24px; }
    .wazo-page-sim .wazo-sim__limit > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__limit-title,
    .wazo-page-sim .wazo-sim__limit-desc,
    .wazo-page-sim .wazo-sim__limit-list { grid-column: 1; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__limit {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-sm);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__limit > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__limit-title,
    .wazo-page-sim .wazo-sim__limit-desc,
    .wazo-page-sim .wazo-sim__limit-list { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__limit-list { grid-template-columns: 1fr; gap: var(--wazo-sp-phone-sm); }
}

/* ============================================
   9 · COMPARATIVA CURSOS / SIM
   ============================================ */
.wazo-page-sim .wazo-sim__compara {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
.wazo-page-sim .wazo-sim__compara > .wazo-eyebrow {
    grid-column: 2 / span 5;
    margin: 0 0 -16px;
}
.wazo-page-sim .wazo-sim__compara-title {
    grid-column: 2 / span 5;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    text-wrap: balance;
    max-width: none;
}
.wazo-page-sim .wazo-sim__compara-desc {
    grid-column: 2 / span 5;
    color: rgba(255, 255, 255, 0.55);
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    max-width: 60ch;
    margin: 0;
}
.wazo-page-sim .wazo-sim__compara-card {
    grid-column: 2 / 12;
    background: var(--wazo-color-bg);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: 16px;
    padding: clamp(24px, 3vw, 40px);
}
/* Phone variant · default hidden, CSS toggle al phone breakpoint */
.wazo-page-sim .wazo-sim__compara-phone {
    display: none;
    grid-column: 2 / 12;
}

/* Product card del phone variant (Cursos / Simulador apiladas) */
.wazo-page-sim .wazo-sim__compara-product {
    background: var(--wazo-color-bg);
    border: 1px solid var(--wazo-color-ui-border);
    border-radius: 16px;
    padding: var(--wazo-sp-phone-md);
    display: flex;
    flex-direction: column;
    gap: var(--wazo-sp-phone-md);
}
.wazo-page-sim .wazo-sim__compara-product-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--wazo-sp-phone-sm);
    padding-bottom: var(--wazo-sp-phone-sm);
    border-bottom: 1px solid var(--wazo-color-ui-border);
    text-align: center;
}
.wazo-page-sim .wazo-sim__compara-product-title {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-sm);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
    text-align: center;
}
.wazo-page-sim .wazo-sim__compara-product .wazo-sim__compara-cta {
    height: var(--wazo-touch-target);
    padding: 0 16px;
    align-self: stretch;
    justify-content: center;
}
.wazo-page-sim .wazo-sim__compara-product-section {
    display: flex;
    flex-direction: column;
    gap: var(--wazo-sp-phone-xs);
}
.wazo-page-sim .wazo-sim__compara-product-section + .wazo-sim__compara-product-section {
    margin-top: var(--wazo-sp-phone-xs);
    padding-top: var(--wazo-sp-phone-sm);
    border-top: 1px solid var(--wazo-color-ui-border);
}
.wazo-page-sim .wazo-sim__compara-product-rows {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.wazo-page-sim .wazo-sim__compara-product-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--wazo-sp-phone-xs);
    padding: var(--wazo-sp-phone-xs) 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.wazo-page-sim .wazo-sim__compara-product-row:last-child { border-bottom: 0; padding-bottom: 0; }
.wazo-page-sim .wazo-sim__compara-product-row:first-child { padding-top: 0; }
.wazo-page-sim .wazo-sim__compara-product-label {
    font-size: var(--wazo-fs-14);
    color: var(--wazo-color-text);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-tight);
    flex: 1 1 auto;
    min-width: 0;
}
.wazo-page-sim .wazo-sim__compara-product-value {
    font-size: var(--wazo-fs-14);
    color: rgba(255, 255, 255, 0.85);
    text-align: right;
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
    flex-shrink: 0;
}
.wazo-page-sim .wazo-sim__compara-head {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--wazo-grid-gutter);
    margin-bottom: 32px;
    text-align: center;
}
.wazo-page-sim .wazo-sim__compara-head-spacer { display: block; }
.wazo-page-sim .wazo-sim__compara-head-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.wazo-page-sim .wazo-sim__compara-head-title {
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-sm);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    margin: 0;
}
.wazo-page-sim .wazo-sim__compara-cta {
    border-radius: 4px;
}
.wazo-page-sim .wazo-sim__compara-section + .wazo-sim__compara-section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--wazo-color-ui-border);
}
.wazo-page-sim .wazo-sim__compara-sec-title {
    font-size: var(--wazo-fs-12);
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: var(--wazo-ls-display);
    text-transform: uppercase;
    margin: 0 0 12px;
    font-weight: var(--wazo-font-weight-medium);
}
.wazo-page-sim .wazo-sim__compara-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--wazo-grid-gutter);
    padding: 12px 16px;
    border-radius: 6px;
}
.wazo-page-sim .wazo-sim__compara-row:nth-child(even) {
    background: rgba(255, 255, 255, 0.03);
}
.wazo-page-sim .wazo-sim__compara-cell {
    font-size: var(--wazo-fs-14);
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
    line-height: var(--wazo-lh-none);
    letter-spacing: var(--wazo-ls-display);
}
.wazo-page-sim .wazo-sim__compara-cell--label {
    color: var(--wazo-color-text);
    text-align: left;
}
/* Tick azul · simple glyph centrado, mismo estilo que iaf-check. */
.wazo-page-sim .wazo-sim__compara-tick {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--wazo-color-accent);
    font-size: var(--wazo-fs-16);
    font-weight: var(--wazo-font-weight-medium);
    line-height: var(--wazo-lh-none);
}
@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__compara { grid-template-columns: 1fr; row-gap: 32px; }
    .wazo-page-sim .wazo-sim__compara > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__compara-title,
    .wazo-page-sim .wazo-sim__compara-desc,
    .wazo-page-sim .wazo-sim__compara-card { grid-column: 1; }
    .wazo-page-sim .wazo-sim__compara-head { grid-template-columns: 1fr 1fr; }
    .wazo-page-sim .wazo-sim__compara-head-spacer { display: none; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__compara {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__compara > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__compara-title,
    .wazo-page-sim .wazo-sim__compara-desc,
    .wazo-page-sim .wazo-sim__compara-card { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__compara-card { padding: var(--wazo-sp-phone-md); }
    .wazo-page-sim .wazo-sim__compara-head { grid-template-columns: 1fr; gap: var(--wazo-sp-phone-sm); }
    .wazo-page-sim .wazo-sim__compara-row { grid-template-columns: 1fr; gap: var(--wazo-sp-phone-xs); padding: var(--wazo-sp-phone-sm); }
    .wazo-page-sim .wazo-sim__compara-cell--label {
        color: rgba(255, 255, 255, 0.55);
        font-size: var(--wazo-fs-12);
        text-transform: uppercase;
    }
    .wazo-page-sim .wazo-sim__compara-cell { text-align: left; }
}

/* ============================================
   BANNERS azules · reset scope-específico.
   Las variantes .wazo-fcta--message y .wazo-fcta--cta (desktop,
   tablet, phone) viven en footer.css como master global.
   Aquí solo el reset display:block que impide que el subgrid root
   de .wazo-page-sim meta display:grid en el wrapper .wazo-fcta
   (que es full-bleed cols 1 / -1).
   ============================================ */
.wazo-page-sim .wazo-fcta {
    display: block;
}

/* ============================================
   BOTONES · alineados al patrón del home (.wazo-plan-row__cta y
   megamenús): gradient vertical azul vivo + border-radius 4px +
   altura 39px. .wazo-btn--primary y .wazo-btn--outline base viven
   en main.css y tienen otros tokens — aquí los re-escribimos solo
   bajo .wazo-page-sim para mantener coherencia visual con el home.
   ============================================ */
.wazo-page-sim .wazo-btn--primary {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 39px;
    padding: 0 16px;
    border-radius: 4px;
    background: linear-gradient(180deg, #00F 0%, #043CDF 34.6%, #1587F7 69.19%, #9DE2EE 104.84%);
    color: var(--wazo-color-text);
    font-size: var(--wazo-fs-14);
    font-weight: var(--wazo-font-weight-medium);
    line-height: var(--wazo-lh-none);
    letter-spacing: var(--wazo-ls-display);
    text-decoration: none;
    border: 0;
    box-shadow: none;
    transition:
        transform var(--wazo-cta-duration) var(--wazo-cta-ease),
        filter   var(--wazo-cta-duration) var(--wazo-cta-ease);
}
.wazo-page-sim .wazo-btn--primary:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    box-shadow: none;
}
.wazo-page-sim .wazo-btn--primary:active { transform: translateY(0); }

.wazo-page-sim .wazo-btn--outline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 39px;
    padding: 0 16px;
    border-radius: 4px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.30);
    color: var(--wazo-color-text);
    font-size: var(--wazo-fs-14);
    font-weight: var(--wazo-font-weight-medium);
    line-height: var(--wazo-lh-none);
    letter-spacing: var(--wazo-ls-display);
    text-decoration: none;
    transition:
        background var(--wazo-cta-duration) var(--wazo-cta-ease),
        border-color var(--wazo-cta-duration) var(--wazo-cta-ease);
}
.wazo-page-sim .wazo-btn--outline:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 639px) {
    .wazo-page-sim .wazo-btn--primary,
    .wazo-page-sim .wazo-btn--outline {
        height: var(--wazo-touch-target);   /* 44px hit area */
        width: auto;
        max-width: 100%;
    }
}

/* ================================================================
 * RESPONSIVE FIXES · alinear /simuladores/ con el patrón canónico
 * del home en tablet (≤1200px) y phone (≤639px).
 *
 * Auditoría exhaustiva: 10 agentes en paralelo compararon cada sección
 * contra el patrón equivalente del home y produjeron CSS específico.
 * Estas reglas se aplican DESPUÉS de las anteriores y ganan por
 * source-order (misma especificidad .wazo-page-sim).
 *
 * Tokens usados: --wazo-sp-phone-xs (8px), -sm (16px), -md (24px),
 * -lg (40px), --wazo-grid-gutter-phone (8px), --wazo-grid-gutter (24px).
 * ================================================================ */

/* ============================================
   TABLET (≤1200px) · master grid colapsa a 1fr
   ============================================ */
@media (max-width: 1200px) {

    /* publico-ofrece · row-gap 32→24 (alinear con home __why tablet) */
    .wazo-page-sim .wazo-sim__publico--archive { row-gap: 24px; }
    .wazo-page-sim .wazo-sim__publico-grid { gap: 24px; }

    /* que-es · row-gap 32→24 */
    .wazo-page-sim .wazo-sim__que-es { row-gap: 24px; }

    /* recursos · row-gap 32→40 + grid 2-col con --wazo-grid-gutter tokenizado */
    .wazo-page-sim .wazo-sim__recursos { row-gap: 40px; }
    .wazo-page-sim .wazo-sim__recursos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--wazo-grid-gutter);
    }

    /* limitaciones · 2-col list → 1-col (long text no wrap awkward) */
    .wazo-page-sim .wazo-sim__limit-list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* comparativa · card padding 40→24 + row 3-col → 2-col (= head) */
    .wazo-page-sim .wazo-sim__compara-card { padding: var(--wazo-sp-phone-md); }
    .wazo-page-sim .wazo-sim__compara-row {
        grid-template-columns: 1fr 1fr;
        gap: var(--wazo-sp-phone-sm);
        padding: var(--wazo-sp-phone-sm);
    }

}

/* ============================================
   PHONE (≤639px) · master grid 6-col subgrid
   ============================================ */
@media (max-width: 639px) {

    /* publico-ofrece · gap intra-col xs · margen desc tokenizado */
    .wazo-page-sim .wazo-sim__publico-col { gap: var(--wazo-sp-phone-xs); }
    .wazo-page-sim .wazo-sim__publico-desc { margin-block: var(--wazo-sp-phone-sm); }

    /* que-es · intro head gap sm (consistencia con home) */
    .wazo-page-sim .wazo-sim__que-es-intro { gap: var(--wazo-sp-phone-sm); }

    /* recursos · reset eyebrow neg margin + card gap sm + intra-col xs rhythm */
    .wazo-page-sim .wazo-sim__recursos > .wazo-eyebrow { margin: 0; }
    .wazo-page-sim .wazo-sim__recursos-grid {
        grid-template-columns: 1fr;
        gap: var(--wazo-sp-phone-sm);
    }
    .wazo-page-sim .wazo-sim__recurso-col { gap: var(--wazo-sp-phone-xs); }
    .wazo-page-sim .wazo-sim__recurso-col h3 {
        margin: 0 0 24px;
        padding-bottom: 0;
    }

    /* Descriptores <p> · reset max-width en phone para que tomen el ancho
       completo del parent (en desktop usan ch-units calibrados para 5-6 cols
       que en phone resultan demasiado estrechos). */
    .wazo-page-sim .wazo-sim__subtitle,
    .wazo-page-sim .wazo-sim__que-es-desc,
    .wazo-page-sim .wazo-sim__tabla-desc,
    .wazo-page-sim .wazo-sim__limit-desc,
    .wazo-page-sim .wazo-sim__compara-desc {
        max-width: 100%;
    }

    /* tabla · row-gap sm → md (head→content rhythm canónico) */
    .wazo-page-sim .wazo-sim__tabla { row-gap: var(--wazo-sp-phone-md); }

    /* tabla material · transform en phone a cards apiladas (cada fila → card,
       cada celda → row label+value). Elimina scroll horizontal forzado por
       min-width 720px. Patrón responsive estándar usando data-label attrs. */
    .wazo-page-sim .wazo-sim__tabla-wrap {
        overflow-x: visible;
    }
    .wazo-page-sim .wazo-sim__tabla-tbl {
        display: block;
        min-width: 0;
        width: 100%;
    }
    .wazo-page-sim .wazo-sim__tabla-tbl thead { display: none; }
    .wazo-page-sim .wazo-sim__tabla-tbl tbody { display: block; }
    .wazo-page-sim .wazo-sim__tabla-tbl tr {
        display: block;
        padding: var(--wazo-sp-phone-sm);
        margin-bottom: var(--wazo-sp-phone-sm);
        border-radius: 8px;
        background: var(--wazo-color-bg-soft);
        border: 1px solid var(--wazo-color-ui-border);
    }
    .wazo-page-sim .wazo-sim__tabla-tbl tr:last-child { margin-bottom: 0; }
    .wazo-page-sim .wazo-sim__tabla-tbl td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: var(--wazo-sp-phone-sm);
        padding: var(--wazo-sp-phone-xs) 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        white-space: normal;
        text-align: right;
    }
    .wazo-page-sim .wazo-sim__tabla-tbl td:last-child { border-bottom: 0; padding-bottom: 0; }
    .wazo-page-sim .wazo-sim__tabla-tbl td:first-child { padding-top: 0; }
    .wazo-page-sim .wazo-sim__tabla-tbl td::before {
        content: attr(data-label);
        font-size: var(--wazo-fs-12);
        color: rgba(255, 255, 255, 0.55);
        text-transform: uppercase;
        letter-spacing: var(--wazo-ls-display);
        text-align: left;
        flex-shrink: 0;
    }
    /* Fila destacada desactivada · misma apariencia que las demás. */

    /* limitaciones · row-gap md + list intra-card xs */
    .wazo-page-sim .wazo-sim__limit { row-gap: var(--wazo-sp-phone-md); }
    .wazo-page-sim .wazo-sim__limit-list {
        grid-template-columns: 1fr;
        gap: var(--wazo-sp-phone-xs);
    }

    /* comparativa · TOGGLE entre layouts: oculta la tabla desktop, muestra
       las 2 product cards apiladas. El detalle visual de las product cards
       vive en el bloque principal (no aquí) para mantenerlo cohesivo. */
    .wazo-page-sim .wazo-sim__compara-desktop { display: none; }
    .wazo-page-sim .wazo-sim__compara-phone {
        display: flex;
        flex-direction: column;
        gap: var(--wazo-sp-phone-sm);
        grid-column: 1 / -1;
    }
    /* title scale + reset eyebrow neg margin (siguen aplicando al header) */
    .wazo-page-sim .wazo-sim__compara > .wazo-eyebrow { margin: 0; }
    .wazo-page-sim .wazo-sim__compara-title { font-size: var(--wazo-fs-display-md); }

}

/* ================================================================
 * LANDING /curso/ (template-curso-landing.php · .wazo-page-curso-landing)
 * Reusa el sistema de /simulador y añade los patrones propios de Cursos:
 *   · descripciones en las columnas público (perfil / ¿qué obtienes?)
 *   · banner azul con eyebrow
 *   · ficha clave-valor (¿qué son?)
 *   · recursos numerados con divisores (¿qué incluyen?)
 *   · cajas ¿qué aprenderá? / ¿cómo funciona? (eyebrow azul)
 *   · acreditación (cards numeradas título + desc)
 *   · ventajas (índice numerado 4-col)
 * ================================================================ */

/* Público · descripción bajo el título de cada columna */
.wazo-page-sim .wazo-sim__publico-col .wazo-sim__publico-desc {
    margin: 0;
    max-width: none;
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
}

/* Banner azul · eyebrow opcional + ritmo compacto (overrides del fcta--message) */
.wazo-page-curso-landing .wazo-fcta--message .wazo-fcta__content { gap: 20px; }
.wazo-page-curso-landing .wazo-fcta__eyebrow {
    font-family: var(--wazo-font-sans);
    font-size: var(--wazo-fs-14);
    font-weight: var(--wazo-font-weight-regular);
    text-transform: uppercase;
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
    color: rgba(255, 255, 255, 0.75);
    margin: 0;
}

/* ¿Qué son? · eyebrow dentro del intro (hereda el flex gap del intro) */
.wazo-page-sim .wazo-sim__que-es-intro > .wazo-eyebrow { margin: 0; }

/* Acreditación · intro + cards numeradas (título + desc) */
.wazo-page-sim .wazo-sim__acred {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
.wazo-page-sim .wazo-sim__acred > .wazo-eyebrow { grid-column: 2 / span 5; margin: 0 0 -16px; }
.wazo-page-sim .wazo-sim__acred-title {
    grid-column: 2 / span 6;
    margin: 0;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__acred-desc {
    grid-column: 2 / span 6;
    margin: -24px 0 0;
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
    max-width: 70ch;
}
.wazo-page-sim .wazo-sim__acred-grid {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(32px, 3vw, 48px) var(--wazo-grid-gutter);
}
.wazo-page-sim .wazo-sim__acred-item-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: var(--wazo-sp-phone-sm);
}
.wazo-page-sim .wazo-sim__acred-num {
    flex-shrink: 0;
    font-size: var(--wazo-fs-14);
    color: var(--wazo-color-accent);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
    font-variant-numeric: tabular-nums;
}
.wazo-page-sim .wazo-sim__acred-item-title {
    margin: 0;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-20);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
}
.wazo-page-sim .wazo-sim__acred-item-desc {
    margin: 0;
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
}

/* Ventajas · intro + índice numerado 4-col con divisores */
.wazo-page-sim .wazo-sim__ventajas {
    padding-block: var(--wazo-sp-section-block);
    display: grid;
    grid-template-columns: subgrid;
    column-gap: var(--wazo-grid-gutter);
    row-gap: clamp(32px, 4vw, 56px);
}
.wazo-page-sim .wazo-sim__ventajas > .wazo-eyebrow { grid-column: 2 / span 5; margin: 0 0 -16px; }
.wazo-page-sim .wazo-sim__ventajas-title {
    grid-column: 2 / span 6;
    margin: 0;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-display-lg);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
    text-wrap: balance;
}
.wazo-page-sim .wazo-sim__ventajas-desc {
    grid-column: 2 / span 6;
    margin: -24px 0 0;
    font-size: var(--wazo-fs-16);
    line-height: var(--wazo-lh-body);
    letter-spacing: var(--wazo-ls-display);
    color: rgba(255, 255, 255, 0.55);
    max-width: 70ch;
}
.wazo-page-sim .wazo-sim__ventajas-grid {
    grid-column: 2 / 12;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(28px, 2.5vw, 40px) var(--wazo-grid-gutter);
}
.wazo-page-sim .wazo-sim__ventajas-item {
    display: flex;
    flex-direction: column;
    gap: var(--wazo-sp-phone-sm);
}
.wazo-page-sim .wazo-sim__ventajas-num {
    font-size: var(--wazo-fs-14);
    color: var(--wazo-color-accent);
    letter-spacing: var(--wazo-ls-display);
    line-height: var(--wazo-lh-none);
    font-variant-numeric: tabular-nums;
}
.wazo-page-sim .wazo-sim__ventajas-item-title {
    margin: 0;
    font-family: var(--wazo-font-sans);
    font-weight: var(--wazo-font-weight-medium);
    font-size: var(--wazo-fs-20);
    line-height: var(--wazo-lh-display);
    letter-spacing: var(--wazo-ls-display);
    color: var(--wazo-color-text);
}
/* Divisores verticales entre columnas (desktop · grid fijo de 4) */
@media (min-width: 1201px) {
    .wazo-page-sim .wazo-sim__ventajas-item { position: relative; }
    .wazo-page-sim .wazo-sim__ventajas-item:not(:nth-child(4n+1))::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: calc(var(--wazo-grid-gutter) / -2);
        width: 1px;
        background: var(--wazo-color-ui-border);
    }
}

@media (max-width: 1200px) {
    .wazo-page-sim .wazo-sim__acred,
    .wazo-page-sim .wazo-sim__ventajas { grid-template-columns: 1fr; row-gap: 32px; }
    .wazo-page-sim .wazo-sim__acred > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__acred-title,
    .wazo-page-sim .wazo-sim__acred-desc,
    .wazo-page-sim .wazo-sim__acred-grid,
    .wazo-page-sim .wazo-sim__ventajas > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__ventajas-title,
    .wazo-page-sim .wazo-sim__ventajas-desc,
    .wazo-page-sim .wazo-sim__ventajas-grid { grid-column: 1; }
    .wazo-page-sim .wazo-sim__acred-grid { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
    .wazo-page-sim .wazo-sim__ventajas-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 24px; }
}
@media (max-width: 639px) {
    .wazo-page-sim .wazo-sim__acred,
    .wazo-page-sim .wazo-sim__ventajas {
        grid-template-columns: subgrid;
        column-gap: var(--wazo-grid-gutter-phone);
        row-gap: var(--wazo-sp-phone-md);
        padding-block: var(--wazo-sp-phone-lg);
    }
    .wazo-page-sim .wazo-sim__acred > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__acred-title,
    .wazo-page-sim .wazo-sim__acred-desc,
    .wazo-page-sim .wazo-sim__acred-grid,
    .wazo-page-sim .wazo-sim__ventajas > .wazo-eyebrow,
    .wazo-page-sim .wazo-sim__ventajas-title,
    .wazo-page-sim .wazo-sim__ventajas-desc,
    .wazo-page-sim .wazo-sim__ventajas-grid { grid-column: 1 / -1; }
    .wazo-page-sim .wazo-sim__acred-grid,
    .wazo-page-sim .wazo-sim__ventajas-grid { grid-template-columns: 1fr; gap: var(--wazo-sp-phone-md); }
    .wazo-page-sim .wazo-sim__acred-desc,
    .wazo-page-sim .wazo-sim__ventajas-desc { margin-top: 0; }
}

/* ================================================================
 * Fin del bloque PAGE /simuladores/.
 * ================================================================ */
