/*
Theme Name: Astra Child ZEULAB
Theme URI: https://academia.zeulab.com/
Description: Tema hijo de Astra para ZEULAB Academia.
Author: ZEULAB
Template: astra
Version: 1.0.1
Text Domain: astra-child-zeulab
*/

:root {
    --zeulab-blue: #005baa;
    --zeulab-blue-2: #0078b8;
    --zeulab-blue-dark: #123a56;
    --zeulab-green: #00a651;
    --zeulab-green-dark: #008c45;
    --zeulab-text: #243b4a;
    --zeulab-muted: #627785;
    --zeulab-border: #dde7ed;
    --zeulab-soft: #f3f7f9;
    --zeulab-white: #ffffff;
}

/* CABECERA Y MENU */
.site-header,
.ast-primary-header-bar {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(14, 47, 70, 0.08);
    box-shadow: 0 8px 30px rgba(23, 53, 72, 0.08);
}

.ast-primary-header-bar .site-primary-header-wrap {
    min-height: 82px;
}

.main-header-menu {
    display: flex;
    align-items: center;
    gap: 7px;
}

.main-header-menu > .menu-item > .menu-link,
.main-header-menu > .menu-item > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 13px 17px;
    color: #17364d;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    border-radius: 9px;
    transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item > a:hover {
    color: #006eac;
    background: #f1f7fa;
    transform: translateY(-1px);
}

.main-header-menu > .menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > .menu-link::after,
.main-header-menu > .menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > a::after {
    content: "";
    position: absolute;
    right: 17px;
    bottom: 7px;
    left: 17px;
    height: 2px;
    background: linear-gradient(90deg, var(--zeulab-blue), var(--zeulab-green));
    border-radius: 5px;
    transform: scaleX(0);
    transition: transform .25s ease;
}

.main-header-menu > .menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > .menu-link:hover::after,
.main-header-menu > .menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > a:hover::after,
.main-header-menu > .current-menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > .menu-link::after,
.main-header-menu > .current-menu-item:not(.menu-item-zeulab-salir):not(.menu-item-zeulab-entrar) > a::after {
    transform: scaleX(1);
}

.main-header-menu .menu-item-zeulab-entrar > .menu-link,
.main-header-menu .menu-item-zeulab-entrar > a,
.main-header-menu .menu-item-zeulab-salir > .menu-link,
.main-header-menu .menu-item-zeulab-salir > a {
    margin-left: 10px;
    padding: 12px 23px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--zeulab-blue), var(--zeulab-blue-2) 50%, var(--zeulab-green));
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(0, 91, 170, 0.22);
}

.main-header-menu .menu-item-zeulab-entrar > .menu-link:hover,
.main-header-menu .menu-item-zeulab-entrar > a:hover,
.main-header-menu .menu-item-zeulab-salir > .menu-link:hover,
.main-header-menu .menu-item-zeulab-salir > a:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #004c91, #006da6 50%, #008f4b);
    transform: translateY(-2px);
}

/* =========================================
   CABECERA ZEULAB ACADEMIA
   ========================================= */

.site-header,
.ast-primary-header-bar {
    background: #ffffff;
    border-bottom: 1px solid #e5eaf0;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
}

.ast-primary-header-bar,
.main-header-bar .ast-container {
    min-height: 100px;
}

/* Contenedor */
.main-header-bar .ast-container {
    display: flex;
    align-items: center;
}

/* Logo */
.site-branding img,
.custom-logo {
    width: auto;
    max-height: 72px;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.custom-logo-link:hover img,
.site-branding a:hover img {
    transform: scale(1.03);
}

/* Nombre academia */
.site-title,
.site-title a {
    color: #182238 !important;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.6px;
    text-decoration: none;
}

.ast-site-identity {
    padding-left: 32px;
}

/* Menú */
.main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 11px 18px;
    color: #182238 !important;
    font-size: 15px;
    font-weight: 700;
    border-radius: 10px;
    transition: all 0.22s ease;
}

.main-header-menu > .menu-item > .menu-link:hover,
.ast-builder-menu-1 .menu-item > .menu-link:hover {
    color: #0878bc !important;
    background: #eef7fc;
}

/* Mis cursos */
.main-header-menu a[href*="mis-cursos"],
.ast-builder-menu-1 a[href*="mis-cursos"] {
    position: relative;
    padding-left: 42px !important;
}

