/* =================================================
   GOWEBIX FEATURE BOX 3 PRO – MEJORADO (v5.5)
   ================================================= */

.gowebix-fb3-pro {
    position: relative !important;
    box-sizing: border-box;
    font-family: var(--gw-font, 'Inter'), -apple-system, BlinkMacSystemFont, sans-serif;
    overflow: visible !important;

    /* Vars default - AÑADIDAS LAS NUEVAS VARIABLES */
    --fb3-icon-color: var(--gowebix-primary, #00C2E5);
    --fb3-icon-size: 40px;
    --fb3-title-color: var(--gowebix-gray-900, #1d2426);
    --fb3-title-size: 18px;
    --fb3-title-weight: 600;
    --fb3-text-color: var(--gowebix-gray-700, #5b676c);
    --fb3-text-size: 15px;
    --fb3-text-weight: 300;
    --fb3-line-height: 1.7;
    --fb3-padding-top: 0;
    --fb3-padding-bottom: 0;
    --fb3-min-height: 170px !important; /* Aumenta de 170px a 190px */
    
    /* NUEVAS VARIABLES PARA LAS MEJORAS */
    --fb3-line-color: var(--gowebix-primary, #00C2E5);
    --fb3-line-thickness: 1px;
    --fb3-line-padding: 20px;
    --fb3-border-thickness: 1px;
    --fb3-border-color: rgba(0, 194, 229, 0.22);
    --fb3-border-radius: 12px;
    --fb3-inner-padding: 18px;

    /* Flexbox para alineación */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform .3s ease;

    /* PADDING FIX - aplicado directamente */
    padding-top: var(--fb3-padding-top) !important;
    padding-bottom: var(--fb3-padding-bottom) !important;
    min-height: var(--fb3-min-height) !important;
    
    /* FIX CURSOR HAND - Agregado aquí */
    cursor: pointer !important;
    
    /* Mejora de rendimiento */
    will-change: transform;
    backface-visibility: hidden;
}

/* ================= FONT SMOOTHING ================= */
.gowebix-fb3-pro.gowebix-fb3-smoothed {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ================= CLASES DE PESO TIPOGRÁFICO ================= */

/* Ultra Thin (200) - Texto extremadamente fino */
.gowebix-fb3-pro.gowebix-fb3-ultra-thin {
    --fb3-title-weight: 200 !important;
    --fb3-text-weight: 200 !important;
}

.gowebix-fb3-pro.gowebix-fb3-ultra-thin .gowebix-fb3-title {
    font-weight: 200 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    letter-spacing: 0.015em !important;
    opacity: 0.98 !important;
}

.gowebix-fb3-pro.gowebix-fb3-ultra-thin .gowebix-fb3-text {
    font-weight: 200 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    letter-spacing: 0.02em !important;
    opacity: 0.95 !important;
}

/* Light (300) - Texto ligero */
.gowebix-fb3-pro.gowebix-fb3-light {
    --fb3-title-weight: 300 !important;
    --fb3-text-weight: 300 !important;
}

.gowebix-fb3-pro.gowebix-fb3-light .gowebix-fb3-title {
    font-weight: 300 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.01em;
    opacity: 0.97;
}

.gowebix-fb3-pro.gowebix-fb3-light .gowebix-fb3-text {
    font-weight: 300 !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.015em;
    opacity: 0.93;
}

/* Regular (400) - Texto normal */
.gowebix-fb3-pro.gowebix-fb3-regular {
    --fb3-title-weight: 400 !important;
    --fb3-text-weight: 400 !important;
}

.gowebix-fb3-pro.gowebix-fb3-regular .gowebix-fb3-title {
    font-weight: 400 !important;
    letter-spacing: -0.01em;
}

.gowebix-fb3-pro.gowebix-fb3-regular .gowebix-fb3-text {
    font-weight: 400 !important;
    letter-spacing: 0.01em;
}

/* Medium (500) - Texto medio */
.gowebix-fb3-pro.gowebix-fb3-medium {
    --fb3-title-weight: 500 !important;
    --fb3-text-weight: 500 !important;
}

.gowebix-fb3-pro.gowebix-fb3-medium .gowebix-fb3-title {
    font-weight: 500 !important;
    letter-spacing: -0.015em;
}

.gowebix-fb3-pro.gowebix-fb3-medium .gowebix-fb3-text {
    font-weight: 500 !important;
    letter-spacing: 0.005em;
}

/* Semibold (600) - Texto seminegrita */
.gowebix-fb3-pro.gowebix-fb3-semibold {
    --fb3-title-weight: 600 !important;
    --fb3-text-weight: 600 !important;
}

.gowebix-fb3-pro.gowebix-fb3-semibold .gowebix-fb3-title {
    font-weight: 600 !important;
    letter-spacing: -0.02em;
}

.gowebix-fb3-pro.gowebix-fb3-semibold .gowebix-fb3-text {
    font-weight: 600 !important;
    letter-spacing: 0;
}

/* Bold (700) - Texto negrita */
.gowebix-fb3-pro.gowebix-fb3-bold {
    --fb3-title-weight: 700 !important;
    --fb3-text-weight: 700 !important;
}

.gowebix-fb3-pro.gowebix-fb3-bold .gowebix-fb3-title {
    font-weight: 700 !important;
    letter-spacing: -0.025em;
}

.gowebix-fb3-pro.gowebix-fb3-bold .gowebix-fb3-text {
    font-weight: 700 !important;
    letter-spacing: -0.005em;
}

/* ================= ICONO ================= */
.gowebix-fb3-icon {
    position: relative;
    margin-bottom: 20px;
    line-height: 1;
    pointer-events: none !important;
}

.gowebix-fb3-icon i {
    font-size: var(--fb3-icon-size);
    color: var(--fb3-icon-color);
    display: block;
    transition: transform .3s ease;
    pointer-events: none !important;
}

/* Número opcional */
.gowebix-fb3-number {
    position: absolute;
    top: -6px;
    right: -8px;
    font-size: 11px;
    font-weight: 600;
    color: var(--fb3-icon-color);
    line-height: 1;
    pointer-events: none !important;
}

/* ================= TÍTULO ================= */
.gowebix-fb3-title {
    margin: 0 0 12px;
    font-size: var(--fb3-title-size);
    font-weight: var(--fb3-title-weight);
    line-height: 1.28;
    letter-spacing: -0.2px;
    color: var(--fb3-title-color);
    pointer-events: none !important;
}

/* ================= TEXTO ================= */
.gowebix-fb3-text {
    font-size: var(--fb3-text-size);
    font-weight: var(--fb3-text-weight);
    line-height: var(--fb3-line-height);
    color: var(--fb3-text-color);
    max-width: 320px;
    pointer-events: none !important;
}

/* ================= ALINEACIONES ================= */
.gowebix-fb3-pro.align-left {
    text-align: left;
    align-items: flex-start;
}
.gowebix-fb3-pro.align-right {
    text-align: right;
    align-items: flex-end;
}

/* ================= MEJORAS: LÍNEA INFERIOR (NUEVO) ================= */
/* Reemplazar el estilo viejo por el nuevo */
.gowebix-fb3-pro.style-line .gowebix-fb3-text::after {
    display: none !important; /* Desactivar el estilo viejo */
}

.gowebix-fb3-pro.style-line {
    border-bottom: var(--fb3-line-thickness, 1px) solid var(--fb3-line-color, var(--gowebix-primary, #00C2E5)) !important;
    padding-bottom: var(--fb3-line-padding, 20px) !important;
}

/* Para alineaciones diferentes */
.gowebix-fb3-pro.align-left.style-line {
    border-bottom-width: var(--fb3-line-thickness, 1px) !important;
    border-bottom-color: var(--fb3-line-color, var(--gowebix-primary, #00C2E5)) !important;
}

.gowebix-fb3-pro.align-right.style-line {
    border-bottom-width: var(--fb3-line-thickness, 1px) !important;
    border-bottom-color: var(--fb3-line-color, var(--gowebix-primary, #00C2E5)) !important;
}

/* ================= MEJORAS: BORDE (MEJORADO) ================= */
.gowebix-fb3-pro.style-border {
    border: var(--fb3-border-thickness, 1px) solid var(--fb3-border-color, rgba(0, 194, 229, 0.22)) !important;
    border-radius: var(--fb3-border-radius, 12px) !important;
    padding: var(--fb3-inner-padding, 18px) !important;
}

/* Forzar el color cuando se usa rgba(0, 194, 229) */
.gowebix-fb3-pro.style-border[style*="--fb3-border-color"],
.gowebix-fb3-pro.style-border[style*="rgba(0, 194, 229"] {
    border-color: var(--fb3-border-color) !important;
}

/* ================= EQUAL HEIGHT (NUEVO) ================= */
.gowebix-fb3-pro.gowebix-fb3-equal-height {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.gowebix-fb3-pro.gowebix-fb3-equal-height .gowebix-fb3-text {
    flex: 1 !important;
}

/* Para que funcione en la misma fila de VC */
.wpb_row .wpb_column .wpb_wrapper:has(.gowebix-fb3-pro.gowebix-fb3-equal-height) {
    display: flex !important;
    flex-wrap: wrap !important;
}

.wpb_row .wpb_column .gowebix-fb3-pro.gowebix-fb3-equal-height {
    flex: 1 !important;
    margin-bottom: 0 !important;
}

/* ================= HOVER ================= */
.gowebix-fb3-pro:hover {
    transform: translateY(-3px);
}
.gowebix-fb3-pro:hover .gowebix-fb3-icon i {
    transform: scale(1.06);
}

/* ================= LINK QUE CUBRE TODO - FIX CRÍTICO ================= */
.gowebix-fb3-link {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
}

/* Todos los elementos hijos NO bloquean el clic */
/* ✅ hijos NO bloquean el clic, EXCEPTO el overlay link */
.gowebix-fb3-pro > *:not(.gowebix-fb3-link) {
  position: relative;
  z-index: 2;
  pointer-events: none !important;
}

/* ================= EFECTOS AVANZADOS ================= */

/* Forzar modo claro */
.gowebix-fb3-pro.gowebix-fb3-force-light .gowebix-fb3-title {
    color: #ffffff !important;
    opacity: 0.98;
}
.gowebix-fb3-pro.gowebix-fb3-force-light .gowebix-fb3-text {
    color: rgba(255, 255, 255, 0.9) !important;
    opacity: 0.92;
}

/* Detección fondos oscuros */
[class*="bg-dark"] .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-title,
[class*="dark-bg"] .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-title,
.bg-black .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-title {
    color: #ffffff !important;
}

[class*="bg-dark"] .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-text,
[class*="dark-bg"] .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-text,
.bg-black .gowebix-fb3-pro:not(.gowebix-fb3-force-light) .gowebix-fb3-text {
    color: rgba(255,255,255,0.88) !important;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 767px) {
    .gowebix-fb3-title { 
        font-size: calc(var(--fb3-title-size) * 0.95); 
    }
    .gowebix-fb3-text { 
        font-size: calc(var(--fb3-text-size) * 0.97); 
    }
    .gowebix-fb3-icon i { 
        font-size: calc(var(--fb3-icon-size) * 0.88); 
    }
    
    /* Responsive para equal height */
    .wpb_row .wpb_column .wpb_wrapper:has(.gowebix-fb3-pro.gowebix-fb3-equal-height) {
        display: block !important;
    }
    
    .wpb_row .wpb_column .gowebix-fb3-pro.gowebix-fb3-equal-height {
        margin-bottom: 30px !important;
    }
    
    .wpb_row .wpb_column .gowebix-fb3-pro.gowebix-fb3-equal-height:last-child {
        margin-bottom: 0 !important;
    }
}

/* ================= FIX CURSOR PARA ELEMENTOS ESPECÍFICOS ================= */
.gowebix-fb3-pro .gowebix-fb3-icon,
.gowebix-fb3-pro .gowebix-fb3-title,
.gowebix-fb3-pro .gowebix-fb3-text,
.gowebix-fb3-pro i,
.gowebix-fb3-pro h3,
.gowebix-fb3-pro h4 {
    cursor: pointer !important;
}

/* =================================================
   BACKGROUND BLUR PARA SECCIÓN DE SERVICIOS
   ================================================= */

/* Usar la NUEVA clase: vc_custom_1766378090783 y mantener la anterior por compatibilidad */
.vc_custom_1765224266617,
.vc_custom_1766378090783 {
    position: relative !important;
    overflow: hidden !important;
}

/* Overlay con blur para ambas clases (actual y anterior) */
.vc_custom_1765224266617::before,
.vc_custom_1766378090783::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    /* TUS VALORES ORIGINALES PREFERIDOS */
    opacity: 0.9 !important;
    background-color: rgba(10, 25, 47, 0.8) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Asegurar que el contenido esté por encima del blur */
.vc_custom_1765224266617 > .container,
.vc_custom_1765224266617 .vc_column-inner,
.vc_custom_1765224266617 .wpb_wrapper,
.vc_custom_1766378090783 > .container,
.vc_custom_1766378090783 .vc_column-inner,
.vc_custom_1766378090783 .wpb_wrapper {
    position: relative !important;
    z-index: 1 !important;
}

/* FALLBACK PARA NAVEGADORES SIN BACKDROP-FILTER */
@supports not (backdrop-filter: blur(6px)) {
    .vc_custom_1765224266617::before,
    .vc_custom_1766378090783::before {
        background-color: rgba(10, 25, 47, 0.9) !important;
        filter: blur(5px);
    }
}

/* MEJOR RENDIMIENTO EN MÓVILES */
@media (max-width: 768px) {
    .vc_custom_1765224266617::before,
    .vc_custom_1766378090783::before {
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
    }
}

/* ================= FIX CORREGIDO: EQUAL HEIGHT INTELIGENTE ================= */

/* Solo afectar contenedores que tienen boxes con equal-height */
.wpb_row .wpb_column .wpb_wrapper:has(.gowebix-fb3-pro.gowebix-fb3-equal-height) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important; /* ¡IMPORTANTE! */
    width: 100% !important;
}

/* Cada box con equal-height */
.wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important; /* Cambio clave */
    flex: 1 0 auto !important;
    margin-bottom: 0 !important;
}

/* Asegurar que el contenido interno ocupe el espacio completo */
.wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height .gowebix-fb3-inner {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Asegurar que el texto ocupe espacio restante */
.wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height .gowebix-fb3-text {
    flex: 1 !important;
    min-height: 0 !important; /* Permite que se reduzca */
}

/* ESPACIO ENTRE FILAS - Solo margen inferior en el último de cada fila */
.wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height {
    margin-bottom: 30px !important;
}

/* Responsive: en móvil desactivar flex */
@media (max-width: 767px) {
    .wpb_row .wpb_column .wpb_wrapper:has(.gowebix-fb3-pro.gowebix-fb3-equal-height) {
        display: block !important;
    }
    
    .wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height {
        margin-bottom: 20px !important;
        height: auto !important;
    }
    
    .wpb_row .wpb_column .wpb_wrapper .gowebix-fb3-pro.gowebix-fb3-equal-height:last-child {
        margin-bottom: 0 !important;
    }
}
