.elementor-31 .elementor-element.elementor-element-1b3cd02{--display:flex;}.elementor-31 .elementor-element.elementor-element-4466ea7{--display:flex;--justify-content:center;}.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-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group{padding-right:calc( 45px/2 );padding-left:calc( 45px/2 );margin-bottom:39px;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-form-fields-wrapper{margin-left:calc( -45px/2 );margin-right:calc( -45px/2 );margin-bottom:-39px;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-labels-inline .elementor-field-group > label{padding-left:16px;}body:not(.rtl) .elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-labels-inline .elementor-field-group > label{padding-right:16px;}body .elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-labels-above .elementor-field-group > label{padding-bottom:16px;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group > label{font-family:"Roboto", Sans-serif;font-size:58px;font-weight:400;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-type-html{padding-bottom:10px;font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group .elementor-field, .elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-subgroup label{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:400;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:#1758A5;border-width:1px 1px 1px 1px;border-radius:15px 15px 15px 15px;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:#1758A5;border-width:1px 1px 1px 1px;border-radius:15px 15px 15px 15px;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-field-group .elementor-select-wrapper::before{color:#1758A5;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button span{justify-content:center;}.elementor-31 .elementor-element.elementor-element-e12efc4 .e-form__buttons__wrapper__button-next{background-color:#1758A5;color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button[type="submit"]{background-color:#1758A5;color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-31 .elementor-element.elementor-element-e12efc4 .elementor-button{border-radius:15px 15px 15px 15px;}.elementor-31 .elementor-element.elementor-element-e12efc4{--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;}:root{--page-title-display:none;}/* Start custom CSS for form, class: .elementor-element-e12efc4 *//* ══ GEEKDOTECH · ELEMENTOR FORM STYLES v3 ══ */

/* ── CONTENEDOR PRINCIPAL ── */
.elementor-element-e12efc4 {
  background:    linear-gradient(135deg, #f0f5ff 0%, #e8f0fc 50%, #f5f8ff 100%) !important;
  border-radius: 20px !important;
  border:        1.5px solid rgba(23,88,165,.12) !important;
  box-shadow:    0 8px 40px rgba(6,44,107,.08), 0 2px 8px rgba(6,44,107,.04) !important;
  padding:       90px 40px 90px 40px !important;
  position:      relative !important;
  overflow:      hidden !important;
}

/* Glows decorativos */
.elementor-element-e12efc4::before {
  content: '' !important; position: absolute !important;
  top: -80px !important; right: -80px !important;
  width: 280px !important; height: 280px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(120,193,250,.18) 0%, transparent 70%) !important;
  pointer-events: none !important; z-index: 0 !important;
}
.elementor-element-e12efc4::after {
  content: '' !important; position: absolute !important;
  bottom: -60px !important; left: -60px !important;
  width: 200px !important; height: 200px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(6,44,107,.06) 0%, transparent 70%) !important;
  pointer-events: none !important; z-index: 0 !important;
}

/* ── WRAPPER ── */
.elementor-element-e12efc4 .elementor-form-fields-wrapper {
  display:   flex !important;
  flex-wrap: wrap !important;
  gap:       12px !important;
  position:  relative !important;
  z-index:   1 !important;
}

/* ── TODOS LOS GRUPOS: ancho 100% por defecto ── */
.elementor-element-e12efc4 .elementor-field-group {
  width:         100% !important;
  margin-bottom: 0 !important;
  position:      relative !important;
  box-sizing:    border-box !important;
}

/* ── NOMBRE Y APELLIDO: 50% cada uno ── */
.elementor-element-e12efc4 .elementor-field-group-name {
  width:         calc(50% - 6px) !important;
  padding-right: 0 !important;
}
.elementor-element-e12efc4 .elementor-field-group-field_054529d {
  width:         calc(50% - 6px) !important;
  padding-left:  0 !important;
}

/* ── INPUTS, SELECTS Y TEXTAREA ── */
.elementor-element-e12efc4 .elementor-field-textual,
.elementor-element-e12efc4 input[type="text"],
.elementor-element-e12efc4 input[type="email"],
.elementor-element-e12efc4 input[type="tel"],
.elementor-element-e12efc4 textarea,
.elementor-element-e12efc4 select {
  background:    #ffffff !important;
  border:        1.5px solid rgba(6,44,107,.12) !important;
  border-radius: 12px !important;
  padding:       13px 18px !important;
  font-family:   'Poppins', sans-serif !important;
  font-size:     14px !important;
  font-weight:   400 !important;
  color:         #062C6B !important;
  outline:       none !important;
  width:         100% !important;
  box-sizing:    border-box !important;
  transition:    border-color .22s, background .22s, box-shadow .22s !important;
  box-shadow:    0 1px 4px rgba(6,44,107,.05) !important;
  -webkit-appearance: none !important;
  appearance:    none !important;
}

/* ── PLACEHOLDER ── */
.elementor-element-e12efc4 input::placeholder,
.elementor-element-e12efc4 textarea::placeholder {
  color:       rgba(6,44,107,.45) !important;
  font-weight: 500 !important;
}

/* ── FOCUS ── */
.elementor-element-e12efc4 input:focus,
.elementor-element-e12efc4 textarea:focus,
.elementor-element-e12efc4 select:focus {
  border-color: #1758A5 !important;
  background:   #ffffff !important;
  box-shadow:   0 0 0 4px rgba(23,88,165,.1) !important;
}

/* ── HOVER ── */
.elementor-element-e12efc4 input:hover:not(:focus),
.elementor-element-e12efc4 textarea:hover:not(:focus),
.elementor-element-e12efc4 select:hover:not(:focus) {
  border-color: rgba(23,88,165,.28) !important;
  background:   #fafcff !important;
}

/* ── LABELS ── */
.elementor-element-e12efc4 .elementor-field-label {
  font-family:    'Poppins', sans-serif !important;
  font-size:      10px !important;
  font-weight:    700 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color:          rgba(6,44,107,.5) !important;
  margin-bottom:  6px !important;
  display:        block !important;
}

/* ── TEXTAREA ── */
.elementor-element-e12efc4 textarea {
  min-height:  130px !important;
  resize:      vertical !important;
  line-height: 1.6 !important;
}

/* ── QUITAR SEPARADOR RARO ── */
.elementor-element-e12efc4 .elementor-field-group-message {
  padding-top: 0 !important;
  border-top:  none !important;
  margin-top:  0 !important;
}

/* ── BOTÓN ENVIAR ── */
.elementor-element-e12efc4 .elementor-button,
.elementor-element-e12efc4 .e-form__buttons .elementor-button {
  background:     linear-gradient(135deg, #062C6B 0%, #1758A5 100%) !important;
  color:          #ffffff !important;
  border:         none !important;
  border-radius:  12px !important;
  padding:        15px 32px !important;
  font-family:    'Poppins', sans-serif !important;
  font-size:      14px !important;
  font-weight:    700 !important;
  letter-spacing: .04em !important;
  cursor:         pointer !important;
  width:          100% !important;
  transition:     all .22s !important;
  box-shadow:     0 4px 20px rgba(6,44,107,.25) !important;
  margin-top:     9px !important;
  margin-bottom: 30px;
}
.elementor-element-e12efc4 .elementor-button:hover,
.elementor-element-e12efc4 .e-form__buttons .elementor-button:hover {
  background:  linear-gradient(135deg, #1758A5 0%, #78C1FA 100%) !important;
  color:       #ffffff !important;
  transform:   translateY(-2px) !important;
  box-shadow:  0 8px 28px rgba(120,193,250,.4) !important;
}
.elementor-element-e12efc4 .elementor-button:active {
  transform: scale(.98) !important;
}

/* ── ASTERISCO ── */
.elementor-element-e12efc4 .elementor-field-required::after {
  color: #78C1FA !important;
}

/* ── MENSAJE ÉXITO ── */
.elementor-element-e12efc4 .elementor-message.elementor-message-success {
  background:    linear-gradient(135deg, rgba(120,193,250,.12) 0%, rgba(23,88,165,.08) 100%) !important;
  border:        1px solid rgba(120,193,250,.35) !important;
  border-radius: 12px !important;
  color:         #062C6B !important;
  font-family:   'Poppins', sans-serif !important;
  font-size:     13px !important;
  font-weight:   600 !important;
  padding:       12px 16px !important;
}

/* ── MENSAJE ERROR ── */
.elementor-element-e12efc4 .elementor-message.elementor-message-danger {
  background:    rgba(239,68,68,.07) !important;
  border:        1px solid rgba(239,68,68,.2) !important;
  border-radius: 12px !important;
  color:         #dc2626 !important;
  font-family:   'Poppins', sans-serif !important;
  font-size:     13px !important;
  padding:       12px 16px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .elementor-element-e12efc4 {
    padding: 28px 20px !important;
    border-radius: 16px !important;
  }
  .elementor-element-e12efc4 .elementor-form-fields-wrapper {
    gap: 10px !important;
    padding: 0 !important;
  }
  .elementor-element-e12efc4 .elementor-field-group,
  .elementor-element-e12efc4 .elementor-field-group-name,
  .elementor-element-e12efc4 .elementor-field-group-field_054529d {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .elementor-element-e12efc4 .elementor-field-textual,
  .elementor-element-e12efc4 input[type="text"],
  .elementor-element-e12efc4 input[type="email"],
  .elementor-element-e12efc4 input[type="tel"],
  .elementor-element-e12efc4 textarea,
  .elementor-element-e12efc4 select {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    padding: 16px 18px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .elementor-element-e12efc4 .elementor-button,
  .elementor-element-e12efc4 .e-form__buttons .elementor-button {
    padding: 16px 24px !important;
    font-size: 15px !important;
    margin-bottom: 0 !important;
  }
}/* End custom CSS */