/* ==========================================================================
   Ficha de curso v2 (/curso/<slug> → enrol/index.php)
   Solo se carga con theme_remui/enrolpage_redesign encendido o con ?v2=1
   (layout/incourse.php). Todo cuelga de body.enrol-v2 (#page-enrol-index), así
   la ficha clásica no cambia aunque el fichero se cargue por error.
   Lenguaje visual: el de la portada y el listado /cursos/ (landing-fase1.css):
   crema/azulado claro, azul marino dominante, naranja solo para acciones.
   ========================================================================== */

#page-enrol-index.enrol-v2 {
    --ev2-navy: #1e3a5f;
    --ev2-navy-2: #2c4a73;
    --ev2-ink: #1e3a5f;
    --ev2-muted: #4a5568;
    --ev2-soft: #f3f7fc;
    --ev2-cream: #fbf7f2;
    --ev2-line: #e3e9f2;
    --ev2-line-2: #dbe4f0;
    --ev2-tint: #e8f0fb;
    --ev2-action: #b45309;       /* blanco encima 5,0:1 (AA) */
    --ev2-action-dark: #9a3412;
    --ev2-ok: #15803d;
    --ev2-ok-soft: #dcfce7;
    --ev2-radius: 18px;
    --ev2-shadow: 0 18px 44px rgba(30, 58, 95, .14);
    --ev2-shadow-sm: 0 1px 2px rgba(30, 58, 95, .05), 0 6px 18px rgba(30, 58, 95, .06);
    --ev2-font: Inter, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    background: var(--ev2-soft);
}

#page-enrol-index.enrol-v2 #page-content {
    padding-top: 0;
}

/* ---------- Rejilla: hero + cuerpo a la izquierda, tarjeta a la derecha ---------- */
#page-enrol-index.enrol-v2 .enrollment-sections.ev2-page {
    display: block;
    width: 100%;
}

#page-enrol-index.enrol-v2 .enrollment-main-content.ev2-layout {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 384px;
    grid-template-areas:
        "hero card"
        "body card";
    column-gap: 48px;
    row-gap: 0;
    align-items: start;
    font-family: var(--ev2-font);
    color: var(--ev2-ink);
}

/* ---------- Hero ---------- */
#page-enrol-index.enrol-v2 .ev2-hero {
    grid-area: hero;
    position: relative;
    padding: 28px 0 30px;
    /* Banda crema a todo el ancho sin provocar scroll horizontal: la sombra no
       cuenta para el desbordamiento y clip-path la recorta a la altura del hero. */
    background: var(--ev2-cream);
    box-shadow: 0 0 0 100vmax var(--ev2-cream);
    clip-path: inset(0 -100vmax);
}

#page-enrol-index.enrol-v2 .ev2-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 0;
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
}

#page-enrol-index.enrol-v2 .ev2-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-breadcrumbs li + li::before {
    content: "›";
    margin: 0 8px;
    color: #8a97a8;
    font-weight: 400;
}

#page-enrol-index.enrol-v2 .ev2-breadcrumbs a {
    color: var(--ev2-navy);
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .ev2-breadcrumbs a:hover,
#page-enrol-index.enrol-v2 .ev2-breadcrumbs a:focus-visible {
    text-decoration: underline;
}

#page-enrol-index.enrol-v2 .ev2-title {
    margin: 0;
    max-width: 24ch;
    font-family: var(--ev2-font);
    font-size: clamp(2rem, 1.2rem + 2vw, 2.9rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.028em;
    color: var(--ev2-navy);
    text-wrap: balance;
}

/* format_text() envuelve el nombre en div.text_to_html. */
#page-enrol-index.enrol-v2 .ev2-title .text_to_html {
    display: inline;
}

#page-enrol-index.enrol-v2 .ev2-subtitle {
    margin: 14px 0 0;
    max-width: 60ch;
    font-size: 18px;
    line-height: 1.5;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-top: 16px;
    font-size: 14px;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

#page-enrol-index.enrol-v2 .ev2-meta__item > .fa {
    color: #6b7c93;
    font-size: 13px;
}

#page-enrol-index.enrol-v2 .ev2-meta a {
    color: var(--ev2-navy);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(30, 58, 95, .3);
    text-underline-offset: 3px;
}

#page-enrol-index.enrol-v2 .ev2-meta a:hover {
    text-decoration-color: currentColor;
}

#page-enrol-index.enrol-v2 .ev2-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

#page-enrol-index.enrol-v2 .ev2-stats:empty {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 10px;
    background: #fff;
    border: 1px solid var(--ev2-line);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(30, 58, 95, .04);
}

#page-enrol-index.enrol-v2 .ev2-stat__icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--ev2-tint);
    color: var(--ev2-navy);
    font-size: 16px;
}

#page-enrol-index.enrol-v2 .ev2-stat__body {
    font-size: 14px;
    line-height: 1.25;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-stat__body strong {
    display: block;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--ev2-navy);
}

/* ---------- Tarjeta de compra ---------- */
#page-enrol-index.enrol-v2 .pricing-section.ev2-card {
    grid-area: card;
    position: sticky;
    top: 88px;
    z-index: 5;
    align-self: start;
    display: block;
    width: 100%;
    min-width: 0;
    max-height: calc(100vh - 104px);
    margin: 28px 0 32px;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    background: #fff;
    border: 1px solid var(--ev2-line);
    border-radius: var(--ev2-radius);
    box-shadow: var(--ev2-shadow);
    font-family: var(--ev2-font);
}

#page-enrol-index.enrol-v2 .ev2-card__video {
    border-radius: 0;
    overflow: hidden;
}

#page-enrol-index.enrol-v2 .ev2-card__video .video-thumbnail-img {
    display: block;
    width: 100%;
    max-height: 190px;
    object-fit: cover;
}

#page-enrol-index.enrol-v2 .ev2-card__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px 24px;
}

#page-enrol-index.enrol-v2 .ev2-price {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#page-enrol-index.enrol-v2 .ev2-price__prefix {
    font-size: 13px;
    font-weight: 600;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-price__amount,
#page-enrol-index.enrol-v2 .ev2-price__amount .pricing--price {
    margin: 0;
    font-family: var(--ev2-font);
    font-size: 34px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-price__summary {
    font-size: 13px;
    color: var(--ev2-muted);
}

