/* 
Theme Name: Instituto Mente Consciente
Theme URI: https://www.buddyboss.com/
Template: buddyboss-theme
Author: Web Booster
Author URI: https://webbooster.com.co/sitios-especializados/
Description: BuddyBoss Theme makes the BuddyBoss Platform look beautiful.
Version: 2.20.0.1778016313
Updated: 2026-05-05 17:25:13

*/

/* ── NEURAL NETWORK BACKGROUND (NEURONA) ── */

div#courses-dir-search {
    margin: 0 !important;
    margin-right: auto !important;
}

.neuron-bg-layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 500px;
    height: 500px;
    z-index: 0;
    opacity: 0.8;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.neuron-bg-layer svg {
    width: 100%;
    height: 100%;
    display: block !important;
}

/* Líneas de conexión */
.neuron-bg-layer .neuron-lines {
    stroke: #0248B7;
    /* Color azul marca */
    stroke-width: 1;
    opacity: 0.25;
}

/* Nodos secundarios */
.neuron-bg-layer .neuron-nodes circle {
    fill: #0248B7;
    opacity: 0.5;
}

/* Nodos verdes con brillo y animación */
.neuron-bg-layer .node-highlight {
    fill: #02CE13 !important;
}

@keyframes neuron-pulse-glow {

    0%,
    100% {
        opacity: 1;
        filter: drop-shadow(0 0 10px #02CE13);
    }

    50% {
        opacity: 0.4;
        filter: drop-shadow(0 0 3px #02CE13);
    }
}

.neuron-bg-layer .neuron-pulse circle {
    animation: neuron-pulse-glow 3.5s ease-in-out infinite;
}

/* Delays para efecto orgánico */
.neuron-bg-layer .neuron-pulse circle:nth-child(2) {
    animation-delay: 0.8s;
}

.neuron-bg-layer .neuron-pulse circle:nth-child(3) {
    animation-delay: 1.6s;
}

/* Responsive: en móviles la neurona se centra y se desvanece más */
@media (max-width: 1024px) {
    .neuron-bg-layer {
        width: 100%;
        opacity: 0.3;
    }
}

/* ==========================================================================
   NEURAL PATTERN OVERLAY (Propuesta Replicada)
   Uso: Aplica la clase 'neural-pattern-section' a la sección de Elementor
   y añade un elemento hijo (o usa selector :before) con 'neural-pattern-overlay'
   ========================================================================== */

.neural-pattern-section {
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #35E430 0%, #0248B7 50%, #01245C 100%) !important;
    color: #ffffff !important;
    z-index: 1 !important;
}

/* ── LearnDash Course Banner ── */
.bb-learndash-banner {
    background: linear-gradient(135deg, #35E430 0%, #0248B7 50%, #01245C 100%) !important;
    position: relative;
    overflow: hidden;
}

/* SVG neural decorativo en todos los banners */
.bb-learndash-banner>.imc-hero-neural-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.3;
    pointer-events: none;
    z-index: 0;
}

/* Texto blanco sobre el gradiente */
.bb-learndash-banner .bb-course-category a,
.bb-learndash-banner .bb-course-category span,
.bb-learndash-banner .entry-title,
.bb-learndash-banner .bb-course-excerpt,
.bb-learndash-banner .bb-course-excerpt p,
.bb-learndash-banner .bb-course-points a,
.bb-learndash-banner .bb-course-single-meta,
.bb-learndash-banner .bb-course-single-meta a,
.bb-learndash-banner .bb-course-single-meta span,
.bb-learndash-banner .bb-course-single-meta time {
    color: #ffffff !important;
}

.bb-learndash-banner .bb-course-category a:hover {
    color: #35E430 !important;
}

.bb-learndash-banner .bb-course-points a {
    opacity: 0.85;
    font-weight: 600;
    transition: opacity .2s;
}

.bb-learndash-banner .bb-course-points a:hover {
    opacity: 1;
    color: #35E430 !important;
}

/* Separador entre categorías más sutil */
.bb-learndash-banner .course-category-item>span {
    opacity: 0.6;
}

.bb-learndash-banner .bb-course-single-meta,
.imc-product-left .bb-course-single-meta {
    display: none !important;
}

/* Ocultar migas externas en cursos y productos (se muestran dentro del banner) */
/* Sin padding-top en la página de producto */
.single-product #primary {
    padding-top: 0 !important;
}



/* Ocultar migas externas en cursos y productos (se muestran dentro del banner) */
.single-sfwd-courses .bb-yoast-breadcrumbs,
.single-product .bb-yoast-breadcrumbs,
.single-product .woocommerce-breadcrumb {
    display: none !important;
}

/* ── Producto: layout con sidebar sticky (replica curso LearnDash) ── */
.imc-product-layout {
    position: relative;
}

/* Banner del producto: gradiente full-width, contenido alineado a columna izq */
.imc-product-banner {
    overflow: visible !important;
    position: relative;
    padding: 60px 0 80px;
    z-index: 1;
}

/* Contenedor personalizado: max-width sin depender de .container de BuddyBoss */
.imc-product-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

.imc-product-left {
    box-sizing: border-box;
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 480px);
    max-width: calc(100% - 480px);
    padding-top: 70px;
}

