.elementor-2058 .elementor-element.elementor-element-e33ff50{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-2058 .elementor-element.elementor-element-c77db90 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:clamp(1.9375rem, 1.4973rem + 1.9565vw, 3.0625rem);font-weight:800;text-transform:none;line-height:1.15em;letter-spacing:-1px;color:var( --e-global-color-107c14d );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2058 .elementor-element.elementor-element-f2a58db p{margin-block-end:0px;}.elementor-2058 .elementor-element.elementor-element-459e4da{--display:flex;border-style:groove;--border-style:groove;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--border-radius:15px 15px 15px 15px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2058 .elementor-element.elementor-element-137a78e{margin:-30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}#elementor-popup-modal-2058 .dialog-widget-content{animation-duration:0.5s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-2058{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-2058 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-2058 .dialog-close-button{display:flex;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}/* Start custom CSS *//* --- 1. Contenedor Principal y Grid General --- */
#gform_3 .gform_body {
    max-width: 100%;
    margin: 0 auto;
    padding: 10px;
    box-sizing: border-box;
}

/* Cambio a flex-wrap para permitir campos de mitad de ancho */
#gform_3 .gform_fields {
    display: flex;
    flex-wrap: wrap; 
    gap: 15px 12px !important; /* Separación vertical y horizontal */
}

#gform_3 .gfield {
    margin-bottom: 0 !important;
    box-sizing: border-box;
}

/* Forzar ancho completo por defecto, excepto en los campos definidos como mitad */
#gform_3 .gfield:not(.gfield--width-half) {
    width: 100% !important;
}

/* Campos de 50% (Email, Teléfono, Términos, Captcha) */
#gform_3 .gfield.gfield--width-half {
    width: calc(50% - 6px) !important; /* 50% menos la mitad del gap */
}

/* Ajuste de etiquetas, subtítulos y descripciones */
#gform_3 .gsection_title {
    margin-bottom: 10px !important;
    font-size: 18px;
    color: #333;
}

#gform_3 .gfield_label {
    margin-bottom: 4px !important;
    font-size: 14px;
    font-weight: 600;
    display: block;
}

#gform_3 .gfield_description {
    margin-bottom: 6px !important;
    font-size: 13px;
    color: #666;
}

/* --- 2. Corrección de Campos Complejos (Nombre) --- */
#gform_3 .ginput_complex.gform-grid-row {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
}

#gform_3 .ginput_complex .gform-grid-col {
    width: 100% !important;
    flex: 1 1 100% !important;
    display: block !important;
}

/* --- 3. Optimización de Inputs, Archivos y Términos --- */
#gform_3 .ginput_container input[type="text"],
#gform_3 .ginput_container input[type="email"],
#gform_3 .ginput_container input[type="tel"],
#gform_3 .ginput_container input[type="file"] {
    width: 100% !important;
    box-sizing: border-box;
    padding: 10px 12px !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    font-size: 14px;
    transition: border-color 0.3s ease;
}

/* Ajuste específico para el Checkbox de Términos */
#gform_3 .ginput_container_consent {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 5px;
}

#gform_3 .ginput_container_consent input[type="checkbox"] {
    margin: 0;
    accent-color: #e11f26; /* Hereda el tono rojo corporativo */
    cursor: pointer;
}

#gform_3 .ginput_container_consent label {
    margin: 0 !important;
    font-size: 14px;
    font-weight: normal;
    cursor: pointer;
}

/* --- 4. Estilos del Botón de Enviar --- */
#gform_3 .gform_footer {
    width: 100%;
    margin-top: 10px;
    padding: 0 10px;
    display: flex;
    justify-content: flex-start;
}

#gform_3 .gform_button {
    background-color: #e11f26; /* Color principal basado en el focus */
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#gform_3 .gform_button:hover {
    background-color: #c1181f; /* Tono más oscuro al pasar el cursor */
}

/* --- 5. Efectos Hover/Focus --- */
#gform_3 .ginput_container input[type="text"]:focus,
#gform_3 .ginput_container input[type="email"]:focus,
#gform_3 .ginput_container input[type="tel"]:focus,
#gform_3 .ginput_container input[type="file"]:focus {
    border-color: #e11f26 !important;
    outline: none;
}

/* --- 6. Diseño Responsivo (Media Queries) --- */
@media (max-width: 768px) {
    /* Romper las columnas a ancho completo en tablets y móviles */
    #gform_3 .gfield.gfield--width-half {
        width: 100% !important;
    }
}

@media (max-width: 480px) {
    #gform_3 .gform_fields {
        gap: 10px !important; 
    }
    
    #gform_3 .gfield_label {
        font-size: 13px;
    }
    
    #gform_3 .ginput_container input[type="text"],
    #gform_3 .ginput_container input[type="email"],
    #gform_3 .ginput_container input[type="tel"],
    #gform_3 .ginput_container input[type="file"] {
        padding: 8px 10px !important; 
    }

    #gform_3 .gform_button {
        width: 100%; /* Botón ancho completo en móviles */
    }
}/* End custom CSS */