/*.main-header-menu a[href*="mis-cursos"]::before,
.ast-builder-menu-1 a[href*="mis-cursos"]::before {
    content: "▦";
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-52%);
    color: #0878bc;
    font-size: 17px;
}
*/
/* Mis cursos / My Courses */
.main-header-menu a[href*="mis-cursos"],
.main-header-menu a[href*="my-courses"],
.ast-builder-menu-1 a[href*="mis-cursos"],
.ast-builder-menu-1 a[href*="my-courses"] {
    position: relative;
    padding-left: 42px !important;
}

.main-header-menu a[href*="mis-cursos"]::before,
.main-header-menu a[href*="my-courses"]::before,
.ast-builder-menu-1 a[href*="mis-cursos"]::before,
.ast-builder-menu-1 a[href*="my-courses"]::before {
    content: "\1F393"; /* 🎓 */
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    line-height: 1;
    color: #0878bc;
}
/* Botón salir */
.main-header-menu a[href*="logout"],
.main-header-menu a[href*="salir"],
.ast-builder-menu-1 a[href*="logout"],
.ast-builder-menu-1 a[href*="salir"] {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0878bc 0%, #08a969 100%);
    border-radius: 11px;
    padding: 13px 24px !important;
    box-shadow: 0 10px 24px rgba(8, 120, 188, 0.24);
}

.main-header-menu a[href*="logout"]:hover,
.main-header-menu a[href*="salir"]:hover,
.ast-builder-menu-1 a[href*="logout"]:hover,
.ast-builder-menu-1 a[href*="salir"]:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0669a6 0%, #078f59 100%);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(8, 120, 188, 0.30);
}

/* Cabecera fija */
.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
}

/* Responsive */
@media (max-width: 921px) {
    .ast-primary-header-bar,
    .main-header-bar .ast-container {
        min-height: 78px;
    }

    .site-branding img,
    .custom-logo {
        max-height: 52px;
    }

    .ast-site-identity {
        padding-left: 14px;
    }

    .site-title,
    .site-title a {
        font-size: 21px;
    }
}

