/*
Theme Name: GeneratePress Child
Theme URI: https: //academiaialab.com
Description: Child theme para GeneratePress.
Author: Javier Cantero
Author URI: https: //academiaialab.com
Template: generatepress
Version: 1.5.11
*/

/* Rediseño Tutor LMS — ajustes de layout */

/* Botón WooCommerce / Tutor en sidebar del curso — amarillo de marca */
.cm-sidebar-body a.button,
.cm-sidebar-body button.button,
.cm-sidebar-body input[type="submit"],
.cm-sidebar-body .woocommerce a.button.alt,
.cm-sidebar-body .woocommerce button.button.alt,
.cm-sidebar-body .woocommerce .single_add_to_cart_button,
.cm-sidebar-body .tutor-btn-primary,
.cm-sidebar-body button.tutor-btn-primary,
.cm-sidebar-body .tutor-add-to-cart-button {
  display: block !important;
  width: 100% !important;
  background-color: #FFE500 !important;
  color: #0A0A0F !important;
  font-family: 'Nexa', 'Archivo', sans-serif !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  padding: 15px 20px !important;
  border-radius: 999px !important;
  border: none !important;
  text-align: center !important;
  box-shadow: none !important;
  text-shadow: none !important;
  letter-spacing: -0.01em !important;
  transition: background 200ms ease, transform 200ms ease !important;
}
.cm-sidebar-body a.button:hover,
.cm-sidebar-body button.button:hover,
.cm-sidebar-body .woocommerce a.button.alt:hover,
.cm-sidebar-body .woocommerce .single_add_to_cart_button:hover,
.cm-sidebar-body .tutor-btn-primary:hover,
.cm-sidebar-body .tutor-add-to-cart-button:hover {
  background-color: #E6CF00 !important;
  transform: translateY(-1px) !important;
  color: #0A0A0F !important;
}

/* Mostrar descripción completa sin truncar */
.tutor-course-details-description .tutor-course-content-read-more-btn,
.tutor-read-more-btn,
.tutor-course-content-read-more-btn { display: none !important; }
.tutor-course-details-description .tutor-course-content { max-height: none !important; overflow: visible !important; }
.one-container .site-content {
    padding: 0;
}

/* ══════════════════════════════════════════════════════════
   REDISEÑO DASHBOARD — Academia IA LAB
   Targets: clases nativas de Tutor LMS
   ══════════════════════════════════════════════════════════ */

/* ── Variables dashboard ── */
:root {
    --db-black:      #0A0A0F;
    --db-navy:       #0F1226;
    --db-navy-2:     #161929;
    --db-yellow:     #FFE500;
    --db-green:      #2BD67B;
    --db-border:     rgba(255,255,255,0.07);
    --db-border-y:   rgba(255,229,0,0.20);
    --db-fg-1:       #FFFFFF;
    --db-fg-2:       #C9C9D6;
    --db-fg-3:       #CACAE3;
}

/* ── 1. FONDO GENERAL ── */
.tutor-frontend-dashboard {
    background: #f4f3f1 !important;
}

/* ── 2. HEADER DE PERFIL ── */
.tutor-frontend-dashboard-header {
    background: var(--db-navy) !important;
    border-bottom: 1px solid var(--db-border) !important;
    padding: 18px 24px !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}

/* Avatar */
.tutor-dashboard-header-avatar .tutor-avatar,
.tutor-dashboard-header-avatar img {
    border: 2px solid var(--db-border-y) !important;
    border-radius: 50% !important;
}

/* Saludo "Hello," */
.tutor-dashboard-header-greetings {
    font-size: 11px !important;
    color: var(--db-fg-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    font-weight: 500 !important;
}

/* Nombre de usuario */
.tutor-dashboard-header-username {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--db-fg-1) !important;
    letter-spacing: -0.02em !important;
}

/* Botón "Become an instructor" */
.tutor-frontend-dashboard-header .tutor-btn-outline-primary {
    border-color: var(--db-border-y) !important;
    color: var(--db-yellow) !important;
    font-size: 13px !important;
}
.tutor-frontend-dashboard-header .tutor-btn-outline-primary:hover {
    background: rgba(255,229,0,0.08) !important;
}

