.elementor-14 .elementor-element.elementor-element-faf1bcc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-34a0d8d{width:100%;max-width:100%;}.elementor-14 .elementor-element.elementor-element-aade13d{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;}.elementor-14 .elementor-element.elementor-element-aade13d.elementor-element{--align-self:center;}.elementor-14 .elementor-element.elementor-element-7a31b22{width:100%;max-width:100%;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-14 .elementor-element.elementor-element-aade13d{--container-widget-width:80%;--container-widget-flex-grow:0;width:var( --container-widget-width, 80% );max-width:80%;}}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-faf1bcc{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-34a0d8d{width:100%;max-width:100%;}.elementor-14 .elementor-element.elementor-element-aade13d{--container-widget-width:95%;--container-widget-flex-grow:0;width:var( --container-widget-width, 95% );max-width:95%;}.elementor-14 .elementor-element.elementor-element-7a31b22{width:100%;max-width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-aade13d */.elementor-widget-shortcode{
    margin: auto !important;
}

/* --- ESTILO GENERAL DEL FORMULARIO (AHORA COMO TARJETA DE CRISTAL) --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gform_wrapper {
    /* Estilos de la tarjeta */
    background: rgba(185, 171, 251, 0.08);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 2.5rem; /* Espaciado interno */
    overflow: hidden;

    /* Variables de color y fuente */
    --color-acento: #B9ABFB;
    --color-texto-secundario: rgba(235, 235, 245, 0.8);
    --color-borde-interno: rgba(255, 255, 255, 0.25);
    --color-error: #ff5c5c;
    font-family: "Figtree", sans-serif;
}

/* --- LAYOUT DE CAMPOS --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gform_fields {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 1.5rem;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gfield {
    padding: 0;
    margin: 0;
    border: none;
    flex-grow: 1;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gfield--width-full { flex-basis: 100%; }
.elementor-14 .elementor-element.elementor-element-aade13d .gfield--width-half { flex-basis: calc(50% - 0.75rem); }

/* --- ETIQUETAS (LABELS) --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gfield_label {
    color: #FFFFFF; /* Cambiado a blanco */
    font-size: 1.1rem; /* Aumentado el tamaño */
    font-weight: 600; /* Puesto en negrita (semibold) */
    margin-bottom: 0.75rem; /* Un poco más de espacio */
    display: block;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gfield_required {
    color: var(--color-acento);
    opacity: 0.7;
    margin-left: 4px;
}

/* --- ESTILO DE INPUTS Y TEXTAREAS --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gform_body input[type="text"],
.elementor-14 .elementor-element.elementor-element-aade13d .gform_body input[type="email"], .elementor-14 .elementor-element.elementor-element-aade13d .gform_body textarea {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--color-borde-interno);
    border-radius: 8px;
    padding: 1rem;
    color: #FFFFFF;
    width: 100%;
    font-size: 1rem;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gform_body input[type="text"]:focus,
.elementor-14 .elementor-element.elementor-element-aade13d .gform_body input[type="email"]:focus, .elementor-14 .elementor-element.elementor-element-aade13d .gform_body textarea:focus {
    outline: none;
    border-color: var(--color-acento);
    box-shadow: 0 0 15px rgba(185, 171, 251, 0.2);
}
.elementor-14 .elementor-element.elementor-element-aade13d .gform_body ::placeholder { color: rgba(255, 255, 255, 0.4); }

/* --- CAMPO DE SUBIR ARCHIVOS --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gpfup__droparea {
    background: rgba(0, 0, 0, 0.2);
    border: 2px dashed var(--color-borde-interno);
    border-radius: 8px;
    padding: 2rem;
    color: var(--color-texto-secundario);
    transition: border-color 0.3s ease;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gpfup__droparea:hover { border-color: var(--color-acento); }
.elementor-14 .elementor-element.elementor-element-aade13d .gpfup__select-files {
    background: none;
    color: var(--color-acento);
    text-decoration: underline;
    font-weight: 700;
    border: none;
    cursor: pointer;
    font-size: 1rem;
}

/* --- CHECKBOX DE CONSENTIMIENTO --- */
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent { display: flex; align-items: center; }
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent input[type="checkbox"] { display: none; }
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    color: var(--color-texto-secundario);
    font-size: 0.9rem;
}
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--color-borde-interno);
    border-radius: 4px;
    transition: all 0.3s ease;
}
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent input[type="checkbox"]:checked + label::before {
    background: var(--color-acento);
    border-color: var(--color-acento);
}
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_consent input[type="checkbox"]:checked + label::after {
    content: '✓';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #000;
    font-weight: bold;
}

/* --- CAMPO DE PRECIO --- */
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_product_price_wrapper {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--color-borde-interno);
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/* La etiqueta de precio ahora hereda el estilo de .gfield_label */
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_product_price_label, .elementor-14 .elementor-element.elementor-element-aade13d #field_1_11 > .gfield_label {
    font-size: 1.1rem !important;
    font-weight: 600;
    color: white;
}
.elementor-14 .elementor-element.elementor-element-aade13d .ginput_product_price {
    background: none !important;
    border: none !important;
    color: #FFF !important;
    font-size: 1.2rem !important;
    font-weight: bold !important;
    padding: 0 !important;
    text-align: left;
    margin-left: 0.5rem;
}

