.elementor-kit-8{--e-global-color-primary:#253699;--e-global-color-secondary:#2A9C3C;--e-global-color-text:#4A4A4A;--e-global-color-accent:#FCEC1F;--e-global-color-78f257e:#F8F9FC;--e-global-color-acf7f1b:#5E5CE6;--e-global-color-4378edc:#7D58CC;--e-global-color-b2f037e:#0C1749;--e-global-color-07be8d3:#FFFFFF;--e-global-color-229cfc6:#000000;--e-global-color-eae6f68:#EF9D18;--e-global-color-ad53025:#FCEC1F;--e-global-color-00e5f0e:#2E85DB;--e-global-color-ca83baf:#166D20;--e-global-color-c222bb4:#4FCE49;--e-global-color-419d054:#3C3C3C;--e-global-color-cbd7a83:#DEDEDE;--e-global-color-161ed4d:#6F6F6F;--e-global-color-3bb879a:#FFFFFF00;--e-global-color-8cb455e:#FFFFFF80;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 h1{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:700;letter-spacing:0.02em;}.elementor-kit-8 h2{font-size:32px;line-height:1.3em;}.elementor-kit-8 h3{font-size:22px;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-header .site-navigation ul.menu li a{color:#1A237E;}.site-header .site-navigation .menu li{font-family:"Montserrat", Sans-serif;font-weight:600;text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.site-footer .footer-inner{width:0px;max-width:100%;}@media(max-width:1024px){.elementor-kit-8 h1{font-size:32px;letter-spacing:0.02em;}.elementor-kit-8 h2{font-size:26px;line-height:1.3em;}.elementor-kit-8 h3{font-size:22px;line-height:22em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8 h1{font-size:32px;letter-spacing:0.02em;}.elementor-kit-8 h2{font-size:26px;line-height:1.3em;}.elementor-kit-8 h3{font-size:22px;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   VARIABLES GLOBALES (Optimizadas para Rendimiento)
   ============================================================ */
:root {
    --primary-grad: #5e5ce6;
    --secondary-grad: #7d58cc;
    --glass-bg: rgba(255, 255, 255, 0.4);
    --glass-border: rgba(255, 255, 255, 0.5); /* Aumentada opacidad para visibilidad */
    --shadow-base: 0 8px 15px rgba(0, 0, 0, 0.05);
    --shadow-hover: 0 12px 25px rgba(0, 0, 0, 0.12);
    
    /* Transiciones específicas (Evita 'all' para no sobrecargar el CPU) */
    --transition-smooth: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                         box-shadow 0.3s ease, 
                         background 0.3s ease, 
                         opacity 0.3s ease;

    /* Variables Sticky Menu */
    --sticky-bg: rgba(0, 0, 0, 0.6);
    --sticky-blur: 12px;
    --sticky-border: rgba(255, 255, 255, 0.2);
}

/* ============================================================
   UTILIDADES ATÓMICAS (Core)
   ============================================================ */

.glass-effect {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border) !important;
    background-clip: padding-box; /* Evita que el fondo se pinte bajo el borde */
}

.shadow-base { box-shadow: var(--shadow-base) !important; }

.hover-lift { 
    transition: var(--transition-smooth) !important;
    will-change: transform; /* Optimización para GPU */
    backface-visibility: hidden; 
}

.hover-lift:hover {
    transform: translateY(-8px) translateZ(0) !important;
    box-shadow: var(--shadow-hover) !important;
}

/* IMPORTANTE: overflow: hidden para que la línea morada respete los bordes */
.border-soft { 
    border-radius: 12px !important; 
    overflow: hidden !important; 
}

.border-pill { 
    border-radius: 50px !important; 
    overflow: hidden !important;
}

/* ============================================================
   LÍNEA FLOTANTE (Corregida para Esquinas Redondeadas)
   ============================================================ */
.top-line-hover {
    position: relative;
    z-index: 1; /* Contexto de apilamiento */
}

.top-line-hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-grad), var(--secondary-grad));
    transform: scaleX(0);
    transform-origin: left; /* Nace desde la izquierda */
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 10;
    pointer-events: none;
}

.top-line-hover:hover::before {
    transform: scaleX(1);
}

/* ============================================================
   COMPONENTES: STICKY HEADER (Efecto Cápsula Flotante)
   ============================================================ */

/* Estado inicial */
#header-bar .header-internal {
    transition: var(--transition-smooth), margin 0.4s ease, border-radius 0.4s ease;
}

/* Cuando Elementor activa el Sticky */
#header-bar.elementor-sticky--effects .header-internal {
    background: var(--sticky-bg) !important;
    backdrop-filter: blur(var(--sticky-blur));
    -webkit-backdrop-filter: blur(var(--sticky-blur));
    margin-top: 15px; 
    border-radius: 100px;
    border: 1px solid var(--sticky-border);
    padding: 10px 40px !important;
    max-width: 95%;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* Color de texto en modo sticky */
#header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a {
    color: #ffffff !important;
}

/* ============================================================
   BOTONES Y FORMULARIOS
   ============================================================ */
.btn-gradient .elementor-button {
    background: linear-gradient(90deg, var(--primary-grad), var(--secondary-grad)) !important;
    color: #fff !important;
    border: none !important;
    transition: var(--transition-smooth) !important;
}

.btn-gradient .elementor-button:hover {
    filter: brightness(1.15);
    transform: scale(1.03);
}
/* ============================================================
   BOTÓN GHOST (Transparente con Borde)
   ============================================================ */
.btn-ghost .elementor-button {
    background: transparent !important;
    color: var(--primary-grad) !important; 
    border: 2px solid var(--primary-grad) !important; 
    transition: var(--transition-smooth) !important;
}

.btn-ghost .elementor-button:hover {
    background: var(--primary-grad) !important;
    color: #ffffff !important;
    transform: scale(1.03); /* Efecto de escala coherente con el gradient */
    border-color: var(--primary-grad) !important;
}
/* ============================================================
   FORMULARIOS
   ============================================================ */
.form-clean .elementor-field-group input, 
.form-clean .elementor-field-group textarea {
    background-color: #ffffff !important;
    border: 1px solid #e1e4e8 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    transition: border-color 0.3s ease;
}

.form-clean .elementor-field-group input:focus {
    border-color: var(--primary-grad) !important;
    outline: none;
}

/* ============================================================
   RESPONSIVE MODIFICATIONS
   ============================================================ */
@media (max-width: 767px) {
    #header-bar.elementor-sticky--effects .header-internal {
        margin-top: 5px;
        max-width: 98%;
        padding: 5px 20px !important;
    }

    .hover-lift:hover {
        transform: none !important; /* Desactiva el lift en móvil para evitar saltos táctiles */
    }
}/* End custom CSS */