/* Mensajes del formulario.
   No se reutilizan .elementor-message / .form-message-success porque su regla
   :before usa la tipografía «eicons», que este sitio no carga: saldría un
   glifo roto. Se replican tamaño, márgenes y colores de Elementor. */
.esb-message {
  font-family: "Poppins", sans-serif;
  font-size: .85em;
  line-height: 1.4;
  margin: 10px 0 0;
}
.esb-message--ok    { color: #0a8f5f; }
.esb-message--error { color: #d9534f; }

/* Trampa para bots: fuera de pantalla, no `display:none`, para que los
   rellenadores automáticos la vean pero ninguna persona pueda enfocarla. */
.esb-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px;
  overflow: hidden;
}
/* Los .elementor-field-group son contenedores flex (apilan etiqueta e input).
   Sin un ancho explícito el hueco de Turnstile es un ítem flex sin contenido
   propio y colapsa a 0x0: en el popup el widget quedaba invisible aunque sí
   generaba el token. */
.esb-turnstile { margin-top: 4px; display: flex; flex-wrap: wrap; }
.esb-turnstile-slot {
  flex: 0 0 auto;
  width: 300px;
  max-width: 100%;
  min-height: 65px;
}
.elementor-form button[type="submit"][disabled] { opacity: .6; cursor: progress; }
