/*
Theme Name: Astra Child
Template: astra
Version CSS: 2.5
*/

/* ============================================================================
   LAYOUT PRINCIPAL — dos columnas
   ============================================================================ */
.fm-course-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-top: 30px;
}

.fm-course-main {
    flex: 1;
    min-width: 0;
}

.fm-course-layout > .sidebar {
    flex: 0 0 290px;
    width: 290px;
    position: sticky;
    top: 20px;
}

@media (max-width: 900px) {
    .fm-course-layout {
        flex-direction: column;
    }
    .fm-course-layout > .sidebar {
        width: 100%;
        position: relative;
        top: 0;
        order: -1;
    }
}

/* Ocultar título, header y thumbnail del entry — los mostramos en el header azul y sidebar */
.single-sfwd-courses .entry-title,
.single-sfwd-courses .entry-header,
.single-sfwd-courses .ast-post-thumbnail-wrap,
.single-sfwd-courses .post-thumbnail {
    display: none !important;
}

/* Eliminar margen superior del contenido principal — cursos y certificados */
.ast-separate-container .single-sfwd-courses #primary,
.ast-separate-container .single-sfwd-certificates #primary {
    margin: 0 !important;
    padding: 0 !important;
}


/* Header primario transparente */
.ast-primary-header-bar {
    background-color: transparent !important;
}

/* ============================================================================
   COURSE HEADER AZUL
   ============================================================================ */