@media (max-width: 767px) {
    .site-header {
        position: relative;
    }

    .ast-primary-header-bar {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .site-branding img,
    .custom-logo {
        max-height: 46px;
    }

    .site-title,
    .site-title a {
        font-size: 18px;
    }
}
/* =====================================================
   CABECERA: MENÚ COMPLETAMENTE A LA DERECHA
   ===================================================== */

@media (min-width: 922px) {

    /* Cabecera ocupando todo el ancho disponible */
    .ast-primary-header-bar .site-primary-header-wrap,
    .ast-primary-header-bar .ast-container,
    .main-header-bar .ast-container {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 38px !important;
        padding-left: 38px !important;
    }

    /* Estructura: logo | espacio central | menú */
    .ast-primary-header-bar .ast-builder-grid-row {
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
    }

    /* Logo y nombre alineados a la izquierda */
    .site-header-primary-section-left {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        justify-self: start !important;
    }

    /* Sección central */
    .site-header-primary-section-center {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Sección derecha pegada al extremo */
    .site-header-primary-section-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        width: auto !important;
        margin-right: 0 !important;
        margin-left: auto !important;
    }

    /* Elementos interiores de la sección derecha */
    .site-header-primary-section-right .ast-builder-layout-element,
    .site-header-primary-section-right .ast-header-navigation,
    .site-header-primary-section-right .ast-builder-menu,
    .site-header-primary-section-right .ast-builder-menu-1 {
        display: flex !important;
        justify-content: flex-end !important;
        width: auto !important;
        margin-right: 0 !important;
        margin-left: auto !important;
    }

    /* Menú */
    .ast-desktop .ast-primary-header-bar .main-header-menu {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        margin: 0 !important;
        gap: 10px;
    }

    /* Quitar márgenes que puedan desplazar el último botón */
    .main-header-menu > .menu-item:last-child {
        margin-right: 0 !important;
    }
}

.lp-single-course .lp-single-course-main__right {
  margin-top: 0!important;
}
.lp-single-course__header__inner {

  padding-bottom: 0px!important;
}
.lp-single-course .lp-single-course-main {
  padding: 0px 0 80px!important;
}

:root{
    --zeulab-blue:#005baa;
    --zeulab-blue-light:#0078b8;

    --zeulab-green:#ec6b05;
    --zeulab-green-dark:#c95804;

    --zeulab-dark:#183547;
    --zeulab-text:#263f4e;
    --zeulab-muted:#687d8a;
    --zeulab-border:#dce7ed;
    --zeulab-soft:#f4f8fa;
    --zeulab-white:#ffffff;
}

.zeulab-card__button{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:50px;
    margin-top:auto;
    padding:13px 22px;
    color:#fff !important;
    background:#005baa!important;      /* Color sólido */
    border:0;
    border-radius:11px;
    box-shadow:0 10px 24px rgba(0,91,170,.18);
    font-size:15px;
    font-weight:800;
    text-decoration:none !important;
    transition:all .25s ease;
}

.zeulab-card__button::after{
    content:"→";
    margin-left:9px;
    font-size:18px;
    transition:transform .25s ease;
}

.zeulab-card__button:hover{
    background:#004b8f;      /* Azul más oscuro */
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(0,91,170,.28);
}

.zeulab-card__button:hover::after{
    transform:translateX(4px);
}

/* Botones Entrar y Salir */
.main-header-menu .menu-item-zeulab-entrar > .menu-link,
.main-header-menu .menu-item-zeulab-entrar > a,
.main-header-menu .menu-item-zeulab-salir > .menu-link,
.main-header-menu .menu-item-zeulab-salir > a {
    margin-left: 10px;
    padding: 12px 23px !important;
    color: #fff !important;
    background: var(--zeulab-blue);
    border-radius: 10px;
    border: none;
    box-shadow: 0 8px 22px rgba(0,91,170,.18);
    transition: all .25s ease;
}

.main-header-menu .menu-item-zeulab-entrar > .menu-link:hover,
.main-header-menu .menu-item-zeulab-entrar > a:hover,
.main-header-menu .menu-item-zeulab-salir > .menu-link:hover,
.main-header-menu .menu-item-zeulab-salir > a:hover {
    color: #fff !important;
    background: #004b8f;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,91,170,.28);
}

.zeulab-footer {
  margin-top: 80px;
  background: #006eb7;
  color: #d7e5ee;
}
.zeulab-footer-container{
    max-width:1280px;
    margin:auto;
    padding:70px 30px 50px;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:50px;
}

.zeulab-footer-logo{
    height:55px;
    margin-bottom:22px;
}

.zeulab-footer h4{
    color:#fff;
    font-size:18px;
    margin-bottom:20px;
    position:relative;
}

.zeulab-footer h4:after{
    content:"";
    display:block;
    width:45px;
    height:3px;
    margin-top:10px;
    background:#ec6b05;
    border-radius:10px;
}

.zeulab-footer p{
    line-height:1.8;
    color:#c2d2dc;
}

.zeulab-footer ul{
    margin:0;
    padding:0;
    list-style:none;
}

.zeulab-footer li{
    margin-bottom:12px;
}

.zeulab-footer a{
    color:#d7e5ee;
    text-decoration:none;
    transition:.25s;
}

.zeulab-footer a:hover{
    color:#ec6b05;
    padding-left:6px;
}

.zeulab-footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    text-align:center;
    padding:22px;
    font-size:14px;
    color:#9fb5c4;
}

@media(max-width:900px){

.zeulab-footer-container{
    grid-template-columns:1fr;
    gap:35px;
}

}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
  grid-column-gap: 0px;
  max-width: 100%;
  padding-left: 0!important;
  padding-right: 0!important;
}
.site-above-footer-wrap[data-section="section-above-footer-builder"] {
  background-color: transparent!important;
}

.learn-press-form-login, .learn-press-form-register {
 
  margin-top: 30px!important;
}

.lp-single-course .lp-single-course-main .info-metas i {
  color: #ec6b06!important;
}

.info-learning .course-progress__line__active {
  background: #ec6b06!important;

}

.lp-single-course .lp-single-course-main .course-buttons .lp-button:hover {
  background-color: #ec6b05!important;
  border-color: #ec6b05!important;
}

