.elementor-45 .elementor-element.elementor-element-faa1af2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45 .elementor-element.elementor-element-768f9c4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-45 .elementor-element.elementor-element-768f9c4.e-con{--align-self:center;}.elementor-45 .elementor-element.elementor-element-ac32750{--display:flex;--justify-content:space-around;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:50px;}.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-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-type-html{padding-bottom:0px;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-button[type="submit"]{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-45 .elementor-element.elementor-element-7dd63c7{--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-45 .elementor-element.elementor-element-c9a88a7{--display:flex;--justify-content:space-around;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:0px;}.elementor-45 .elementor-element.elementor-element-e481c3c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-45 .elementor-element.elementor-element-ac32750{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45 .elementor-element.elementor-element-c9a88a7{--justify-content:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-45 .elementor-element.elementor-element-faa1af2{--content-width:100%;}.elementor-45 .elementor-element.elementor-element-768f9c4{--width:70%;}.elementor-45 .elementor-element.elementor-element-ac32750{--width:50%;}.elementor-45 .elementor-element.elementor-element-c9a88a7{--width:50%;}.elementor-45 .elementor-element.elementor-element-e481c3c{--content-width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-45 .elementor-element.elementor-element-768f9c4{--width:90%;}}@media(max-width:767px){.elementor-45 .elementor-element.elementor-element-768f9c4{--width:90%;--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;}.elementor-45 .elementor-element.elementor-element-ac32750{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45 .elementor-element.elementor-element-c9a88a7{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for form, class: .elementor-element-7dd63c7 *//* Oculta el badge flotante de reCAPTCHA v3 */
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-768f9c4 *//* ==========================================================================
   INPTEMU · CSS DEL FORMULARIO
   Para el widget nativo "Formulario" de Elementor (Elementor Pro).
   --------------------------------------------------------------------------
   CÓMO APLICARLO
   1. Al widget de formulario en Elementor: Avanzado > Clases CSS → form-inptemu
   2. Este archivo AMPLÍA Y SUSTITUYE el bloque 19 "FORMULARIO DE ELEMENTOR"
      que ya existe en inptemu-global.css. Para no tener reglas duplicadas:
      borra ese bloque (busca ".form-inptemu" en inptemu-global.css) y pega
      este archivo completo en su lugar, en la misma posición del archivo.
   3. Usa los mismos tokens de color/tipografía que el resto del sitio
      (:root ya está definido en inptemu-global.css), así que este bloque
      no funciona solo: necesita cargarse después de esos tokens.
   ========================================================================== */


/* --------------------------------------------------------------------------
   0. TOKEN LOCAL SOLO PARA ERRORES
   El sistema de color de la marca es todo verde; los formularios necesitan
   un color de aviso que destaque sin romper la paleta. Se usa un terracota
   apagado, coherente con el tono cálido del resto del sitio.
   -------------------------------------------------------------------------- */
.form-inptemu{ --error: #B5654A; --error-bg: #FBEEE9; }


/* --------------------------------------------------------------------------
   1. ESTRUCTURA Y ESPACIADO
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-form{ width:100%; }

.form-inptemu .elementor-form-fields-wrapper{
  display:flex; flex-wrap:wrap;
  gap:0 var(--e-3);
}

.form-inptemu .elementor-field-group{
  width:100%;
  margin-bottom:var(--e-3)!important;
  padding:0!important;
}
/* Columnas: si en Elementor se marca un campo a "50%", que respete el hueco */
.form-inptemu .elementor-field-group.elementor-col-50{
  width:calc(50% - var(--e-3) / 2)!important;
}
@media (max-width:560px){
  .form-inptemu .elementor-field-group.elementor-col-50{ width:100%!important; }
}


/* --------------------------------------------------------------------------
   2. ETIQUETAS
   Se excluye el campo de aceptación (checkbox de privacidad): su etiqueta
   queda totalmente por defecto, sin ninguna regla nuestra encima.
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-group:not(.elementor-field-type-acceptance) > label{
  display:block;
  font-family:var(--tipo-texto)!important;
  font-size:var(--t-sm)!important;
  font-weight:600!important;
  color:var(--tinta)!important;
  margin-bottom:.5rem!important;
}
/* Asterisco de obligatorio, en el color de marca en vez de rojo por defecto */
.form-inptemu .elementor-mark-required .elementor-field-group:not(.elementor-field-type-acceptance) > label:after{
  content:"*";
  color:var(--salvia)!important;
  margin-left:.2rem;
}


/* --------------------------------------------------------------------------
   3. CAMPOS DE TEXTO, EMAIL, TELÉFONO, TEXTAREA
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-textual{
  width:100%;
  font-family:var(--tipo-texto)!important;
  font-size:var(--t-md)!important;
  color:var(--tinta)!important;
  background:var(--blanco)!important;
  border:1px solid var(--linea)!important;
  border-radius:var(--r-md)!important;
  padding:.95rem 1.1rem!important;
  min-height:54px!important;
  box-shadow:none!important;
  transition:border-color var(--rapido), box-shadow var(--rapido);
}
.form-inptemu .elementor-field-textual:hover{
  border-color:#C7D6CD!important;
}
.form-inptemu .elementor-field-textual:focus{
  outline:none!important;
  border-color:var(--salvia)!important;
  box-shadow:0 0 0 3px rgba(95,140,119,.16)!important;
}
.form-inptemu .elementor-field-textual::placeholder{
  color:#9AAEA4!important;
  opacity:1!important;
}
.form-inptemu textarea.elementor-field-textual{
  min-height:150px!important;
  resize:vertical;
  line-height:1.55;
}


/* --------------------------------------------------------------------------
   4. DESPLEGABLE (SELECT) — ej. "Terapia de interés"
   Elementor Pro envuelve el <select> en .elementor-select-wrapper y añade
   una flecha con ::after. Se sustituye por una flecha propia en SVG para
   que combine con el resto de iconografía del sitio.
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-select-wrapper{
  position:relative;
  border:1px solid var(--linea)!important;
  border-radius:var(--r-md)!important;
  background:var(--blanco)!important;
  transition:border-color var(--rapido), box-shadow var(--rapido);
}
.form-inptemu .elementor-select-wrapper:hover{ border-color:#C7D6CD!important; }
.form-inptemu .elementor-select-wrapper:focus-within{
  border-color:var(--salvia)!important;
  box-shadow:0 0 0 3px rgba(95,140,119,.16)!important;
}
.form-inptemu .elementor-select-wrapper select{
  width:100%; appearance:none; -webkit-appearance:none;
  font-family:var(--tipo-texto)!important;
  font-size:var(--t-md)!important;
  color:var(--tinta)!important;
  background:transparent!important;
  border:0!important;
  padding:.95rem 2.6rem .95rem 1.1rem!important;
  min-height:54px!important;
  cursor:pointer;
}
.form-inptemu .elementor-select-wrapper::after{
  content:"" !important;
  position:absolute; right:1.1rem; top:50%;
  width:10px; height:10px; margin-top:-7px;
  border-right:1.6px solid var(--gris); border-bottom:1.6px solid var(--gris);
  transform:rotate(45deg);
  pointer-events:none;
}


/* --------------------------------------------------------------------------
   5. RADIO Y CHECKBOX — ej. terapia de interés como opciones, o extras
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-subgroup{
  display:flex; flex-direction:column; gap:.6rem;
}
.form-inptemu .elementor-field-subgroup.elementor-subgroup-inline{
  flex-direction:row; flex-wrap:wrap; gap:.5rem 1.4rem;
}
.form-inptemu .elementor-field-subgroup label{
  display:flex; align-items:center; gap:.6rem;
  font-family:var(--tipo-texto); font-size:var(--t-md); font-weight:400;
  color:var(--tinta); cursor:pointer;
}
.form-inptemu .elementor-field-subgroup input[type="radio"],
.form-inptemu .elementor-field-subgroup input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:20px; height:20px; flex-shrink:0;
  border:1.5px solid var(--linea); background:var(--blanco);
  cursor:pointer; position:relative;
  transition:border-color var(--rapido), background var(--rapido);
}
.form-inptemu .elementor-field-subgroup input[type="radio"]{ border-radius:50%; }
.form-inptemu .elementor-field-subgroup input[type="checkbox"]{ border-radius:5px; }
.form-inptemu .elementor-field-subgroup input[type="radio"]:checked,
.form-inptemu .elementor-field-subgroup input[type="checkbox"]:checked{
  border-color:var(--salvia); background:var(--salvia);
}
.form-inptemu .elementor-field-subgroup input[type="radio"]:checked::after{
  content:''; position:absolute; inset:5px; border-radius:50%; background:var(--blanco);
}
.form-inptemu .elementor-field-subgroup input[type="checkbox"]:checked::after{
  content:''; position:absolute; left:6px; top:2px;
  width:5px; height:10px;
  border-right:2px solid var(--blanco); border-bottom:2px solid var(--blanco);
  transform:rotate(40deg);
}
.form-inptemu .elementor-field-subgroup input:focus-visible{
  outline:2px solid var(--salvia); outline-offset:2px;
}


/* --------------------------------------------------------------------------
   6. CASILLA DE ACEPTACIÓN (política de privacidad)
   Estructura real confirmada: el <input> y el <label for="..."> son
   hermanos independientes (el input NO está dentro del label). Por eso no
   se fuerza flex ni position: se dejan como elementos en línea normales
   (comportamiento nativo del navegador) y solo se ajusta tamaño y
   alineación vertical. Es la opción más robusta porque no depende de cómo
   Elementor anide nada por dentro.
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-type-acceptance input[type="checkbox"]{
  /* Por si la sección 5 (checkbox de grupos de opciones) le quita la
     apariencia nativa al compartir la clase elementor-field-subgroup:
     se la devolvemos explícitamente, si no, el checkbox queda invisible. */
  appearance:auto!important;
  -webkit-appearance:auto!important;
  -moz-appearance:auto!important;
  width:18px!important;
  height:18px!important;
  vertical-align:middle!important;
  margin:0 .55rem 0 0!important;
  accent-color:var(--salvia);
  cursor:pointer;
}
.form-inptemu .elementor-field-type-acceptance label{
  display:inline!important;
  vertical-align:middle!important;
  font-size:var(--t-sm)!important;
  line-height:1.6!important;
  color:var(--tinta)!important;
  cursor:pointer;
}
.form-inptemu .elementor-field-type-acceptance a{
  color:var(--salvia); font-weight:700; text-decoration:underline;
}
.form-inptemu .elementor-field-type-acceptance a:hover{ color:var(--tinta); }


/* --------------------------------------------------------------------------
   7. SUBIDA DE ARCHIVO (upload) — por si se añade "adjuntar diploma", etc.
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-type-upload .elementor-field{
  width:100%; padding:1rem!important;
  border:1.5px dashed var(--linea)!important; border-radius:var(--r-md)!important;
  background:var(--bruma)!important; cursor:pointer;
  font-family:var(--tipo-texto)!important; font-size:var(--t-sm)!important; color:var(--gris)!important;
}
.form-inptemu .elementor-field-type-upload .elementor-field:hover{
  border-color:var(--salvia)!important;
}


/* --------------------------------------------------------------------------
   8. TEXTO DE AYUDA BAJO EL CAMPO
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-description{
  font-size:var(--t-xs)!important; color:var(--gris)!important;
  margin-top:.4rem!important;
}


/* --------------------------------------------------------------------------
   9. ESTADOS DE ERROR / VALIDACIÓN
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-group.elementor-field-group-error .elementor-field-textual,
.form-inptemu .elementor-field-group.elementor-field-group-error .elementor-select-wrapper{
  border-color:var(--error)!important;
}
.form-inptemu .elementor-field-group.elementor-field-group-error .elementor-field-textual:focus{
  box-shadow:0 0 0 3px rgba(181,101,74,.14)!important;
}
.form-inptemu .elementor-message.elementor-message-danger,
.form-inptemu .elementor-error{
  font-size:var(--t-xs)!important;
  color:var(--error)!important;
  margin-top:.35rem!important;
}
/* Caja de error general (ej. "no se pudo enviar") */
.form-inptemu .elementor-message-danger.elementor-form-response{
  background:var(--error-bg)!important; color:var(--error)!important;
  border-radius:var(--r-md)!important; padding:1rem!important;
  font-size:var(--t-sm)!important; margin-bottom:var(--e-3)!important;
}


/* --------------------------------------------------------------------------
   10. MENSAJE DE ÉXITO
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-message-success{
  background:var(--menta)!important; color:var(--bosque)!important;
  border-radius:var(--r-md)!important; padding:1rem 1.1rem!important;
  font-size:var(--t-sm)!important; font-weight:500!important;
}


/* --------------------------------------------------------------------------
   11. BOTÓN DE ENVÍO
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-field-group.elementor-column.elementor-field-type-submit{
  margin-top:.4rem!important;
}
.form-inptemu .elementor-button[type="submit"]{
  display:inline-flex!important; align-items:center; justify-content:center; gap:.6rem;
  width:auto;
  background:var(--brote)!important; color:var(--bosque)!important;
  font-family:var(--tipo-texto)!important; font-size:var(--t-md)!important; font-weight:600!important;
  border:0!important; border-radius:var(--r-full)!important;
  padding:1.05rem 2.2rem!important;
  text-decoration:none!important;
  cursor:pointer;
  transition:background var(--rapido)!important, transform var(--rapido)!important;
}
.form-inptemu .elementor-button[type="submit"]:hover{ background:var(--brote-cl)!important; }
.form-inptemu .elementor-button[type="submit"]:active{ transform:translateY(1px); }
.form-inptemu .elementor-button[type="submit"]:disabled{
  opacity:.6!important; cursor:not-allowed; transform:none!important;
}

/* Icono de "cargando" (Elementor añade un spinner al enviar) */
.form-inptemu .elementor-button .elementor-button-icon svg,
.form-inptemu .elementor-form-spinner i{
  color:var(--bosque)!important;
}


/* --------------------------------------------------------------------------
   12. PASOS (si el formulario se divide en varios pasos)
   -------------------------------------------------------------------------- */
.form-inptemu .elementor-form-steps-wrapper{
  display:flex; gap:.5rem; margin-bottom:var(--e-3);
}
.form-inptemu .elementor-step-item{
  flex:1; height:4px; border-radius:var(--r-full);
  background:var(--linea);
}
.form-inptemu .elementor-step-item.elementor-active,
.form-inptemu .elementor-step-item.elementor-completed{
  background:var(--salvia);
}
.form-inptemu .elementor-button.elementor-form-cta-prev{
  background:transparent!important; color:var(--gris)!important;
  border:1px solid var(--linea)!important;
}
.form-inptemu .elementor-button.elementor-form-cta-prev:hover{
  border-color:var(--salvia)!important; color:var(--salvia)!important;
}


/* --------------------------------------------------------------------------
   13. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:560px){
  .form-inptemu .elementor-field-textual,
  .form-inptemu .elementor-select-wrapper select{
    font-size:16px!important; /* evita el zoom automático de iOS al enfocar */
  }
  .form-inptemu .elementor-button[type="submit"]{ width:100%!important; }
}/* End custom CSS */