/* Botones: misma familia que el checkout v2 y la portada (naranja = acción). */
#page-enrol-index.enrol-v2 .ev2-card .ev2-btn,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 13px 18px;
    border-radius: 12px;
    font-family: var(--ev2-font);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--primary,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn--primary {
    background: var(--ev2-action);
    border: 2px solid var(--ev2-action);
    color: #fff;
    box-shadow: 0 8px 20px rgba(180, 83, 9, .26);
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--primary:hover,
#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--primary:focus-visible {
    background: var(--ev2-action-dark);
    border-color: var(--ev2-action-dark);
    color: #fff;
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--secondary,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn--secondary {
    background: #fff;
    border: 2px solid var(--ev2-navy);
    color: var(--ev2-navy);
    box-shadow: none;
    font-size: 16px;
    min-height: 48px;
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--secondary:hover,
#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--secondary:focus-visible {
    background: var(--ev2-soft);
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--disabled {
    background: #eef2f7;
    border: 2px solid #eef2f7;
    color: #6b7c93;
    cursor: not-allowed;
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn:focus-visible,
#page-enrol-index.enrol-v2 .ev2-plan:focus-visible,
#page-enrol-index.enrol-v2 .ev2-trialbanner:focus-visible,
#page-enrol-index.enrol-v2 .ev2-fold__toggle:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .ev2-cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#page-enrol-index.enrol-v2 .ev2-cta__note {
    display: block;
    margin: 0;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--ev2-muted);
    text-align: center;
}

#page-enrol-index.enrol-v2 .ev2-cta__note .fa,
#page-enrol-index.enrol-v2 .ev2-buy__note .fa {
    color: var(--ev2-ok);
}

#page-enrol-index.enrol-v2 .ev2-cta__note .fa {
    margin-right: 6px;
}

/* Planes: filas que llevan al checkout del plan (no son radios). */
#page-enrol-index.enrol-v2 .ev2-plans {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#page-enrol-index.enrol-v2 .ev2-plans__label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-plans__label::before,
#page-enrol-index.enrol-v2 .ev2-plans__label::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--ev2-line);
}

#page-enrol-index.enrol-v2 .ev2-plans .ev2-plans__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: auto;
    grid-template-areas: none;
    align-items: center;
    gap: 0 12px;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 10px 12px 10px 16px;
    background: #fff;
    border: 1.5px solid var(--ev2-line-2);
    border-radius: 14px;
    box-shadow: none;
    color: var(--ev2-ink);
    text-align: left;
    text-decoration: none;
    transform: none;
    transition: border-color .15s, background-color .15s;
}

#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan:hover {
    border-color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan.is-selected {
    border: 2px solid var(--ev2-navy);
    padding: 9.5px 11.5px 9.5px 15.5px;
    background: var(--ev2-soft);
}

#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan::before,
#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan::after {
    content: none;
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-plan__main,
#page-enrol-index.enrol-v2 .ev2-plan__side {
    grid-area: auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.3;
}

#page-enrol-index.enrol-v2 .ev2-plan__side {
    align-items: flex-end;
    text-align: right;
}

#page-enrol-index.enrol-v2 .ev2-plan__name {
    font-size: 15px;
    font-weight: 700;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-plan__reco {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 8px;
    border-radius: 999px;
    background: var(--ev2-navy);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    vertical-align: 2px;
}

#page-enrol-index.enrol-v2 .ev2-plan__kind,
#page-enrol-index.enrol-v2 .ev2-plan__permonth {
    font-size: 12.5px;
    line-height: 1.35;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-plan__price {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--ev2-navy);
    white-space: nowrap;
}

#page-enrol-index.enrol-v2 .ev2-plan__save {
    margin-bottom: 2px;
    padding: 1px 7px;
    border-radius: 999px;
    background: var(--ev2-ok-soft);
    color: #166534;
    font-size: 11.5px;
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .ev2-plan__was {
    font-size: 12px;
    color: #6b7c93;
}

#page-enrol-index.enrol-v2 .ev2-plan__soon {
    font-size: 12px;
    font-weight: 600;
    color: #6b7c93;
}

#page-enrol-index.enrol-v2 .ev2-plan__chev {
    font-size: 12px;
    color: #8a97a8;
}

#page-enrol-index.enrol-v2 .ev2-plan.is-disabled {
    opacity: .6;
}

#page-enrol-index.enrol-v2 .enroll-btn-wrapper.ev2-buy {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#page-enrol-index.enrol-v2 .enroll-btn-wrapper.ev2-buy:empty {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-buy__note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    font-size: 13px;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-checks {
    display: flex;
    flex-direction: column;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 12px 0 0;
    border-top: 1px solid var(--ev2-line);
}

#page-enrol-index.enrol-v2 .ev2-checks li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--ev2-ink);
}

#page-enrol-index.enrol-v2 .ev2-checks li .fa {
    flex: none;
    margin-top: 3px;
    color: var(--ev2-ok);
    font-size: 13px;
}

#page-enrol-index.enrol-v2 .ev2-includes .ev2-checks {
    padding-top: 0;
    border-top: 0;
}

#page-enrol-index.enrol-v2 .ev2-includes {
    padding-top: 16px;
    border-top: 1px solid var(--ev2-line);
}

#page-enrol-index.enrol-v2 .ev2-checks + .ev2-includes {
    padding-top: 0;
    border-top: 0;
}

#page-enrol-index.enrol-v2 .ev2-includes__title {
    margin: 0 0 10px;
    font-family: var(--ev2-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-fact {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 13.5px;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .pricing-student-login.ev2-login {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-size: 13.5px;
    text-align: center;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-login a {
    margin-left: 4px;
    color: var(--ev2-navy);
    font-weight: 700;
}

/* Prueba gratis como aviso (con sesión: la compra es la acción principal). */
#page-enrol-index.enrol-v2 .ev2-trialbanner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #f5d0a9;
    border-radius: 14px;
    background: #fff7ed;
    color: var(--ev2-navy);
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .ev2-trialbanner:hover {
    border-color: var(--ev2-action);
}

#page-enrol-index.enrol-v2 .ev2-trialbanner__icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    color: var(--ev2-action);
}

#page-enrol-index.enrol-v2 .ev2-trialbanner__text {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    font-size: 12.5px;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-trialbanner__text strong {
    font-size: 14.5px;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-trialbanner__chev {
    color: var(--ev2-action);
    font-size: 12px;
}

/* Factura pendiente: la tarjeta de recuperación mantiene su marcado. */
#page-enrol-index.enrol-v2 .ev2-recover {
    padding: 24px;
}

#page-enrol-index.enrol-v2 .ev2-recover .recover-card__title {
    font-family: var(--ev2-font);
    font-weight: 800;
    color: var(--ev2-navy);
}