.imc-product-left .bb-course-category {
    font-size: 14px;
    color: inherit;
    letter-spacing: .61px;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.imc-product-left .entry-title {
    font-size: 48px;
    color: inherit;
    line-height: 1.25;
    margin-bottom: 15px;
}

/* Sidebar: absoluto dentro del layout, alineado al banner */
.imc-product-sidebar {
    position: absolute;
    top: 40px;
    right: calc((100% - 1200px) / 2 + 10px);
    width: 360px;
    z-index: 5;
}

.imc-product-sidebar-inner {
    position: relative;
    top: 100px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(1, 36, 92, 0.22);
}

.imc-banner-thumb-wrap {
    width: 100%;
    overflow: hidden;
    background: #f0f2f8;
}

.imc-banner-thumb-wrap .woocommerce-product-gallery,
.imc-banner-thumb-wrap .woocommerce-product-gallery__wrapper,
.imc-banner-thumb-wrap .woocommerce-product-gallery__image {
    margin: 0 !important;
    width: 100% !important;
}

.imc-banner-thumb-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

.imc-woo-banner-cart {
    padding: 24px;
}

.imc-woo-banner-cart .price {
    font-size: 28px;
    font-weight: 700;
    color: #0248B7;
    margin: 0 0 16px;
    display: block;
}

.imc-woo-banner-cart .cart {
    margin-bottom: 16px;
}

/* Ocultar selector de cantidad (los cursos no se compran múltiples veces) */
.imc-woo-banner-cart .quantity,
.single-product form.cart .quantity {
    display: none !important;
}

/* Imagen del producto no clickable */
.imc-banner-thumb-wrap a,
.woocommerce-product-gallery__image a {
    pointer-events: none !important;
    cursor: default !important;
}

/* Quitar la lupa de zoom */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

.imc-woo-banner-cart .product_meta {
    border-top: 1px solid rgba(195, 198, 213, 0.4);
    padding-top: 16px;
    font-size: 14px;
}

.imc-woo-banner-cart .product_meta>span {
    display: block;
    margin-bottom: 6px;
    color: #5c6475;
}

.imc-woo-banner-cart .product_meta a {
    color: #0248B7;
    text-decoration: none;
}

.imc-woo-banner-cart .product_meta a:hover {
    text-decoration: underline;
}

/* Descripción larga al mismo ancho que columna izquierda */
.single-product #primary>.product .woocommerce-tabs,
.single-product #primary .woocommerce-tabs {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 40px 40px 60px;
    padding-right: 460px;
    box-sizing: border-box;
    width: 100% !important;
}

@media (max-width: 1199px) {
    .imc-product-left {
        padding-right: 420px;
    }

    .imc-product-sidebar {
        transform: translateX(calc(50vw - 460px));
        right: 20px;
        left: auto;
    }

    .single-product #primary .woocommerce-tabs {
        padding-right: 420px;
    }
}

@media (max-width: 1024px) {
    .imc-product-inner {
        padding: 0 20px;
    }

    .imc-product-left {
        padding: 30px 0 !important;
        height: auto !important;
    }

    .imc-product-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 500px;
        margin: -40px auto 0;
        padding: 0 20px 20px;
        transform: none !important;
        left: auto !important;
        right: auto !important;
    }

    .imc-product-sidebar-inner {
        position: static;
    }

    .single-product #primary .woocommerce-tabs {
        padding: 30px 20px !important;
    }
}

/* Migas de pan dentro del banner */
.imc-banner-breadcrumb {
    font-size: 13px;
    margin-bottom: 20px;
    opacity: 0.75;
}

.imc-banner-breadcrumb,
.imc-banner-breadcrumb a,
.imc-banner-breadcrumb span,
.imc-banner-breadcrumb .breadcrumb_last {
    color: #ffffff !important;
    text-decoration: none;
}

.imc-banner-breadcrumb a:hover {
    opacity: 1;
    text-decoration: underline;
}

.imc-banner-breadcrumb .breadcrumb_last {
    opacity: 0.6;
}

.imc-banner-breadcrumb .imc-bc-sep {
    opacity: 0.4;
    margin: 0 6px;
}

.imc-banner-breadcrumb .imc-bc-current {
    opacity: 0.6;
}

