/* ============================================================================
   FORMULARIO · lo poco que el bloque necesita y la maqueta hacía con `style`
   ----------------------------------------------------------------------------
   Todo lo demás —c-form, c-field, c-fieldset, c-pasos…— es de la librería.
   Aquí solo van los dos estilos en línea que la maqueta escribía a mano y que
   inc/bloque-formulario.php sustituye por una clase.
   ========================================================================== */

/* La introducción del formulario largo: párrafos pegados, con hueco corto. */
.c-form__intro {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
}

.c-form__intro p {
  margin: 0;
}

/* La pista bajo el botón (neuropsicología: «las evaluaciones son…»). */
.c-form__nota-pista {
  margin-top: var(--wp--preset--spacing--30);
}

/* El campo de archivo (candidatura). */
.c-field__input[type="file"] {
  padding-block: var(--wp--preset--spacing--30);
}

/* El «gracias» del formulario dentro de una sección azul heredaba el texto
   crema sobre el fondo verde claro: ilegible (feedback 18-09-2026, pág. 17).
   La caja fija su tinta, como las tarjetas. */
.c-form__success,
.c-form__success p {
  color: var(--wp--preset--color--contrast);
}

/* El formulario de cita, más destacado (feedback 18-09-2026, págs. 26, 34):
   filete de marca y sombra; el título del bloque en azul. */
.c-form.c-form--card {
  border: var(--wp--custom--border--width-strong) solid var(--wp--preset--color--primary);
  box-shadow: var(--wp--custom--shadow--overlay);
}
.c-form--card > .c-form__title {
  color: var(--wp--preset--color--primary);
}

/* Enviado, el formulario se va y queda solo el «Gracias» (revisión de Bárbara,
   8-10-2026, pág. 23). componentes.js ya ponía `hidden` al formulario, pero
   `.c-form { display: flex }` gana al atributo y el formulario seguía a la
   vista, con el «Gracias» debajo, fuera de la pantalla. */
form[data-form][hidden] {
  display: none;
}

/* El «Gracias» recibe el foco al aparecer: que no quede pegado al borde de
   arriba, debajo de la cabecera fija. */
.c-form__success {
  scroll-margin-top: calc(var(--cds-header-alto, 68px) + var(--wp--preset--spacing--40));
}

/* Campos obligatorios (revisión de Bárbara, G3): asterisco tras la etiqueta y
   una línea de aviso antes del primer campo. inc/bloque-formulario.php. */
.c-field__req {
  color: var(--wp--preset--color--accent-warm);
}
.c-form__req {
  margin: 0;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--muted);
}

/* Grupo de casillas obligatorio (disponibilidad, 12-10-2026): el error, como en
   un campo; la leyenda en el color de error. */
.c-fieldset.c-field--error .c-fieldset__legend { color: var(--wp--preset--color--error-text); }
.c-fieldset .c-field__hint { margin: 0; }

/* Cloudflare Turnstile (mu-plugins/cds-turnstile.php). En modo
   «interaction-only» no ocupa sitio hasta que Cloudflare necesita preguntar.
   ⚠️ Sin `display: none` en el contenedor vacío: Cloudflare no pinta el widget
   dentro de un elemento escondido. */
.c-form__captcha { margin-block: var(--wp--preset--spacing--20); }
.c-news__form .c-form__captcha { flex-basis: 100%; }