/* Barra fija: en escritorio sobra (la tarjeta ya acompaña al scroll). */
@media (min-width: 992px) {
    /* El :has() de la hoja clásica sube la especificidad a (3,1,0): hay que igualarlo. */
    #page-enrol-index.enrol-v2 #sticky-cta-bar,
    #page-enrol-index.enrol-v2 #sticky-cta-bar.desktop-visible,
    #page-enrol-index.enrol-v2:has(#opciones-matriculacion .pricing-plans) #sticky-cta-bar {
        display: none !important;
    }
    #page-enrol-index.enrol-v2:has(#opciones-matriculacion .pricing-plans) .asw-menu-btn {
        bottom: 24px;
    }
    #page-enrol-index.enrol-v2:has(#opciones-matriculacion .pricing-plans) #page-footer .floating-buttons-wrapper {
        bottom: 16px;
    }
}

#page-enrol-index.enrol-v2 #sticky-cta-bar .sticky-cta-btn.btn-primary {
    background: var(--ev2-action);
    border-color: var(--ev2-action);
    color: #fff;
}

/* ---------- Cuerpo ---------- */
#page-enrol-index.enrol-v2 .ev2-layout > .courseoverview-section {
    grid-area: body;
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
    margin: 20px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section {
    margin: 0 0 24px;
    padding: 32px;
    background: #fff;
    border: 1px solid var(--ev2-line);
    border-radius: var(--ev2-radius);
    box-shadow: var(--ev2-shadow-sm);
}

#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section:last-child {
    margin-bottom: 0;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--ev2-line);
}

#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section > h2,
#page-enrol-index.enrol-v2 .courseoverview-section .lead-magnet-text h2,
#page-enrol-index.enrol-v2 .course-summary-prose h2,
#page-enrol-index.enrol-v2 .buynow-sales-alternatives__header h3,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses h3 {
    margin: 0 0 18px;
    font-family: var(--ev2-font);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .courseoverview-section h3,
#page-enrol-index.enrol-v2 .course-summary-prose h3 {
    font-family: var(--ev2-font);
    letter-spacing: -.01em;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .courseoverview-section p,
#page-enrol-index.enrol-v2 .courseoverview-section li {
    color: var(--ev2-muted);
}

/* Qué incluye */
#page-enrol-index.enrol-v2 .course-value-list {
    display: grid;
    gap: 12px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
}

#page-enrol-index.enrol-v2 .course-value-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ev2-ink);
}

#page-enrol-index.enrol-v2 .course-value-list li .fa {
    flex: none;
    margin-top: 3px;
    color: var(--ev2-ok);
    font-size: 17px;
}

#page-enrol-index.enrol-v2 .course-value-for {
    margin: 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: var(--ev2-cream);
    font-size: 15px;
    color: var(--ev2-ink);
}

/* Temario: plegado a 6 secciones con JS */
#page-enrol-index.enrol-v2 .ssr-course-summary {
    margin: -8px 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-fold.is-folded > li:nth-child(n+7) {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-fold__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 14px;
    padding: 12px 16px;
    border: 1.5px solid var(--ev2-line-2);
    border-radius: 12px;
    background: var(--ev2-soft);
    color: var(--ev2-navy);
    font-family: var(--ev2-font);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

#page-enrol-index.enrol-v2 .ev2-fold__toggle[hidden] {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-fold__toggle:hover {
    border-color: var(--ev2-navy);
}

/* Cómo funciona: fila compacta de pasos (es una secuencia real) unida por una línea. */
#page-enrol-index.enrol-v2 .metodologia-steps {
    --ev2-steps-gap: 24px;
    position: relative;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--ev2-steps-gap);
}

/* La línea se dibuja por tramos, de cada número hacia el paso siguiente: vale para
   cualquier número de pasos. */
#page-enrol-index.enrol-v2 .metodologia-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 44px;
    right: calc(-1 * var(--ev2-steps-gap) + 8px);
    border-top: 2px dotted #c9d6e6;
}

#page-enrol-index.enrol-v2 .metodologia-step {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .metodologia-step .step-number {
    display: grid;
    place-items: center;
    flex: none;
    width: 32px;
    height: 32px;
    margin: 0;
    border-radius: 50%;
    background: var(--ev2-action);
    box-shadow: 0 0 0 6px #fff;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

#page-enrol-index.enrol-v2 .metodologia-step h3 {
    margin: 0 0 4px;
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.3;
}

#page-enrol-index.enrol-v2 .metodologia-step p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
}

/* El Método: rejilla de 2 con alturas igualadas por fila (en 3 columnas los textos
   largos quedaban en líneas de ~24 caracteres); con 5 tarjetas la primera ocupa la
   fila entera y el resto va 2 + 2, sin huérfanas. Icono a la izquierda del título y
   texto a todo el ancho, con la línea limitada a ~60ch. */
#page-enrol-index.enrol-v2 .metodo-intro {
    margin: 0 0 22px;
    max-width: 64ch;
    font-size: 15.5px;
    line-height: 1.65;
}

#page-enrol-index.enrol-v2 .metodo-section .metodo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
}

#page-enrol-index.enrol-v2 .metodo-grid > .metodo-card:first-child:nth-last-child(odd),
#page-enrol-index.enrol-v2 .metodo-grid > .metodo-card:only-child {
    grid-column: 1 / -1;
}

#page-enrol-index.enrol-v2 .metodo-section .metodo-grid > .metodo-card {
    flex: none;
    max-width: none;
}

#page-enrol-index.enrol-v2 .metodo-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-content: start;
    column-gap: 12px;
    row-gap: 12px;
    height: 100%;
    margin: 0;
    padding: 22px 24px 24px;
    border: 0;
    border-radius: 16px;
    background: var(--ev2-soft);
    box-shadow: none;
    transform: none;
}