/* ── Banner de posts ── */
.imc-post-banner {
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.imc-post-banner-inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* Quitar padding-top del content-area en páginas con banner */
.page #primary,
.single-post #primary,
.archive #primary,
.blog #primary,
.home #primary,
.post-type-archive-sfwd-courses #primary,
.search #primary,
.error404 #primary,
.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary {
    padding-top: 0 !important;
}

/* Ocultar el título nativo "Cursos" del directorio LD (lo muestra el banner) */
.post-type-archive-sfwd-courses .bb-courses-header .bb-title {
    display: none !important;
}

/* Padding-top para el contenido del catálogo de cursos */
.post-type-archive-sfwd-courses #learndash-content {
    padding-top: 35px;
}

/* Buscador de cursos movido al header de filtros */
.imc-courses-search-moved {
    margin-right: auto;
    flex: 0 0 auto;
}

.imc-courses-search-moved .bs-search-form input {
    height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(195, 198, 213, 0.6);
    border-radius: 6px;
    font-size: 14px;
    min-width: 240px;
}

/* Ocultar el header viejo (ahora vacío sin título ni buscador) */
.post-type-archive-sfwd-courses .bb-courses-header {
    display: none !important;
}

.imc-archive-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 16px;
    margin-top: 12px;
}

.page .entry-content,
.single-post .entry-content,
.blog .entry-content,
.archive .entry-content,
.post-grid,
.single-post article.post,
.single-post .elementor,
.woocommerce-shop ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
    padding-top: 35px;
}

.imc-post-banner-inner .entry-title,
.imc-post-banner-inner .imc-banner-breadcrumb {
    position: relative;
    z-index: 1;
}

.imc-post-banner-inner .bb-course-category {
    font-size: 14px;
    color: inherit;
    letter-spacing: .61px;
    text-transform: uppercase;
    margin-bottom: 8px;
    justify-content: center;
}

.imc-post-banner-inner .entry-title {
    font-size: 48px;
    color: inherit;
    line-height: 1.25;
    margin-bottom: 0;
}

.imc-banner-breadcrumb--center {
    text-align: center;
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}

/* Ocultar título nativo en páginas (lo muestra el banner) */
.page .entry-header .entry-title {
    display: none !important;
}

.neural-pattern-section::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cdefs%3E%3Cfilter id='synapse-glow' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='2.5' result='blur' /%3E%3CfeMerge%3E%3CfeMergeNode in='blur' /%3E%3CfeMergeNode in='SourceGraphic' /%3E%3C/feMerge%3E%3C/filter%3E%3Cpattern id='neural-pattern' x='0' y='0' width='240' height='240' patternUnits='userSpaceOnUse'%3E%3Cg stroke='rgb(255,255,255)' fill='none' stroke-width='1.2' opacity='0.2'%3E%3Cpath d='M30,40 C60,60 80,30 110,50 C140,70 130,100 160,110 C190,120 210,90 230,130'/%3E%3Cpath d='M110,50 C100,90 140,130 120,180 C100,230 60,190 30,210'/%3E%3Cpath d='M160,110 C180,150 140,190 170,220 C200,250 240,210 260,230'/%3E%3Cpath d='M30,210 C50,170 10,140 40,100 C70,60 20,30 -10,50'/%3E%3Cpath d='M120,180 C150,190 180,160 210,180 C240,200 230,240 250,260'/%3E%3Cpath d='M230,130 C200,100 240,60 210,30 C180,0 220,-20 200,-40'/%3E%3Cpath d='M70,120 C90,140 110,100 130,130 C150,160 110,180 120,180'/%3E%3C/g%3E%3Cg stroke='rgb(255,255,255)' fill='none' stroke-width='0.5' opacity='0.1'%3E%3Cpath d='M110,50 L70,120 L40,100 Z'/%3E%3Cpath d='M160,110 L130,130 L120,180 Z'/%3E%3Cpath d='M230,130 L210,180'/%3E%3Cpath d='M30,210 L70,120'/%3E%3C/g%3E%3Cg fill='rgb(2,206,19)' filter='url(%23synapse-glow)'%3E%3Ccircle cx='30' cy='40' r='3'/%3E%3Ccircle cx='110' cy='50' r='4.5'/%3E%3Ccircle cx='160' cy='110' r='5'/%3E%3Ccircle cx='230' cy='130' r='3.5'/%3E%3Ccircle cx='120' cy='180' r='4'/%3E%3Ccircle cx='30' cy='210' r='3.5'/%3E%3Ccircle cx='170' cy='220' r='3'/%3E%3Ccircle cx='40' cy='100' r='3'/%3E%3Ccircle cx='210' cy='180' r='3.5'/%3E%3Ccircle cx='70' cy='120' r='2.5'/%3E%3Ccircle cx='130' cy='130' r='2.5'/%3E%3C/g%3E%3Cg fill='rgb(255,255,255)' opacity='0.8'%3E%3Ccircle cx='110' cy='50' r='1.5'/%3E%3Ccircle cx='160' cy='110' r='2'/%3E%3Ccircle cx='120' cy='180' r='1.5'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23neural-pattern)' /%3E%3C/svg%3E") !important;
    background-repeat: repeat !important;
    background-size: auto !important;
    opacity: 0.2 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.test-secion .learndash-wrapper.learndash-wrapper--course {
    display: none;
}

