.elementor-9046 .elementor-element.elementor-element-74e7363{--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:50px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gf_progressbar_wrapper .gf_progressbar .gf_progressbar_percentage{display:flex;justify-content:end;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gfield.gsection{border-bottom-style:solid;border-bottom-width:1px;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_wrapper .gf_scroll_text{width:100%;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_footer input[type="submit"]{width:100px !important;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_body .gform_page_footer input[type="submit"]{width:100px !important;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_body input[type="submit"].gform-button{width:100px !important;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_body .gform_page_footer input[type="button"]{width:100px;}html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .eael-gravity-form .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), html body .elementor-9046 .elementor-element.elementor-element-0b1d267 .gform_wrapper li.gfield_error textarea{border-width:1px;}@media(max-width:767px){.elementor-9046 .elementor-element.elementor-element-74e7363{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for eael-gravity-form, class: .elementor-element-0b1d267 *//* ========================================= */
/* 1. WHITE BACKGROUND                       */
/* ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol&display=swap');

.gform_wrapper {
    font-family: 'Montserrat', sans-serif !important;
    width: 100% !important;
}

.gform_wrapper .gform_body {
    background-color: #FAFAFA !important; 
    width: 100% !important; 
    max-width: 1843px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important; 
    min-height: 541px !important; 
    border-radius: 0 0 10px 10px !important;
    box-sizing: border-box !important;
}

/* ========================================= */
/* 1.5 MASTER CONTAINER (1104px & 1183px)    */
/* ========================================= */
.gform_wrapper .gform_fields,
.gform_wrapper .gform_page_footer,
.gform_wrapper .gform_footer,
.gform_wrapper .form-title-container {
    width: 1104px !important;
    max-width: 100% !important;
    margin: 0 auto !important; 
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Wide containers for Step 3 */
#gform_fields_4_3,
#gform_page_4_3 .gform_page_footer,
#field_4_15 .form-title-container {
    width: 1183px !important;
}

/* ========================================= */
/* 2. STEPS / TABS (WIDTH 1533px, RADIUS 10px) */
/* ========================================= */
.gform_wrapper .gf_page_steps, 
.gform_wrapper .gf_progressbar_wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 1533px !important; 
    max-width: 100% !important;
    margin: 0 auto !important; 
    gap: 6px !important; 
    padding: 0 !important;
}

.gform_wrapper .gf_step {
    flex: 1 !important; 
    height: 67px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #FAFAFA !important; 
    color: #a0aec0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    border-radius: 10px 10px 0 0 !important; 
    border-bottom: 3px solid #D5E1E7 !important; 
    margin: 0 !important;
}

.gform_wrapper .gf_step_number {
    display: none !important;
}

.gform_wrapper .gf_step.gf_step_active {
    color: #007BC3 !important;
    border-bottom: 3px solid #007BC3 !important; 
}

/* ========================================= */
/* 3. FIELD INPUT STYLING                    */
/* ========================================= */
.gform_wrapper .gform_body input[type="text"], 
.gform_wrapper .gform_body input[type="email"], 
.gform_wrapper .gform_body input[type="tel"] {
    background-color: #ffffff !important; 
    border: 1px solid #d2d6dc !important;
    border-radius: 6px !important;
    height: 51px !important; 
    padding: 10px 15px !important;
    box-shadow: none !important;
    color: #333 !important;
    width: 100% !important;
    padding-right: 45px !important; 
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important; 
}

.gform_wrapper .gform_body input:-webkit-autofill,
.gform_wrapper .gform_body input:-webkit-autofill:hover, 
.gform_wrapper .gform_body input:-webkit-autofill:focus, 
.gform_wrapper .gform_body input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important; 
    -webkit-text-fill-color: #333 !important; 
    transition: background-color 5000s ease-in-out 0s !important;
}

/* PLACEHOLDER FONT WEIGHT LOWERED TO MEDIUM (500) */
.gform_wrapper ::placeholder,
.gform_wrapper :-ms-input-placeholder,
.gform_wrapper ::-ms-input-placeholder,
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #363435 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important; /* Lowered weight from bold/600 to medium (500) */
    font-size: 16px !important;
    line-height: 18px !important;
    opacity: 1 !important; 
}

.gform_wrapper .gfield_label, 
.gform_wrapper .ginput_complex label {
    font-weight: 600 !important;
    color: #4a5568 !important;
    margin-bottom: 8px !important;
    margin-top: 5px !important;
    display: inline-block !important;
}

.gform_wrapper .ginput_complex.ginput_container_name {
    display: flex !important;
    gap: 15px !important;
    width: 100% !important;
}
.gform_wrapper .ginput_complex.ginput_container_name span {
    flex: 1 !important;
    width: 100% !important;
}

/* ========================================= */
/* 4. AUTOCOMPLETE INVIOLABLE ICONS          */
/* ========================================= */
.gform_wrapper .ginput_container_name span,
.gform_wrapper .ginput_container_phone,
.gform_wrapper .ginput_container_email {
    position: relative !important;
    display: block !important;
}

.gform_wrapper .ginput_container_name span::after,
.gform_wrapper .ginput_container_phone::after,
.gform_wrapper .ginput_container_email::after {
    content: "" !important;
    position: absolute !important;
    right: 15px !important;
    top: 15px !important; 
    width: 20px !important;
    height: 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none !important; 
    z-index: 10 !important;
}

.gform_wrapper .ginput_container_name span::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BC3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

.gform_wrapper .ginput_container_phone::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BC3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}

.gform_wrapper .ginput_container_email::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BC3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94'/%3E%3C/svg%3E") !important;
}

/* ========================================= */
/* 5. BUTTON STYLING AND ALIGNMENT           */
/* ========================================= */
.gform_wrapper .gform_page_footer,
.gform_wrapper .gform_footer {
    display: flex !important;
    justify-content: space-between !important; 
    padding-top: 20px !important;
}

.gform_wrapper input[type="button"],
.gform_wrapper input[type="submit"],
.gform_wrapper button.gform_button,
.gform_wrapper button.gform_next_button {
    background-color: #007BC3 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 2px !important;
    min-width: 216px !important;      
    width: auto !important; 
    padding: 0 25px !important;        
    height: 36px !important;      
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;   
    line-height: 36px !important; 
    font-weight: bold !important;
    text-transform: uppercase !important; 
    letter-spacing: 4px !important; 
    cursor: pointer !important;
    margin-top: 15px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.gform_wrapper input[type="button"]:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button.gform_button:hover {
    background-color: #005f96 !important;
}

/* ========================================= */
/* 6. TAB 2 & 3: ICONS AND PREVIOUS BUTTON   */
/* ========================================= */
.gform_wrapper .icono-direccion, 
.gform_wrapper .icono-zip {
    grid-column: span 6 !important; 
}

.gform_wrapper .icono-direccion .ginput_container, 
.gform_wrapper .icono-zip .ginput_container {
    position: relative !important;
    display: block !important;
}

.gform_wrapper .icono-direccion .ginput_container::after,
.gform_wrapper .icono-zip .ginput_container::after {
    content: "" !important;
    position: absolute !important;
    right: 15px !important;
    top: 15px !important; 
    width: 20px !important;
    height: 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    pointer-events: none !important; 
    z-index: 10 !important;
}

.gform_wrapper .icono-direccion .ginput_container::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BC3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") !important;
}

.gform_wrapper .icono-zip .ginput_container::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007BC3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
}

.gform_wrapper .gform_next_button,
.gform_wrapper button.gform_button {
    margin-left: auto !important;
}

/* PREVIOUS BUTTON (Applies to Tabs 2 and 3) */
.gform_wrapper input[type="button"].gform_previous_button,
.gform_wrapper button.gform_previous_button {
    background-color: transparent !important;
    color: #7E7E7E !important; 
    border: none !important;
    width: auto !important;
    min-width: auto !important;
    height: auto !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important; 
    line-height: 45px !important; 
    font-weight: normal !important; 
    text-transform: capitalize !important; 
    cursor: pointer !important;
    margin-top: 15px !important;
    padding: 0 !important;
}

.gform_wrapper input[type="button"].gform_previous_button:hover,
.gform_wrapper button.gform_previous_button:hover {
    color: #007BC3 !important; 
    background-color: transparent !important;
}

/* ========================================= */
/* 7. TITLE & SUBTITLE STYLING               */
/* ========================================= */
.gform_wrapper .form-title-container {
    display: block !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}

.gform_wrapper .form-subtitle {
    color: #9BAEB5 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 45px !important;
    text-transform: capitalize !important;
    margin: 0 0 10px 0 !important; 
}

.gform_wrapper .form-title {
    color: #162024 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 26px !important;
    font-weight: 300 !important; 
    line-height: 45px !important;
    text-transform: capitalize !important;
    margin: 0 0 30px 0 !important;
}

/* ========================================= */
/* 8. MOBILE RESPONSIVE ADAPTATION (<768PX)  */
/* ========================================= */
@media only screen and (max-width: 768px) {
    /* General container adjustments */
    .gform_wrapper .gform_body {
        padding: 30px 15px !important;
        min-height: auto !important;
    }

    .gform_wrapper .gform_fields,
    .gform_wrapper .gform_page_footer,
    .gform_wrapper .gform_footer,
    .gform_wrapper .form-title-container,
    #gform_fields_4_3,
    #gform_page_4_3 .gform_page_footer,
    #field_4_15 .form-title-container {
        width: 100% !important;
    }

    /* Top steps/tabs aligned horizontally on mobile */
    html body .gform_wrapper .gf_page_steps, 
    html body .gform_wrapper .gf_progressbar_wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        gap: 6px !important;
        padding: 0 !important;
        margin: 0 auto 20px auto !important;
        justify-content: space-between !important;
    }

    html body .gform_wrapper .gf_step {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 1 1 0% !important;
        width: auto !important;
        height: auto !important;
        min-height: 50px !important;
        padding: 5px 6px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        border-radius: 6px 6px 0 0 !important;
        border-bottom: 3px solid #D5E1E7 !important;
        text-align: center !important;
        float: none !important;
        clear: none !important;
        box-sizing: border-box !important;
    }

    html body .gform_wrapper .gf_step.gf_step_active {
        border-bottom: 3px solid #007BC3 !important; 
    }

    /* MOBILE FIELD TYPOGRAPHY LOWERED TO MEDIUM (500) */
    .gform_wrapper .gform_body input[type="text"], 
    .gform_wrapper .gform_body input[type="email"], 
    .gform_wrapper .gform_body input[type="tel"],
    .gform_wrapper .gfield_label, 
    .gform_wrapper .ginput_complex label,
    .gform_wrapper ::placeholder,
    .gform_wrapper :-ms-input-placeholder,
    .gform_wrapper ::-ms-input-placeholder,
    .gform_wrapper input::placeholder,
    .gform_wrapper textarea::placeholder {
        font-weight: 500 !important; /* Medium weight (500) on mobile */
    }

    /* Section titles and subtitles reduced by 3px */
    .gform_wrapper .form-title {
        font-size: 23px !important; 
        line-height: 34px !important;
        margin-bottom: 20px !important;
    }

    .gform_wrapper .form-subtitle {
        font-size: 13px !important; 
        line-height: 24px !important;
    }

    /* Stacked fields (Step 1 and 2) */
    .gform_wrapper .ginput_complex.ginput_container_name {
        flex-direction: column !important;
        gap: 15px !important;
    }

    /* Column adjustment for address and zip icon grid */
    .gform_wrapper .icono-direccion, 
    .gform_wrapper .icono-zip {
        grid-column: span 12 !important;
        width: 100% !important;
    }

    /* Step 3: Responsive card grid */
    html body #input_4_16 {
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        gap: 15px 12px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #input_4_16 .gchoice {
        width: calc(50% - 6px) !important;
        min-width: 0 !important;
        max-width: calc(50% - 6px) !important;
        flex: 0 0 calc(50% - 6px) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #input_4_16 .gchoice label {
        width: 100% !important;
        max-width: 100% !important;
        height: 151px !important;
        box-sizing: border-box !important;
    }

    html body #input_4_16 .gchoice:last-child {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    html body #input_4_16 .gchoice:last-child label {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* MOBILE BUTTONS - 100% FULL WIDTH MATCHING FIELD CARDS */
    .gform_wrapper .gform_page_footer,
    .gform_wrapper .gform_footer {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 15px 0 0 0 !important;
        box-sizing: border-box !important;
    }

    .gform_wrapper input[type="button"],
    .gform_wrapper input[type="submit"],
    .gform_wrapper button.gform_button,
    .gform_wrapper button.gform_next_button,
    .gform_wrapper .gform_next_button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        display: block !important;
        margin: 0 !important;
        letter-spacing: 2px !important; 
        font-size: 13px !important; 
        padding: 0 15px !important; 
        box-sizing: border-box !important;
    }

    .gform_wrapper input[type="button"].gform_previous_button,
    .gform_wrapper button.gform_previous_button {
        margin: 10px auto 0 auto !important;
        text-align: center !important;
        line-height: 30px !important;
        width: auto !important;
        min-width: auto !important;
    }
}/* End custom CSS */