#page-enrol-index.enrol-v2 .metodo-card:hover {
    transform: none;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .metodo-card__icon {
    display: grid;
    place-items: center;
    align-self: center;
    width: 40px;
    height: 40px;
    margin: 0;
    border-radius: 12px;
    background: #fff;
    color: var(--ev2-navy);
    font-size: 16px;
}

#page-enrol-index.enrol-v2 .metodo-card__title {
    align-self: center;
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
}

#page-enrol-index.enrol-v2 .metodo-card__text {
    grid-column: 1 / -1;
    max-width: 60ch;
    margin: 0;
    font-size: 14.5px;
    line-height: 1.65;
}

/* Comparativa de modalidades (sube junto al precio) */
#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__header p {
    margin: -8px 0 20px;
    max-width: 70ch;
    font-size: 15px;
    line-height: 1.55;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
    border: 1.5px solid var(--ev2-line-2);
    border-radius: 16px;
    background: #fff;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__card--premium {
    border: 2px solid var(--ev2-navy);
    background: var(--ev2-soft);
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__badge {
    position: static;
    align-self: flex-start;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--ev2-navy);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    transform: none;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__price {
    display: block;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__bullets {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__bullets li {
    display: flex;
    gap: 8px;
    font-size: 14px;
    line-height: 1.45;
}

#page-enrol-index.enrol-v2 .ev2-compare .benefit-check {
    color: var(--ev2-ok);
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__cta {
    margin-top: auto;
    padding: 11px 16px;
    border-radius: 12px;
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__cta.btn-secondary {
    background: #fff;
    border: 2px solid var(--ev2-navy);
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-compare .buynow-sales-alternatives__cta.btn-primary {
    background: var(--ev2-navy);
    border: 2px solid var(--ev2-navy);
    color: #fff;
}

/* FAQ */
#page-enrol-index.enrol-v2 .opo-faq-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    border-top: 1px solid var(--ev2-line);
}

#page-enrol-index.enrol-v2 .opo-faq-item {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--ev2-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .opo-faq-question {
    position: relative;
    padding: 16px 40px 16px 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--ev2-navy);
    list-style: none;
    cursor: pointer;
}

#page-enrol-index.enrol-v2 .opo-faq-question::-webkit-details-marker {
    display: none;
}

#page-enrol-index.enrol-v2 .opo-faq-question::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 4px;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    border-radius: 50%;
    background: var(--ev2-soft);
    color: var(--ev2-navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 26px;
    text-align: center;
    transition: transform .2s;
}

#page-enrol-index.enrol-v2 .opo-faq-item[open] .opo-faq-question::after {
    transform: rotate(45deg);
}

#page-enrol-index.enrol-v2 .opo-faq-answer {
    padding: 0 40px 16px 0;
}

#page-enrol-index.enrol-v2 .opo-faq-answer p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

/* Resto de secciones: solo tipografía y radios coherentes */
#page-enrol-index.enrol-v2 .opo-info-card,
#page-enrol-index.enrol-v2 .preview-question,
#page-enrol-index.enrol-v2 .practica-card,
#page-enrol-index.enrol-v2 .opo-resource-card,
#page-enrol-index.enrol-v2 .opo-salary-box,
#page-enrol-index.enrol-v2 .opo-convocatoria-box,
#page-enrol-index.enrol-v2 .instructor-course-card {
    border-radius: 14px;
}

#page-enrol-index.enrol-v2 .practica-card__icon,
#page-enrol-index.enrol-v2 .opo-resource-card__icon {
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .lead-magnet-section {
    border-radius: var(--ev2-radius);
}

#page-enrol-index.enrol-v2 .enrollment-related-band {
    width: min(1200px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

/* ---------- Tableta y móvil: una columna, la tarjeta justo tras el hero ---------- */
@media (max-width: 991.98px) {
    #page-enrol-index.enrol-v2 .enrollment-main-content.ev2-layout {
        width: min(720px, calc(100% - 32px));
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "hero"
            "card"
            "body";
    }

    #page-enrol-index.enrol-v2 .pricing-section.ev2-card {
        position: relative;
        top: auto;
        max-height: none;
        margin: 0;
        overflow: visible;
        /* La tarjeta monta sobre el borde inferior de la banda crema. */
        margin-top: -12px;
    }

    #page-enrol-index.enrol-v2 .ev2-layout > .courseoverview-section {
        margin-top: 24px;
    }

    #page-enrol-index.enrol-v2 .enrollment-related-band {
        width: min(720px, calc(100% - 32px));
    }
}

