/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* --- ESTILOS BASE --- */
body { font-family: 'Inter', sans-serif; }
h1, h2, h3, h4 { font-family: 'Poppins', sans-serif; }

/* --- UTILIDADES VISUALES --- */
.text-gradient-brand {
    background: linear-gradient(to right, #004bad, #9c28fa);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.force-white-text {
    color: #ffffff !important;
}

/* --- GLASSMORPHISM & BACKGROUNDS --- */
.glass-card {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
    transition: all 0.4s ease-in-out;
}

.blob {
    position: absolute;
    filter: blur(60px);
    z-index: -1;
    opacity: 0.4;
    animation: float 10s infinite ease-in-out;
}

@keyframes float {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

/* --- PARTICULAS / BURBUJAS --- */
.bubbles-container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1; /* Detrás del contenido, sobre el fondo */
    pointer-events: none;
    overflow: hidden;
}

.bubble {
    position: absolute;
    bottom: -60px;
    /* CAMBIO: Opacidad subida de 0.12 a 0.25 para que se vean más */
    background: rgba(255, 255, 255, 0.25); 
    border-radius: 50%;
    opacity: 0;
    animation: rise 10s infinite ease-in;
    /* CAMBIO: Sombra más intensa para más brillo */
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.3); 
    will-change: transform, opacity;
}

@keyframes rise {
    0% {
        bottom: -60px;
        transform: translateX(0) scale(0.8);
        opacity: 0;
    }
    15% {
        opacity: 0.4;
        transform: translateX(-5px) scale(1);
    }
    50% {
            transform: translateX(5px) scale(1);
    }
    100% {
        bottom: 110%; 
        transform: translateX(-10px) scale(0.9); 
        opacity: 0;
    }
}

/* --- SCROLLBAR GALERÍA --- */
.gallery-carousel {
    scrollbar-width: thin;
    scrollbar-color: #9c28fa #cbd5e1;
    padding-bottom: 20px;
}
.gallery-carousel::-webkit-scrollbar { 
    height: 8px; 
}
.gallery-carousel::-webkit-scrollbar-track { 
    background: #f1f5f9; 
    border-radius: 10px; 
} 
.gallery-carousel::-webkit-scrollbar-thumb {
    background-color: #9c28fa;
    border-radius: 10px;
    border: 2px solid #f1f5f9; 
}

/* --- ANIMACIONES REVEAL --- */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- COMPONENTES ESPECÍFICOS --- */

/* Acordeón / Preguntas Frecuentes */
.faq-btn svg {
    transition: transform 0.3s ease;
}

/* Switcher (Selector Hogar/Empresas) */
.switcher-content {
    display: none;
    animation: fadeInUp 0.4s ease-out;
}
.switcher-content.active {
    display: block;
}

/* Botones del Switcher - FORZADOS CON !IMPORTANT */
.switch-btn {
    position: relative;
    z-index: 10;
}
.switch-btn.active-green {
    background-color: #10b981 !important; 
    color: white !important;
    box-shadow: 0 4px 6px rgba(16, 185, 129, 0.2) !important;
}
.switch-btn.active-red {
    background-color: #ef4444 !important;
    color: white !important;
    box-shadow: 0 4px 6px rgba(239, 68, 68, 0.2) !important;
}
.switch-btn.inactive {
    background-color: transparent !important;
    color: #64748b !important;
    box-shadow: none !important;
}
.switch-btn.inactive:hover {
    background-color: rgba(0,0,0,0.05) !important;
    color: #334155 !important;
}

/* --- SWIPER CONFIG --- */
.swiper-wrapper {
    transition-timing-function: linear !important; /* Crucial para efecto marquee continuo */
}