/**
 * DT Estilo CSS Learndash
 * Version: 1.0.0
 * Capa visual independiente para LearnDash y componentes relacionados.
 */

/* =====================================================
   VARIABLES DE IDENTIDAD VISUAL
   ===================================================== */
:root {
    --vsp-dark: #050B24;
    --vsp-dark-2: #081534;
    --vsp-purple: #7C3AED;
    --vsp-purple-2: #A855F7;
    --vsp-blue: #2563EB;
    --vsp-green: #22C55E;
    --vsp-bg: #F8FAFC;
    --vsp-border: #E5E7EB;
    --vsp-text: #0F172A;
    --vsp-muted: #64748B;
    --vsp-white: #FFFFFF;
}

/* Forzar medida 100% al body y paneles que dependan del ancho disponible. */
body {
    max-width: 100% !important;
}

/* =====================================================
   PLAN DE ESTUDIO / COMPRA
   ===================================================== */
.learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-action {
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    font-size: 20px;
}

/* Eliminar texto LOG IN en Plan de Estudio. */
.learndash-wrapper .ld-course-status.ld-course-status-not-enrolled .ld-course-status-action .ld-text {
    font-size: .9375em;
    color: var(--ldx-course-status-text-color);
    display: none;
}

/* =====================================================
   CERTIFICADOS
   ===================================================== */
/* Eliminar redes sociales del certificado. */
.ld-cvss-social-button .ld-cvss-social-button-icon,
.ld-cvss-social-button.ld-cvss-social-button-linkedin-profile {
    display: none !important;
}

.ld-cvss-social-button.ld-cvss-social-button-linkedin-profile {
    width: 108px;
    height: 40px;
}

/* Eliminar aviso de lección completada. */
.learndash-wrapper .ld-alert--step-completed.ld-alert-success {
    color: #495255;
    display: none;
}

/* Eliminar título Buscar certificado en página Verificar certificado. */
.ld-cvss-search-form .ld-cvss-search-form-heading {
    display: none;
}

/* =====================================================
   LEARNDASH DASHBOARD
   ===================================================== */
/* Eliminar botón Crear curso en Mi Panel. */
.ld-dashboard-header-button .ld-dashboard-add-course {
    background: #156AE9;
    display: none;
}

/* =====================================================
   DEBATES / BBPRESS
   ===================================================== */
#bbpress-forums .bbp-reply-content,
#bbpress-forums .bbp-topic-content {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #333333 !important;
}

#bbpress-forums .bbp-author-avatar,
#bbpress-forums .bbp-author-role,
#bbpress-forums .bbp-author-ip {
    display: none !important;
}

#bbpress-forums .bbp-author-name {
    display: block !important;
    font-weight: 600;
    text-align: center;
    margin-top: 10px;
}

#bbpress-forums .bbp-reply-author,
#bbpress-forums .bbp-topic-author {
    text-align: center;
    padding: 15px 10px !important;
}

/* =====================================================
   WOOCOMMERCE - RECUPERAR CONTRASEÑA
   ===================================================== */
.woocommerce-lost-password .woocommerce form .form-row input.input-text,
.woocommerce-lost-password .woocommerce form .form-row input[type="text"],
.woocommerce-lost-password .woocommerce form .form-row input[type="email"] {
    background-color: #f4f4f4 !important;
    border: 1px solid #d6d6d6 !important;
    color: #555555 !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
}

.woocommerce-lost-password .woocommerce form .form-row input.input-text:focus,
.woocommerce-lost-password .woocommerce form .form-row input[type="text"]:focus,
.woocommerce-lost-password .woocommerce form .form-row input[type="email"]:focus {
    background-color: #eeeeee !important;
    border-color: #b8b8b8 !important;
    color: #333333 !important;
    outline: none !important;
}

/* =====================================================
   LEARNDASH - MENÚ LATERAL DE LECCIONES
   Estilo moderno premium azul oscuro + púrpura
   ===================================================== */