/* ── 3. SIDEBAR ── */
.tutor-dashboard-left-menu {
    background: var(--db-navy) !important;
    border-right: 1px solid var(--db-border) !important;
    min-height: 70vh;
    padding-top: 12px !important;
    padding-bottom: 24px !important;
}

.tutor-dashboard-permalinks {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Item de navegación */
.tutor-dashboard-menu-item a,
.tutor-dashboard-menu-item-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 20px !important;
    color: var(--db-fg-3) !important;
    text-decoration: none !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border-left: 2px solid transparent !important;
    transition: color .15s, background .15s !important;
}

.tutor-dashboard-menu-item a:hover,
.tutor-dashboard-menu-item-link:hover {
    color: var(--db-fg-2) !important;
    background: rgba(255,255,255,0.04) !important;
}

/* Item activo */
.tutor-dashboard-menu-item.tutor-is-active a,
.tutor-dashboard-menu-item.tutor-is-active .tutor-dashboard-menu-item-link,
.tutor-dashboard-menu-item.active a {
    color: var(--db-yellow) !important;
    background: rgba(255,229,0,0.07) !important;
    border-left-color: var(--db-yellow) !important;
    font-weight: 700 !important;
}

.tutor-dashboard-menu-item.tutor-is-active a *,
.tutor-dashboard-menu-item.tutor-is-active .tutor-dashboard-menu-item-icon {
    color: var(--db-yellow) !important;
    opacity: 1 !important;
}

/* Icono de nav */
.tutor-dashboard-menu-item-icon,
.tutor-dashboard-menu-item a i,
.tutor-dashboard-menu-item a span[class*="tutor-icon"] {
    font-size: 14px !important;
    width: 16px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    color: #CACAE3 !important;
    opacity: 1 !important;
}

/* Separador del menú */
.tutor-dashboard-menu-divider {
    height: 1px !important;
    background: var(--db-border) !important;
    margin: 8px 20px !important;
    border: none !important;
}

/* ── 4. ÁREA DE CONTENIDO ── */
.tutor-dashboard-content,
.tutor-dashboard-content-inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Título de sección (ej. "Dashboard") */
.tutor-dashboard-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: var(--db-black) !important;
}

/* ── 5. STATS CARDS (Escritorio) — solo las de métricas ── */

/* Todas las cards por defecto: blancas */
.tutor-frontend-dashboard .tutor-card {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Solo las cards de stats (col-xl-4 dentro de dashboard-content-inner) */
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card {
    background: var(--db-navy) !important;
    border: 1px solid var(--db-border) !important;
    transition: border-color .2s !important;
}

.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card:hover {
    border-color: var(--db-border-y) !important;
}

/* Número grande de la stat (desktop: fs-3 / mobile: fs-4) */
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card .tutor-fs-3,
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card .tutor-fs-4 {
    font-size: 36px !important;
    font-weight: 900 !important;
    color: var(--db-fg-1) !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
}

@media (max-width: 991px) {
    .tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card .tutor-fs-4 {
        font-size: 28px !important;
    }
}

/* Label de la stat */
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card .tutor-fs-7 {
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--db-fg-3) !important;
}

/* Ícono circular de la stat */
.tutor-dashboard-content-inner .tutor-round-box {
    background: rgba(255,229,0,0.10) !important;
    border-radius: 8px !important;
}

.tutor-dashboard-content-inner .tutor-round-box i,
.tutor-dashboard-content-inner .tutor-round-box span[class*="tutor-icon"] {
    color: var(--db-yellow) !important;
}

/* Tercera card (Completados) — acento verde */
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) > .tutor-card {
    border-color: rgba(43,214,123,0.20) !important;
}
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) > .tutor-card .tutor-fs-3,
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) > .tutor-card .tutor-fs-4 {
    color: var(--db-green) !important;
}
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) .tutor-round-box {
    background: rgba(43,214,123,0.10) !important;
}
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) .tutor-round-box i,
.tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"]:nth-child(3) .tutor-round-box span[class*="tutor-icon"] {
    color: var(--db-green) !important;
}

/* ── 6. COURSE CARDS — siempre blancas (Mis cursos, inscritos, instructor) ── */

