.elementor-350 .elementor-element.elementor-element-8e7ea00{--display:flex;}.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-350 .elementor-element.elementor-element-8e75579 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:600;}.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-350 .elementor-element.elementor-element-6d6d72c{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:400;}.elementor-350 .elementor-element.elementor-element-b412823{--display:flex;}.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-350 .elementor-element.elementor-element-5e95774 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-350 .elementor-element.elementor-element-5e95774 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-350 .elementor-element.elementor-element-5e95774 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-350 .elementor-element.elementor-element-5e95774 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-350 .elementor-element.elementor-element-5e95774 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-field-type-html{padding-bottom:0px;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-button[type="submit"]{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-350 .elementor-element.elementor-element-5e95774{--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 container, class: .elementor-element-b412823 *//* =========================================================
   FORMULARIO DE CONTACTO · ELEMENTOR PRO
   ========================================================= */

/* Variables de diseño */
.elementor-350 .elementor-element.elementor-element-b412823 {
  --form-primary: #38326e;
  --form-primary-hover: #50488e;
  --form-accent: #df3d8b;
  --form-accent-hover: #c52d75;
  --form-text: #292841;
  --form-muted: #6c697d;
  --form-border: #dedce8;
  --form-background: #ffffff;
  --form-soft: #f7f6fa;
  --form-error: #b42318;
  --form-success: #247a55;
}

/* Contenedor general */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-form {
  display: grid;
  row-gap: 4px;
}

/* Separación entre campos */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-group {
  margin-bottom: 18px;
}

/* Etiquetas */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-label {
  margin-bottom: 8px;
  color: var(--form-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

/* Campos de texto, email, teléfono, select y textarea */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-textual,
.elementor-350 .elementor-element.elementor-element-b412823 input[type="text"],
.elementor-350 .elementor-element.elementor-element-b412823 input[type="email"],
.elementor-350 .elementor-element.elementor-element-b412823 input[type="tel"],
.elementor-350 .elementor-element.elementor-element-b412823 input[type="url"],
.elementor-350 .elementor-element.elementor-element-b412823 input[type="number"],
.elementor-350 .elementor-element.elementor-element-b412823 select,
.elementor-350 .elementor-element.elementor-element-b412823 textarea {
  width: 100%;
  min-height: 54px;
  padding: 13px 16px;
  border: 1px solid var(--form-border);
  border-radius: 10px;
  background-color: var(--form-background);
  color: var(--form-text);
  font-size: 15px;
  line-height: 1.5;
  box-shadow: 0 3px 12px rgba(56, 50, 110, 0.04);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

/* Área de mensaje */
.elementor-350 .elementor-element.elementor-element-b412823 textarea.elementor-field {
  min-height: 145px;
  padding-top: 15px;
  resize: vertical;
}

/* Texto de ejemplo */
.elementor-350 .elementor-element.elementor-element-b412823 input::placeholder,
.elementor-350 .elementor-element.elementor-element-b412823 textarea::placeholder {
  color: #9693a3;
  opacity: 1;
}

/* Estado al pasar el ratón */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-textual:hover,
.elementor-350 .elementor-element.elementor-element-b412823 input:hover,
.elementor-350 .elementor-element.elementor-element-b412823 select:hover,
.elementor-350 .elementor-element.elementor-element-b412823 textarea:hover {
  border-color: #bbb7cc;
}

/* Estado activo */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-textual:focus,
.elementor-350 .elementor-element.elementor-element-b412823 input:focus,
.elementor-350 .elementor-element.elementor-element-b412823 select:focus,
.elementor-350 .elementor-element.elementor-element-b412823 textarea:focus {
  border-color: var(--form-primary) !important;
  outline: none;
  background-color: #ffffff;
  box-shadow: 0 0 0 4px rgba(56, 50, 110, 0.12);
}

/* Evita el fondo amarillo del autocompletado */
.elementor-350 .elementor-element.elementor-element-b412823 input:-webkit-autofill,
.elementor-350 .elementor-element.elementor-element-b412823 input:-webkit-autofill:hover,
.elementor-350 .elementor-element.elementor-element-b412823 input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--form-text);
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
  transition: background-color 9999s ease-out;
}

/* Campo desplegable */
.elementor-350 .elementor-element.elementor-element-b412823 select.elementor-field {
  cursor: pointer;
}

/* Casillas de aceptación y checkbox */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-acceptance,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-checkbox {
  color: var(--form-muted);
  font-size: 13px;
  line-height: 1.6;
}

.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-acceptance label,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-checkbox label {
  color: var(--form-muted);
  font-weight: 400;
}

.elementor-350 .elementor-element.elementor-element-b412823 input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: auto;
  margin: 2px 9px 0 0;
  border: 1px solid var(--form-border);
  border-radius: 4px;
  accent-color: var(--form-primary);
  vertical-align: top;
}

/* Enlaces de privacidad */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-acceptance a,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-checkbox a {
  color: var(--form-primary);
  font-weight: 700;
  text-decoration: none !important;
}

.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-acceptance a:hover,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-type-checkbox a:hover {
  color: var(--form-accent);
  text-decoration: none !important;
}

/* Botón */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button {
  min-height: 56px;
  padding: 15px 28px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(
    135deg,
    var(--form-accent),
    #c93683
  );
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(223, 61, 139, 0.24);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease;
}

/* Botón al pasar el ratón */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button:hover,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button:focus {
  background: linear-gradient(
    135deg,
    var(--form-accent-hover),
    #aa2664
  );
  color: #ffffff;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(197, 45, 117, 0.3);
}

/* Botón pulsado */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(197, 45, 117, 0.24);
}

/* Icono del botón */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button-icon {
  transition: transform 0.22s ease;
}

.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button:hover .elementor-button-icon {
  transform: translateX(4px);
}

/* Mensajes de éxito y error */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-message {
  margin-top: 18px;
  padding: 14px 17px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.elementor-350 .elementor-element.elementor-element-b412823 .elementor-message-success {
  border: 1px solid rgba(36, 122, 85, 0.22);
  background: rgba(36, 122, 85, 0.09);
  color: var(--form-success);
}

.elementor-350 .elementor-element.elementor-element-b412823 .elementor-message-danger,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-message-error {
  border: 1px solid rgba(180, 35, 24, 0.2);
  background: rgba(180, 35, 24, 0.08);
  color: var(--form-error);
}

/* Errores debajo de los campos */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-error {
  margin-top: 6px;
  color: var(--form-error);
  font-size: 12px;
  font-weight: 600;
}

/* Campo con error */
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-field.elementor-error {
  border-color: var(--form-error) !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.09);
}

/* Evita subrayados aplicados por el tema */
.elementor-350 .elementor-element.elementor-element-b412823 a,
.elementor-350 .elementor-element.elementor-element-b412823 button,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button,
.elementor-350 .elementor-element.elementor-element-b412823 .elementor-button-text {
  text-decoration: none !important;
}

/* Móvil */
@media (max-width: 767px) {
  .elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-group {
    width: 100% !important;
    margin-bottom: 15px;
  }

  .elementor-350 .elementor-element.elementor-element-b412823 .elementor-field-textual,
  .elementor-350 .elementor-element.elementor-element-b412823 input,
  .elementor-350 .elementor-element.elementor-element-b412823 select,
  .elementor-350 .elementor-element.elementor-element-b412823 textarea {
    font-size: 16px;
  }

  .elementor-350 .elementor-element.elementor-element-b412823 .elementor-button {
    width: 100%;
    min-height: 55px;
  }
}

/* Usuarios que prefieren menos animaciones */
@media (prefers-reduced-motion: reduce) {
  .elementor-350 .elementor-element.elementor-element-b412823 *,
  .elementor-350 .elementor-element.elementor-element-b412823 *::before,
  .elementor-350 .elementor-element.elementor-element-b412823 *::after {
    transition: none !important;
  }
}/* End custom CSS */