.learndash-wrapper .ld-focus-sidebar {
    background: var(--vsp-white) !important;
    border-right: 1px solid var(--vsp-border) !important;
    box-shadow: 10px 0 30px rgba(15, 23, 42, 0.06) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-focus-sidebar-header {
    background: var(--vsp-white) !important;
    border-bottom: 1px solid var(--vsp-border) !important;
    padding: 14px 18px !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading {
    background: linear-gradient(135deg, var(--vsp-dark) 0%, #111C44 45%, var(--vsp-purple) 100%) !important;
    color: var(--vsp-white) !important;
    padding: 28px 24px !important;
    border: none !important;
    border-radius: 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    right: -55px;
    top: -45px;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.45), rgba(168, 85, 247, 0));
    border-radius: 50%;
}

.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading h3,
.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading a,
.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading span {
    color: var(--vsp-white) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.2px !important;
    position: relative !important;
    z-index: 2 !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading .ld-icon,
.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading svg {
    color: var(--vsp-white) !important;
    fill: var(--vsp-white) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-focus-sidebar-trigger {
    background: rgba(255, 255, 255, 0.10) !important;
    color: var(--vsp-white) !important;
    border-radius: 50% !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-lesson-item,
.learndash-wrapper .ld-focus-sidebar .ld-topic-row {
    background: var(--vsp-white) !important;
    border-bottom: 1px solid #EEF2F7 !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-lesson-item:hover,
.learndash-wrapper .ld-focus-sidebar .ld-topic-row:hover {
    background: #F8F5FF !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-section-heading,
.learndash-wrapper .ld-focus-sidebar .ld-lesson-section-heading {
    background: #F4F1FF !important;
    color: var(--vsp-dark) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    padding: 20px 24px !important;
    border-top: 1px solid #EDE9FE !important;
    border-bottom: 1px solid #EDE9FE !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-lesson-title,
.learndash-wrapper .ld-focus-sidebar .ld-topic-title,
.learndash-wrapper .ld-focus-sidebar a {
    color: var(--vsp-text) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-is-current-item,
.learndash-wrapper .ld-focus-sidebar .ld-topic-row.ld-is-current-item,
.learndash-wrapper .ld-focus-sidebar .ld-lesson-item.ld-is-current-item {
    background: linear-gradient(90deg, #F3E8FF 0%, #FFFFFF 100%) !important;
    border-left: 5px solid var(--vsp-purple) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-is-current-item .ld-lesson-title,
.learndash-wrapper .ld-focus-sidebar .ld-is-current-item .ld-topic-title,
.learndash-wrapper .ld-focus-sidebar .ld-is-current-item a {
    color: var(--vsp-purple) !important;
    font-weight: 800 !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-status-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    border-radius: 50% !important;
    border: 3px solid #CBD5E1 !important;
    background: var(--vsp-white) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-status-complete,
.learndash-wrapper .ld-focus-sidebar .ld-status-icon.ld-status-complete {
    background: var(--vsp-green) !important;
    border-color: var(--vsp-green) !important;
    color: var(--vsp-white) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-is-current-item .ld-status-icon {
    background: var(--vsp-purple) !important;
    border-color: var(--vsp-purple) !important;
    box-shadow: 0 0 0 6px rgba(124, 58, 237, 0.14) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview,
.learndash-wrapper .ld-focus-sidebar .ld-topic-row {
    padding: 20px 24px !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-status-complete + .ld-lesson-title,
.learndash-wrapper .ld-focus-sidebar .ld-status-complete + .ld-topic-title {
    text-decoration: none !important;
    opacity: 0.92 !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-topic-duration,
.learndash-wrapper .ld-focus-sidebar .ld-lesson-duration {
    color: var(--vsp-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-table-list-item-quiz,
.learndash-wrapper .ld-focus-sidebar .ld-quiz-item {
    background: #F8F5FF !important;
    border-left: 5px solid var(--vsp-purple) !important;
}

.learndash-wrapper .ld-focus-sidebar .ld-expand-button,
.learndash-wrapper .ld-focus-sidebar .ld-expand-button .ld-icon {
    color: var(--vsp-purple) !important;
    font-weight: 800 !important;
}

.learndash-wrapper .ld-focus-sidebar::-webkit-scrollbar {
    width: 8px;
}

.learndash-wrapper .ld-focus-sidebar::-webkit-scrollbar-track {
    background: #F1F5F9;
}

.learndash-wrapper .ld-focus-sidebar::-webkit-scrollbar-thumb {
    background: #C4B5FD;
    border-radius: 30px;
}

.learndash-wrapper .ld-focus-sidebar::-webkit-scrollbar-thumb:hover {
    background: var(--vsp-purple);
}

@media (max-width: 768px) {
    .learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading {
        padding: 22px 18px !important;
    }

    .learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading h3,
    .learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading a,
    .learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading span {
        font-size: 16px !important;
    }

    .learndash-wrapper .ld-focus-sidebar .ld-lesson-item-preview,
    .learndash-wrapper .ld-focus-sidebar .ld-topic-row {
        padding: 16px 18px !important;
    }

    .learndash-wrapper .ld-focus-sidebar .ld-lesson-title,
    .learndash-wrapper .ld-focus-sidebar .ld-topic-title {
        font-size: 15px !important;
    }
}

/* =====================================================
   TÍTULO PRINCIPAL DE LA LECCIÓN
   No afecta títulos internos del contenido
   ===================================================== */
.learndash-wrapper .ld-focus-content > h1:first-of-type,
.learndash-wrapper .ld-focus-content > .entry-title:first-child {
    color: #050B24 !important;
    font-size: 42px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.8px !important;
    text-align: center !important;
    margin: 0 auto 10px auto !important;
    max-width: 980px !important;
}

.learndash-wrapper .ld-focus-content > h1:first-of-type::after,
.learndash-wrapper .ld-focus-content > .entry-title:first-child::after {
    content: "";
    display: block;
    width: 90px;
    height: 5px;
    margin: 18px auto 0 auto;
    border-radius: 999px;
    background: linear-gradient(90deg, #7C3AED 0%, #A855F7 55%, #2563EB 100%);
    box-shadow: 0 6px 18px rgba(124, 58, 237, 0.22);
}

.learndash-wrapper .ld-focus-content .ld-tab-content h1,
.learndash-wrapper .ld-focus-content .ld-tab-content h2,
.learndash-wrapper .ld-focus-content .ld-tab-content h3,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h1,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h2,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h3,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h1,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h2,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h3 {
    text-align: left !important;
    letter-spacing: normal !important;
    max-width: none !important;
}

.learndash-wrapper .ld-focus-content .ld-tab-content h1::after,
.learndash-wrapper .ld-focus-content .ld-tab-content h2::after,
.learndash-wrapper .ld-focus-content .ld-tab-content h3::after,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h1::after,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h2::after,
.learndash-wrapper .ld-focus-content .learndash_content_wrap h3::after,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h1::after,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h2::after,
.learndash-wrapper .ld-focus-content .ld-focus-content-body h3::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 768px) {
    .learndash-wrapper .ld-focus-content > h1:first-of-type,
    .learndash-wrapper .ld-focus-content > .entry-title:first-child {
        font-size: 20px !important;
        line-height: 1.18 !important;
        letter-spacing: -0.4px !important;
        text-align: left !important;
        margin: 0 0 10px 0 !important;
        max-width: 100% !important;
    }

    .learndash-wrapper .ld-focus-content > h1:first-of-type::after,
    .learndash-wrapper .ld-focus-content > .entry-title:first-child::after {
        margin-left: 0 !important;
        width: 72px !important;
        height: 4px !important;
    }
}

/* =====================================================
   BOTÓN VOLVER AL CURSO
   ===================================================== */
.learndash-wrapper .ld-focus-content .ld-course-step-back,
.learndash-wrapper .ld-content-actions .ld-course-step-back,
.learndash-wrapper a.ld-course-step-back,
.learndash-wrapper .ld-content-actions .ld-content-action a.ld-course-step-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(135deg, #050B24 0%, #7C3AED 55%, #2563EB 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    margin: 22px auto 32px auto !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    width: fit-content !important;
    min-width: 230px !important;
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.28) !important;
    transition: all 0.22s ease-in-out !important;
}

.learndash-wrapper .ld-focus-content .ld-course-step-back:hover,
.learndash-wrapper .ld-content-actions .ld-course-step-back:hover,
.learndash-wrapper a.ld-course-step-back:hover,
.learndash-wrapper .ld-content-actions .ld-content-action a.ld-course-step-back:hover {
    background: linear-gradient(135deg, #050B24 0%, #6D28D9 55%, #1D4ED8 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 16px 34px rgba(124, 58, 237, 0.36) !important;
}

.learndash-wrapper .ld-focus-content .ld-course-step-back::before,
.learndash-wrapper .ld-content-actions .ld-course-step-back::before,
.learndash-wrapper a.ld-course-step-back::before,
.learndash-wrapper .ld-content-actions .ld-content-action a.ld-course-step-back::before {
    content: "←";
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.learndash-wrapper .ld-course-step-back,
.learndash-wrapper .ld-course-step-back:visited,
.learndash-wrapper .ld-course-step-back:active,
.learndash-wrapper .ld-course-step-back:focus {
    color: #ffffff !important;
}

/* =====================================================
   LEARNDASH NOTES PANEL
   ===================================================== */
.learndash-wrapper .ld-focus-content .ld-notes-panel:first-of-type {
    margin-top: 40px !important;
}

.learndash-wrapper .ld-focus-content .ld-notes-panel:first-of-type .ld-notes-panel__header {
    margin-top: 0 !important;
}

.learndash-wrapper .ld-focus-content .ld-notes-panel + .ld-notes-panel {
    margin-top: 18px !important;
}

.learndash-wrapper .ld-notes-panel__header {
    background: #ffffff !important;
    border: 1px solid #E5E7EB !important;
    border-left: 5px solid #7C3AED !important;
    border-radius: 12px !important;
    padding: 0 18px !important;
    margin: 0 0 10px 0 !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
    transition: all 0.25s ease-in-out !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.learndash-wrapper .ld-notes-panel__header-title-container::before {
    content: "✎";
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    border-radius: 8px !important;
    background: #F3E8FF !important;
    color: #7C3AED !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.learndash-wrapper .ld-notes-panel__header:hover {
    background: #F8F5FF !important;
    border-left-color: #A855F7 !important;
    box-shadow: 0 10px 26px rgba(124, 58, 237, 0.09) !important;
}

/* =====================================================
   NAVEGACIÓN INFERIOR: SOLO VOLVER AL CURSO
   ===================================================== */
.learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action a.ld-button:not(.ld-course-step-back),
.learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action .ld-button:not(.ld-course-step-back),
.learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action form.sfwd-mark-complete,
.learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action input[type="submit"] {
    display: none !important;
}

.learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action a.ld-course-step-back,
.learndash-wrapper .ld-focus-content .ld-content-actions a.ld-course-step-back,
.learndash-wrapper .ld-focus-content a.ld-course-step-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(135deg, #050B24 0%, #7C3AED 55%, #2563EB 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 20px 30px !important;
    margin: 0 auto 55px auto !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    width: fit-content !important;
    min-width: 240px !important;
    box-shadow: 0 12px 28px rgba(124, 58, 237, 0.28) !important;
}

.learndash-wrapper .ld-focus-content .ld-course-step-back::before {
    content: "←";
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.learndash-wrapper .ld-focus-content .ld-content-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    border: none !important;
    margin-top: 28px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

@supports selector(:has(*)) {
    .learndash-wrapper .ld-focus-content .ld-content-actions .ld-content-action:has(.ld-course-step-back) {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
}

/* =====================================================
   OCULTAR TÍTULO EN PÁGINAS DE CURSOS
   ===================================================== */
body.single-sfwd-courses .page-header .entry-title,
body.single-sfwd-courses h1.entry-title,
body.single-sfwd-courses .page-header {
    display: none !important;
}

body.single-sfwd-courses .page-content,
body.single-sfwd-courses .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =====================================================
   ENCABEZADO CONTENIDO DEL CURSO
   ===================================================== */
.learndash-wrapper .ld-item-list .ld-section-heading,
.learndash-wrapper .ld-course-status-content .ld-section-heading,
.learndash-wrapper .ld-course-list-content .ld-section-heading {
    background: linear-gradient(135deg, #050B24 0%, #111C44 45%, #7C3AED 100%) !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    padding: 42px 26px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 14px 34px rgba(124, 58, 237, 0.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.learndash-wrapper .ld-item-list .ld-section-heading h2,
.learndash-wrapper .ld-item-list .ld-section-heading h3,
.learndash-wrapper .ld-course-status-content .ld-section-heading h2,
.learndash-wrapper .ld-course-status-content .ld-section-heading h3,
.learndash-wrapper .ld-course-list-content .ld-section-heading h2,
.learndash-wrapper .ld-course-list-content .ld-section-heading h3 {
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 768px) {
    .learndash-wrapper .ld-item-list .ld-section-heading,
    .learndash-wrapper .ld-course-status-content .ld-section-heading,
    .learndash-wrapper .ld-course-list-content .ld-section-heading {
        padding: 28px 20px !important;
        border-radius: 14px !important;
        margin-bottom: 22px !important;
    }

    .learndash-wrapper .ld-item-list .ld-section-heading h2,
    .learndash-wrapper .ld-item-list .ld-section-heading h3,
    .learndash-wrapper .ld-course-status-content .ld-section-heading h2,
    .learndash-wrapper .ld-course-status-content .ld-section-heading h3,
    .learndash-wrapper .ld-course-list-content .ld-section-heading h2,
    .learndash-wrapper .ld-course-list-content .ld-section-heading h3 {
        font-size: 20px !important;
        letter-spacing: 0.6px !important;
    }
}

/* =====================================================
   MÓDULOS DEL PLAN DE ESTUDIO
   ===================================================== */
.learndash-wrapper .ld-lesson-section-heading,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading,
.learndash-wrapper .ld-item-list-section-heading {
    background: linear-gradient(135deg, #050B24 0%, #111C44 55%, #7C3AED 100%) !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    border-left: 5px solid #A855F7 !important;
    padding: 16px 24px !important;
    margin: 28px 0 18px 0 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    box-shadow: 0 8px 22px rgba(124, 58, 237, 0.14) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
}

.learndash-wrapper .ld-lesson-section-heading span,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading span,
.learndash-wrapper .ld-item-list-section-heading span,
.learndash-wrapper .ld-lesson-section-heading div,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading div,
.learndash-wrapper .ld-item-list-section-heading div,
.learndash-wrapper .ld-lesson-section-heading strong,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading strong,
.learndash-wrapper .ld-item-list-section-heading strong {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
}

.learndash-wrapper .ld-lesson-section-heading::before,
.learndash-wrapper .ld-lesson-section-heading::after,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading::before,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading::after,
.learndash-wrapper .ld-item-list-section-heading::before,
.learndash-wrapper .ld-item-list-section-heading::after {
    display: none !important;
    content: none !important;
}

.learndash-wrapper .ld-lesson-section-heading *,
.learndash-wrapper .ld-section-heading.ld-lesson-section-heading *,
.learndash-wrapper .ld-item-list-section-heading * {
    color: #ffffff !important;
    text-shadow: none !important;
}

@media (max-width: 768px) {
    .learndash-wrapper .ld-lesson-section-heading,
    .learndash-wrapper .ld-section-heading.ld-lesson-section-heading,
    .learndash-wrapper .ld-item-list-section-heading {
        font-size: 16px !important;
        padding: 14px 18px !important;
        margin: 24px 0 16px 0 !important;
        border-radius: 10px !important;
    }
}

/* =====================================================
   VISOR PDF / PDF EMBEDDER
   ===================================================== */
.learndash-wrapper .ld-focus-content .pdfemb-viewer,
.learndash-wrapper .ld-focus-content .pdfemb-viewer *,
.learndash-wrapper .ld-focus-content .pdfjs-viewer,
.learndash-wrapper .ld-focus-content .pdfjs-viewer * {
    box-sizing: border-box !important;
}

.learndash-wrapper .ld-focus-content .pdfemb-viewer,
.learndash-wrapper .ld-focus-content .pdfjs-viewer,
.learndash-wrapper .ld-focus-content .wp-block-file {
    width: 100% !important;
    max-width: 1020px !important;
    margin: 30px auto 55px auto !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #D1D5DB !important;
    box-shadow: 0 24px 55px rgba(15, 23, 42, 0.16) !important;
}

.learndash-wrapper .ld-focus-content .pdfemb-toolbar {
    background: linear-gradient(135deg, #050B24 0%, #111C44 55%, #7C3AED 100%) !important;
    color: #ffffff !important;
    border: none !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
}

.learndash-wrapper .ld-focus-content .pdfemb-pagescontainer,
.learndash-wrapper .ld-focus-content .pdfemb-inner-div {
    background: #F8FAFC !important;
}

.learndash-wrapper .ld-focus-content .pdfemb-page,
.learndash-wrapper .ld-focus-content .pdfemb-viewer canvas {
    margin: 0 auto !important;
    background: #ffffff !important;
}

@media (max-width: 768px) {
    .learndash-wrapper .ld-focus-content .pdfemb-viewer,
    .learndash-wrapper .ld-focus-content .pdfjs-viewer,
    .learndash-wrapper .ld-focus-content .wp-block-file {
        max-width: calc(100% - 20px) !important;
        margin: 22px auto 38px auto !important;
        border-radius: 12px !important;
    }

    .learndash-wrapper .ld-focus-content .pdfemb-toolbar {
        height: 40px !important;
        min-height: 40px !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
    }

    .learndash-wrapper .ld-focus-content .pdfemb-toolbar span,
    .learndash-wrapper .ld-focus-content .pdfemb-toolbar div {
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    .learndash-wrapper .ld-focus-content .pdfemb-viewer,
    .learndash-wrapper .ld-focus-content .pdfjs-viewer,
    .learndash-wrapper .ld-focus-content .wp-block-file {
        max-width: calc(100% - 12px) !important;
        border-radius: 10px !important;
    }
}

/* =====================================================
   MENÚ USUARIO EN FOCUS MODE
   Cambiar "Hola usuario" por icono de menú
   ===================================================== */
.ld-focus-header .ld-user-menu,
.learndash-wrapper .ld-user-menu {
    min-width: 74px !important;
    justify-content: center !important;
    cursor: pointer !important;
    position: relative !important;
}

.ld-focus-header .ld-user-menu .ld-text,
.learndash-wrapper .ld-user-menu .ld-text,
.ld-user-menu .ld-text {
    font-size: 0 !important;
    color: transparent !important;
    width: 0 !important;
    overflow: hidden !important;
    display: inline-block !important;
}

.ld-focus-header .ld-user-menu .ld-profile-avatar,
.learndash-wrapper .ld-user-menu .ld-profile-avatar,
.ld-user-menu .ld-profile-avatar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
}

.ld-focus-header .ld-user-menu::before,
.learndash-wrapper .ld-user-menu::before,
.ld-user-menu::before {
    content: "☰";
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    background: #F1F5F9 !important;
    color: #0F4FA8 !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    transition: all 0.25s ease !important;
}

/* =====================================================
   LOGROS / PUNTOS LEARNDASH
   ===================================================== */
.ld-achievements .ld-achievement-items {
    display: none;
}

.learndash-wrapper .ld-profile-summary .ld-profile-stats .ld-profile-stat:last-child {
    border-right: 0;
    display: none;
}

/* =====================================================
   RANKING DE LOGROS Y PUNTOS
   Solo afecta .vsp-ranking-logros
   ===================================================== */
.vsp-ranking-logros {
    width: 100% !important;
    max-width: 100% !important;
}

.vsp-ranking-logros h1,
.vsp-ranking-logros h2,
.vsp-ranking-logros h3,
.vsp-ranking-logros h4,
.vsp-ranking-logros .elementor-heading-title {
    color: #050816 !important;
    font-weight: 900 !important;
    letter-spacing: -0.3px !important;
}

.vsp-ranking-logros .elementor-widget-shortcode,
.vsp-ranking-logros .elementor-shortcode {
    width: 100% !important;
    max-width: 100% !important;
}

.vsp-ranking-logros table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    border: 1px solid rgba(124, 58, 237, 0.14) !important;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08) !important;
    margin: 18px 0 38px 0 !important;
}

.vsp-ranking-logros table thead tr,
.vsp-ranking-logros table thead th {
    background: linear-gradient(135deg, #050816 0%, #111827 46%, #7C3AED 100%) !important;
    color: #ffffff !important;
}

.vsp-ranking-logros table th {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 18px 22px !important;
    border: none !important;
    text-align: left !important;
    vertical-align: middle !important;
}

.vsp-ranking-logros table th:first-child {
    border-radius: 18px 0 0 0 !important;
}

.vsp-ranking-logros table th:last-child {
    border-radius: 0 18px 0 0 !important;
}

.vsp-ranking-logros table tbody tr {
    background: #ffffff !important;
}

.vsp-ranking-logros table td {
    background: #ffffff !important;
    color: #050816 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 22px !important;
    border: none !important;
    border-bottom: 1px solid #EEF2F7 !important;
    vertical-align: middle !important;
}

.vsp-ranking-logros table tbody tr:last-child td {
    border-bottom: none !important;
}

.vsp-ranking-logros table tbody tr:hover td {
    background: #F8F5FF !important;
}

.vsp-ranking-logros table td:first-child {
    font-weight: 900 !important;
    color: #050816 !important;
}

.vsp-ranking-logros table td:last-child {
    color: #7C3AED !important;
    font-size: 18px !important;
    font-weight: 950 !important;
}

.vsp-ranking-logros table img {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    padding: 5px !important;
    margin: 0 5px !important;
    border: 2px solid #E5E7EB !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
    vertical-align: middle !important;
}

.vsp-ranking-logros table tbody tr:first-child td {
    background: linear-gradient(135deg, #F8F5FF 0%, #ffffff 100%) !important;
}

.vsp-ranking-logros table tbody tr:first-child td:first-child::before {
    content: "🏆 ";
}

.vsp-ranking-logros table,
.vsp-ranking-logros table tr,
.vsp-ranking-logros table th,
.vsp-ranking-logros table td {
    border-left: none !important;
    border-right: none !important;
}

.vsp-ranking-logros table a {
    color: inherit !important;
    text-decoration: none !important;
}

@media (max-width: 1024px) {
    .vsp-ranking-logros table th {
        font-size: 12.5px !important;
        padding: 16px !important;
    }

    .vsp-ranking-logros table td {
        font-size: 14px !important;
        padding: 18px 16px !important;
    }

    .vsp-ranking-logros table td:last-child {
        font-size: 16px !important;
    }

    .vsp-ranking-logros table img {
        width: 32px !important;
        height: 32px !important;
        padding: 4px !important;
    }
}

@media (max-width: 768px) {
    .vsp-ranking-logros {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .vsp-ranking-logros .elementor-widget-shortcode,
    .vsp-ranking-logros .elementor-shortcode {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .vsp-ranking-logros table {
        width: 100% !important;
        min-width: 0 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: #ffffff !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        border: 1px solid rgba(124, 58, 237, 0.16) !important;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08) !important;
        margin: 14px 0 30px 0 !important;
        table-layout: fixed !important;
    }

    .vsp-ranking-logros table thead {
        display: table-header-group !important;
    }

    .vsp-ranking-logros table thead tr {
        display: table-row !important;
    }

    .vsp-ranking-logros table thead th {
        display: table-cell !important;
        background: linear-gradient(135deg, #050816 0%, #111827 48%, #7C3AED 100%) !important;
        color: #ffffff !important;
        font-size: 10.5px !important;
        font-weight: 900 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.45px !important;
        padding: 13px 8px !important;
        border: none !important;
        text-align: center !important;
        vertical-align: middle !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    .vsp-ranking-logros table tbody {
        display: table-row-group !important;
    }

    .vsp-ranking-logros table tbody tr {
        display: table-row !important;
        background: #ffffff !important;
    }

    .vsp-ranking-logros table tbody td {
        display: table-cell !important;
        background: #ffffff !important;
        color: #050816 !important;
        font-size: 12.5px !important;
        font-weight: 800 !important;
        padding: 16px 8px !important;
        border: none !important;
        border-bottom: 1px solid #EEF2F7 !important;
        vertical-align: middle !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        word-break: normal !important;
    }

    .vsp-ranking-logros table tbody tr:last-child td {
        border-bottom: none !important;
    }

    .vsp-ranking-logros table th:nth-child(1),
    .vsp-ranking-logros table td:nth-child(1) {
        width: 34% !important;
        text-align: left !important;
    }

    .vsp-ranking-logros table th:nth-child(2),
    .vsp-ranking-logros table td:nth-child(2) {
        width: 42% !important;
        text-align: center !important;
    }

    .vsp-ranking-logros table th:nth-child(3),
    .vsp-ranking-logros table td:nth-child(3) {
        width: 24% !important;
        text-align: center !important;
    }

    .vsp-ranking-logros table td:first-child {
        font-size: 12.5px !important;
        font-weight: 900 !important;
        color: #050816 !important;
    }

    .vsp-ranking-logros table td:last-child {
        color: #7C3AED !important;
        font-size: 16px !important;
        font-weight: 950 !important;
    }

    .vsp-ranking-logros table img {
        width: 27px !important;
        height: 27px !important;
        object-fit: contain !important;
        background: #ffffff !important;
        border-radius: 50% !important;
        padding: 4px !important;
        margin: 2px !important;
        border: 2px solid #E5E7EB !important;
        box-shadow: 0 7px 16px rgba(15, 23, 42, 0.08) !important;
        vertical-align: middle !important;
    }

    .vsp-ranking-logros table tbody tr:first-child td {
        background: linear-gradient(135deg, #F8F5FF 0%, #ffffff 100%) !important;
    }

    .vsp-ranking-logros table tbody tr:first-child td:first-child::before {
        content: none !important;
        display: none !important;
    }

    .vsp-ranking-logros table th:first-child {
        border-radius: 16px 0 0 0 !important;
    }

    .vsp-ranking-logros table th:last-child {
        border-radius: 0 16px 0 0 !important;
    }
}

@media (max-width: 480px) {
    .vsp-ranking-logros table th {
        font-size: 9.8px !important;
        padding: 12px 6px !important;
        letter-spacing: 0.35px !important;
    }

    .vsp-ranking-logros table td {
        font-size: 12px !important;
        padding: 15px 6px !important;
    }

    .vsp-ranking-logros table td:first-child {
        font-size: 12px !important;
    }

    .vsp-ranking-logros table td:last-child {
        font-size: 15px !important;
    }

    .vsp-ranking-logros table img {
        width: 25px !important;
        height: 25px !important;
        padding: 3.5px !important;
        margin: 2px 1px !important;
    }
}