/* --- CAMPO DE TARJETA DE CRÉDITO (STRIPE) --- */
.elementor-14 .elementor-element.elementor-element-aade13d .StripeElement {
    padding: 1rem;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--color-borde-interno);
    border-radius: 8px;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gform_button_select_files{
    background-color: var(--color-acento) !important;
    color: #000000 !important;
    padding: 1rem 2.5rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gform_button_select_files:hover{
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(185, 171, 251, 0.2) !important;
    color: white !important;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gform_fileupload_rules{
    color: white !important;
}

/* --- BOTÓN DE ENVIAR (SUBMIT) --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gform_button{
    background-color: var(--color-acento) !important;
    color: #000000 !important;
    padding: 1rem 2.5rem !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 2rem !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gform_button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(185, 171, 251, 0.2) !important;
    color: white !important;
}

/* --- MENSAJES DE ERROR/VALIDACIÓN --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gfield_validation_message {
    color: var(--color-error);
    font-size: 0.85rem;
    margin-top: 0.5rem;
}
.elementor-14 .elementor-element.elementor-element-aade13d .gfield--error .gfield_label { color: var(--color-error); }
.elementor-14 .elementor-element.elementor-element-aade13d .gfield--error input[type="text"],
.elementor-14 .elementor-element.elementor-element-aade13d .gfield--error input[type="email"] { border-color: var(--color-error); }

/* --- OCULTAR TÍTULOS INNECESARIOS --- */
.elementor-14 .elementor-element.elementor-element-aade13d .gform_heading{
    display: none;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gform_confirmation_message{
    color: white !important;
}

.elementor-14 .elementor-element.elementor-element-aade13d .ginput_container_radio .gfield_radio .gform-field-label{
    color: white !important;
    font-weight: 600 !important;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gfield_description{
    color: white !important;
}

.elementor-14 .elementor-element.elementor-element-aade13d .gform-field-label a{
    color: white !important;
    text-decoration: underline !important;
}/* End custom CSS */
/* Start custom CSS *//* --- FONDO MULTICAPA ESPECTACULAR (VERSIÓN FINAL AJUSTADA) --- */

/* CONTENEDOR PRINCIPAL DE EFECTOS */
/* Esta es la capa del gradiente base y posiciona todo el efecto */
#efecto-ruido {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1; /* Lo pone todo detrás del contenido de la web */
    overflow: hidden;

    /* CAPA 1: GRADIENTE DE BASE */
    background: linear-gradient(-45deg, #000000, #1e1b4b, #4c1d95, #8b5cf6);
    background-size: 400% 400%;
    animation: flujo-gradiente 25s ease infinite;
}

/* CAPA 2: NEBULOSA (AHORA MUCHO MÁS VISIBLE) */
#efecto-ruido::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* --- CAMBIOS CLAVE PARA LA NEBULOSA --- */
    mix-blend-mode: overlay; /* Modo de fusión más intenso */
    opacity: 0.8; /* Control de intensidad general */
    
    /* Nubes de luz más grandes y opacas */
    background-image: 
        radial-gradient(circle at 20% 30%, rgb(185, 171, 251) 0%, transparent 10%),
        radial-gradient(circle at 80% 70%, rgb(185, 171, 251) 0%, transparent 15%);
    
    background-size: 150% 150%; /* Hacemos el tamaño base más grande */
    animation: movimiento-nebulosa 30s linear infinite alternate;
}

/* CAPA 3: GRANO DE PELÍCULA (AHORA VISIBLE) */
#efecto-ruido::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    pointer-events: none;
    
    /* --- CAMBIO CLAVE PARA EL RUIDO --- */
    /* La opacidad del ruido se ha aumentado a 0.12 dentro del SVG */
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MCA1MCI+PGZpbHRlciBpZD0iZSI+PGZlVHVyYnVsZW5jZSBiYXNlRnJlcXVlbmN5PSIuOCIgbnVtT2N0YXZlcz0iMyIgc3RpdGNoVGlsZXM9InN0aXRjaCIvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPSI1MCIgaGVpZHRoPSI1MCIgZmlsbD0iI2ZmZiIgZmlsdGVyPSJ1cmwoI2UpIiBvcGFjaXR5PSIwLjEiLz48L3N2Zz4=');
    
    animation: animacion-ruido 0.2s steps(2, end) infinite;
}


/* --- ANIMACIONES --- */
@keyframes flujo-gradiente {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes movimiento-nebulosa {
    from { background-position: 0% 0%; }
    to { background-position: 100% 100%; }
}

@keyframes animacion-ruido {
    0% { transform: translate(0, 0); }
    10% { transform: translate(-2%, -5%); }
    20% { transform: translate(3%, 2%); }
    30% { transform: translate(1%, -3%); }
    40% { transform: translate(-4%, 4%); }
    50% { transform: translate(5%, 1%); }
    60% { transform: translate(-1%, -4%); }
    70% { transform: translate(2%, 3%); }
    80% { transform: translate(-3%, -1%); }
    90% { transform: translate(4%, -2%); }
    100% { transform: translate(0, 0); }
}/* End custom CSS */