.elementor-154 .elementor-element.elementor-element-054d658{--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-154 .elementor-element.elementor-element-ed33b4b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--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-154 .elementor-element.elementor-element-ed33b4b:not(.elementor-motion-effects-element-type-background), .elementor-154 .elementor-element.elementor-element-ed33b4b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#4B6B9A;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-154 .elementor-element.elementor-element-c478d9d{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + -3%) 0%;}.elementor-154 .elementor-element.elementor-element-c478d9d .elementor-heading-title{font-family:"Baloo 2", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-154 .elementor-element.elementor-element-2139bd5{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-154 .elementor-element.elementor-element-50b5c61{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;color:#FFFFFF;}.elementor-154 .elementor-element.elementor-element-ea93b58{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:center;color:#FFFFFF;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-154 .elementor-element.elementor-element-329e25f{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 5%) 0%;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group.recaptcha_v3-bottomleft, .elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-154 .elementor-element.elementor-element-329e25f .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-154 .elementor-element.elementor-element-329e25f .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-154 .elementor-element.elementor-element-329e25f .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group > label, .elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-subgroup label{color:#FFFFFF;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-type-html{padding-bottom:0px;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group .elementor-field{color:#FFFFFF;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-button[type="submit"]{color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-154 .elementor-element.elementor-element-329e25f .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}@media(min-width:768px){.elementor-154 .elementor-element.elementor-element-2139bd5{--width:65%;}}/* Start custom CSS for form, class: .elementor-element-329e25f */<style>
/* ════════════════════════════════════════════
   CSS FORMULARIO ELEMENTOR - fondo #4b6b9a
════════════════════════════════════════════ */

/* ── Labels ── */
.elementor-form .elementor-field-label {
  font-family: "Rubik", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: rgba(255,255,255,.75) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* ── Inputs y textarea ── */
.elementor-form .elementor-field-textual {
  font-family: "Rubik", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1e2d40 !important;
  background: rgba(255,255,255,.92) !important;
  border: 2px solid rgba(255,255,255,.25) !important;
  border-radius: 10px !important;
  padding: 13px 16px !important;
  width: 100% !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.elementor-form .elementor-field-textual::placeholder {
  color: #8496b2 !important;
  font-weight: 400 !important;
}
.elementor-form .elementor-field-textual:focus {
  border-color: #fff !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.25) !important;
  outline: none !important;
}

/* ── Textarea ── */
.elementor-form textarea.elementor-field-textual {
  min-height: 120px !important;
  resize: vertical !important;
  line-height: 1.65 !important;
}

/* ── Botón enviar ── */
.elementor-form .elementor-button[type="submit"],
.elementor-form .e-form__buttons .elementor-button {
  font-family: "Rubik", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .3px !important;
  background: #2b2522 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 15px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background .2s, transform .15s, box-shadow .2s !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.25) !important;
}
.elementor-form .elementor-button[type="submit"]:hover {
  background: #1a1614 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.3) !important;
}
.elementor-form .elementor-button[type="submit"]:active {
  transform: translateY(0) !important;
}

/* ── Campo inválido ── */
.elementor-form .elementor-field-textual.elementor-field-invalid {
  border-color: #ffb3b3 !important;
  background: #fff5f5 !important;
  box-shadow: 0 0 0 3px rgba(255,100,100,.2) !important;
}
.elementor-form .elementor-field-group .help-inline {
  font-family: "Rubik", sans-serif !important;
  font-size: 12px !important;
  color: #ffcece !important;
  margin-top: 5px !important;
  display: block !important;
}

/* ── Mensaje éxito ── */
.elementor-form .elementor-message.elementor-message-success {
  font-family: "Rubik", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.4) !important;
  border-radius: 10px !important;
  color: #fff !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
}

/* ── Mensaje error ── */
.elementor-form .elementor-message.elementor-message-danger {
  font-family: "Rubik", sans-serif !important;
  font-size: 14px !important;
  background: rgba(255,80,80,.15) !important;
  border: 1px solid rgba(255,150,150,.4) !important;
  border-radius: 10px !important;
  color: #ffcece !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
}

/* ── Gap entre campos ── */
.elementor-form .elementor-form-fields-wrapper {
  gap: 14px !important;
}
.elementor-form .elementor-field-group {
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* ── Móvil: 50% → 100% ── */
@media (max-width: 600px) {
  .elementor-form .elementor-col-50 {
    width: 100% !important;
  }
}
</style>/* End custom CSS */