.lp-single-course .lp-single-course-main .course-buttons .lp-button {
  background-color: #006eb8!important;
  border: #006eb7!important;
  color: var(--lp-color-white,#fff);
}

.site button.lp-button-wishlist-action:not(.wp-block-learnpress-course-button-wishlist).icon-only i, .site button.lp-button-wishlist-action:not(.wp-block-learnpress-course-button-wishlist).modern i {
  color: #ec6b06!important;
}

#popup-header {
  display: flex;
  position: fixed;
  z-index: 100;
  right: 0;
  left: 475px;
  padding: 0;
  border-bottom: 1px solid #d9e0f1;
  background: #006eb7!important;
  align-items: center;
  transition: left .35s cubic-bezier(0.4,0,0.2,1);
  will-change: left;
  transform: translateZ(0);
}

.learn-press-progress .learn-press-progress__active {
  position: absolute;
  z-index: 1;
  left: -100%;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  background: #ec6b05!important;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -ms-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

/* Barra superior del reproductor LearnPress */
#popup-course #popup-header,
#popup-header {
    display: flex;
    align-items: center;
}

/* Logotipo ZEULAB */
.zeulab-lp-header-logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    height: 100%;
    padding: 8px 20px;
    margin-right: 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.zeulab-lp-header-logo a {
    display: flex;
    align-items: center;
    line-height: 0;
}

.zeulab-lp-header-logo img {
    display: block;
    width: auto;
    height: 38px;
    max-width: 145px;
    object-fit: contain;
}

/* Evitar que el título desplace o deforme la cabecera */
#popup-header .popup-header__inner,
#popup-header .course-title,
#popup-header .items-progress {
    min-width: 0;
}

/* Tablet */
@media (max-width: 900px) {
    .zeulab-lp-header-logo {
        padding: 7px 12px;
        margin-right: 10px;
    }

    .zeulab-lp-header-logo img {
        height: 32px;
        max-width: 120px;
    }
}

/* Móvil */
@media (max-width: 600px) {
    .zeulab-lp-header-logo {
        padding: 6px 9px;
        margin-right: 5px;
        border-right: 0;
    }

    .zeulab-lp-header-logo img {
        height: 27px;
        max-width: 95px;
    }
}
/* Ocultar "Podría interesarte" */
.lp-single-course .lp-list-courses-related {
    display: none !important;
}
.single-lp_lesson #comments,
.single-lp_lesson .comments-area,
.single-lp_lesson #respond {
    display: none !important;
}
/* Ocultar Wishlist */
.learn-press-course-wishlist,
.course-wishlist,
.lp-course-wishlist,
button.course-wishlist,
.learn-press-wishlist {
    display: none !important;
}

/* Ocultar Compartir */
.learn-press-course-share,
.course-share,
.lp-course-share,
.learn-press-social-share,
.course-social-share,
.entry-share,
.single-course-share {
    display: none !important;
}
/* Wishlist */
.single-lp_course .course-button-wishlist__wrapper-no-css,
.single-lp_course .lp-button-wishlist-action {
    display: none !important;
}

/* Compartir */
.single-lp_course .share-toggle-icon,
.single-lp_course .content-widget-social-share {
    display: none !important;
}

/* Evitar que quede un hueco vacío */
.single-lp_course .content-widget-social-share:empty,
.single-lp_course .wrapper-content-widget:has(.content-widget-social-share) {
    display: none !important;
}
/* Ficha del curso LearnPress */
.single-lp_course aside.sidebar,
.single-lp_course .sidebar,
.single-lp_course #sidebar,
.learn-press .sidebar,
.learn-press aside {
    display: none !important;
}

/* Que el contenido ocupe todo el ancho */
.single-lp_course .content,
.single-lp_course .content_inner,
.single-lp_course .two_columns_75_25,
.single-lp_course .two_columns_66_33,
.single-lp_course .container_inner {
    width: 100% !important;
    max-width: 100% !important;
}
/* Ocultar instructor */
.single-lp_course .lp-section-instructor {
    display: none !important;
}

/* Ocultar reviews */
.single-lp_course .course-tab-panel-reviews,
.single-lp_course .course-nav-tab-reviews,
.single-lp_course .learn-press-course-review,
.single-lp_course .course-reviews {
    display: none !important;
}

/* Ocultar sidebar completa: Archives, Categories, Entradas recientes */
.single-lp_course .lp-single-course-sidebar {
    display: none !important;
}

/* Hacer que el contenido ocupe todo el ancho disponible */
.single-lp_course .lp-single-course-main {
    width: 100% !important;
    max-width: 100% !important;
}