/* ── STICKY HEADER ── */
/*
#masthead {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: transparent !important;
    transition: background 0.3s ease, box-shadow 0.3s ease;
    margin-top: -76px;
}
*/


#masthead.mente-scrolled {
    background: #FAF8FF !important;
    box-shadow: 0 2px 12px rgba(1, 36, 92, 0.12);
}

/* Color de los enlaces del menú */
#masthead .main-navigation a,
#masthead .navbar-nav a,
#masthead .menu-item a,
#masthead .header-aside a i,
#masthead span.user-name {
    color: #FAF8FF !important;
    transition: color 0.3s ease;
}

/* Tipografía: Solo uppercase */
#masthead .main-navigation a,
#masthead .navbar-nav a,
#masthead .menu-item a,
#masthead span.user-name {
    text-transform: uppercase !important;
}

/* Forzar color oscuro en la página de cursos (donde el fondo es blanco desde el inicio) */
#masthead.mente-scrolled .main-navigation a,
#masthead.mente-scrolled .navbar-nav a,
#masthead.mente-scrolled .menu-item a,
#masthead.mente-scrolled .menu-item:after,
#masthead.mente-scrolled .menu-item a i,
#masthead.mente-scrolled .header-aside a i,
#masthead.mente-scrolled span.user-name {
    color: #01245C !important;
}

/* ── HOVER EFFECTS ── */

/* Efecto especial para span.user-name al hacer hover en el link */
#masthead .header-user:hover span.user-name,
#masthead a.user-link:hover span.user-name,
#masthead .user-wrap:hover span.user-name {
    color: #01245C !important;
}

header#masthead li:hover a,
#masthead.mente-scrolled .menu-item:hover a {
    color: #fff !important;
}


.bb-template-v2 .site-header #primary-navbar .menu-item>.ab-submenu,
.bb-template-v2 .site-header #primary-navbar .menu-item>.ab-submenu .bb-sub-menu {
    background-color: #01245C !important;
}

header#masthead .ab-submenu .bb-sub-menu li:hover a {
    background-color: #191b22 !important;
}

#navbar-extend .menu-item-has-children:after,
.menu-style-standard .primary-menu .menu-item-has-children:not(.hideshow):after {
    color: #fff !important;
}

.bb-template-v2 .primary-menu>li.current-menu-ancestor>a,
.bb-template-v2 .primary-menu>li.current-menu-item>a,
.bb-template-v2 .primary-menu>li.current-menu-parent>a,
.bb-template-v2 .primary-menu>li.current_page_item>a {
    border-bottom-color: #01245C;
}



/* ── HERO BRAND GRADIENT OVERLAY ─────────────────────────────────────
   Uso: añade la clase "imc-hero-gradient" a cualquier sección de Elementor.
   Aplica el degradado de marca (verde→azul→profundo) con mix-blend-mode:overlay
   encima del video/imagen de fondo. z-index:2 para quedar bajo el SVG neuronal.
   ─────────────────────────────────────────────────────────────────── */

.imc-hero-gradient {
    position: relative !important;
    overflow: hidden !important;
}

/* Las capas se inyectan como divs reales via functions.php */
.imc-overlay-dark {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(105deg, rgba(1, 36, 92, .97) 0%, rgba(1, 36, 92, .88) 45%, rgba(1, 36, 92, .58) 72%, rgba(1, 36, 92, .32) 100%);
}

