/* NextPing Course Modules 2.4.1 */

:root {
    --npcm-primary: #2563eb;
    --npcm-radius: 16px;
    --npcm-shadow: 0 10px 28px rgba(16, 24, 40, 0.07);
    --npcm-primary-soft: color-mix(in srgb, var(--npcm-primary) 9%, white);
    --npcm-primary-border: color-mix(in srgb, var(--npcm-primary) 22%, white);
    --npcm-navy: #172033;
    --npcm-text: #344054;
    --npcm-muted: #667085;
    --npcm-white: #ffffff;
    --npcm-soft: #f8fafc;
    --npcm-border: #e4e7ec;
    --npcm-success: #12b76a;
}

body.npcm-active .learndash-wrapper .ld-item-list-items.npcm-ready {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    background: var(--npcm-white) !important;
    border: 1px solid var(--npcm-border) !important;
    border-radius: var(--npcm-radius) !important;
    box-shadow: var(--npcm-shadow) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle {
    appearance: none !important;
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
    min-height: 126px !important;
    margin: 0 !important;
    padding: 24px 27px !important;
    color: var(--npcm-navy) !important;
    background: var(--npcm-white) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle:hover,
body.npcm-active .learndash-wrapper button.npcm-module-toggle:focus-visible {
    background: #fcfcfd !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--npcm-primary) 20%, transparent) !important;
    outline-offset: -3px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 62px !important;
    height: 62px !important;
    color: var(--npcm-primary) !important;
    background: var(--npcm-white) !important;
    border: 2px solid var(--npcm-primary) !important;
    border-radius: calc(var(--npcm-radius) - 1px) !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon[hidden] {
    display: none !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle:has(.npcm-module-icon[hidden]) {
    grid-template-columns: minmax(0, 1fr) 38px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon svg {
    width: 30px !important;
    height: 30px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.npcm-active .learndash-wrapper .npcm-module-copy {
    display: block !important;
    min-width: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--npcm-primary) !important;
    font-size: 13px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
}

body.npcm-active .learndash-wrapper .npcm-module-title {
    display: block !important;
    margin: 0 !important;
    color: var(--npcm-navy) !important;
    font-size: 27px !important;
    font-weight: 760 !important;
    line-height: 1.18 !important;
    letter-spacing: -.03em !important;
}

body.npcm-active .learndash-wrapper .npcm-module-meta {
    display: block !important;
    margin: 9px 0 0 !important;
    color: var(--npcm-muted) !important;
    font-size: 14px !important;
    font-weight: 570 !important;
    line-height: 1.35 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-meta[hidden] {
    display: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    color: #667085 !important;
    border-radius: 50% !important;
    transition: transform .2s ease, color .2s ease, background-color .2s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron svg {
    width: 23px !important;
    height: 23px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-chevron {
    color: var(--npcm-primary) !important;
    background: var(--npcm-primary-soft) !important;
    transform: rotate(180deg) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body {
    padding: 16px 20px 19px !important;
    background: var(--npcm-white) !important;
    border-top: 1px solid var(--npcm-border) !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body[hidden] {
    display: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item {
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    background: var(--npcm-soft) !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item:last-child {
    margin-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item:hover {
    background: var(--npcm-primary-soft) !important;
    border-color: var(--npcm-primary-border) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    min-height: 64px !important;
    padding: 13px 15px !important;
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body a,
body.npcm-active .learndash-wrapper .npcm-module-body a:link,
body.npcm-active .learndash-wrapper .npcm-module-body a:visited,
body.npcm-active .learndash-wrapper .npcm-module-body a:hover,
body.npcm-active .learndash-wrapper .npcm-module-body a:focus,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-title {
    color: var(--npcm-text) !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    font-size: 16px !important;
    font-weight: 680 !important;
    line-height: 1.4 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-details,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-components {
    color: var(--npcm-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-expand-button {
    color: #667085 !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-expand-button:hover {
    color: var(--npcm-primary) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-expanded {
    padding: 0 13px 13px !important;
    background: transparent !important;
    border-top: 1px solid #e6eaf0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list {
    margin: 11px 0 0 !important;
    padding: 0 !important;
    background: var(--npcm-white) !important;
    border: 1px solid var(--npcm-border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list-item {
    margin: 0 !important;
    padding: 0 !important;
    background: var(--npcm-white) !important;
    border: 0 !important;
    border-bottom: 1px solid #eef0f3 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list-item:last-child {
    border-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list-item-preview {
    min-height: 50px !important;
    padding: 11px 13px !important;
}

body.npcm-compact .learndash-wrapper button.npcm-module-toggle {
    min-height: 98px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

body.npcm-compact .learndash-wrapper .npcm-module-icon {
    width: 52px !important;
    height: 52px !important;
}

body.npcm-compact .learndash-wrapper button.npcm-module-toggle {
    grid-template-columns: 52px minmax(0, 1fr) 34px !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-card {
        margin-bottom: 13px !important;
    }

    body.npcm-active .learndash-wrapper button.npcm-module-toggle {
        grid-template-columns: 50px minmax(0, 1fr) 31px !important;
        gap: 13px !important;
        min-height: 104px !important;
        padding: 18px 15px !important;
    }

    body.npcm-active .learndash-wrapper button.npcm-module-toggle:has(.npcm-module-icon[hidden]) {
        grid-template-columns: minmax(0, 1fr) 31px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 50px !important;
        height: 50px !important;
        border-radius: 13px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon svg {
        width: 24px !important;
        height: 24px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
        margin-bottom: 6px !important;
        font-size: 11px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 21px !important;
        line-height: 1.22 !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-meta {
        margin-top: 7px !important;
        font-size: 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-chevron {
        width: 31px !important;
        height: 31px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 11px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview {
        align-items: flex-start !important;
        flex-wrap: wrap !important;
        gap: 8px 10px !important;
        min-height: 0 !important;
        padding: 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name {
        flex: 1 1 calc(100% - 42px) !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-details,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-components {
        width: 100% !important;
        padding-left: 40px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 480px) {
    body.npcm-active .learndash-wrapper button.npcm-module-toggle {
        grid-template-columns: 45px minmax(0, 1fr) 27px !important;
        gap: 10px !important;
        padding: 15px 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 45px !important;
        height: 45px !important;
        border-radius: 11px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 19px !important;
    }
}

/* =========================================================
   LEARNDASH ACORDEÓN MODERNO — COMPATIBILIDAD V2.2
   Estructura real detectada en NextPing Academy:
   .ld-accordion__items--lessons
   .ld-accordion__item--lesson
   ========================================================= */

body.npcm-active .learndash-wrapper .ld-accordion__items.npcm-ready,
body.npcm-active .learndash-wrapper .ld-accordion__items--lessons.npcm-ready {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item.ld-accordion__item--lesson {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: var(--npcm-soft) !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson:last-child {
    margin-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson:hover {
    background: var(--npcm-primary-soft) !important;
    border-color: var(--npcm-primary-border) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-heading,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-trigger,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson > a:first-child,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson > div:first-child {
    min-height: 66px !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a:link,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a:visited,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a:focus,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-name {
    color: var(--npcm-text) !important;
    font-size: 16px !important;
    font-weight: 680 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-description,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-components,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-meta {
    color: var(--npcm-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-toggle,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-expand,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson .ld-expand-button {
    color: #667085 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-content,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-body,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-expanded {
    margin: 0 !important;
    padding: 12px 14px 14px !important;
    background: #ffffff !important;
    border-top: 1px solid #e6eaf0 !important;
    box-shadow: none !important;
}

/* Oculta cualquier cabecera de sección antigua que quede vacía tras construir. */
body.npcm-active .learndash-wrapper .npcm-ready > .ld-accordion__subheading {
    display: none !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-heading,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-trigger,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson > a:first-child,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson > div:first-child {
        min-height: 58px !important;
        padding: 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson a,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-title,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-name {
        font-size: 14px !important;
    }
}


/* =========================================================
   TEMARIO DESPLEGADO PREMIUM — V2.3
   Inspirado en una lista clara de lecciones, preservando
   los estados reales de progreso de LearnDash.
   ========================================================= */

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-module-body {
    padding: 18px 20px 21px !important;
    background: #ffffff !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card {
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: #f7f8fa !important;
    border: 1px solid #eef0f3 !important;
    border-radius: 13px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card:last-child {
    margin-bottom: 0 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card:hover {
    background: #f7f8fa !important;
    border-color: #e1e6ed !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-preview,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-heading,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-trigger,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > a:first-child,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > div:first-child {
    min-height: 67px !important;
    padding: 15px 17px !important;
    background: transparent !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-content,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-body,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-expanded,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-item-list-item-expanded {
    margin: 0 !important;
    padding: 8px 12px 13px !important;
    background: #ffffff !important;
    border-top: 1px solid #eaecf0 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 0 8px !important;
    padding: 12px 16px 12px 58px !important;
    color: var(--npcm-text) !important;
    background: #f7f8fa !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    list-style: none !important;
    box-sizing: border-box !important;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row:last-child {
    margin-bottom: 0 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row:hover {
    background: var(--npcm-primary-soft) !important;
    border-color: var(--npcm-primary-border) !important;
    transform: translateY(-1px) !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row::before {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 29px !important;
    height: 29px !important;
    color: #ffffff !important;
    background: #ffffff !important;
    border: 2px solid #cfd6df !important;
    border-radius: 50% !important;
    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons.npcm-show-progress-icons .learndash-wrapper .npcm-content-row[data-npcm-state="complete"]::before {
    content: "✓" !important;
    background: var(--npcm-success) !important;
    border-color: var(--npcm-success) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.npcm-active.npcm-premium-lessons.npcm-show-progress-icons .learndash-wrapper .npcm-content-row[data-npcm-state="pending"]::before {
    background: #ffffff !important;
    border-color: #cfd6df !important;
}

body.npcm-active.npcm-premium-lessons.npcm-show-progress-icons .learndash-wrapper .npcm-content-row[data-npcm-state="locked"]::before {
    content: "•" !important;
    color: #98a2b3 !important;
    background: #f2f4f7 !important;
    border-color: #d0d5dd !important;
    font-size: 19px !important;
}

body.npcm-active.npcm-premium-lessons:not(.npcm-show-progress-icons) .learndash-wrapper .npcm-content-row {
    padding-left: 17px !important;
}

body.npcm-active.npcm-premium-lessons:not(.npcm-show-progress-icons) .learndash-wrapper .npcm-content-row::before {
    display: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row .ld-status-icon,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row [class*="status-icon"] {
    display: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row a,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row a:link,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row a:visited,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row .ld-item-title,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row .ld-item-name {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #344054 !important;
    font-size: 15px !important;
    font-weight: 560 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row:hover a,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row:hover .ld-item-title,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row:hover .ld-item-name {
    color: var(--npcm-primary) !important;
}

body.npcm-active.npcm-density-compact .learndash-wrapper .npcm-content-row {
    min-height: 48px !important;
    margin-bottom: 6px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

body.npcm-active.npcm-density-spacious .learndash-wrapper .npcm-content-row {
    min-height: 64px !important;
    margin-bottom: 10px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-module-body {
        padding: 11px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card {
        margin-bottom: 9px !important;
        border-radius: 11px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-preview,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-heading,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-trigger,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > a:first-child,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > div:first-child {
        min-height: 58px !important;
        padding: 12px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row {
        min-height: 52px !important;
        margin-bottom: 7px !important;
        padding: 11px 11px 11px 51px !important;
        border-radius: 9px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row::before {
        left: 13px !important;
        width: 27px !important;
        height: 27px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row a,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row .ld-item-title,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-row .ld-item-name {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}


/* =========================================================
   LISTA PLANA DE LECCIONES — V2.4
   Cada tema/cuestionario se convierte en una tarjeta propia,
   evitando la gran caja interior que aparecía en la v2.3.
   ========================================================= */

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-module-body {
    padding: 17px 19px 20px !important;
    background: #ffffff !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Oculta el encabezado interno de cada unidad: el alumno ve una sola
   lista continua de lecciones dentro del módulo, como en la referencia. */
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit > .ld-accordion__item-preview,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit > .ld-accordion__item-heading,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit > .ld-accordion__item-trigger,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit > .ld-item-list-item-preview {
    display: none !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit .ld-accordion__item-content,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit .ld-accordion__item-body,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit .ld-accordion__item-expanded,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit .ld-item-list-item-expanded,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-flat-unit .npcm-flat-list {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-content-host {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    list-style: none !important;
}

/* Oculta el icono documental original de LearnDash para no duplicarlo
   con el círculo de progreso del nuevo diseño. */
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-content-host > .ld-status-icon,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-content-host > .ld-icon,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-content-host [class*="ld-icon-content"],
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-content-host [class*="status-icon"] {
    display: none !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:link,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:visited {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 9px !important;
    padding: 13px 17px 13px 58px !important;

    color: #344054 !important;
    background: #f7f8fa !important;

    border: 1px solid transparent !important;
    border-radius: 11px !important;
    box-shadow: none !important;

    font-size: 15px !important;
    font-weight: 520 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
    text-decoration-line: none !important;

    box-sizing: border-box !important;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:hover,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:focus-visible {
    color: var(--npcm-primary) !important;
    background: var(--npcm-primary-soft) !important;
    border-color: var(--npcm-primary-border) !important;
    transform: translateY(-1px) !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--npcm-primary) 18%, transparent) !important;
    outline-offset: 1px !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link::before {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 29px !important;
    height: 29px !important;

    color: #ffffff !important;
    background: #ffffff !important;
    border: 2px solid #cfd6df !important;
    border-radius: 50% !important;

    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons.npcm-show-progress-icons .learndash-wrapper a.npcm-lesson-link[data-npcm-state="complete"]::before {
    content: "✓" !important;
    background: var(--npcm-success) !important;
    border-color: var(--npcm-success) !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons.npcm-show-progress-icons .learndash-wrapper a.npcm-lesson-link[data-npcm-state="locked"]::before {
    content: "•" !important;
    color: #98a2b3 !important;
    background: #f2f4f7 !important;
    border-color: #d0d5dd !important;
    font-size: 20px !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons:not(.npcm-show-progress-icons) .learndash-wrapper a.npcm-lesson-link {
    padding-left: 17px !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons:not(.npcm-show-progress-icons) .learndash-wrapper a.npcm-lesson-link::before {
    display: none !important;
}

/* Unidad sin temas internos: su propio enlace se muestra como una fila. */
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-unit {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-preview {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-preview .ld-item-components,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-preview .ld-item-details,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-preview .ld-expand-button,
body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-leaf-preview .ld-accordion__item-toggle {
    display: none !important;
}

body.npcm-active.npcm-density-compact.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link {
    min-height: 49px !important;
    margin-bottom: 6px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

body.npcm-active.npcm-density-spacious.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link {
    min-height: 66px !important;
    margin-bottom: 11px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper .npcm-module-body {
        padding: 11px !important;
    }

    body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link,
    body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:link,
    body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link:visited {
        min-height: 53px !important;
        margin-bottom: 7px !important;
        padding: 11px 12px 11px 51px !important;
        border-radius: 9px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    body.npcm-active.npcm-premium-lessons.npcm-flat-lessons .learndash-wrapper a.npcm-lesson-link::before {
        left: 13px !important;
        width: 27px !important;
        height: 27px !important;
    }
}


/* =========================================================
   NEXTPING COURSE MODULES 2.4.1
   ESTRUCTURA PRINCIPAL: MÓDULO → UNIDAD → TEMA
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card {
    overflow: hidden !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger {
    cursor: pointer !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-flat-list,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-item-list-item-expanded,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-content,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-body,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .ld-accordion__item-expanded {
    border-top: 1px solid #e7edf5 !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-module-body {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}


/* =========================================================
   NEXTPING COURSE MODULES 2.4.2
   Filas premium estilo academia + imágenes personalizadas
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-module-icon.has-custom-image {
    padding: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon.has-custom-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: inherit !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    position: relative !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 10px !important;
    padding: 13px 16px 13px 58px !important;
    color: #27364d !important;
    background: #f7f9fc !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    font-weight: 550 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link:focus {
    color: var(--npcm-primary) !important;
    background: #ffffff !important;
    border-color: var(--npcm-primary-border) !important;
    transform: translateY(-1px) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link::before {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    top: 50% !important;
    width: 28px !important;
    height: 28px !important;
    transform: translateY(-50%) !important;
    background: #ffffff !important;
    border: 2px solid #cbd5e1 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link[data-npcm-state="complete"]::before {
    content: "✓" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    background: var(--npcm-success) !important;
    border-color: var(--npcm-success) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link[data-npcm-state="locked"]::before {
    border-radius: 8px !important;
    background: #eef2f7 !important;
    border-color: #cbd5e1 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-content,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-body,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-expanded,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-expanded {
    padding: 14px !important;
    background: #ffffff !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list {
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list-item {
    margin-bottom: 10px !important;
    border: 0 !important;
    background: transparent !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-table-list-item-preview {
    min-height: 58px !important;
    padding: 13px 16px !important;
    background: #f7f9fc !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
        min-height: 54px !important;
        padding: 12px 12px 12px 51px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link::before {
        left: 13px !important;
        width: 25px !important;
        height: 25px !important;
    }
}


/* =========================================================
   2.4.3 — COMPATIBILIDAD DE FILAS PREMIUM
   LearnDash puede envolver temas/cuestionarios con clases distintas.
   Estas reglas garantizan que el host detectado por JavaScript reciba
   siempre el mismo diseño visual.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-content-host.npcm-content-row {
    display: flex !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper a.npcm-content-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 0 8px !important;
    padding: 12px 16px 12px 58px !important;
    color: #344054 !important;
    background: #f7f8fa !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

/* =========================================================
   2.4.5 — CONTROL DE UNIDAD A LA DERECHA
   Corrección robusta para las distintas estructuras HTML de LearnDash.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card {
    position: relative !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .npcm-unit-preview {
    position: relative !important;
    display: block !important;
    min-height: 92px !important;
    padding: 20px 74px 20px 20px !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-unit-toggle-right,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview .ld-expand-button,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview .ld-expand-button,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading .ld-expand-button,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger .ld-expand-button {
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    left: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #526079 !important;
    background: #eef3fb !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    line-height: 1 !important;
    z-index: 3 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-unit-toggle-right .ld-text,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview .ld-expand-button .ld-text,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview .ld-expand-button .ld-text,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading .ld-expand-button .ld-text,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger .ld-expand-button .ld-text {
    display: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-unit-toggle-right:hover,
body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-unit-toggle-right:focus-visible {
    color: var(--npcm-primary) !important;
    background: var(--npcm-primary-soft) !important;
    outline: none !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .npcm-unit-preview {
        min-height: 84px !important;
        padding: 18px 64px 18px 16px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card .npcm-unit-toggle-right,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-item-list-item-preview .ld-expand-button,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-preview .ld-expand-button,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-heading .ld-expand-button,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper .npcm-unit-card > .ld-accordion__item-trigger .ld-expand-button {
        right: 14px !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }
}


/* =========================================================
   2.4.6 — LEARNDASH MODERN: FLECHA DE UNIDAD A LA DERECHA
   Selector confirmado directamente en NextPing Academy:
   .ld-accordion__item--lesson > .ld-accordion__expand-button
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card {
    position: relative !important;
    padding-right: 0 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right {
    position: absolute !important;
    top: 30px !important;
    right: 22px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 20 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #526079 !important;
    background: #eef3fb !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    line-height: 1 !important;
    transform: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button:hover,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button:focus-visible {
    color: var(--npcm-primary) !important;
    background: var(--npcm-primary-soft) !important;
    outline: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}

/* Reserve room for the right-hand button in the visible unit heading. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> :not(.ld-accordion__expand-button):not(.ld-accordion__item-steps) {
    box-sizing: border-box !important;
}

/* Premium lesson/topic rows for the Modern accordion markup. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item--lesson
> .ld-accordion__item-steps {
    padding: 12px 14px 14px !important;
    background: transparent !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item--lesson
> .ld-accordion__item-steps
> a[href],
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item--lesson
> .ld-accordion__item-steps
> .ld-accordion__item-step {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 0 9px !important;
    padding: 13px 16px !important;
    color: #344054 !important;
    background: #f7f8fa !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item--lesson
> .ld-accordion__item-steps
> a[href]:hover {
    color: var(--npcm-primary) !important;
    background: #ffffff !important;
    border-color: var(--npcm-primary-border) !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body
    .ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
    > .ld-accordion__expand-button,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body
    .ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
    > .npcm-unit-toggle-right {
        top: 24px !important;
        right: 16px !important;
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body
    .ld-accordion__item--lesson
    > .ld-accordion__item-steps {
        padding: 10px 10px 12px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body
    .ld-accordion__item--lesson
    > .ld-accordion__item-steps
    > a[href],
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body
    .ld-accordion__item--lesson
    > .ld-accordion__item-steps
    > .ld-accordion__item-step {
        min-height: 52px !important;
        padding: 12px 13px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}


/* =========================================================
   2.4.7 — BOTÓN DE UNIDAD LIMPIO
   Oculta el texto Expandir/Contraer y muestra un único icono
   según aria-expanded, usando el botón nativo de LearnDash.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right {
    font-size: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right svg {
    display: none !important;
    flex: 0 0 auto !important;
}

/* Cerrado: únicamente flecha hacia abajo / icono expand. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button[aria-expanded="false"]
.ld-accordion__expand-button-icon--expand,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right[aria-expanded="false"]
.ld-accordion__expand-button-icon--expand {
    display: block !important;
}

/* Abierto: únicamente flecha hacia arriba / icono collapse. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button[aria-expanded="true"]
.ld-accordion__expand-button-icon--collapse,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right[aria-expanded="true"]
.ld-accordion__expand-button-icon--collapse {
    display: block !important;
}

/* Fallback por si LearnDash tarda en establecer aria-expanded. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .ld-accordion__expand-button:not([aria-expanded])
.ld-accordion__expand-button-icon--expand,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body
.ld-accordion__item.ld-accordion__item--lesson.npcm-unit-card
> .npcm-unit-toggle-right:not([aria-expanded])
.ld-accordion__expand-button-icon--expand {
    display: block !important;
}

/* =========================================================
   2.4.10 — FILAS LIMPIAS PARA TEMAS Y CUESTIONARIOS
   Base: v2.4.7 estable. No añade iconos ni círculos nuevos.
   Solo estiliza la estructura real de LearnDash Modern.
   ========================================================= */

/* Contenedor desplegado de una unidad */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps {
    display: grid !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 14px 16px 17px !important;
    background: #ffffff !important;
    border-top: 1px solid #e6eaf0 !important;
    box-sizing: border-box !important;
}

/* Cada tema como una única fila limpia */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 17px !important;
    color: #344054 !important;
    background: #f7f8fa !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header:hover {
    background: #f2f6fc !important;
    border-color: var(--npcm-primary-border) !important;
}

/* Conserva un único icono nativo, pequeño y alineado */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > .ld-icon {
    flex: 0 0 auto !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 13px 0 0 !important;
    color: #64748b !important;
}

/* El título ocupa el resto de la fila */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title-wrapper {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title:link,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title:visited {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 11px 0 !important;
    color: #344054 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 560 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-header:hover
.ld-accordion__item-title {
    color: var(--npcm-primary) !important;
}

/* Cuestionarios que cuelgan de un tema: misma fila, ligeramente más compacta */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes {
    display: grid !important;
    flex: 1 0 100% !important;
    gap: 7px !important;
    width: calc(100% + 34px) !important;
    margin: 0 -17px !important;
    padding: 0 17px 11px 47px !important;
    background: transparent !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes
> .ld-accordion__item-header,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes
> * {
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    background: #ffffff !important;
    border: 1px solid #e8edf3 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes a {
    color: #344054 !important;
    font-size: 14px !important;
    font-weight: 560 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

/* Neutraliza cualquier círculo artificial de versiones anteriores si quedó en caché CSS. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title-wrapper::before,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__item-title-wrapper::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps {
        gap: 7px !important;
        padding: 11px 10px 13px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header {
        min-height: 54px !important;
        padding: 0 12px !important;
        border-radius: 9px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header > svg,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header > .ld-icon {
        width: 18px !important;
        height: 18px !important;
        margin-right: 10px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .ld-accordion__item-title-wrapper,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .ld-accordion__item-title {
        min-height: 52px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .ld-accordion__item-title {
        padding: 10px 0 !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes {
        width: calc(100% + 24px) !important;
        margin: 0 -12px !important;
        padding: 0 12px 9px 40px !important;
    }
}


/* =========================================================
   2.4.11 — TEMAS UNIFORMES Y CUESTIONARIOS OCULTOS
   Mantiene la base estable 2.4.7 y corrige el anidado visual.
   ========================================================= */

/* Los cuestionarios asociados a temas no se muestran en el temario. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .ld-accordion__items--topic-quizzes,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-hidden-inline-quiz,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-hidden-quiz-count {
    display: none !important;
}

/* Lista uniforme: cada cabecera de tema es una fila independiente. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 14px 16px 17px !important;
    background: #ffffff !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background: #f6f8fb !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header:hover {
    background: #f2f6fc !important;
    border-color: var(--npcm-primary-border) !important;
}

/* Neutraliza alturas heredadas que hacían grande el primer tema. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title-wrapper,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title {
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title {
    display: flex !important;
    align-items: center !important;
    color: #344054 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

/* Un solo icono nativo por fila, alineado. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > .ld-icon {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 12px 0 0 !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps {
        gap: 8px !important;
        padding: 11px 10px 13px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header {
        min-height: 54px !important;
        padding: 0 12px !important;
        border-radius: 9px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title-wrapper,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title {
        min-height: 52px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}

/* =========================================================
   2.4.12 — FILAS DE TEMAS ALINEADAS Y SIEMPRE VISIBLES
   - Icono y texto centrados en la misma línea
   - Tarjeta blanca con borde y sombra desde el estado inicial
   - Hover suave sin alterar la estructura de LearnDash
   ========================================================= */

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 14px !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    border: 1px solid #e4e9f0 !important;
    border-radius: 11px !important;
    box-shadow: 0 5px 15px rgba(15, 38, 71, 0.075) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease,
        background-color .2s ease !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header:hover {
    background: #fbfdff !important;
    border-color: var(--npcm-primary-border) !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.11) !important;
    transform: translateY(-1px) !important;
}

/* Icono nativo: una sola columna y centrado vertical real. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header > .ld-icon {
    grid-column: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    display: block !important;
    flex: none !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--npcm-primary) !important;
    box-sizing: border-box !important;
}

/* Texto y enlace: misma altura que el icono y centrados. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title-wrapper {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 62px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title:link,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header .ld-accordion__item-title:visited {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #24324a !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
> .ld-accordion__item-header:hover .ld-accordion__item-title {
    color: var(--npcm-primary) !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        column-gap: 11px !important;
        min-height: 58px !important;
        padding: 0 13px !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 12px rgba(15, 38, 71, 0.07) !important;
        transform: none !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title-wrapper,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title {
        min-height: 56px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card > .ld-accordion__item-steps
    > .ld-accordion__item-header .ld-accordion__item-title {
        font-size: 14px !important;
        line-height: 1.38 !important;
    }
}

/* =========================================================
   2.4.13 — FILAS REALES DE TEMAS (CORRECCIÓN DEFINITIVA)
   Usa las clases que añade el JavaScript al contenedor real de cada tema.
   Evita depender de la estructura interna variable de LearnDash.
   ========================================================= */

/* El contenedor desplegado funciona como una lista con separación real. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 16px 18px 18px !important;
    background: #f7f9fc !important;
    box-sizing: border-box !important;
}

/* Cada host detectado por JS es una tarjeta independiente y visible. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    color: #24324a !important;
    background: #ffffff !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(15, 38, 71, 0.085) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row:hover {
    background: #fbfdff !important;
    border-color: #c8d8fb !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.12) !important;
    transform: translateY(-1px) !important;
}

/* Neutraliza el círculo artificial de versiones anteriores. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row::before,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row::before {
    content: none !important;
    display: none !important;
}

/* Icono nativo de LearnDash alineado con el centro del texto. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > .ld-icon,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > [class*="ld-icon"] {
    flex: 0 0 22px !important;
    align-self: center !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--npcm-primary) !important;
    box-sizing: border-box !important;
}

/* El wrapper y el enlace ocupan toda la altura y quedan centrados. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-accordion__item-title-wrapper,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip--modern {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 62px !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row a.npcm-lesson-link,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #24324a !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row:hover a.npcm-lesson-link,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row:hover {
    color: var(--npcm-primary) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Fallback: cuando LearnDash deja el enlace como fila, se aplica la misma tarjeta. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row:not(.npcm-lesson-link) {
    min-height: 64px !important;
    padding: 0 18px !important;
    background: #ffffff !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(15, 38, 71, 0.085) !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-flat-list {
        gap: 9px !important;
        padding: 12px 10px 14px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row {
        gap: 11px !important;
        min-height: 58px !important;
        padding: 0 13px !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 12px rgba(15, 38, 71, 0.075) !important;
        transform: none !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-accordion__item-title-wrapper,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip--modern,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row a.npcm-lesson-link {
        min-height: 56px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row a.npcm-lesson-link,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card a.npcm-content-row {
        font-size: 14px !important;
        line-height: 1.38 !important;
    }
}


/* =========================================================
   2.4.15 — TEMAS COMPACTOS SIN CÍRCULOS
   - Elimina los indicadores circulares heredados de versiones previas.
   - Reduce el espacio vertical entre tarjetas.
   - Conserva icono nativo, borde, sombra y alineación.
   ========================================================= */

/* Elimina cualquier círculo/pseudo-indicador creado en el enlace o la fila. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row::before,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row::after,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .npcm-lesson-link::before,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .npcm-lesson-link::after,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row::before,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card a.npcm-content-row::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
}

/* Lista más compacta: menos aire entre un tema y el siguiente. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list {
    gap: 7px !important;
    padding: 12px 14px 14px !important;
}

/* Tarjeta compacta, manteniendo la sombra visible desde el inicio. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row {
    gap: 12px !important;
    min-height: 56px !important;
    padding: 0 15px !important;
    border-radius: 11px !important;
    box-shadow: 0 4px 12px rgba(15, 38, 71, 0.075) !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-accordion__item-title-wrapper,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip--modern,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row a.npcm-lesson-link {
    min-height: 54px !important;
}

/* Icono y texto perfectamente centrados. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > svg,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > .ld-icon,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row > [class*="ld-icon"] {
    align-self: center !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-flat-list {
        gap: 6px !important;
        padding: 10px 9px 12px !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row {
        gap: 10px !important;
        min-height: 52px !important;
        padding: 0 12px !important;
        border-radius: 9px !important;
        box-shadow: 0 3px 10px rgba(15, 38, 71, 0.07) !important;
    }

    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-accordion__item-title-wrapper,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row .ld-tooltip--modern,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-content-host.npcm-content-row a.npcm-lesson-link {
        min-height: 50px !important;
    }
}

/* =========================================================
   2.4.16 — ESPACIADO ENTRE TEMAS REDUCIDO 55%
   - Mantiene intacto el diseño aprobado de la v2.4.15.
   - Reduce únicamente el aire vertical entre tarjetas.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list {
    gap: 3px !important;
    padding-top: 8px !important;
    padding-bottom: 9px !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-flat-list {
        gap: 3px !important;
        padding-top: 7px !important;
        padding-bottom: 8px !important;
    }
}


/* =========================================================
   2.4.17 — ESPACIADO REAL REDUCIDO + CONTADORES RESTAURADOS
   - Reduce un 55–60 % el espacio real entre temas.
   - Actúa sobre el contenedor interno de LearnDash que define el gap.
   - Conserva las tarjetas aprobadas de la v2.4.15.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list > .ld-accordion__item-steps-container,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list .ld-accordion__item-steps-container {
    gap: 7px !important;
    row-gap: 7px !important;
    padding: 9px 12px 10px !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list .ld-accordion__item--lesson-topic.npcm-content-row,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list .npcm-content-host.npcm-content-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* El contador de cuestionarios permanece visible en la cabecera. */
body.npcm-active .npcm-unit-card .npcm-hidden-quiz-count {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-flat-list > .ld-accordion__item-steps-container,
    body.npcm-active.npcm-premium-lessons .learndash-wrapper
    .npcm-module-body .npcm-unit-card .npcm-flat-list .ld-accordion__item-steps-container {
        gap: 5px !important;
        row-gap: 5px !important;
        padding: 7px 8px 8px !important;
    }
}

/* =========================================================
   2.4.18 — FOCO LIMPIO EN LOS TEMAS
   - Elimina el rectángulo azul nativo al hacer clic.
   - Mantiene una señal de foco discreta para teclado.
   ========================================================= */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.ld-accordion__item-title,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.npcm-lesson-link {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.ld-accordion__item-title:focus,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.ld-accordion__item-title:active,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.npcm-lesson-link:focus,
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic a.npcm-lesson-link:active {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Foco accesible sin recuadro sobre el texto: resalta suavemente la tarjeta completa. */
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic:has(a.ld-accordion__item-title:focus-visible),
body.npcm-active.npcm-premium-lessons .learndash-wrapper
.npcm-module-body .npcm-unit-card .npcm-flat-list
.ld-accordion__item--lesson-topic:has(a.npcm-lesson-link:focus-visible) {
    border-color: rgba(37, 99, 235, 0.32) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.10), 0 4px 12px rgba(15, 38, 71, 0.075) !important;
}

/* =========================================================
   NEXTPING COURSE MODULES 5.2.0
   PORTADAS UNIVERSALES CONFIGURABLES
   ========================================================= */

body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin: 16px auto 20px !important;
    padding: var(--npcm-catalog-padding, 8px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: var(--npcm-catalog-bg, #ffffff) !important;
    border-radius: 14px !important;
}

/* Altura fija, opción predeterminada y recomendada. */
body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
    height: var(--npcm-catalog-height-desktop, 300px) !important;
    min-height: var(--npcm-catalog-height-desktop, 300px) !important;
    aspect-ratio: auto !important;
}

/* Cuando el administrador selecciona relación de aspecto. */
body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: var(--npcm-catalog-ratio, 16 / 10) !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card[class*="npac-image-scale-"] :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img,
body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img.wp-post-image,
body.npcm-active.npcm-catalog-images article.npac-course-card:hover :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: var(--npcm-catalog-fit, contain) !important;
    object-position: var(--npcm-catalog-position, center center) !important;
    transform: none !important;
    filter: none !important;
}

@media (min-width: 768px) and (max-width: 1049px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
        height: var(--npcm-catalog-height-tablet, 260px) !important;
        min-height: var(--npcm-catalog-height-tablet, 260px) !important;
    }
    body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
        height: auto !important;
        min-height: 0 !important;
    }
}

@media (max-width: 767px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        height: var(--npcm-catalog-height-mobile, 230px) !important;
        min-height: var(--npcm-catalog-height-mobile, 230px) !important;
        margin: 12px auto 18px !important;
    }
    body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
        height: auto !important;
        min-height: 0 !important;
    }
}

/* El avatar del instructor no hereda los ajustes de portada. */
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-instructor__avatar img,
body.npcm-active .npac-card-instructor__avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .npac-course-card,
    body.npcm-active .npac-course-card img {
        transition: none !important;
        animation: none !important;
    }
}

/* =========================================================
   NEXTPING COURSE MODULES 5.3.0
   NORMALIZACIÓN DEFINITIVA DE PORTADAS
   Todas las tarjetas reservan exactamente el mismo marco.
   ========================================================= */

/* Elimina alturas naturales heredadas y fija una única zona visual. */
body.npcm-active.npcm-catalog-images article.npac-course-card .ast-post-format- {
    align-items: start !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card
.ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card
.ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 var(--npcm-catalog-height-desktop, 300px) !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    height: var(--npcm-catalog-height-desktop, 300px) !important;
    min-height: var(--npcm-catalog-height-desktop, 300px) !important;
    max-height: var(--npcm-catalog-height-desktop, 300px) !important;
    margin: 16px auto 20px !important;
    padding: var(--npcm-catalog-padding, 8px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: var(--npcm-catalog-bg, #ffffff) !important;
    border-radius: 14px !important;
    aspect-ratio: auto !important;
}

/* Los wrappers internos heredan exactamente el marco, sin sumar altura. */
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail)
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    border-radius: inherit !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) > a,
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img,
body.npcm-active.npcm-catalog-images article.npac-course-card:hover
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img {
    position: static !important;
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: var(--npcm-catalog-fit, contain) !important;
    object-position: var(--npcm-catalog-position, center center) !important;
    transform: none !important;
    filter: none !important;
}

/* En modo relación de aspecto, todas las tarjetas comparten la misma relación. */
body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
.ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
.ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
    flex-basis: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--npcm-catalog-ratio, 16 / 10) !important;
}

@media (min-width: 768px) and (max-width: 1049px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        flex-basis: var(--npcm-catalog-height-tablet, 260px) !important;
        height: var(--npcm-catalog-height-tablet, 260px) !important;
        min-height: var(--npcm-catalog-height-tablet, 260px) !important;
        max-height: var(--npcm-catalog-height-tablet, 260px) !important;
    }
}

@media (max-width: 767px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        flex-basis: var(--npcm-catalog-height-mobile, 230px) !important;
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        height: var(--npcm-catalog-height-mobile, 230px) !important;
        min-height: var(--npcm-catalog-height-mobile, 230px) !important;
        max-height: var(--npcm-catalog-height-mobile, 230px) !important;
        margin: 12px auto 18px !important;
    }
}


/* =========================================================
   NEXTPING COURSE MODULES 5.4.0
   IPAD EN VERTICAL: TARJETA VERTICAL CON PORTADA GRANDE
   Mantiene intacto el diseño de iPad horizontal y escritorio.
   ========================================================= */
@media (min-width: 768px) and (max-width: 1100px) and (orientation: portrait) {
    body.npcm-active.npcm-catalog-images article.npac-course-card .ast-post-format- {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        order: 0 !important;
        flex: 0 0 var(--npcm-catalog-height-ipad-portrait, 340px) !important;
        grid-column: auto !important;
        grid-row: auto !important;
        float: none !important;
        clear: both !important;
        width: calc(100% - 56px) !important;
        max-width: calc(100% - 56px) !important;
        height: var(--npcm-catalog-height-ipad-portrait, 340px) !important;
        min-height: var(--npcm-catalog-height-ipad-portrait, 340px) !important;
        max-height: var(--npcm-catalog-height-ipad-portrait, 340px) !important;
        margin: 24px auto 28px !important;
    }

    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-header,
    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-card__content {
        order: 1 !important;
        grid-column: auto !important;
        grid-row: auto !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images.npcm-catalog-ratio article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        flex-basis: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: var(--npcm-catalog-ratio, 16 / 10) !important;
    }
}

/* =========================================================
   NEXTPING COURSE MODULES 5.5.0
   MARCO PREMIUM UNIVERSAL PARA PORTADAS
   Unifica borde, fondo, radio, padding y sombra en escritorio,
   tablet, iPad vertical/horizontal y móvil.
   ========================================================= */

body.npcm-active.npcm-catalog-images article.npac-course-card
.ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card
.ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
    background: var(--npcm-catalog-bg, #ffffff) !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 16px !important;
    box-shadow:
        0 1px 2px rgba(15, 38, 71, 0.03),
        0 8px 22px rgba(15, 38, 71, 0.07) !important;
    padding: max(var(--npcm-catalog-padding, 8px), 8px) !important;
    isolation: isolate !important;
}

/* El enlace y los wrappers internos respetan el radio del marco. */
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) > a,
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) picture,
body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail)
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
    border-radius: 11px !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) img {
    border-radius: 10px !important;
}

/* Hover muy suave: se eleva el marco, nunca se amplía ni recorta la imagen. */
body.npcm-active.npcm-catalog-images article.npac-course-card:hover
.ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card:hover
.ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
body.npcm-active.npcm-catalog-images article.npac-course-card:hover
:is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
    border-color: #cddbee !important;
    box-shadow:
        0 2px 4px rgba(15, 38, 71, 0.04),
        0 12px 28px rgba(15, 38, 71, 0.10) !important;
}

/* En iPad vertical conserva exactamente el mismo marco de escritorio. */
@media (min-width: 768px) and (max-width: 1100px) and (orientation: portrait) {
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        border: 1px solid #dbe5f1 !important;
        border-radius: 17px !important;
        padding: max(var(--npcm-catalog-padding, 8px), 10px) !important;
        box-shadow:
            0 1px 2px rgba(15, 38, 71, 0.03),
            0 10px 26px rgba(15, 38, 71, 0.075) !important;
    }
}

@media (max-width: 767px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    .ast-post-format- > .ast-blog-featured-section > :is(.post-thumb, .post-thumbnail),
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail):first-child {
        border-radius: 14px !important;
        padding: max(var(--npcm-catalog-padding, 8px), 7px) !important;
        box-shadow: 0 6px 18px rgba(15, 38, 71, 0.065) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active.npcm-catalog-images article.npac-course-card
    :is(.ast-blog-featured-section, .post-thumb, .post-thumbnail) {
        transition: none !important;
    }
}

/* =========================================================
   NEXTPING COURSE MODULES 5.7.0
   DISTRIBUCIÓN EQUILIBRADA DEL CONTENIDO DEL CATÁLOGO
   Conserva intactas las portadas y su marco premium.
   ========================================================= */

/*
 * Academy Core puede limitar el ancho de varios bloques interiores.
 * Esta capa permite que el contenido útil aproveche la misma anchura
 * visual que la portada, sin eliminar información ni cambiar el HTML.
 */
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-header,
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-content,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-card__content {
    width: calc(100% - 56px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Título, etiquetas y descripción utilizan toda la zona disponible. */
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-title,
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-title a,
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content > p,
body.npcm-active.npcm-catalog-images article.npac-course-card .ast-excerpt-container,
body.npcm-active.npcm-catalog-images article.npac-course-card .ast-excerpt-container > p,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-summary,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-description {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* La descripción conserva su longitud actual, pero deja de parecer una columna estrecha. */
body.npcm-active.npcm-catalog-images article.npac-course-card .ast-excerpt-container > p,
body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content > p:first-child,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-summary,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-description {
    margin-right: 0 !important;
    padding-right: 0 !important;
}

/* Contadores distribuidos de forma natural, sin quedar comprimidos a la izquierda. */
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-stats,
body.npcm-active.npcm-catalog-images article.npac-course-card ul.npac-course-stats,
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="course-stats"],
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="course-meta"] {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
}

/* El bloque inferior ocupa el ancho completo y conserva su diseño original. */
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-instructor,
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="card-instructor"],
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="course-progress"],
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="progress-wrap"],
body.npcm-active.npcm-catalog-images article.npac-course-card .learndash-wrapper,
body.npcm-active.npcm-catalog-images article.npac-course-card .read-more,
body.npcm-active.npcm-catalog-images article.npac-course-card .read-more + * {
    max-width: none !important;
    box-sizing: border-box !important;
}

body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-instructor,
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="card-instructor"],
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="course-progress"],
body.npcm-active.npcm-catalog-images article.npac-course-card [class*="progress-wrap"] {
    width: 100% !important;
}

/* Botón alineado con el ancho real del contenido, sin alterar su estilo. */
body.npcm-active.npcm-catalog-images article.npac-course-card .read-more,
body.npcm-active.npcm-catalog-images article.npac-course-card .read-more a,
body.npcm-active.npcm-catalog-images article.npac-course-card a.more-link,
body.npcm-active.npcm-catalog-images article.npac-course-card .npac-shortcode-button {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* En iPad vertical se aprovecha un poco más el ancho de la tarjeta. */
@media (min-width: 768px) and (max-width: 1100px) and (orientation: portrait) {
    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-header,
    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-card__content {
        width: calc(100% - 88px) !important;
    }
}

/* Móvil: conserva el espaciado compacto que ya funcionaba bien. */
@media (max-width: 767px) {
    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-header,
    body.npcm-active.npcm-catalog-images article.npac-course-card .entry-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-card-content,
    body.npcm-active.npcm-catalog-images article.npac-course-card .npac-course-card__content {
        width: calc(100% - 40px) !important;
    }
}

/* v5.8.0 — variables de diseño responsive */
body.npcm-active .learndash-wrapper .ld-item-list-items.npcm-ready,
body.npcm-active .learndash-wrapper .ld-accordion__items.npcm-ready,
body.npcm-active .learndash-wrapper .ld-accordion__items--lessons.npcm-ready{width:min(100%,var(--npcm-layout-max,1180px));margin-left:auto!important;margin-right:auto!important;padding-left:var(--npcm-page-padding,24px);padding-right:var(--npcm-page-padding,24px);box-sizing:border-box;gap:var(--npcm-module-gap,16px)}
body.npcm-active .learndash-wrapper button.npcm-module-toggle{padding:var(--npcm-module-padding,20px)!important}
body.npcm-active .learndash-wrapper .npcm-module-title{font-size:var(--npcm-title-size,19px)!important}
body.npcm-active .learndash-wrapper .npcm-module-body{display:grid;gap:var(--npcm-lesson-gap,8px)}
@media(max-width:1024px){body.npcm-active .learndash-wrapper .ld-item-list-items.npcm-ready,body.npcm-active .learndash-wrapper .ld-accordion__items.npcm-ready,body.npcm-active .learndash-wrapper .ld-accordion__items--lessons.npcm-ready{padding-left:var(--npcm-page-padding-tablet,18px);padding-right:var(--npcm-page-padding-tablet,18px)}}
@media(max-width:600px){body.npcm-active .learndash-wrapper .ld-item-list-items.npcm-ready,body.npcm-active .learndash-wrapper .ld-accordion__items.npcm-ready,body.npcm-active .learndash-wrapper .ld-accordion__items--lessons.npcm-ready{padding-left:var(--npcm-page-padding-mobile,12px);padding-right:var(--npcm-page-padding-mobile,12px)}}

/* v5.9.1 — temario completo y visual compacto */
body.npcm-active .learndash-wrapper .npcm-ready,
body.npcm-active .learndash-wrapper .npcm-server-structure {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card {
    margin-bottom: 14px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-toggle {
    min-height: 112px !important;
    padding: 18px 24px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: clamp(18px, 1.6vw, 23px) !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit {
    position: relative;
}
body.npcm-active .learndash-wrapper .npcm-server-unit-preview {
    min-height: 64px;
    display: flex;
    align-items: center;
    padding: 14px 18px;
}
@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 88px !important;
        padding: 14px 16px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
    }
}


/* =========================================================
   NEXTPING COURSE MODULES 5.9.2
   PULIDO VISUAL DEL TEMARIO COMPLETO
   - Sin marco exterior visible
   - Tarjetas compactas
   - Lecciones tipo ruta de aprendizaje
   - Hover y apertura suaves
   ========================================================= */

body.npcm-active .learndash-wrapper .ld-item-list-items.npcm-ready,
body.npcm-active .learndash-wrapper .ld-accordion__items.npcm-ready,
body.npcm-active .learndash-wrapper .ld-accordion__items--lessons.npcm-ready,
body.npcm-active .learndash-wrapper .npcm-server-structure {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card {
    margin: 0 0 12px !important;
    border-color: #dfe7f1 !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 15px rgba(15, 38, 71, 0.045) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card:hover {
    border-color: color-mix(in srgb, var(--npcm-primary) 20%, #dfe7f1) !important;
    box-shadow: 0 8px 22px rgba(15, 38, 71, 0.07) !important;
    transform: translateY(-1px) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open {
    border-color: color-mix(in srgb, var(--npcm-primary) 20%, #dfe7f1) !important;
    box-shadow: 0 8px 24px rgba(15, 38, 71, 0.075) !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle {
    grid-template-columns: 54px minmax(0, 1fr) 40px !important;
    gap: 16px !important;
    min-height: 94px !important;
    padding: 15px 20px !important;
    transition: background-color .2s ease !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle:hover,
body.npcm-active .learndash-wrapper button.npcm-module-toggle:focus-visible {
    background: #fbfdff !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    flex-basis: 54px !important;
    border-width: 1.7px !important;
    border-radius: 13px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon svg {
    width: 25px !important;
    height: 25px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    margin-bottom: 5px !important;
    font-size: 12px !important;
    letter-spacing: .07em !important;
}

body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.16 !important;
    letter-spacing: -.025em !important;
}

body.npcm-active .learndash-wrapper .npcm-module-meta {
    margin-top: 6px !important;
    font-size: 13px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron {
    width: 40px !important;
    height: 40px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron svg {
    width: 20px !important;
    height: 20px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body {
    display: block !important;
    padding: 10px 18px 14px !important;
    background: #fbfdff !important;
    border-top-color: #e8eef6 !important;
}

/* Lecciones más ligeras: una ruta limpia, no una colección de cajas pesadas. */
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item.ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row {
    position: relative !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    transition: background-color .18s ease, color .18s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row:last-child {
    border-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row:hover {
    background: var(--npcm-primary-soft) !important;
    border-color: #edf2f7 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-heading,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-trigger,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    min-height: 50px !important;
    padding: 11px 14px 11px 36px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9px !important;
}

/* Punto de progreso discreto delante de cada lección. */
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link::before {
    content: "" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    width: 9px !important;
    height: 9px !important;
    margin-top: -4.5px !important;
    border: 2px solid #b8c5d6 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body [data-npcm-state="complete"] .ld-item-list-item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body [data-npcm-state="complete"] .ld-accordion__item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link[data-npcm-state="complete"]::before {
    border-color: var(--npcm-success) !important;
    background: var(--npcm-success) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--npcm-success) 15%, transparent) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper button.npcm-module-toggle {
        grid-template-columns: 46px minmax(0, 1fr) 34px !important;
        gap: 12px !important;
        min-height: 82px !important;
        padding: 12px 14px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        flex-basis: 46px !important;
        border-radius: 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 17px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 8px 12px 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
        min-height: 46px !important;
        padding: 10px 10px 10px 32px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .learndash-wrapper .npcm-module-card,
    body.npcm-active .learndash-wrapper .npcm-module-chevron,
    body.npcm-active .learndash-wrapper .npcm-module-body,
    body.npcm-active .learndash-wrapper .npcm-module-body * {
        transition: none !important;
    }
}


/* =========================================================
   NEXTPING COURSE MODULES 5.9.3
   AJUSTE FINAL DE DENSIDAD Y LISTA DE LECCIONES
   ========================================================= */

/* Módulos más compactos, sin borde azul al abrir. */
body.npcm-active .learndash-wrapper .npcm-module-card {
    margin-bottom: 10px !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 4px 13px rgba(15, 38, 71, 0.04) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card:hover {
    border-color: #d8e1ec !important;
    box-shadow: 0 7px 18px rgba(15, 38, 71, 0.06) !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open {
    border-color: #dfe7f1 !important;
    box-shadow: 0 7px 19px rgba(15, 38, 71, 0.06) !important;
}

body.npcm-active .learndash-wrapper button.npcm-module-toggle {
    grid-template-columns: 48px minmax(0, 1fr) 36px !important;
    gap: 14px !important;
    min-height: 84px !important;
    padding: 12px 18px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    flex-basis: 48px !important;
    border-width: 1.5px !important;
    border-radius: 12px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon svg {
    width: 22px !important;
    height: 22px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    margin-bottom: 4px !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: clamp(18px, 1.3vw, 21px) !important;
    line-height: 1.12 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-meta {
    margin-top: 4px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron {
    width: 34px !important;
    height: 34px !important;
    background: #f3f6fa !important;
    color: #64748b !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-chevron {
    color: var(--npcm-primary) !important;
    background: #edf3ff !important;
}

/* El contenido abierto se percibe como una lista continua, no como cajas. */
body.npcm-active .learndash-wrapper .npcm-module-body {
    padding: 4px 18px 8px !important;
    background: #ffffff !important;
    border-top: 1px solid #edf1f6 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item.ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row {
    margin: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card:last-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row:last-child {
    border-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-heading,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-trigger,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card .ld-accordion__item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card > a:first-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card > div:first-child,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    min-height: 44px !important;
    padding: 9px 12px 9px 31px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item--lesson:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-unit-card:hover,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-content-row:hover {
    background: #f8fbff !important;
    border-color: #eef2f6 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview::before,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link::before {
    left: 11px !important;
    width: 8px !important;
    height: 8px !important;
    margin-top: -4px !important;
    border-width: 1.5px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    font-size: 14px !important;
    font-weight: 620 !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper button.npcm-module-toggle {
        grid-template-columns: 42px minmax(0, 1fr) 31px !important;
        gap: 10px !important;
        min-height: 74px !important;
        padding: 10px 12px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        flex-basis: 42px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 16px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 3px 10px 7px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview,
    body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
        min-height: 42px !important;
        padding: 8px 9px 8px 28px !important;
    }
}


/* =========================================================
   v5.9.4 — PROGRESO VISUAL Y LISTA PREMIUM
   ========================================================= */
body.npcm-active .learndash-wrapper button.npcm-module-toggle {
    grid-template-columns: 58px minmax(0, 1fr) 42px !important;
    min-height: 108px !important;
    padding: 19px 24px !important;
    gap: 17px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: 14px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-icon svg {
    width: 27px !important;
    height: 27px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    margin-bottom: 5px !important;
    font-size: 12px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: 25px !important;
    line-height: 1.12 !important;
}
body.npcm-active .learndash-wrapper .npcm-module-meta {
    margin-top: 6px !important;
    font-size: 13px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress {
    display: block !important;
    width: min(290px, 100%) !important;
    height: 4px !important;
    margin-top: 9px !important;
    overflow: hidden !important;
    background: #e9eef6 !important;
    border-radius: 999px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress-fill {
    display: block !important;
    width: 0;
    height: 100% !important;
    background: linear-gradient(90deg, var(--npcm-primary), #4f83ff) !important;
    border-radius: inherit !important;
    transition: width .45s ease !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card.is-complete .npcm-module-progress-fill {
    background: var(--npcm-success) !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card.is-complete .npcm-module-icon {
    color: var(--npcm-success) !important;
    border-color: color-mix(in srgb, var(--npcm-success) 70%, white) !important;
    background: color-mix(in srgb, var(--npcm-success) 7%, white) !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    padding: 18px 22px 22px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body[hidden] {
    display: none !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson,
body.npcm-active .learndash-wrapper .npcm-module-body > * > .ld-item-list-item {
    margin: 0 !important;
    min-width: 0 !important;
    background: #f8fafc !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 12px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-list-item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-preview,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-heading,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-trigger,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-server-unit-preview {
    min-height: 58px !important;
    padding: 11px 14px 11px 48px !important;
    position: relative !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item::before,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson::before {
    content: "" !important;
    position: absolute !important;
    z-index: 3 !important;
    left: 17px !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #b8c5d8 !important;
    border-radius: 50% !important;
    background: #fff !important;
    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-item-list-item,
body.npcm-active .learndash-wrapper .npcm-module-body > .ld-accordion__item--lesson {
    position: relative !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .npcm-is-complete::before {
    content: "✓" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--npcm-success) !important;
    border-color: var(--npcm-success) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-name,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .ld-accordion__item-title,
body.npcm-active .learndash-wrapper .npcm-module-body .npcm-lesson-link {
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .npcm-is-complete {
    background: color-mix(in srgb, var(--npcm-success) 5%, white) !important;
    border-color: color-mix(in srgb, var(--npcm-success) 18%, white) !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body > .npcm-is-complete a,
body.npcm-active .learndash-wrapper .npcm-module-body > .npcm-is-complete .ld-item-name,
body.npcm-active .learndash-wrapper .npcm-module-body > .npcm-is-complete .ld-item-title {
    color: #246b4d !important;
}
@media (max-width: 920px) {
    body.npcm-active .learndash-wrapper .npcm-module-body {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 600px) {
    body.npcm-active .learndash-wrapper button.npcm-module-toggle {
        grid-template-columns: 48px minmax(0, 1fr) 36px !important;
        min-height: 92px !important;
        padding: 15px 14px !important;
        gap: 12px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 48px !important;
        height: 48px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 20px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-progress {
        width: 100% !important;
        max-width: 220px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 12px !important;
        gap: 8px !important;
    }
}

/* =========================================================
   v5.9.5 — COMPONENTE PROPIO NEXTPING
   LearnDash aporta los datos; NextPing controla todo el HTML visual.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-ready,
body.npcm-active .learndash-wrapper .npcm-server-structure {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card {
    overflow: hidden !important;
    margin: 0 0 12px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(15, 38, 71, .045) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open {
    border-color: #d5e0ef !important;
    box-shadow: 0 9px 24px rgba(15, 38, 71, .065) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-toggle {
    min-height: 94px !important;
    padding: 16px 20px !important;
    gap: 16px !important;
    background: #fff !important;
    border: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-toggle {
    background: linear-gradient(135deg, #fff 0%, #f8fbff 100%) !important;
    border-bottom: 1px solid #e4ebf4 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    border-radius: 14px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-copy {
    min-width: 0 !important;
    gap: 1px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    margin: 0 0 2px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: clamp(20px, 2vw, 25px) !important;
    line-height: 1.12 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-meta {
    margin-top: 2px !important;
    color: #69788e !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-progress-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: min(390px, 100%) !important;
    margin-top: 7px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-progress {
    flex: 1 1 auto !important;
    width: auto !important;
    height: 4px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: #e9eef5 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-progress-value {
    flex: 0 0 auto !important;
    min-width: 30px !important;
    color: #738198 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-align: right !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 50% !important;
    background: #f2f6fb !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body {
    display: block !important;
    padding: 8px 22px 12px !important;
    background: #fff !important;
}
body.npcm-active .learndash-wrapper .npcm-module-body[hidden] { display:none !important; }

body.npcm-active .learndash-wrapper .npcm-learning-item {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.npcm-active .learndash-wrapper .npcm-learning-item:last-child { border-bottom: 0 !important; }

body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link {
    display: grid !important;
    grid-template-columns: 25px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 52px !important;
    padding: 9px 4px !important;
    color: #17233b !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: background .2s ease, color .2s ease, padding .2s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link:hover {
    padding-left: 10px !important;
    color: var(--npcm-primary) !important;
    background: #f8faff !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border: 1.5px solid #cad5e3 !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-status {
    border-color: var(--npcm-success) !important;
    background: var(--npcm-success) !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-title {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #9aa7b8 !important;
}
body.npcm-active .learndash-wrapper .npcm-lesson-arrow svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 84px !important;
        padding: 13px 14px !important;
        gap: 12px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: 19px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-progress-row {
        width: 100% !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 6px 14px 10px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link {
        grid-template-columns: 23px minmax(0, 1fr) 16px !important;
        gap: 9px !important;
        min-height: 48px !important;
        padding: 8px 2px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   v5.9.6 — LISTA LIMPIA Y COMPACTA
   Un único indicador de estado, filas sin cajas y flecha al extremo.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-module-body {
    padding: 0 22px 8px !important;
    background: #fff !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item,
body.npcm-active .learndash-wrapper .npcm-server-unit {
    position: relative !important;
    min-height: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item:last-child,
body.npcm-active .learndash-wrapper .npcm-server-unit:last-child {
    border-bottom: 0 !important;
}

/* Anula indicadores heredados de versiones anteriores/LearnDash. */
body.npcm-active .learndash-wrapper .npcm-learning-item::before,
body.npcm-active .learndash-wrapper .npcm-learning-item::after,
body.npcm-active .learndash-wrapper .npcm-server-unit::before,
body.npcm-active .learndash-wrapper .npcm-server-unit::after,
body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link::before,
body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link::after,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link::before,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link::after {
    content: none !important;
    display: none !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    color: #17233b !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link:hover,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link:hover,
body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link:focus-visible,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link:focus-visible {
    padding: 7px 8px !important;
    color: var(--npcm-primary) !important;
    background: #f7faff !important;
    outline: none !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-status {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #c8d3e1 !important;
    border-radius: 50% !important;
    color: #fff !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status {
    border-color: var(--npcm-success) !important;
    background: var(--npcm-success) !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-title {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.npcm-active .learndash-wrapper .npcm-lesson-arrow {
    justify-self: end !important;
    margin: 0 !important;
    color: #9aa7b8 !important;
    transition: color .2s ease, transform .2s ease !important;
}
body.npcm-active .learndash-wrapper .npcm-lesson-link:hover .npcm-lesson-arrow,
body.npcm-active .learndash-wrapper .npcm-lesson-link:focus-visible .npcm-lesson-arrow {
    color: var(--npcm-primary) !important;
    transform: translateX(3px) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-toggle {
    min-height: 90px !important;
    padding: 14px 18px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-toggle {
    border-bottom-color: #e8eef5 !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress-row {
    width: min(430px, 100%) !important;
    margin-top: 6px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress {
    height: 4px !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding: 0 12px 6px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link,
    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link {
        grid-template-columns: 18px minmax(0, 1fr) 18px !important;
        gap: 9px !important;
        min-height: 48px !important;
        padding: 7px 5px !important;
        font-size: 14px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link:hover,
    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link:hover,
    body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-link:focus-visible,
    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link:focus-visible {
        padding: 7px 5px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-lesson-status {
        width: 17px !important;
        height: 17px !important;
        min-width: 17px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .learndash-wrapper .npcm-lesson-link,
    body.npcm-active .learndash-wrapper .npcm-lesson-arrow {
        transition: none !important;
    }
}

/* =========================================================
   v5.9.7 — LIENZO ABIERTO SIN CONTENEDOR EXTERIOR
   Elimina la caja envolvente del temario y deja las tarjetas
   de módulo flotando sobre el fondo del curso.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-course-shell-clean,
body.npcm-active .learndash-wrapper .npcm-course-shell-clean > .npcm-ready,
body.npcm-active .learndash-wrapper .npcm-ready,
body.npcm-active .learndash-wrapper .npcm-server-structure {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.npcm-active .learndash-wrapper .npcm-course-shell-clean::before,
body.npcm-active .learndash-wrapper .npcm-course-shell-clean::after,
body.npcm-active .learndash-wrapper .npcm-ready::before,
body.npcm-active .learndash-wrapper .npcm-ready::after {
    content: none !important;
    display: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card {
    margin: 0 0 12px !important;
    border: 1px solid rgba(15, 38, 71, .09) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(15, 38, 71, .035) !important;
    transform: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card:hover {
    border-color: rgba(36, 99, 243, .24) !important;
    box-shadow: 0 7px 18px rgba(15, 38, 71, .055) !important;
    transform: none !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open {
    border-color: rgba(36, 99, 243, .28) !important;
    box-shadow: 0 8px 22px rgba(15, 38, 71, .06) !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card:last-child {
    margin-bottom: 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-module-toggle {
    background: #fff !important;
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-toggle {
    background: #fbfdff !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-card {
        margin-bottom: 10px !important;
        border-radius: 12px !important;
    }
}


/* =========================================================
   v5.9.8 — RENDER ESTABLE Y TARJETAS MÁS COMPACTAS
   Apertura visual sin recalcular datos y filas internas propias.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-module-toggle {
    min-height: 78px !important;
    padding: 11px 16px !important;
    gap: 14px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 12px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
    margin-bottom: 1px !important;
    font-size: 11px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-title {
    font-size: clamp(19px, 1.8vw, 23px) !important;
    line-height: 1.08 !important;
}
body.npcm-active .learndash-wrapper .npcm-module-meta {
    margin-top: 1px !important;
    font-size: 12px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress-row {
    width: min(420px, 100%) !important;
    margin-top: 4px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-chevron {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
}

/* Las filas generadas por NextPing no heredan indicadores de LearnDash
   ni de versiones anteriores del propio plugin. */
body.npcm-active .learndash-wrapper .npcm-server-unit,
body.npcm-active .learndash-wrapper .npcm-server-unit * {
    box-sizing: border-box !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit::before,
body.npcm-active .learndash-wrapper .npcm-server-unit::after,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link::before,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-link::after,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-title::before,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-title::after {
    content: none !important;
    display: none !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit:last-child {
    border-bottom: 0 !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 11px !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #17233b !important;
    text-decoration: none !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link:hover,
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link:focus-visible {
    color: var(--npcm-primary) !important;
    background: #f7faff !important;
    outline: none !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-status {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #c8d3e1 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #fff !important;
    line-height: 1 !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status {
    border-color: var(--npcm-success) !important;
    background: var(--npcm-success) !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-title {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    color: #9aa7b8 !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 72px !important;
        padding: 10px 12px !important;
        gap: 11px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-chevron {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link {
        grid-template-columns: 17px minmax(0, 1fr) 17px !important;
        gap: 9px !important;
        min-height: 46px !important;
        padding: 7px 5px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-title {
        font-size: 14px !important;
    }
}

/* =========================================================
   v5.9.9 — PULIDO FINAL DE MÓDULOS Y LECCIÓN COMPLETADA
   Menos altura, estado completado con línea verde superior,
   módulo abierto neutro y animación visual suave.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-module-toggle {
    min-height: 70px !important;
    padding: 9px 15px !important;
    gap: 12px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 11px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-chevron {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card.is-open {
    border-color: #e7edf5 !important;
    box-shadow: 0 10px 28px rgba(15, 38, 71, .075) !important;
}
body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-toggle {
    background: #fff !important;
    border-bottom-color: rgba(15, 38, 71, .06) !important;
}
body.npcm-active .learndash-wrapper .npcm-module-progress {
    height: 5px !important;
}

/* Animación del panel: visual solamente; no recalcula datos. */
body.npcm-active .learndash-wrapper .npcm-module-body {
    transform-origin: top center !important;
    animation: npcmModuleReveal .26s ease both;
}
@keyframes npcmModuleReveal {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Filas de lecciones más compactas y flecha con respiración. */
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link {
    min-height: 54px !important;
    padding: 8px 24px 8px 10px !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-arrow {
    margin-right: 2px !important;
    transition: transform .2s ease, color .2s ease !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link:hover .npcm-lesson-arrow,
body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link:focus-visible .npcm-lesson-arrow {
    transform: translateX(3px) !important;
    color: var(--npcm-primary) !important;
}

/* Estado completado: sin fondo verde completo; línea superior fina. */
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"],
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"],
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete {
    position: relative !important;
    background: #fff !important;
    color: inherit !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: var(--npcm-success, #16b77a) !important;
    border-radius: 3px 3px 0 0 !important;
    z-index: 2 !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] > .npcm-lesson-link,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-link,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-link {
    background: #fff !important;
    color: #17233b !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-title,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-title,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-title {
    color: #17233b !important;
}
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status {
    border-color: var(--npcm-success, #16b77a) !important;
    background: var(--npcm-success, #16b77a) !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 66px !important;
        padding: 8px 11px !important;
        gap: 10px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 41px !important;
        height: 41px !important;
        min-width: 41px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-module-chevron {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }
    body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link {
        min-height: 50px !important;
        padding: 7px 18px 7px 6px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .learndash-wrapper .npcm-module-body {
        animation: none !important;
    }
}

/* =========================================================
   v5.10.0 — INDICADOR COMPLETADO ÚNICO Y PULIDO FINAL
   Evita el doble check, afina la línea verde y compacta el
   espacio superior de la lección completada.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-status::before,
body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-status::after,
body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-status::before,
body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-status::after {
    content: none !important;
    display: none !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border: 0 !important;
    background: var(--npcm-success, #16b77a) !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status::after,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-status::after,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status::after {
    content: "✓" !important;
    display: flex !important;
    position: absolute !important;
    inset: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete::before {
    height: 2px !important;
    border-radius: 2px 2px 0 0 !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] > .npcm-lesson-link,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"] .npcm-lesson-link,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-link {
    padding-top: 6px !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-arrow {
    transition: transform .22s ease, color .22s ease, opacity .22s ease !important;
}

/* =========================================================
   v5.10.1 — ÚLTIMO PULIDO DE ESCRITORIO
   Línea de completado redondeada, giro más natural de la
   flecha y apertura/cierre con una curva de movimiento suave.
   No modifica datos ni comportamiento interno de LearnDash.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item[data-npcm-state="complete"]::before,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete::before {
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
}

body.npcm-active .learndash-wrapper .npcm-module-chevron,
body.npcm-active .learndash-wrapper .npcm-module-chevron svg {
    transition:
        transform 220ms cubic-bezier(.4, 0, .2, 1),
        color 180ms ease-in-out,
        background-color 180ms ease-in-out !important;
    transform-origin: center !important;
}

body.npcm-active .learndash-wrapper .npcm-module-body {
    animation-timing-function: cubic-bezier(.4, 0, .2, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .learndash-wrapper .npcm-module-chevron,
    body.npcm-active .learndash-wrapper .npcm-module-chevron svg {
        transition: none !important;
    }
}


/* =========================================================
   v5.10.2 — MICROINTERACCIONES PREMIUM DE ESCRITORIO
   Animación de progreso, check de completado y hover sutil.
   Es exclusivamente visual: no altera datos de LearnDash.
   ========================================================= */
body.npcm-active .learndash-wrapper .npcm-module-card {
    transition:
        transform 220ms cubic-bezier(.22, 1, .36, 1),
        box-shadow 220ms ease,
        border-color 180ms ease !important;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    body.npcm-active .learndash-wrapper .npcm-module-card:not(.is-open):hover {
        transform: translateY(-2px) !important;
        border-color: rgba(40, 99, 246, .18) !important;
        box-shadow: 0 14px 34px rgba(18, 40, 76, .09) !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-card.is-open:hover {
        box-shadow: 0 16px 38px rgba(18, 40, 76, .105) !important;
    }
}

body.npcm-active .learndash-wrapper .npcm-module-progress-fill {
    transform-origin: left center !important;
    will-change: width;
}

body.npcm-active .learndash-wrapper .npcm-module-progress-value {
    min-width: 3ch !important;
    font-variant-numeric: tabular-nums !important;
}

body.npcm-active .learndash-wrapper .npcm-server-unit.npcm-is-complete .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-server-unit[data-npcm-state="complete"] .npcm-lesson-status,
body.npcm-active .learndash-wrapper .npcm-learning-item.npcm-is-complete .npcm-lesson-status {
    animation: npcm-check-arrive 440ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes npcm-check-arrive {
    0%   { opacity: 0; transform: scale(.55) rotate(-12deg); }
    65%  { opacity: 1; transform: scale(1.12) rotate(2deg); }
    100% { opacity: 1; transform: scale(1) rotate(0); }
}

body.npcm-active .learndash-wrapper .npcm-module-card.is-open .npcm-module-chevron {
    background-color: rgba(40, 99, 246, .075) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.npcm-active .learndash-wrapper .npcm-module-card,
    body.npcm-active .learndash-wrapper .npcm-module-progress-fill,
    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-status,
    body.npcm-active .learndash-wrapper .npcm-learning-item .npcm-lesson-status {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}

/* =========================================================
   v5.11.0 — RESPONSIVE MOBILE FIRST
   Tarjetas más anchas, tipografía y controles optimizados
   para móvil/tablet. Solo presentación; LearnDash conserva
   toda la lógica, progreso, permisos y navegación.
   ========================================================= */
@media (max-width: 767px) {
    /* Aprovecha casi todo el ancho disponible dejando un margen pequeño. */
    body.npcm-active .learndash-wrapper .npcm-course-shell-clean,
    body.npcm-active .learndash-wrapper .npcm-course-shell-clean > .npcm-ready,
    body.npcm-active .learndash-wrapper .npcm-ready,
    body.npcm-active .learndash-wrapper .npcm-server-structure {
        width: calc(100% + 20px) !important;
        max-width: none !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-card {
        width: 100% !important;
        margin-bottom: 10px !important;
        border-radius: 13px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 70px !important;
        padding: 9px 10px !important;
        gap: 9px !important;
        grid-template-columns: 42px minmax(0, 1fr) 32px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 11px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon svg,
    body.npcm-active .learndash-wrapper .npcm-module-icon img {
        max-width: 23px !important;
        max-height: 23px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-eyebrow {
        margin-bottom: 0 !important;
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        letter-spacing: .085em !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: clamp(18px, 5.25vw, 22px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.02em !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-meta {
        margin-top: 2px !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-progress-row {
        width: 100% !important;
        max-width: none !important;
        margin-top: 5px !important;
        gap: 8px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-progress-track {
        height: 4px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-progress-value {
        min-width: 32px !important;
        font-size: 11px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-chevron {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-chevron svg {
        width: 15px !important;
        height: 15px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-body {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-server-unit > .npcm-lesson-link {
        grid-template-columns: 17px minmax(0, 1fr) 16px !important;
        min-height: 48px !important;
        gap: 9px !important;
        padding: 7px 4px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-title {
        font-size: 14px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-status {
        width: 17px !important;
        height: 17px !important;
        min-width: 17px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-server-unit .npcm-lesson-arrow {
        justify-self: end !important;
        margin-right: 0 !important;
    }

    body.npcm-active .learndash-wrapper .npcm-expand-all,
    body.npcm-active .learndash-wrapper [data-npcm-expand-all] {
        font-size: 14px !important;
        gap: 7px !important;
        min-height: 36px !important;
        padding: 5px 4px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.npcm-active .learndash-wrapper .npcm-course-shell-clean,
    body.npcm-active .learndash-wrapper .npcm-course-shell-clean > .npcm-ready,
    body.npcm-active .learndash-wrapper .npcm-ready,
    body.npcm-active .learndash-wrapper .npcm-server-structure {
        width: calc(100% + 16px) !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-toggle {
        min-height: 74px !important;
        padding: 10px 14px !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-title {
        font-size: clamp(19px, 2.6vw, 23px) !important;
    }

    body.npcm-active .learndash-wrapper .npcm-module-icon {
        width: 45px !important;
        height: 45px !important;
        min-width: 45px !important;
    }
}

/* =========================================================
   v5.11.1 — LIMPIEZA DE CONTROLES + PÁGINA DE CURSO MÓVIL
   Oculta el control nativo "Expandir/Colapsar todo" y optimiza
   el bloque superior del curso en móvil. Solo presentación.
   ========================================================= */

/* Cada módulo se abre de forma independiente: el control global ya no se muestra. */
body.npcm-active .learndash-wrapper .ld-section-heading .ld-expand-button,
body.npcm-active .learndash-wrapper .ld-item-list > .ld-section-heading .ld-expand-button,
body.npcm-active .learndash-wrapper .ld-accordion__expand-button,
body.npcm-active .learndash-wrapper .npcm-expand-all,
body.npcm-active .learndash-wrapper [data-npcm-expand-all] {
    display: none !important;
}

/* Recupera el espacio que ocupaba el control global. */
body.npcm-active .learndash-wrapper .ld-section-heading:has(.ld-expand-button),
body.npcm-active .learndash-wrapper .ld-item-list > .ld-section-heading:has(.ld-expand-button) {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    /* Bloque superior de progreso del curso: más ancho y compacto. */
    body.npcm-active .learndash-wrapper .ld-course-status,
    body.npcm-active .learndash-wrapper .ld-course-status.ld-course-status-enrolled {
        width: calc(100% + 8px) !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
        padding: 16px !important;
        border-radius: 16px !important;
    }

    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress,
    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-stats,
    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-bar {
        width: 100% !important;
        max-width: none !important;
    }

    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-heading,
    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-stats {
        gap: 8px !important;
    }

    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-bar {
        height: 8px !important;
        margin: 8px 0 6px !important;
    }

    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-percentage,
    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-steps {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    body.npcm-active .learndash-wrapper .ld-course-status .ld-progress-last-activity,
    body.npcm-active .learndash-wrapper .ld-course-status [class*="last-activity"] {
        margin-top: 8px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    /* Pestañas Curso / Valoraciones con mejor área táctil. */
    body.npcm-active .learndash-wrapper .ld-tabs .ld-tabs-navigation {
        width: 100% !important;
        gap: 2px !important;
    }

    body.npcm-active .learndash-wrapper .ld-tabs .ld-tab {
        min-height: 48px !important;
        padding: 12px 8px !important;
        font-size: 15px !important;
    }

    /* Contenido del curso: aprovecha el ancho y reduce texto excesivo. */
    body.npcm-active .learndash-wrapper .ld-tabs-content,
    body.npcm-active .learndash-wrapper .ld-tab-content,
    body.npcm-active .learndash-wrapper .ld-course-content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.npcm-active .learndash-wrapper .ld-tab-content p,
    body.npcm-active .learndash-wrapper .ld-course-content p {
        font-size: 17px !important;
        line-height: 1.65 !important;
    }

    body.npcm-active .learndash-wrapper .ld-tab-content img,
    body.npcm-active .learndash-wrapper .ld-course-content img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* La primera tarjeta se acerca al título tras retirar el control global. */
    body.npcm-active .learndash-wrapper .npcm-server-structure,
    body.npcm-active .learndash-wrapper .npcm-ready {
        margin-top: 10px !important;
    }
}