@media (max-width: 767.98px) {
    #page-enrol-index.enrol-v2 .ev2-hero {
        padding: 20px 0 28px;
    }

    #page-enrol-index.enrol-v2 .ev2-breadcrumbs ol {
        flex-wrap: nowrap;
        margin-bottom: 10px;
        overflow: hidden;
        font-size: 13px;
        white-space: nowrap;
    }

    #page-enrol-index.enrol-v2 .ev2-breadcrumbs li:last-child {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #page-enrol-index.enrol-v2 .ev2-breadcrumbs li:last-child a {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #page-enrol-index.enrol-v2 .ev2-title {
        font-size: 28px;
        line-height: 1.12;
    }

    #page-enrol-index.enrol-v2 .ev2-subtitle {
        font-size: 16px;
    }

    #page-enrol-index.enrol-v2 .ev2-meta {
        gap: 4px 14px;
        margin-top: 10px;
        font-size: 13px;
    }

    /* En el primer pantallazo del móvil manda el precio: fuera autor y contador. */
    #page-enrol-index.enrol-v2 .ev2-meta__item:has(.fa-user-tie),
    #page-enrol-index.enrol-v2 .ev2-meta__item:has(.fa-list-check) {
        display: none;
    }

    #page-enrol-index.enrol-v2 .ev2-stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
    }

    #page-enrol-index.enrol-v2 .ev2-stat {
        gap: 8px;
        padding: 7px 10px 7px 7px;
        border-radius: 12px;
    }

    #page-enrol-index.enrol-v2 .ev2-stat__icon {
        width: 30px;
        height: 30px;
        border-radius: 9px;
        font-size: 13px;
    }

    #page-enrol-index.enrol-v2 .ev2-stat__body {
        font-size: 12px;
    }

    #page-enrol-index.enrol-v2 .ev2-stat__body strong {
        font-size: 15px;
    }

    #page-enrol-index.enrol-v2 .ev2-card__body {
        gap: 14px;
        padding: 20px;
    }

    #page-enrol-index.enrol-v2 .ev2-price__amount,
    #page-enrol-index.enrol-v2 .ev2-price__amount .pricing--price {
        font-size: 30px;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .enrol-section {
        padding: 22px 20px;
        border-radius: 16px;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .enrol-section:last-child {
        padding-bottom: 22px;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .enrol-section > h2,
    #page-enrol-index.enrol-v2 .courseoverview-section .lead-magnet-text h2,
    #page-enrol-index.enrol-v2 .buynow-sales-alternatives__header h3 {
        font-size: 22px;
    }

    #page-enrol-index.enrol-v2 .metodo-section .metodo-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    #page-enrol-index.enrol-v2 .metodo-grid > .metodo-card:first-child:nth-last-child(odd) {
        grid-column: auto;
    }

    /* Los botones flotantes (accesibilidad, ayuda) tapaban precios y flechas de la
       tarjeta: más pequeños y pegados al borde, dentro del margen lateral de 36 px
       que dejan la tarjeta y su relleno, así no pisan contenido. */
    #page-enrol-index.enrol-v2 .floating-buttons-wrapper {
        right: 2px !important;
    }

    #page-enrol-index.enrol-v2 .floating-buttons-wrapper .asw-menu-btn,
    #page-enrol-index.enrol-v2 .floating-buttons-wrapper > * {
        width: 34px !important;
        height: 34px !important;
        min-width: 0 !important;
    }

    #page-enrol-index.enrol-v2 .floating-buttons-wrapper svg,
    #page-enrol-index.enrol-v2 .floating-buttons-wrapper img {
        max-width: 20px;
        max-height: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #page-enrol-index.enrol-v2 .opo-faq-question::after,
    #page-enrol-index.enrol-v2 .ev2-card .ev2-btn {
        transition: none;
    }
}

/* #region-main recorta (overflow:hidden) y cortaba la banda crema del hero. */
#page-enrol-index.enrol-v2 #region-main {
    overflow: visible !important;
}

/* Lo que antes recortaba #region-main se recorta ahora en su propio bloque (el
   coursebox del core que ve un usuario con sesión desborda 200 px a la derecha) y,
   por si acaso, a lo ancho de la página: nada de scroll horizontal. */
#page-enrol-index.enrol-v2 .enrol-main-area-wrapper {
    overflow-x: clip;
    overflow-y: visible;
}

#page-enrol-index.enrol-v2 #page-wrapper {
    overflow-x: clip;
}

#page-enrol-index.enrol-v2 #page {
    background: var(--ev2-soft);
}

/* ---------- Segunda pasada ---------- */

/* Franja de confianza en el hero, discreta (como «Nuestros alumnos han aprobado en…»
   de la portada). Antes vivía dentro de la tarjeta de precio. */
#page-enrol-index.enrol-v2 .ev2-trustline {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 0;
    margin: 18px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-trustline strong {
    font-weight: 700;
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-trustline__sep {
    margin: 0 10px;
    color: var(--ev2-action);
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .ev2-trustline a {
    color: var(--ev2-muted);
    text-decoration: underline;
    text-decoration-color: rgba(30, 58, 95, .25);
    text-underline-offset: 3px;
}

#page-enrol-index.enrol-v2 .ev2-trustline a:hover {
    color: var(--ev2-navy);
    text-decoration-color: currentColor;
}

/* Enlaces de texto del cuerpo: azul marino con subrayado suave (no el azul #2563eb). */
#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section a:not(.btn):not([class*="card"]):not(.lead-magnet-btn):not(.ev2-fold__toggle):not([class*="ev2-"]),
#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section a.text-link-semibold {
    color: var(--ev2-navy);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(30, 58, 95, .3);
    text-underline-offset: 3px;
}

#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section a:not(.btn):not([class*="card"]):not(.lead-magnet-btn):not(.ev2-fold__toggle):not([class*="ev2-"]):hover {
    color: var(--ev2-action);
    text-decoration-color: currentColor;
}

/* Cursos relacionados: tarjetas como las del listado, sin emoji ni carrito, botón
   secundario azul marino. Enlaces y precios «desde» intactos. */