.fm-course-header {
    background: linear-gradient(135deg, #059784 0%, #047066 100%);
    padding: 50px 0 80px;
    margin-bottom: -40px;
    position: relative;
    overflow: hidden;
}
.fm-course-header::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0; right: 0;
    height: 60px;
    background: #ffffff;
    clip-path: ellipse(55% 100% at 50% 100%);
}
.fm-course-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}
.fm-course-header__cats {
    font-size: 12px;
    color: #00ec9e;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 10px;
}
.fm-course-header__cats a { color: #00ec9e; text-decoration: none; }
.fm-course-header__title {
    font-size: 32px;
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 16px;
    line-height: 1.2;
}
.fm-course-header__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 13px;
    color: rgba(255,255,255,0.85);
}
.fm-course-header__points { color: #00ec9e; font-weight: 700; }
.fm-course-header__closed { color: rgba(255,255,255,0.55); }


/* ============================================================================
   TABS — estilo pill
   ============================================================================ */
ul.course-tabs {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
ul.course-tabs li {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.course-tabs .course-tab {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 13px;
    font-weight: 600;
    color: #059784;
    background: #fff;
    border: 2px solid #e2e7ed;
    text-decoration: none;
    transition: all .2s;
    cursor: pointer;
}
ul.course-tabs .course-tab:hover,
ul.course-tabs .course-tab.active {
    background: #059784;
    border-color: #059784;
    color: #fff;
}

/* Secciones — ocultas por defecto, JS las activa */
.course-sections .course-section { display: none; }
.course-sections .course-section.active { display: block; }


/* ============================================================================
   INFOBAR (progreso)
   ============================================================================ */

/* Ocultar precio Gratuito de LearnDash */
.ld-course-status-segment--price,
.ld-course-status-segment--price .ld-course-status-price {
    display: none !important;
}
.fm-infobar .ld-course-status {
    background: #f4f8fb;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 13px;
}
.fm-infobar .ld-progress-bar-percentage { background-color: #00ec9e !important; }
.fm-infobar .ld-secondary-color { color: #059784 !important; }


/* ============================================================================
   SIDEBAR
   ============================================================================ */
.course-sidebar {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.10);
    overflow: hidden;
}
.course-sidebar__inner { padding-bottom: 20px; }

.course-sidebar__image { line-height: 0; }
.course-sidebar__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px 12px 0 0;
}

.course-sidebar__progress { padding: 16px 20px 0; }
.sidebar-progress-bar {
    background: #e8f4f8;
    border-radius: 10px;
    height: 8px;
    overflow: hidden;
    margin-bottom: 6px;
}
.sidebar-progress-fill {
    background: #00ec9e;
    height: 100%;
    border-radius: 10px;
}
.sidebar-progress-text { font-size: 12px; color: #666; font-weight: 600; }

.course-sidebar__buttons { padding: 16px 20px 0; }

.course-sidebar__buttons .btn,
.course-sidebar__buttons .btn-primary {
    display: block;
    width: 100%;
    padding: 13px 20px;
    border-radius: 25px;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s;
    margin-bottom: 10px;
    border: none;
    box-sizing: border-box;
    background: #059784;
    color: #fff !important;
}
.course-sidebar__buttons .btn:hover,
.course-sidebar__buttons .btn-primary:hover {
    background: #047066;
    color: #fff !important;
}

/* Botón inscripción LearnDash */
.course-sidebar__buttons .learndash-wrapper .ld-button,
.course-sidebar__buttons .learndash-wrapper a.ld-button {
    display: block !important;
    width: 100% !important;
    background: #059784 !important;
    color: #fff !important;
    border-radius: 25px !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    padding: 13px 20px !important;
    border: none !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}
.course-sidebar__buttons .learndash-wrapper .ld-button:hover {
    background: #047066 !important;
}

/* Aviso especialidad */
.incorrect-course {
    margin-top: 14px;
    padding: 12px 16px;
    background: #fff8e1;
    border-left: 4px solid #ffc107;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
}
.incorrect-course h4 {
    margin: 0 0 6px;
    font-size: 13px;
    color: #333;
    font-weight: 700;
    border: none;
    padding: 0;
}
.incorrect-course span { color: #059784; font-weight: 700; }


/* ============================================================================
   LECCIONES
   ============================================================================ */
.learndash-wrapper .ld-section-heading h2 {
    color: #059784;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
}
.learndash-wrapper .ld-item-list-item { border-bottom: 1px solid #e2e7ed; }
.learndash-wrapper .ld-item-list-item:hover { background: #f8fbfd; }
.learndash-wrapper .ld-item-name { color: #333 !important; font-weight: 600; text-decoration: none; }
.learndash-wrapper .ld-item-name:hover { color: #059784 !important; }
.learndash-wrapper .ld-expand-button {
    background-color: #059784 !important;
    border-radius: 20px !important;
    font-size: 12px !important;
}
.learndash-wrapper .ld-expand-button:hover { background-color: #047066 !important; }


/* ============================================================================
   CERTIFICADO
   ============================================================================ */
.learndash-wrapper .ld-alert-certificate {
    background: #e8f8f2;
    border-left: 4px solid #00ec9e;
    border-radius: 4px;
    margin-bottom: 20px;
}
.learndash-wrapper .ld-alert-certificate .ld-button {
    background-color: #00ec9e !important;
    color: #059784 !important;
    border-radius: 20px !important;
    font-weight: 700 !important;
}


/* ============================================================================
   COORDINADORES
   ============================================================================ */
#course-section__instructors h3 {
    color: #059784;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-top: 24px;
    border-top: 1px solid #e2e7ed;
}
.ast-separate-container .ast-article-single{
    padding: 0!important;
}
.ast-separate-container #primary{
    margin-top:10px!important;
}
.custom-logo-link{
    display: none!important;
}
.learndash-wrapper .ld-progress .ld-progress-heading .ld-progress-stats .ld-progress-percentage, .learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active{
    color: #059784;
}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active:after {
    background: #059784;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #learndash_mark_complete_button, .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .learndash_mark_complete_button, .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-button {
    background-color: #059784;
}
.learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-complete, .learndash-wrapper .ld-breadcrumbs .ld-status.ld-status-progress{
    background: #00EC9E;

}

.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item{
    background-color: #00EC9E;
    border:  #00EC9E solid 1px;
    color: #FFFFFF;
    border-radius: 15px;
    line-height: 30px;
    margin-left: 20px;
}


.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item a{
    color: #FFFFFF;
}
.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item:hover a{
    color: #00EC9E;
}
.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item:hover{
    background-color: transparent;
    color: #00EC9E;
}

.ast-desktop:not(:has(.ast-header-sticked)) .ast-primary-header-bar .main-header-menu > .menu-item.current-menu-item{
    display: none;
}

.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-course-navigation-heading{
    background-color: #059784;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading, .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title{
    color: #059784;
}
.learndash-wrapper .ld-focus .ld-focus-sidebar .ld-focus-sidebar-trigger .ld-icon{
    background: #00EC9E;
}
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete #learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete .learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete #learndash_mark_complete_button, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete .learndash_mark_complete_button{
    color: #059784;
}
.learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading .ld-status-incomplete, .learndash-wrapper .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title .ld-status-incomplete{
    border: 2px solid #059784;
}
.learndash-wrapper .ld-focus .ld-focus-header #sfwd-mark-complete:after, .learndash-wrapper .ld-focus .ld-focus-header .sfwd-mark-complete:after{
    color: #059784;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .ld-content-actions .ld-content-action{
    flex-basis: 235px;
}


/* ============================================================================
   COURSE GRID — Layout columnas (Bootstrap no cargado en Astra)
   ============================================================================ */
.ld-course-list-items.row {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 -12px !important;
}
.ld-course-list-items .ld_course_grid {
    padding: 0 12px !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}
.ld-course-list-items .ld_course_grid.col-md-4  { width: 33.333% !important; }
.ld-course-list-items .ld_course_grid.col-md-6  { width: 50% !important; }
.ld-course-list-items .ld_course_grid.col-md-3  { width: 25% !important; }
.ld-course-list-items .ld_course_grid.col-md-12 { width: 100% !important; }

@media (max-width: 768px) {
    .ld-course-list-items .ld_course_grid { width: 100% !important; }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .ld-course-list-items .ld_course_grid.col-md-4,
    .ld-course-list-items .ld_course_grid.col-md-3 { width: 50% !important; }
}

/* ============================================================================
   COURSE GRID — Estilos de cards
   ============================================================================ */
.ld_course_grid article.course {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow .2s;
}
.ld_course_grid article.course:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.14);
}

/* Imagen */
.ld_course_grid article.course > a img,
.ld_course_grid article.course > a:first-of-type img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

/* Caption / contenido */
.ld_course_grid article.course .caption {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ld_course_grid article.course .caption h3.entry-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
    line-height: 1.4;
}

/* Botón */
.ld_course_grid .ld_course_grid_button a.btn {
    display: block !important;
    width: 100% !important;
    padding: 10px 16px !important;
    border-radius: 25px !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    background: #059784 !important;
    color: #fff !important;
    text-decoration: none !important;
    transition: background .2s !important;
    box-sizing: border-box !important;
    margin-top: auto !important;
}
.ld_course_grid .ld_course_grid_button a.btn:hover {
    background: #047066 !important;
}

/* Ribbon Inscrito */
.ld_course_grid .ribbon {
    position: absolute;
    top: 12px;
    left: 0;
    background: #059784;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 0 4px 4px 0;
    text-transform: uppercase;
    letter-spacing: .05em;
    z-index: 2;
}
.ld_course_grid article { position: relative; }

/* Barra de progreso */
.ld_course_grid .learndash_course_progress {
    padding: 8px 16px 0;
}
.ld_course_grid .learndash_course_progress .course-progress-percentage {
    font-size: 11px;
    font-weight: 700;
    color: #059784;
}


/* Ocultar botón siguiente cuestionario cuando acreditación cerrada */
.acreditacion-cerrada .ld-content-action a[href*="/quizzes/"] {
    display: none !important;
}