.elementor-18695 .elementor-element.elementor-element-806fb40 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-18695 .elementor-element.elementor-element-b4b8c20:not(.elementor-motion-effects-element-type-background), .elementor-18695 .elementor-element.elementor-element-b4b8c20 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18695 .elementor-element.elementor-element-b4b8c20 > .elementor-container{max-width:1260px;}.elementor-18695 .elementor-element.elementor-element-b4b8c20{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:04% 0% 4% 0%;}.elementor-18695 .elementor-element.elementor-element-b4b8c20 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated, .elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated > .elementor-background-overlay, .elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-background-slideshow{border-radius:0px 0px 0px 0px;}.elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0% 0% 0% 0%;--e-column-margin-right:0%;--e-column-margin-left:0%;padding:2% 11% 2% 11%;}.elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18695 .elementor-element.elementor-element-c7866c6 > .elementor-widget-container{background-color:#0072E5;padding:10px 10px 10px 10px;border-radius:18px 18px 18px 18px;box-shadow:0px 0px 10px 0px rgba(255, 253.16372282608694, 253.16372282608694, 0.5);}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group > label, .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-subgroup label{color:#000000;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-mark-required .elementor-field-label:after{color:#E20303;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group > label{font-family:"Arial", Sans-serif;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-type-html{padding-bottom:10px;font-family:"Arial", Sans-serif;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group .elementor-field{color:#000000;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group .elementor-field, .elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-subgroup label{font-family:"Arial", Sans-serif;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-button{font-family:"Arial", Sans-serif;border-radius:18px 18px 18px 18px;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .e-form__buttons__wrapper__button-next{background-color:#FFFFFF;color:#0072E5;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-button[type="submit"]{background-color:#FFFFFF;color:#0072E5;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-button[type="submit"] svg *{fill:#0072E5;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .e-form__buttons__wrapper__button-previous{background-color:#FFFFFF;color:#0072E5;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-message{font-family:"Arial", Sans-serif;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-message.elementor-message-success{color:#20E720;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-message.elementor-message-danger{color:#D81E1E;}.elementor-18695 .elementor-element.elementor-element-c7866c6 .elementor-message.elementor-help-inline{color:var( --e-global-color-accent );}.elementor-18695 .elementor-element.elementor-element-c7866c6 .e-form__indicators__indicator, .elementor-18695 .elementor-element.elementor-element-c7866c6 .e-form__indicators__indicator__label{font-family:"Arial", Sans-serif;}.elementor-18695 .elementor-element.elementor-element-c7866c6{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:#FFFFFF;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-primary-color:#000000;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-18695 .elementor-element.elementor-element-65db9fe > .elementor-element-populated{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-18695 .elementor-element.elementor-element-b4b8c20{margin-top:0px;margin-bottom:0px;padding:8% 0% 8% 0%;}.elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:20px 015px 020px 15px;}}@media(max-width:767px){.elementor-18695 .elementor-element.elementor-element-b4b8c20{margin-top:0%;margin-bottom:0%;padding:5% 0% 5% 0%;}.elementor-18695 .elementor-element.elementor-element-90daa92 > .elementor-element-populated{padding:4rem 1rem 04rem 1rem;}.elementor-18695 .elementor-element.elementor-element-c7866c6 > .elementor-widget-container{padding:10px 5px 10px 5px;}}/* Start custom CSS for html, class: .elementor-element-034725e *//* ==========================================================================
   CSS PARA PÁGINA DE PRESUPUESTO (SIN ESTILOS DE FORMULARIO)
   ========================================================================== */

/* --- 1. GLOBALES Y HERO (Base de la plantilla) --- */
:root {
    --bp-primary-color: #0072E5;
    --bp-text-color: #212529;
    --bp-secondary-text-color: #54595F;
    --bp-bg-color: #ffffff;
    --bp-light-gray-bg: #f8f9fa;
    --bp-border-color: #dee2e6;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
.bp-body { font-family: Arial, sans-serif; color: var(--bp-text-color); line-height: 1.7; background-color: var(--bp-bg-color); }
.bp-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.bp-section { padding: 5rem 0; }
.bp-section-header { text-align: center; margin-bottom: 3rem; max-width: 800px; margin-left: auto; margin-right: auto; }
.bp-section-header h2 { font-size: 2.5rem; }
.bp-button { 
    display: inline-block; 
    padding: 12px 25px; 
    background-color: var(--bp-primary-color); 
    color: #ffffff !important; 
    border: 2px solid var(--bp-primary-color); 
    border-radius: 50px; 
    transition: all 0.3s ease; 
    font-weight: 500;
    font-family: Arial!important;
}
.bp-button:hover { 
    background-color: #ffffff; 
    color: var(--bp-primary-color) !important; 
    transform: translateY(-3px); 
}
.dwa-hero { text-align: center; padding: 6rem 2rem; position: relative; overflow: hidden; background-color: var(--bp-light-gray-bg)!important; }
.dwa-hero-img-bg { position: absolute; top: 0; left: 0; width: 100%!important; height: 100%!important; object-fit: cover; opacity: 0.1; z-index: 0; }
.dwa-hero-content { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.dwa-hero .dwa-title { font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem;
}
.dwa-hero .dwa-subtitle { font-size: 1.1rem; }

/* ==========================================================================
   NUEVO DISEÑO PARA LA INTRODUCCIÓN DEL FORMULARIO
   ========================================================================== */

/* --- Contenedor de la sección del formulario --- */
#formulario-presupuesto .bp-container {
    max-width: 900px; /* Mantenemos el ancho controlado */
}

/* --- La Nueva Tarjeta de Introducción --- */
.bp-form-intro-card {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    background-color: #f8f9fa; /* Fondo gris claro */
    border: 1px solid #dee2e6;
    border-radius: 16px;
    padding: 2.5rem 3rem;
    margin-bottom: 0.1rem; /* Espacio hasta el formulario */
    text-align: left;
}

/* --- El Icono a la Izquierda --- */
.bp-form-intro-icon {
    flex-shrink: 0; /* Evita que el icono se encoja */
}
.bp-form-intro-icon i {
    font-size: 3.5rem;
    color: #0072E5; /* Color corporativo */
    background: linear-gradient(135deg, rgba(0, 114, 229, 0.1), rgba(0, 114, 229, 0.05));
    width: 90px;
    height: 90px;
    line-height: 90px; /* Centra el icono verticalmente */
    text-align: center;
    border-radius: 50%;
}

/* --- El Texto a la Derecha --- */
.bp-form-intro-text h2 {
    font-size: 2.2rem;
    color: #212529;
    margin-bottom: 0.75rem;
    text-align: left; /* Aseguramos alineación */
}
.bp-form-intro-text p {
    font-size: 1.1rem;
    color: #54595F;
    margin: 0;
    line-height: 1.8;
}


/* --- RESPONSIVE --- */
@media (max-width: 767px) {
    .bp-form-intro-card {
        flex-direction: column; /* Apilamos icono y texto en móvil */
        text-align: center;
        gap: 1.5rem;
        padding: 2rem;
    }

    .bp-form-intro-text h2 {
        text-align: center;
        font-size: 1.8rem;
    }
}



/* --- ¡¡¡NUEVA SECCIÓN DE PROCESO!!! --- */

.budget-process-section {
    background-color: #f8f9fa; /* Mantenemos el fondo gris claro */
}

.budget-process-section .bp-section-header {
    margin-bottom: 4rem;
}
.budget-process-section .bp-section-header h2 {
    font-size: 2.5rem;
}

.bp-process-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    max-width: 1100px; /* Un poco más de ancho para que respiren */
    margin: 0 auto;
}

/* --- ¡¡¡AQUÍ ESTÁ LA MAGIA!!! --- */
.bp-process-step {
    /* El nuevo estilo de "cajita" */
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 16px;
    padding: 2.5rem 2rem;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}
.bp-process-step:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 114, 229, 0.1);
    border-color: rgba(0, 114, 229, 0.3);
}