#page-enrol-index.enrol-v2 .enrollment-related-band {
    margin-top: 40px;
    padding: 0;
    border: 0;
    background: none;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > .d-flex:first-child h3::before,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > div:first-child h3::before {
    content: none;
    display: none;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > div:first-child h3,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > .d-flex:first-child h3 {
    margin: 0;
    font-family: var(--ev2-font);
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--ev2-navy) !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .header-content-wrapper a {
    padding: 0;
    border: 0;
    background: none;
    color: var(--ev2-action);
    font-weight: 700;
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .header-content-wrapper a:hover {
    text-decoration: underline;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper {
    gap: 20px !important;
    padding: 0 !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card {
    overflow: hidden;
    border: 1px solid var(--ev2-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--ev2-shadow-sm) !important;
    transform: none !important;
    transition: box-shadow .15s, transform .15s;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card:hover {
    box-shadow: 0 14px 32px rgba(30, 58, 95, .14) !important;
    transform: translateY(-3px) !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .card-img {
    border-radius: 0 !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .categoryname {
    color: var(--ev2-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .coursename {
    font-family: var(--ev2-font);
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--ev2-navy) !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .related-course-footer-price {
    color: var(--ev2-navy) !important;
    font-weight: 700 !important;
}

/* Solo el icono decorativo del método de matrícula (un <img> suelto); si el bloque
   trajera un enlace o botón, se queda. */
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .enrollmenticons-wrapper > img.icon {
    display: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .enrollmenticons-wrapper:not(:has(a, button, input, [tabindex])) {
    display: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn {
    flex: 1 1 auto;
    width: 100%;
    padding: 10px 16px !important;
    border: 2px solid var(--ev2-navy) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--ev2-navy) !important;
    font-family: var(--ev2-font);
    font-size: 15px !important;
    font-weight: 700 !important;
    transform: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:focus {
    outline: 3px solid rgba(30, 58, 95, .45) !important;
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:focus:not(:focus-visible) {
    outline: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .45) !important;
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:hover {
    background: var(--ev2-navy) !important;
    color: #fff !important;
}


@media (max-width: 767.98px) {
    /* Pasos en móvil: lista vertical con la línea a la izquierda. */
    #page-enrol-index.enrol-v2 .metodologia-steps {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    /* En vertical los tramos bajan de cada número al siguiente. */
    #page-enrol-index.enrol-v2 .metodologia-step:not(:last-child)::after {
        top: 40px;
        bottom: -14px;
        left: 15px;
        right: auto;
        border-top: 0;
        border-left: 2px dotted #c9d6e6;
    }

    #page-enrol-index.enrol-v2 .metodologia-step {
        flex-direction: row;
        align-items: flex-start;
        gap: 14px;
    }

    #page-enrol-index.enrol-v2 .metodo-card {
        padding: 18px;
    }

    #page-enrol-index.enrol-v2 .ev2-trustline {
        margin-top: 12px;
        font-size: 12.5px;
    }

    #page-enrol-index.enrol-v2 .ev2-trustline__sep {
        margin: 0 7px;
    }

    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses > div:first-child h3 {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card:hover,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn::after,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:hover::after,
    #page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan,
    #page-enrol-index.enrol-v2 .ev2-fold__toggle {
        transform: none !important;
        transition: none !important;
    }
}

/* ==========================================================================
   Tercera pasada (23-09-2026): encaje con la portada y el listado, banda final
   legible, venta cruzada al Premium, desbordes móviles y barra fija propia.
   ========================================================================== */

/* ---------- Tokens de la portada: texto, sombras, radios ---------- */
#page-enrol-index.enrol-v2 {
    --ev2-text: #343a40;
    --ev2-radius-btn: 10px;
}

/* Secciones: sin sombra (la portada no las usa); solo borde. La única pieza que flota
   es la tarjeta de compra. */
#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section {
    box-shadow: none;
}

/* Párrafos largos en el gris oscuro de la portada; el gris medio queda para meta. */
#page-enrol-index.enrol-v2 .courseoverview-section p,
#page-enrol-index.enrol-v2 .courseoverview-section li,
#page-enrol-index.enrol-v2 .course-summary-prose {
    color: var(--ev2-text);
}

#page-enrol-index.enrol-v2 .ssr-course-summary,
#page-enrol-index.enrol-v2 .buynow-sales-alternatives__header p {
    color: var(--ev2-muted);
}

/* Títulos de sección con la escala de la portada (32/700). */
#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section > h2,
#page-enrol-index.enrol-v2 .course-summary-prose h2,
#page-enrol-index.enrol-v2 .buynow-sales-alternatives__header h3,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses h3,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > div:first-child h3,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses > .d-flex:first-child h3 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.02em;
}

/* Tarjetas secundarias en crema, sin sombra (como .lp-why__card). */
#page-enrol-index.enrol-v2 .metodo-card,
#page-enrol-index.enrol-v2 .opo-info-card {
    border: 0;
    border-radius: var(--ev2-radius);
    background: var(--ev2-cream);
    box-shadow: none;
}

#page-enrol-index.enrol-v2 .opo-info-card__label {
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .opo-info-card__value {
    color: var(--ev2-navy);
}

/* «Sobre esta oposición» con dos fichas: no dejar media rejilla vacía. */
#page-enrol-index.enrol-v2 .opo-info-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* Botones: radio 10 y 16 px, como la portada. */
#page-enrol-index.enrol-v2 .ev2-card .ev2-btn,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn,
#page-enrol-index.enrol-v2 .ev2-fold__toggle {
    border-radius: var(--ev2-radius-btn);
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--secondary,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn--secondary {
    min-height: 44px;
    font-size: 16px;
}

#page-enrol-index.enrol-v2 .ev2-card .ev2-btn--primary,
#page-enrol-index.enrol-v2 .ev2-card .enroll-btn-wrapper .ev2-btn--primary {
    font-size: 17px;
}

#page-enrol-index.enrol-v2 .ev2-plans .plan-tab.ev2-plan {
    border-radius: 12px;
}

/* Formulario nativo de matrícula (usuarios con sesión): mismos botones que la ficha. */
#page-enrol-index.enrol-v2 .enrol-main-area-wrapper {
    width: min(1200px, calc(100% - 48px));
    margin: 32px auto 0;
    font-family: var(--ev2-font);
}

#page-enrol-index.enrol-v2 .enrol-main-area-wrapper .btn-primary,
#page-enrol-index.enrol-v2 .enrol-main-area-wrapper input[type="submit"].btn-primary {
    min-height: 44px;
    padding: 10px 22px;
    border: 2px solid var(--ev2-action);
    border-radius: var(--ev2-radius-btn);
    background: var(--ev2-action);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .enrol-main-area-wrapper .btn-primary:hover,
#page-enrol-index.enrol-v2 .enrol-main-area-wrapper .btn-primary:focus-visible {
    border-color: var(--ev2-action-dark);
    background: var(--ev2-action-dark);
}

#page-enrol-index.enrol-v2 .enrol-main-area-wrapper .btn-primary:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

/* ---------- Tarjeta de compra ---------- */
#page-enrol-index.enrol-v2 .ev2-price__summary--strong {
    font-size: 14px;
    font-weight: 700;
    color: var(--ev2-navy);
}

/* Venta cruzada al Premium bajo las garantías. */
#page-enrol-index.enrol-v2 .ev2-crosssell {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--ev2-cream);
    color: var(--ev2-navy);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .ev2-crosssell .fa {
    flex: none;
    color: var(--ev2-action);
}

#page-enrol-index.enrol-v2 .ev2-crosssell span:first-of-type {
    flex: 1;
    min-width: 0;
}

#page-enrol-index.enrol-v2 .ev2-crosssell:hover span:first-of-type {
    text-decoration: underline;
}

#page-enrol-index.enrol-v2 .ev2-crosssell:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

/* Planes plegables (móvil, con prueba como entrada). */
#page-enrol-index.enrol-v2 .ev2-plans__toggle {
    width: 100%;
    min-height: 44px;
    margin: 0 0 8px;
    padding: 10px 14px;
    border: 1.5px solid var(--ev2-line-2);
    border-radius: var(--ev2-radius-btn);
    background: #fff;
    color: var(--ev2-navy);
    font-family: var(--ev2-font);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