/* Cards de cursos inscritos (alumno) */
.tutor-course-progress-item.tutor-card,
/* Cards de cursos del instructor */
.tutor-my-courses-wrap .tutor-card,
.tutor-instructor-courses .tutor-card,
.tutor-course-list .tutor-card,
/* Fallback: cualquier card dentro del contenido que NO sea stats */
.tutor-dashboard-content .tutor-card:not(.tutor-dashboard-content-inner .tutor-card) {
    background: #fff !important;
    border: 1px solid #e2e2dc !important;
    color: var(--db-black) !important;
}

.tutor-course-progress-item.tutor-card {
    background: #fff !important;
    border: 1px solid #e2e2dc !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: border-color .2s, box-shadow .2s !important;
}

.tutor-course-progress-item.tutor-card:hover {
    border-color: #c8c8c0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
}

.tutor-course-progress-item .tutor-course-progress-item-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--db-black) !important;
    letter-spacing: -0.01em !important;
}

/* Barra de progreso */
.tutor-frontend-dashboard .tutor-progress-bar {
    background: #e8e8e4 !important;
    border-radius: 999px !important;
    height: 6px !important;
    overflow: hidden !important;
}

.tutor-frontend-dashboard .tutor-progress-value {
    background: linear-gradient(90deg, var(--db-yellow), #E6CF00) !important;
    border-radius: 999px !important;
}

/* ── 7. BANNER ALERTA DE PERFIL ── */
.tutor-frontend-dashboard .tutor-alert.tutor-primary {
    background: var(--db-navy-2) !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 10px !important;
    color: var(--db-fg-2) !important;
}

.tutor-frontend-dashboard .tutor-alert.tutor-primary .tutor-alert-icon {
    color: var(--db-yellow) !important;
}

.tutor-frontend-dashboard .tutor-alert .tutor-btn-sm {
    background: transparent !important;
    border: 1px solid var(--db-border-y) !important;
    color: var(--db-yellow) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
}

/* ── 8. MI PERFIL — tabla nativa ── */
.tutor-dashboard-content table {
    width: 100% !important;
}

/* ── 9. TABLAS NATIVAS ── */
.tutor-frontend-dashboard .tutor-table thead tr {
    background: var(--db-navy) !important;
}

.tutor-frontend-dashboard .tutor-table thead th {
    color: var(--db-fg-3) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-bottom: 1px solid var(--db-border) !important;
}

/* ── 10. CONTENEDOR PRINCIPAL — ancho completo ── */

/* Wrapper exterior: sin márgenes ni padding */
.tutor-wrap.tutor-dashboard,
.tutor-wrap.tutor-frontend-dashboard {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Eliminar max-width del container de Tutor */
.tutor-frontend-dashboard .tutor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Row del header: sin márgenes negativos */
.tutor-frontend-dashboard-header {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Row principal (sidebar + content): ancho completo sin sangría */
.tutor-frontend-dashboard-maincontent {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}

/* Columna del sidebar — ancho fijo */
.tutor-dashboard-left-menu {
    flex: 0 0 240px !important;
    max-width: 240px !important;
    width: 240px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Columna del contenido — ocupa el resto */
.tutor-frontend-dashboard-maincontent > .tutor-col-12.tutor-col-md-8,
.tutor-frontend-dashboard-maincontent > .tutor-col-12:not(.tutor-dashboard-left-menu) {
    flex: 1 1 0% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Contenido interior: padding cómodo */
.tutor-dashboard-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 28px 32px 48px !important;
}

/* Eliminar líneas blancas del wrapper de GeneratePress */
.tutor-frontend-dashboard .site-content,
.tutor-frontend-dashboard .content-area,
body.tutor-dashboard-page .inside-article,
body.tutor-dashboard-page .entry-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Quitar padding del body en páginas de dashboard */
body.tutor-dashboard-page .one-container .site-content {
    padding: 0 !important;
}

/* Footer móvil de Tutor */
#tutor-dashboard-footer-mobile .tutor-container {
    max-width: 100% !important;
    padding: 0 16px !important;
}

/* ── 11. DRAWER MOBILE — menú lateral como overlay ── */
@media (max-width: 991px) {

    /* Sidebar fuera del flujo — drawer deslizable */
    .tutor-frontend-dashboard-maincontent {
        flex-wrap: wrap !important;
    }

    .tutor-dashboard-left-menu {
        display: block !important;     /* sobreescribe display:none de Tutor en mobile */
        visibility: visible !important;
        position: fixed !important;
        top: 0 !important;
        left: -280px !important;
        width: 260px !important;
        max-width: 260px !important;
        flex: none !important;
        height: 100vh !important;
        z-index: 99999 !important;
        overflow-y: auto !important;
        transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
        box-shadow: none !important;
        padding-top: 20px !important;
    }

    .tutor-dashboard-left-menu.cm-drawer-open {
        left: 0 !important;
        box-shadow: 4px 0 24px rgba(0,0,0,0.45) !important;
    }

    /* Contenido: ancho completo en mobile */
    .tutor-frontend-dashboard-maincontent > .tutor-col-12:not(.tutor-dashboard-left-menu) {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .tutor-dashboard-content {
        padding: 20px 16px 80px !important;
    }

    /* Backdrop oscuro */
    .cm-drawer-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.65);
        z-index: 99998;
        cursor: pointer;
    }

    .cm-drawer-backdrop.cm-drawer-open {
        display: block;
    }

    /* Botón cerrar dentro del drawer */
    .cm-drawer-close {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 0 16px 12px;
        cursor: pointer;
        color: var(--db-fg-3);
        font-size: 20px;
        line-height: 1;
        border: none;
        background: none;
    }

    .cm-drawer-close:hover {
        color: var(--db-fg-1);
    }

    /* Stat cards: layout horizontal en mobile (ya lo hace Tutor, reforzar) */
    .tutor-dashboard-content-inner > .tutor-row > [class*="tutor-col"] > .tutor-card {
        cursor: pointer;
    }
}

.cm-content-main {
    padding: 36px 15px 64px;
}

.newsletter-container {
    width: 100%;
    padding: 40px 20px 20px 20px;
}

.newsletter-content {
    width: 95%;
    max-width: 700px;
    margin: 0 auto;
    /* Esto centra el bloque horizontalmente */
}

.newsletter-subscription-form {
    width: 100%;
    text-align: center;
    /* Centra el contenido dentro del contenedor */
    padding: 20px;
    /* Espaciado opcional */
}

.newsletter-subscription-form form {
    width: 90%;
    max-width: 500px;
    /* Puedes usar 400px si prefieres */
    margin: 0 auto;
    /* Asegura que el formulario se centre */
}

.newsletter-subscription-section {
    background-color: #ededed;
    /* Gris claro, ajusta el valor a tu gusto */
    text-align: center;
    /* Centra el texto dentro del contenedor */
    padding: 40px 20px;
    /* Espaciado interno (superior/inferior, laterales) */
    margin-top: 40px;
    /* Separación del contenido anterior */
}

.newsletter-subscription-form {
    width: 100%;
    max-width: 500px;
    /* Ajusta el ancho máximo del formulario */
    margin: 0 auto;
    /* Centra horizontalmente el formulario */
}

.newsletter-subscription-form form input,
.newsletter-subscription-form form textarea,
.newsletter-subscription-form form select {
    width: 100%;
    box-sizing: border-box;
    /* Para que respete el ancho al incluir padding/border */
}

/* Opcional: Estilos para que los campos internos ocupen todo el ancho del formulario */
.newsletter-subscription-form form input,
.newsletter-subscription-form form textarea,
.newsletter-subscription-form form select {
    width: 100%;
    box-sizing: border-box;
    border:
        1px solid gray;
    border-radius:
        10px;
}

/* ── BOTÓN CTA DE CURSOS INSCRITOS (course-continue.php) ── */
.list-item-button .tutor-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;

    /* Amarillo de marca, redondeado y de alto contraste */
    background-color: #FFE500 !important;
    border: 1px solid #FFE500 !important;
    border-radius: 10px !important;
    color: #0A0A0F !important;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, transform .05s ease;
}

.list-item-button .tutor-btn:hover,
.list-item-button .tutor-btn:focus {
    background-color: #F5D800 !important;
    border-color: #F5D800 !important;
    color: #0A0A0F !important;
}

.list-item-button .tutor-btn:active {
    transform: translateY(1px);
}

.cm-cta-label {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: #0A0A0F;
}

.cm-cta-sublabel {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.7;
    line-height: 1;
    color: #0A0A0F;
}

.woocommerce-checkout a:not(.button),
.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: #718096;
  text-decoration: underline;
}