/* =========================================================================
   azh-form — estilos del formulario JetFormBuilder
   Sistema de diseño ADI. Se encola desde functions.php como componente
   global. Se aplica AUTOMÁTICAMENTE a cualquier formulario de
   JetFormBuilder del sitio: el selector raíz es `.jet-form-builder`, la
   clase que el propio plugin pone en el <form> al renderizar. No hay que
   añadir ninguna clase en Bricks.

   Las clases `azh-form__*` (submit, legal) sí se aplican desde el JSON del
   formulario, en el className de los bloques correspondientes.

   Si algún formulario futuro necesita otra presentación, se le añade una
   clase modificadora en Bricks y se sobrescribe lo justo al final de esta
   hoja, sin duplicar la base.

   Notas de implementación:
   - font-family: inherit en todos los controles. Los navegadores NO heredan
     la tipografía en input, textarea, select ni button: usan la fuente del
     sistema. Sin esta declaración el formulario no muestra Safiro. No se
     nombra la fuente para no duplicar el Theme Style.
   - Sin grises: las translucideces de Oxford Blue llegan por variable.
   - Longhand en padding y margin (workaround B1 de Bricks).
   ========================================================================= */

.jet-form-builder {
  --azh-form-border: var(--azahar-oxford-15, rgba(5, 37, 76, 0.15));
  --azh-form-border-strong: var(--azahar-oxford-50, rgba(5, 37, 76, 0.5));
  --azh-form-muted: var(--azahar-oxford-50, rgba(5, 37, 76, 0.5));
  width: 100%;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Herencia tipográfica --------------------------------------------- */

.jet-form-builder input,
.jet-form-builder textarea,
.jet-form-builder select,
.jet-form-builder button,
.jet-form-builder label {
  font-family: inherit;
}

/* --- Ritmo vertical ----------------------------------------------------- */

.jet-form-builder .jet-form-builder-row,
.jet-form-builder .jet-form-builder-col {
  margin-top: 0;
  margin-bottom: 24px;
}

.jet-form-builder .jet-form-builder__field-wrap {
  margin-bottom: 0;
}

/* Columnas de Gutenberg: separación entre pares de campos */
.jet-form-builder .wp-block-columns {
  margin-bottom: 0;
  gap: 32px;
}

/* --- Etiquetas --------------------------------------------------------- */

.jet-form-builder .jet-form-builder__label,
.jet-form-builder .jet-form-builder__label-text {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--azahar-oxford, #05254c);
  margin-bottom: 8px;
}

.jet-form-builder .jet-form-builder__required {
  color: var(--accent-color, var(--color-turquesa-accent, #0eafa7));
  margin-left: 2px;
}

/* --- Campos de texto, email, textarea y select ------------------------- */

.jet-form-builder input[type="text"],
.jet-form-builder input[type="email"],
.jet-form-builder input[type="tel"],
.jet-form-builder input[type="url"],
.jet-form-builder input[type="number"],
.jet-form-builder textarea,
.jet-form-builder select {
  width: 100%;
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
  border-color: var(--azh-form-border);
  background-color: var(--azahar-white, #ffffff);
  color: var(--azahar-oxford, #05254c);
  font-size: 16px;
  line-height: 1.5;
  padding-top: 14px;
  padding-right: 16px;
  padding-bottom: 14px;
  padding-left: 16px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: none;
  outline: none;
}

.jet-form-builder textarea {
  min-height: 180px;
  resize: vertical;
}

.jet-form-builder input::placeholder,
.jet-form-builder textarea::placeholder {
  color: var(--azh-form-muted);
}

.jet-form-builder input[type="text"]:hover,
.jet-form-builder input[type="email"]:hover,
.jet-form-builder input[type="tel"]:hover,
.jet-form-builder textarea:hover,
.jet-form-builder select:hover {
  border-color: var(--azh-form-border-strong);
}

.jet-form-builder input[type="text"]:focus,
.jet-form-builder input[type="email"]:focus,
.jet-form-builder input[type="tel"]:focus,
.jet-form-builder input[type="url"]:focus,
.jet-form-builder input[type="number"]:focus,
.jet-form-builder textarea:focus,
.jet-form-builder select:focus {
  border-color: var(--accent-color, var(--color-turquesa-accent, #0eafa7));
  box-shadow: inset 0 0 0 1px var(--accent-color, #0eafa7);
}

/* --- Descripción de campo --------------------------------------------- */

.jet-form-builder .jet-form-builder__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--azh-form-muted);
  margin-top: 6px;
}

/* --- Checkbox de consentimiento ---------------------------------------- */

.jet-form-builder .jet-form-builder__fields-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.jet-form-builder .checkbox-wrap,
.jet-form-builder .jet-form-builder__field-wrap--checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.jet-form-builder input[type="checkbox"],
.jet-form-builder input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
  border-color: var(--azh-form-border-strong);
  accent-color: var(--accent-color, var(--color-turquesa-accent, #0eafa7));
  margin-top: 2px;
  cursor: pointer;
}

.jet-form-builder .checkbox-wrap .jet-form-builder__label,
.jet-form-builder .checkbox-wrap .jet-form-builder__label-text {
  font-size: 15px;
  font-weight: 400;
  color: var(--azahar-oxford, #05254c);
  margin-bottom: 0;
  cursor: pointer;
}

/* --- Texto legal RGPD --------------------------------------------------- */

.jet-form-builder .azh-form__legal {
  font-size: 12px;
  line-height: 1.6;
  color: var(--azh-form-muted);
  margin-top: 12px;
  margin-bottom: 32px;
}

.jet-form-builder .azh-form__legal a {
  color: var(--azahar-link, #83c200);
  text-decoration: underline;
}

.jet-form-builder .azh-form__legal a:hover {
  color: var(--azahar-link-hover, #05254c);
}

/* --- Botón de envío ----------------------------------------------------- */

/* El bloque de envío lleva la clase azh-form__submit para poder centrarlo
   sin depender de los nombres internos de JetFormBuilder. Los selectores
   adicionales cubren las variantes de marcado del plugin. */

.jet-form-builder .azh-form__submit,
.jet-form-builder .jet-form-builder__action-wrap,
.jet-form-builder .jet-form-builder__submit-wrap {
  display: block;
  text-align: center;
  margin-top: 8px;
}

.jet-form-builder .jet-form-builder__submit,
.jet-form-builder .jet-form-builder__action-button,
.jet-form-builder button[type="submit"] {
  display: inline-block;
  width: auto;
  min-width: 240px;
  border-radius: 0;
  border: none;
  background-color: var(--azahar-button, #4f4cc0);
  color: var(--azahar-white, #ffffff);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  padding-top: 18px;
  padding-right: 44px;
  padding-bottom: 18px;
  padding-left: 44px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.jet-form-builder .jet-form-builder__submit:hover,
.jet-form-builder .jet-form-builder__action-button:hover,
.jet-form-builder button[type="submit"]:hover {
  background-color: var(--azahar-button-hover, #05254c);
  color: var(--azahar-white, #ffffff);
}

.jet-form-builder .jet-form-builder__submit:focus-visible,
.jet-form-builder button[type="submit"]:focus-visible {
  outline: 2px solid var(--accent-color, #0eafa7);
  outline-offset: 3px;
}

/* --- Estados de error y mensajes --------------------------------------- */

.jet-form-builder .jet-form-builder__field-error,
.jet-form-builder .jet-form-builder-message--error {
  font-size: 13px;
  line-height: 1.5;
  color: var(--color-rojo-accent, #e00000);
  margin-top: 6px;
}

.jet-form-builder .jet-form-builder__field.has-error,
.jet-form-builder input.has-error,
.jet-form-builder textarea.has-error {
  border-color: var(--color-rojo-accent, #e00000);
}

.jet-form-builder .jet-form-builder-message--success {
  border-radius: 0;
  border-left-width: 3px;
  border-left-style: solid;
  border-left-color: var(--color-turquesa-accent, #0eafa7);
  background-color: var(--color-turquesa-light, #c6faf8);
  color: var(--azahar-oxford, #05254c);
  font-size: 15px;
  padding-top: 16px;
  padding-right: 20px;
  padding-bottom: 16px;
  padding-left: 20px;
}

/* --- Responsive --------------------------------------------------------- */

@media (max-width: 991px) {
  .jet-form-builder {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .jet-form-builder .wp-block-columns {
    gap: 0;
  }

  .jet-form-builder .jet-form-builder__submit,
  .jet-form-builder .jet-form-builder__action-button,
  .jet-form-builder button[type="submit"] {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 479px) {
  .jet-form-builder input[type="text"],
  .jet-form-builder input[type="email"],
  .jet-form-builder input[type="tel"],
  .jet-form-builder textarea,
  .jet-form-builder select {
    padding-top: 12px;
    padding-right: 14px;
    padding-bottom: 12px;
    padding-left: 14px;
  }
}
