.elementor-207427 .elementor-element.elementor-element-98f6504{--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-207427 .elementor-element.elementor-element-514aa68{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-207427 .elementor-element.elementor-element-644bbff{--display:flex;}.elementor-207427 .elementor-element.elementor-element-b3dac46{--display:flex;}.elementor-207427 .elementor-element.elementor-element-94ad381{--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;}@media(max-width:767px){.elementor-207427 .elementor-element.elementor-element-514aa68{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}@media(min-width:768px){.elementor-207427 .elementor-element.elementor-element-514aa68{--content-width:1366px;}}/* Start custom CSS for container, class: .elementor-element-b3dac46 */.elementor-207427 .elementor-element.elementor-element-b3dac46{
    border-radius: 5px;
border: 0.667px solid rgba(6, 0, 54, 0.12);
background: #FFF;
box-shadow: 0 2px 6px 0 rgba(6, 0, 54, 0.04), 0 18px 40px 0 rgba(6, 0, 54, 0.08), 0 44px 90px 0 rgba(63, 38, 240, 0.08);
}
.elementor-207427 .elementor-element.elementor-element-b3dac46 p.gform_required_legend{
    display: none !important;
}
.iti__country-list,
.iti--container {
    z-index: 999999 !important;
}
.partial_entry_warning{
    display: none !important;
}
.elementor-207427 .elementor-element.elementor-element-b3dac46 .iti {
    width: 100% !important;
}

/* Fix para la bandera y texto encimado en el campo de teléfono */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .iti input[type="tel"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="tel"] {
    padding-left: 52px !important;
}

.elementor-207427 .elementor-element.elementor-element-b3dac46 .iti__selected-flag {
    padding: 0 0 0 12px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 5px 0 0 5px !important;
}

/* Fix para alinear y equiparar el tamaño de campos complejos (Nombre y Apellido) */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .ginput_complex.ginput_container_name {
    display: flex !important;
    gap: 16px !important;
    width: 100% !important;
}

.elementor-207427 .elementor-element.elementor-element-b3dac46 .ginput_complex.ginput_container_name .gform-grid-col,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .ginput_complex.ginput_container_name span {
    flex: 1 1 0% !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Estilos de las sub-etiquetas (Labels de Nombre/Apellido dentro del campo complejo) */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform-field-label--type-sub {
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #060036 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Estilos del Contenedor Principal (Tarjeta) */
/* CORREGIDO: overflow: visible para no cortar el dropdown de países */
.elementor-207427 .elementor-element.elementor-element-b3dac46 {
    position: relative;
    border-radius: 5px;
    border: 1px solid rgba(6, 0, 54, 0.12);
    background: #FFF;
    box-shadow: 0 30px 70px 0 rgba(6, 0, 54, 0.10);
    padding: 35px 40px;
    overflow: visible !important;
}

/* Espaciado de los campos del formulario */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_fields {
    grid-row-gap: 20px;
    row-gap: 20px;
}

/* Estilos de las etiquetas / Labels principales */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_label {
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #060036 !important;
    margin-bottom: 8px !important;
}

/* Estilos de los Inputs de texto y Selects (Con height: 52px) */
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="text"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="email"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="tel"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="url"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="number"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 input[type="password"],
.elementor-207427 .elementor-element.elementor-element-b3dac46 select {
    height: 52px !important;
    font-size: 16px !important;
    width: 100% !important;
    border-radius: 5px !important;
    border: 1px solid rgba(6, 0, 54, 0.18) !important;
    background: #FFF !important;
    padding: 0 16px;
    box-sizing: border-box !important;
    color: #060036;
}

/* Textarea */
.elementor-207427 .elementor-element.elementor-element-b3dac46 textarea {
    font-size: 16px !important;
    width: 100% !important;
    border-radius: 5px !important;
    border: 1px solid rgba(6, 0, 54, 0.18) !important;
    background: #FFF !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    color: #060036;
}

/* Focus de los campos */
.elementor-207427 .elementor-element.elementor-element-b3dac46 input:focus,
.elementor-207427 .elementor-element.elementor-element-b3dac46 textarea:focus,
.elementor-207427 .elementor-element.elementor-element-b3dac46 select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #6F44FF !important;
}

/* Asterisco de campo obligatorio */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_required_asterisk,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .red-star {
    font-weight: 700;
    color: #c02b0a !important;
}


/* Disposición de las opciones en 2 columnas */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr) !important;
    gap: 12px 16px !important;
    width: 100% !important;
}

/* Formato de la tarjeta individual */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio .gchoice {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    border-radius: 5px !important;
    border: 0.667px solid rgba(6, 0, 54, 0.20) !important;
    background: #FFF !important;
    padding: 10px 16px !important;
    box-sizing: border-box !important;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 !important;
}

/* Hover en tarjeta */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio .gchoice:hover {
    border-color: rgba(6, 0, 54, 0.4) !important;
}

/* Estilo del botón circular del radio */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio input[type="radio"].gfield-choice-input {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 1.5px solid #8e8ba7 !important;
    border-radius: 50% !important;
    outline: none !important;
    margin: 0 12px 0 0 !important;
    cursor: pointer !important;
    background: #FFF !important;
    display: grid !important;
    place-content: center !important;
    padding: 0 !important;
    transition: opacity 0.2s ease, width 0.2s ease, margin 0.2s ease;
}

/* Estado del radio seleccionado */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio input[type="radio"].gfield-choice-input:checked {
    border-color: #6F44FF !important;
}

.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio input[type="radio"].gfield-choice-input:checked::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #6F44FF;
}

/* Estilo del texto del label del radio */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio label.gform-field-label--type-inline {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #060036 !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}


/* Tarjeta activa / checked */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio .gchoice:has(input[type="radio"]:checked) {
    background: #3F26F0 !important;
    border-color: #3F26F0 !important;
    box-shadow: 0 8px 20px rgba(63, 38, 240, 0.3) !important;
}

/* Texto del label a color blanco cuando está marcado */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio .gchoice:has(input[type="radio"]:checked) label.gform-field-label--type-inline {
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

/* CORREGIDO: En vez de display:none se oculta con visibilidad/tamaño para evitar saltos bruscos en el flex layout */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio .gchoice:has(input[type="radio"]:checked) input[type="radio"].gfield-choice-input {
    opacity: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* =========================================================
   BOTONES Y ADAPTABILIDAD
   ========================================================= */

/* Botones de Envío y Botón Siguiente */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_button,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_next_button,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .elementor-button {
   border-radius: 5px !important;
background: #2CD659 !important;
box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.35) inset, 0 6px 14px 0 rgba(30, 201, 80, 0.18), 0 18px 40px 0 rgba(30, 201, 80, 0.16) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    border: none !important;
    border-radius: 5px !important;
    padding: 16px 24px !important;
    font-size: 15px !important;
    cursor: pointer;
    transition: transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s cubic-bezier(.22,.61,.36,1), background .25s cubic-bezier(.22,.61,.36,1), color .25s cubic-bezier(.22,.61,.36,1);
    max-width: 100%;
    color: #000 !important;
}

.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_button:hover,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_next_button:hover,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 40px rgba(44, 214, 89, .42) !important;
}

/* Alineación de los botones a la derecha */
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_footer,
.elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_page_footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
    padding: 0;
}

/* Responsivo para móviles */
@media only screen and (max-width: 600px) {
    .elementor-207427 .elementor-element.elementor-element-b3dac46 {
        padding: 20px;
    }

    .elementor-207427 .elementor-element.elementor-element-b3dac46 .ginput_complex.ginput_container_name {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .elementor-207427 .elementor-element.elementor-element-b3dac46 .gfield_radio {
        grid-template-columns: 1fr !important;
    }

    .elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_footer,
    .elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_page_footer {
        justify-content: center;
    }
    
    .elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_button,
    .elementor-207427 .elementor-element.elementor-element-b3dac46 .gform_next_button,
    .elementor-207427 .elementor-element.elementor-element-b3dac46 .elementor-button {
        width: 100% !important;
    }
}/* End custom CSS */