.imc-overlay-brand {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    mix-blend-mode: overlay;
    opacity: .55;
    background: linear-gradient(125deg, #35e430 0%, #0248B7 42%, #01245C 100%);
}

/* ── HERO NEURAL SVG OVERLAY ──────────────────────────────────────────
   Uso: añade la clase "imc-hero-neural" a cualquier sección de Elementor.
   El SVG se inyecta automáticamente vía functions.php como primer hijo.
   La sección debe tener position:relative y overflow:hidden.
   ─────────────────────────────────────────────────────────────────── */

/* Nodos verdes con glow pulsante */
@keyframes imc-neural-live {

    0%,
    100% {
        opacity: 1;
        filter: drop-shadow(0 0 8px #35e430);
    }

    50% {
        opacity: 0.3;
        filter: drop-shadow(0 0 2px #35e430);
    }
}

@keyframes imc-neural-l1 {

    0%,
    100% {
        opacity: .85;
        filter: drop-shadow(0 0 7px #35e430);
    }

    50% {
        opacity: 0.2;
        filter: drop-shadow(0 0 2px #35e430);
    }
}

@keyframes imc-neural-l2 {

    0%,
    100% {
        opacity: .9;
        filter: drop-shadow(0 0 9px #35e430);
    }

    50% {
        opacity: 0.3;
        filter: drop-shadow(0 0 2px #35e430);
    }
}

@keyframes imc-neural-l3 {

    0%,
    100% {
        opacity: .8;
        filter: drop-shadow(0 0 7px #35e430);
    }

    50% {
        opacity: 0.2;
        filter: drop-shadow(0 0 2px #35e430);
    }
}

@keyframes imc-neural-l4 {

    0%,
    100% {
        opacity: .6;
        filter: drop-shadow(0 0 5px #35e430);
    }

    50% {
        opacity: 0.15;
        filter: drop-shadow(0 0 1px #35e430);
    }
}

/* SVG contenedor */
.imc-hero-neural-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 3;
    display: block;
}

/* Animaciones aplicadas a los nodos por clase */
.imc-hero-neural-svg .imc-nlive {
    animation: imc-neural-live 3.5s ease-in-out infinite;
}

.imc-hero-neural-svg .imc-nl1 {
    animation: imc-neural-l1 3.5s ease-in-out infinite;
    animation-delay: .7s;
}

.imc-hero-neural-svg .imc-nl2 {
    animation: imc-neural-l2 3.5s ease-in-out infinite;
    animation-delay: 1.4s;
}

.imc-hero-neural-svg .imc-nl3 {
    animation: imc-neural-l3 3.5s ease-in-out infinite;
    animation-delay: 2.1s;
}

.imc-hero-neural-svg .imc-nl4 {
    animation: imc-neural-l4 3.5s ease-in-out infinite;
    animation-delay: 2.8s;
}

@media (prefers-reduced-motion: reduce) {

    .imc-hero-neural-svg .imc-nlive,
    .imc-hero-neural-svg .imc-nl1,
    .imc-hero-neural-svg .imc-nl2,
    .imc-hero-neural-svg .imc-nl3,
    .imc-hero-neural-svg .imc-nl4 {
        animation: none;
    }
}

/* ── FEATURED SECTION BACKGROUND ─────────────────────────────────────
   Uso: clase "imc-featured-bg" en la sección de Elementor.
   Inyecta glow radial top-right + SVG de nodos bottom-right via JS.
   ─────────────────────────────────────────────────────────────────── */

.imc-featured-glow {
    position: absolute;
    top: -120px;
    right: -80px;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(2, 72, 183, .22) 0%, rgba(2, 72, 183, .08) 40%, transparent 70%);
    z-index: 0;
}

.imc-featured-nodes {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 280px;
    height: 280px;
    opacity: .12;
    pointer-events: none;
    z-index: 0;
    display: block;
}

.imc-featured-nodes .imc-nl2 {
    animation: imc-neural-l2 3.5s ease-in-out infinite;
    animation-delay: 1.4s;
}

@media (prefers-reduced-motion: reduce) {
    .imc-featured-nodes .imc-nl2 {
        animation: none;
    }
}

/* ── DIFERENCIADORES NEURAL BG ────────────────────────────────────────
   Uso: clase "imc-diff-bg" en la sección de Elementor.
   SVG de red neuronal full-width con opacidad .09 + nodos verdes.
   ─────────────────────────────────────────────────────────────────── */

.imc-diff-neural {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .09;
    z-index: 0;
    display: block;
}

/* ── CURSOS SECTION BACKGROUND ───────────────────────────────────────
   Uso: clase "imc-cursos-bg" en la sección de Elementor.
   Grid de puntos + glow radial top-center inyectados via JS.
   ─────────────────────────────────────────────────────────────────── */

.imc-cursos-dots {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: radial-gradient(circle, rgba(250, 248, 255, .07) 1px, transparent 1px);
    background-size: 38px 38px;
}

.imc-cursos-glow {
    position: absolute;
    top: -180px;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 480px;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(ellipse at center, rgba(2, 72, 183, .2) 0%, transparent 60%);
}

/* ── METODOLOGÍA NEURAL BG ────────────────────────────────────────────
   Uso: clase "imc-meto-bg" en la sección de Elementor.
   SVG ondulado de nodos con 3 nodos verdes pulsantes.
   ─────────────────────────────────────────────────────────────────── */

.imc-meto-neural {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .08;
    z-index: 0;
    display: block;
}

/* ── ABOUT IMAGE WITH CAPTION ────────────────────────────────────────
   Uso: clase "imc-about-image" en widget Imagen de Elementor.
   En "Avanzado → Atributos personalizados" añade:
     data-caption|El cerebro decide 7 segundos antes de que tú lo sepas.
     data-subcaption|Neurociencia aplicada a ventas
   Inyecta automáticamente overlay degradado + caption inferior.
   ─────────────────────────────────────────────────────────────────── */

.imc-about-image,
.imc-about-image .elementor-widget-container {
    position: relative !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.imc-about-image {
    box-shadow: 0 24px 64px rgba(1, 36, 92, .13);
    display: block;
}

.imc-about-image img {
    width: 100%;
    height: auto;
    display: block;
}

.imc-about-image .imc-about-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(1, 36, 92, .88) 0%, rgba(1, 36, 92, .2) 45%, transparent 70%);
}

.imc-about-image .imc-about-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem);
    pointer-events: none;
}

.imc-about-image .imc-about-caption-title {
    font-family: "Helvetica", sans-serif;
    font-weight: 700;
    color: #faf8ff;
    font-size: .98rem;
    line-height: 1.4;
    letter-spacing: .01em;
    margin: 0;
}

.imc-about-image .imc-about-caption-sub {
    font-family: "Helvetica", sans-serif;
    font-weight: 400;
    color: rgba(250, 248, 255, .62);
    font-size: .78rem;
    margin-top: .375rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* ── FINAL CTA BACKGROUND ─────────────────────────────────────────────
   Uso: clase "imc-cta-bg" en la sección de Elementor.
   Gradiente de marca + SVG disperso con nodos blancos pulsantes.
   ─────────────────────────────────────────────────────────────────── */

.imc-cta-bg {
    background: linear-gradient(135deg, #35e430 0%, #0248B7 42%, #01245C 100%) !important;
}

.imc-cta-neural {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .07;
    z-index: 0;
    display: block;
}

@keyframes imc-neural-white {

    0%,
    100% {
        opacity: .55;
        filter: drop-shadow(0 0 8px rgba(255, 255, 255, .8));
    }

    50% {
        opacity: .15;
        filter: drop-shadow(0 0 2px rgba(255, 255, 255, .4));
    }
}

.imc-cta-neural .imc-nlw1 {
    animation: imc-neural-white 3.5s ease-in-out infinite;
}

.imc-cta-neural .imc-nlw2 {
    animation: imc-neural-white 3.5s ease-in-out infinite;
    animation-delay: 1.5s;
}

@media (prefers-reduced-motion: reduce) {

    .imc-cta-neural .imc-nlw1,
    .imc-cta-neural .imc-nlw2 {
        animation: none;
    }
}

/* ── SIDEBAR CATEGORIES WIDGET FIX ────────────────────────────────────
   Corrige chevrons gigantes y layout roto del widget de categorías.
   ─────────────────────────────────────────────────────────────────── */

.widget_categories,
.widget_nav_menu,
.widget_pages,
.widget_archive {
    font-family: "Helvetica", sans-serif;
}

.widget_categories .widget-title,
.widget_nav_menu .widget-title,
.widget_pages .widget-title,
.widget_archive .widget-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #01245C !important;
    border-bottom: 2px solid #0248B7;
    padding-bottom: 10px;
    margin-bottom: 18px !important;
}

.widget_categories ul,
.widget_nav_menu ul,
.widget_pages ul,
.widget_archive ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.widget_categories li,
.widget_nav_menu li,
.widget_pages li,
.widget_archive li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(1, 36, 92, .06);
    font-size: 14px;
    line-height: 1.4;
}

.widget_categories li:last-child,
.widget_nav_menu li:last-child,
.widget_pages li:last-child,
.widget_archive li:last-child {
    border-bottom: none;
}

.widget_categories li::before,
.widget_nav_menu li::before,
.widget_pages li::before,
.widget_archive li::before {
    display: none !important;
}

.widget_categories li a,
.widget_nav_menu li a,
.widget_pages li a,
.widget_archive li a {
    color: #01245C !important;
    text-decoration: none !important;
    flex-grow: 1;
    font-weight: 400;
    transition: color .25s;
}

.widget_categories li a:hover,
.widget_nav_menu li a:hover,
.widget_pages li a:hover,
.widget_archive li a:hover {
    color: #0248B7 !important;
}

/* Contador (badge gris a la derecha) */
.widget_categories .count,
.widget_archive .count {
    background: rgba(1, 36, 92, .08);
    color: rgba(1, 36, 92, .65);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    flex-shrink: 0;
}

/* Iconos chevron gigantes — los matamos */
.widget_categories i,
.widget_nav_menu i,
.widget_pages i,
.widget_archive i,
.widget_categories .bb-icon,
.widget_categories [class*="bb-icon-angle"],
.widget_categories [class*="bb-icon-chevron"],
.widget_categories [class*="bb-icon-caret"] {
    font-size: 12px !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    color: rgba(1, 36, 92, .35) !important;
    margin: 0 !important;
    flex-shrink: 0;
}

/* Sub-categorías (children) */
.widget_categories .children,
.widget_nav_menu .sub-menu,
.widget_pages .children {
    margin-left: 16px !important;
    padding-left: 12px !important;
    border-left: 1px solid rgba(1, 36, 92, .08);
    margin-top: 8px !important;
}

.widget_categories .children li,
.widget_nav_menu .sub-menu li,
.widget_pages .children li {
    padding: 8px 0 !important;
    font-size: 13px;
    border-bottom: none;
}

.widget_categories .current-cat>a,
.widget_nav_menu .current-menu-item>a {
    color: #0248B7 !important;
    font-weight: 700 !important;
}

/* ── FOOTER IMC (override de BuddyBoss vía template-parts/footer.php) ─
   Markup propio en el child theme. Clases imc-footer-*.
   ─────────────────────────────────────────────────────────────────── */

.imc-footer {
    position: relative;
    background: #080F2C;
    padding: 80px 0 32px;
    color: rgba(250, 248, 255, .75);
    font-family: "Helvetica", sans-serif;
}

/* Línea superior con gradiente azul fino */
.imc-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #0248B7 25%, #35e430 50%, #0248B7 75%, transparent 100%);
    opacity: .7;
}

.imc-footer .container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 3vw, 3rem);
}

/* Grid 4 columnas: brand más ancha + 3 cols */
.imc-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 56px;
    margin-bottom: 56px;
}

@media (max-width: 1024px) {
    .imc-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .imc-footer-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

/* Brand */
.imc-footer-brand .imc-footer-logo {
    display: inline-block;
    margin-bottom: 10px;
}

.imc-footer-brand .imc-footer-logo img {
    height: 70px;
    width: auto;
    display: block;
}

/* Lista de contacto (dirección/teléfono/email con icono) */
.imc-footer-contact {
    list-style: none !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.imc-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(250, 248, 255, .75);
}

.imc-footer-contact li::before {
    display: none !important;
}

.imc-footer-contact li svg {
    flex-shrink: 0;
    color: rgba(250, 248, 255, .55);
    margin-top: 3px;
}

.imc-footer-contact a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color .25s;
}

.imc-footer-contact a:hover {
    color: #35e430 !important;
}

/* Social icons (simples, sin fondo) */
.imc-footer-social {
    display: flex;
    align-items: center;
    gap: 18px;
}

.imc-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(250, 248, 255, .65);
    transition: color .25s, transform .25s cubic-bezier(.16, 1, .3, 1);
    text-decoration: none !important;
    padding: 4px;
}

.imc-footer-social a:hover {
    color: #35e430;
    transform: translateY(-2px);
}

/* Headings de columnas */
.imc-footer-heading {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #faf8ff !important;
    margin: 0 0 24px !important;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}

/* Menús de columnas */
.imc-footer-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.imc-footer-menu li {
    margin-bottom: 14px;
    padding: 0;
}

.imc-footer-menu li::before {
    display: none !important;
}

.imc-footer-menu a {
    font-size: 14px !important;
    color: rgba(250, 248, 255, .75) !important;
    text-decoration: none !important;
    transition: color .25s ease;
    font-weight: 400;
}

/* ── CONTACT FORM 7 ── */
.cf7-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.cf7-full {
    margin-bottom: 12px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    width: 100%;
    padding: 18px 16px;
    background: #f0f0f0;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    color: #555;
    box-sizing: border-box;
    outline: none;
    transition: background 0.2s;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
    background: #e8e8e8;
}

.wpcf7 textarea {
    height: 200px;
    resize: vertical;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #777;
}

.wpcf7 input[type="submit"] {
    background: #2db05e;
    color: #fff;
    border: none;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

.wpcf7 input[type="submit"]:hover {
    background: #249e52;
}

@media (max-width: 600px) {
    .cf7-grid {
        grid-template-columns: 1fr;
    }
}

.imc-footer-menu a:hover {
    color: #35e430 !important;
}

/* Fila inferior — copyright centrado en una sola línea */
.imc-footer-bottom {
    border-top: 1px solid rgba(250, 248, 255, .08);
    padding-top: 28px;
    text-align: center;
}

.imc-footer-bottom p {
    font-size: 13px;
    color: rgba(250, 248, 255, .55);
    margin: 0;
    line-height: 1.6;
}

.imc-footer-credits {
    color: rgba(250, 248, 255, .55);
}

.imc-footer-credits a {
    color: rgba(250, 248, 255, .75);
    text-decoration: none;
    font-weight: 700;
    transition: color .25s;
}

.imc-footer-credits a:hover {
    color: #35e430;
}

/* Old footer overrides ──────────────────────────────────────────────── */

.footer-bottom.bb-footer.style-1 {
    background: #191b22 !important;
    border-top: 1px solid rgba(250, 248, 255, .05) !important;
    padding: 64px 0 !important;
    padding-bottom: 20px !important;
    color: rgba(250, 248, 255, .7) !important;
}

.footer-bottom.bb-footer.style-1 a {
    color: rgba(250, 248, 255, .7) !important;
    text-decoration: none !important;
    font-family: "Helvetica", sans-serif !important;
    font-weight: 400;
    font-size: 14px;
    transition: color .25s ease;
}

.footer-bottom.bb-footer.style-1 a:hover {
    color: #35e430 !important;
}

.footer-bottom.bb-footer.style-1 p,
.footer-bottom.bb-footer.style-1 li,
.footer-bottom.bb-footer.style-1 span {
    font-family: "Helvetica", sans-serif !important;
    color: rgba(250, 248, 255, .6) !important;
    font-size: 14px;
    line-height: 1.65;
}

.footer-bottom.bb-footer.style-1 h1,
.footer-bottom.bb-footer.style-1 h2,
.footer-bottom.bb-footer.style-1 h3,
.footer-bottom.bb-footer.style-1 h4,
.footer-bottom.bb-footer.style-1 h5,
.footer-bottom.bb-footer.style-1 h6,
.footer-bottom.bb-footer.style-1 .widget-title,
.footer-bottom.bb-footer.style-1 .widgettitle {
    font-family: "Helvetica", sans-serif !important;
    font-weight: 700 !important;
    color: rgba(250, 248, 255, .6) !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 20px !important;
}

.footer-bottom.bb-footer.style-1 ul,
.footer-bottom.bb-footer.style-1 ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.footer-bottom.bb-footer.style-1 li {
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.footer-bottom.bb-footer.style-1 li::before {
    display: none !important;
}

/* Iconos sociales / svg dentro del footer */
.footer-bottom.bb-footer.style-1 .social-link,
.footer-bottom.bb-footer.style-1 .bb-footer-social a {
    color: rgba(250, 248, 255, .55) !important;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .25s, transform .25s cubic-bezier(.16, 1, .3, 1);
}

.footer-bottom.bb-footer.style-1 .social-link:hover,
.footer-bottom.bb-footer.style-1 .bb-footer-social a:hover {
    color: #faf8ff !important;
    transform: translateY(-2px);
}

/* Borde divisor superior (segunda fila de copyright/legal si la hay) */
.footer-bottom.bb-footer.style-1 .footer-widget-area+.footer-credits,
.footer-bottom.bb-footer.style-1 .footer-bottom-row {
    border-top: 1px solid rgba(250, 248, 255, .06) !important;
    padding-top: 32px !important;
    margin-top: 32px !important;
}

/* Logo / imágenes — invertir si el footer carga el logo color por defecto */
.footer-bottom.bb-footer.style-1 .site-logo img,
.footer-bottom.bb-footer.style-1 .footer-logo img {
    max-height: 40px;
    width: auto;
}

/* ── DISCIPLINES STRIP ────────────────────────────────────────────────
   Uso: widget HTML en Elementor con clase imc-disc-strip
   ─────────────────────────────────────────────────────────────────── */

.imc-disc-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0;
    font-family: "Helvetica", sans-serif;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(250, 248, 255, .9);
    line-height: 1;
}

.imc-disc-strip span {
    padding: 0 .75rem;
}

.imc-disc-strip .sep {
    color: rgba(250, 248, 255, .35);
    font-weight: 400;
    padding: 0;
}

/* ── COURSE STYLES ── */
.mente-course-category {
    font-family: "helvetica compressed", Sans-serif;
    font-weight: 400;
}

h3.mente-course-title {
    font-family: "Helvetica", Sans-serif;
    font-weight: 700;
}

p.mente-course-excerpt,
.mente-meta-item {
    font-family: "Helvetica", Sans-serif;
    font-weight: 400;
}

.bb-template-v2 .primary-menu>li.current-menu-ancestor>a,
.bb-template-v2 .primary-menu>li.current-menu-item>a,
.bb-template-v2 .primary-menu>li.current-menu-parent>a,
.bb-template-v2 .primary-menu>li.current_page_item>a {
    border-bottom-color: #f8f9fa;
}

/* Ocultar summary vacío (todos sus hooks se movieron al banner) */
.single-product .entry-summary:empty,
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    display: none !important;
}

/* Sidebar: quitar fixed en lecciones y temas */
.single-sfwd-lessons .lms-topic-sidebar-wrapper .lms-topic-sidebar-data,
.single-sfwd-topic .lms-topic-sidebar-wrapper .lms-topic-sidebar-data {
    position: static !important;
}