#page-enrol-index.enrol-v2 .ev2-plans__toggle[hidden] {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-plans__toggle:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .ev2-plans.is-collapsed .ev2-plans__list {
    display: none;
}

/* ---------- Comparativa: el curso actual primero, venta cruzada al Premium ---------- */
#page-enrol-index.enrol-v2 .ev2-compare .ev2-alt .buynow-sales-alternatives__card {
    border-radius: var(--ev2-radius);
}

#page-enrol-index.enrol-v2 .ev2-compare .ev2-alt .buynow-sales-alternatives__card--current {
    order: 0;
    border: 1.5px solid var(--ev2-line-2);
    background: #fff;
}

#page-enrol-index.enrol-v2 .ev2-compare .ev2-alt .buynow-sales-alternatives__card--premium {
    order: 1;
    border: 2px solid var(--ev2-action);
    background: var(--ev2-cream);
}

#page-enrol-index.enrol-v2 .ev2-alt__tag {
    align-self: flex-start;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--ev2-soft);
    color: var(--ev2-navy);
    font-size: 12px;
    font-weight: 700;
}

#page-enrol-index.enrol-v2 .ev2-alt__tag--accent {
    background: #fff0df;
    color: #884006;
}

#page-enrol-index.enrol-v2 .ev2-alt .buynow-sales-alternatives__bullets li .fa {
    flex: none;
    margin-top: 3px;
    color: var(--ev2-ok);
    font-size: 13px;
}

#page-enrol-index.enrol-v2 .ev2-alt__link {
    margin-top: auto;
    color: var(--ev2-navy);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(30, 58, 95, .3);
    text-underline-offset: 3px;
}

#page-enrol-index.enrol-v2 .ev2-alt__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: auto;
    padding: 12px 16px;
    border: 2px solid var(--ev2-action);
    border-radius: var(--ev2-radius-btn);
    background: var(--ev2-action);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .ev2-alt__cta:hover,
#page-enrol-index.enrol-v2 .ev2-alt__cta:focus-visible {
    border-color: var(--ev2-action-dark);
    background: var(--ev2-action-dark);
    color: #fff;
}

#page-enrol-index.enrol-v2 .ev2-alt__cta--outline {
    background: #fff;
    border-color: var(--ev2-navy);
    color: var(--ev2-navy);
}

#page-enrol-index.enrol-v2 .ev2-alt__cta--outline:hover,
#page-enrol-index.enrol-v2 .ev2-alt__cta--outline:focus-visible {
    border-color: var(--ev2-navy);
    background: var(--ev2-navy);
    color: #fff;
}

#page-enrol-index.enrol-v2 .ev2-alt__cta:focus-visible,
#page-enrol-index.enrol-v2 .ev2-alt__link:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .ev2-alt__note {
    margin: -6px 0 0;
    font-size: 13px;
    text-align: center;
    color: var(--ev2-muted);
}

/* FAQ: enlace de venta cruzada bajo «¿Incluye temario?». */
#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section a.ev2-faq-link {
    display: inline-block;
    margin-top: 10px;
    color: var(--ev2-action);
    font-weight: 700;
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .courseoverview-section .enrol-section a.ev2-faq-link:hover {
    text-decoration: underline;
}

/* ---------- «Sobre el curso»: el texto largo, una vez y plegado ---------- */
#page-enrol-index.enrol-v2 .ev2-about__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1.5px solid var(--ev2-line-2);
    border-radius: var(--ev2-radius-btn);
    color: var(--ev2-navy);
    font-weight: 700;
    list-style: none;
    cursor: pointer;
}

#page-enrol-index.enrol-v2 .ev2-about__toggle::-webkit-details-marker {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-about__toggle::after {
    content: "+";
    font-size: 18px;
    line-height: 1;
}

#page-enrol-index.enrol-v2 .ev2-about__details[open] .ev2-about__toggle {
    margin-bottom: 18px;
}

#page-enrol-index.enrol-v2 .ev2-about__details[open] .ev2-about__toggle::after {
    content: "−";
}

#page-enrol-index.enrol-v2 .ev2-about__toggle:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

#page-enrol-index.enrol-v2 .ev2-about .course-summary-prose {
    font-size: 15.5px;
    line-height: 1.7;
}

/* ---------- Banda final (sustituye al lead magnet) ---------- */
#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px 32px;
    margin: 0;
    padding: 36px 36px;
    border-radius: var(--ev2-radius);
    background: var(--ev2-navy);
    color: #fff;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band h2 {
    margin: 0 0 8px;
    font-family: var(--ev2-font);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #fff;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band p {
    margin: 0;
    color: rgba(255, 255, 255, .88);
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band .ev2-band__lead {
    font-size: 17px;
    font-weight: 600;
    color: #fff;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band .ev2-band__note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: 14px;
}

#page-enrol-index.enrol-v2 .ev2-band__note .fa {
    color: #86efac;
}

#page-enrol-index.enrol-v2 .ev2-band__action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band a.ev2-band__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 26px;
    border: 2px solid var(--ev2-action);
    border-radius: var(--ev2-radius-btn);
    background: var(--ev2-action);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band a.ev2-band__btn:hover,
#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band a.ev2-band__btn:focus-visible {
    border-color: #fff;
    background: var(--ev2-action-dark);
    color: #fff;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band a.ev2-band__btn:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band .ev2-band__login {
    font-size: 14px;
}

#page-enrol-index.enrol-v2 .courseoverview-section .ev2-band .ev2-band__login a {
    color: #fff;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .5);
}

/* ---------- Barra fija móvil propia ---------- */
#page-enrol-index.enrol-v2 .ev2-sticky {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--ev2-line);
    background: #fff;
    box-shadow: 0 -8px 24px rgba(30, 58, 95, .12);
    font-family: var(--ev2-font);
}

#page-enrol-index.enrol-v2 .ev2-sticky[hidden] {
    display: none;
}

#page-enrol-index.enrol-v2 .ev2-sticky__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 720px;
    margin: 0 auto;
}

#page-enrol-index.enrol-v2 .ev2-sticky__note {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    line-height: 1.35;
    color: var(--ev2-muted);
}