.bp-process-icon {
    font-size: 2.5rem;
    color: #0072E5; /* Mantenemos el color corporativo */
    margin-bottom: 1.5rem;
}

.bp-process-step h3 {
    font-size: 1.3rem; /* Un pelín más pequeño para que quepa bien */
    color: #212529;   /* Color de texto principal */
    margin-bottom: 0.75rem;
}

.bp-process-step p {
    font-size: 0.95rem;
    color: #54595F;
    line-height: 1.6;
    margin: 0;
}


@media (max-width: 767px) {
    .bp-process-grid {
        grid-template-columns: 1fr;
    }

}

/* --- 3. CTA FINAL (Reutilizamos el estilo de la pág. de contacto) --- */
.bp-cta-section-simple {
    background-color: var(--bp-light-gray-bg);
    text-align: center;
    padding: 5rem 0;
}
.bp-cta-section-simple .bp-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 3rem;
    text-align: center; 
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.07);
}
.bp-cta-section-simple h2 { font-size: 2.2rem; margin-bottom: 2rem; font-family: Arial;}
.bp-cta-section-simple p { font-size: 1rem; max-width: 600px; margin: 0 auto 1.5rem auto; font-family: Arial;  }

/* --- 4. RESPONSIVE --- */

@media (max-width: 1024px) {     .form-container { 
        padding: 2.5rem;
        
        width: calc(100% - 2rem); 
        margin-left: auto;  /* Centrado automático */
        margin-right: auto; /* Centrado automático */
        margin-top: 1rem;   /* Ajustamos el solapamiento para tablet */
        padding-bottom: 1rem;
        box-sizing: border-box; /* Para que el padding no sume al ancho */
    }
     
    .bp-cta-section-simple {
        padding: 5rem 1rem; /* Mantenemos el padding de la sección */
    }
    .bp-cta-section-simple .bp-container {
        padding: 2.5rem;
        
        
        width: calc(100% - 0.1rem); 
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box; 
    }
    .bp-cta-section-simple h2 {
        font-size: 2.1rem;
    }
    .dwa-title { font-size: 2.5rem!important; }
    .bp-section-header h2 { font-size: 2.1rem; }
    
}



@media (max-width: 767px) {
    .dwa-hero .dwa-title { font-size: 2.2rem!important; }
    
   
}/* End custom CSS */