#page-enrol-index.enrol-v2 .ev2-sticky__btn {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 11px 20px;
    border-radius: var(--ev2-radius-btn);
    background: var(--ev2-action);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

#page-enrol-index.enrol-v2 .ev2-sticky__btn:only-child {
    flex: 1;
}

#page-enrol-index.enrol-v2 .ev2-sticky__btn:hover,
#page-enrol-index.enrol-v2 .ev2-sticky__btn:focus-visible {
    background: var(--ev2-action-dark);
    color: #fff;
}

#page-enrol-index.enrol-v2 .ev2-sticky__btn:focus-visible {
    outline: 3px solid rgba(30, 58, 95, .35);
    outline-offset: 2px;
}

body#page-enrol-index.enrol-v2.ev2-sticky-on {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
}

/* La barra clásica no existe en la v2; por si una caché antigua la trae. */
#page-enrol-index.enrol-v2 #sticky-cta-bar {
    display: none !important;
}

/* ---------- Cursos relacionados: la tarjeta del listado ---------- */
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card {
    min-width: 0;
    max-width: 100%;
    border-color: #dce3ea !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 18px rgba(30, 58, 95, .055) !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper > .dashboard-card:hover {
    border-color: #bdcbd9 !important;
    box-shadow: 0 13px 29px rgba(30, 58, 95, .12) !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .card-body,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .course-card-body-wrapper,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .edw-card-design-ft {
    min-width: 0;
}

/* «37 Lecciones» en un curso de tests no dice nada y el nowrap desbordaba en móvil. */
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .lesson-count {
    display: none !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .ernr-lesson-wrapper,
#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .lesson-date-wrapper {
    flex-wrap: wrap;
    white-space: normal !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .related-course-footer-price {
    padding: 0 !important;
    background: none !important;
    color: var(--ev2-navy) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .related-course-footer-badge {
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #fff0df !important;
    color: #884006 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn {
    flex: 0 0 auto;
    width: auto;
    min-height: 40px;
    margin-left: auto;
    padding: 8px 16px !important;
    border: 0 !important;
    border-radius: var(--ev2-radius-btn) !important;
    background: var(--ev2-action) !important;
    color: #fff !important;
    font-size: 14px !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .dashboard-card .payment-view-wrapper .view-course-btn:hover {
    background: var(--ev2-action-dark) !important;
    color: #fff !important;
}

#page-enrol-index.enrol-v2 .enroll-page-relatedcourses .header-content-wrapper a {
    white-space: nowrap;
}

/* ---------- Móvil ---------- */
@media (max-width: 991.98px) {
    #page-enrol-index.enrol-v2 .enrol-main-area-wrapper {
        width: min(720px, calc(100% - 32px));
    }
}

@media (max-width: 767.98px) {
    #page-enrol-index.enrol-v2 .courseoverview-section .enrol-section > h2,
    #page-enrol-index.enrol-v2 .course-summary-prose h2,
    #page-enrol-index.enrol-v2 .buynow-sales-alternatives__header h3,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses > div:first-child h3,
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses > .d-flex:first-child h3 {
        font-size: 26px;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .ev2-band {
        grid-template-columns: minmax(0, 1fr);
        padding: 26px 22px;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .ev2-band h2 {
        font-size: 24px;
    }

    #page-enrol-index.enrol-v2 .ev2-band__action {
        align-items: stretch;
    }

    #page-enrol-index.enrol-v2 .courseoverview-section .ev2-band a.ev2-band__btn {
        white-space: normal;
    }

    #page-enrol-index.enrol-v2 .ev2-band__login {
        text-align: center;
    }

    /* Estructura del examen: una tarjeta por fase (los data-label ya existen). */
    #page-enrol-index.enrol-v2 .opo-examen-table,
    #page-enrol-index.enrol-v2 .opo-examen-table tbody,
    #page-enrol-index.enrol-v2 .opo-examen-table tr,
    #page-enrol-index.enrol-v2 .opo-examen-table td {
        display: block;
        width: 100%;
    }

    #page-enrol-index.enrol-v2 .opo-examen-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    #page-enrol-index.enrol-v2 .opo-examen-table tr {
        margin: 0 0 12px;
        padding: 14px 16px;
        border-radius: 14px;
        background: var(--ev2-cream);
    }

    #page-enrol-index.enrol-v2 .opo-examen-table td {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 10px;
        padding: 5px 0;
        border: 0;
        overflow-wrap: anywhere;
    }

    #page-enrol-index.enrol-v2 .opo-examen-table td::before {
        content: attr(data-label);
        color: var(--ev2-muted);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    #page-enrol-index.enrol-v2 .opo-examen-table tr:hover td {
        background: none;
    }

    /* Relacionados en una columna, sin nada que se salga. */
    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses .relatedcourses-wrapper {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    #page-enrol-index.enrol-v2 .enroll-page-relatedcourses > .d-flex:first-child {
        gap: 12px;
        flex-wrap: wrap;
    }

    /* Pie: margen lateral; el enlace de soporte se queda (es una página de compra) y
       se parte en líneas en vez de desbordar. */
    #page-enrol-index.enrol-v2 #page-footer .footer-content-popover,
    #page-enrol-index.enrol-v2 #page-footer .footer-container {
        padding-right: 16px;
        padding-left: 16px;
    }

    #page-enrol-index.enrol-v2 #page-footer a[href*="/user/contactsitesupport.php"] {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    #page-enrol-index.enrol-v2 .ev2-crosssell,
    #page-enrol-index.enrol-v2 .ev2-alt__cta,
    #page-enrol-index.enrol-v2 .ev2-band__btn,
    #page-enrol-index.enrol-v2 .ev2-sticky__btn {
        transition: none !important;
    }
}

/* La clásica quita el relleno inferior del temario (#page-enrol-index #linkcoursecontent,
   pensado para un acordeón a sangre): en la v2 el botón «Ver las N secciones» quedaba
   pegado al borde y se salía del cuadro. */
#page-enrol-index.enrol-v2 #linkcoursecontent {
    padding-bottom: 32px;
}

@media (max-width: 767.98px) {
    #page-enrol-index.enrol-v2 #linkcoursecontent {
        padding-bottom: 22px;
    }
}
