/*
 * Sober AF -- Peer application form: plugin-specific styles.
 *
 * The shared `.saf-form` base (grid, input box-model, focus ring,
 * textarea, notices, `.saf-form .saf-btn`) now lives in the
 * `saf-public-form` handle (sober-af-design-system). This file keeps
 * ONLY the peer form's own shape: the field wrapper, the element-level
 * `label`, the inline-error state, and help/error text. The shortcode's
 * register_assets() declares `saf-public-form` as a dependency so the
 * base always loads first.
 *
 * Scoped under `.saf-form` (memory: per-cpt-css-saf-btn-footer-leak).
 * Bump SAF_PEERS_VERSION on every edit (LiteSpeed cache discipline).
 */

/* ----------------------------------------------------------------------
 * Field wrapper
 * -------------------------------------------------------------------- */

.saf-form__field {
  display: grid;
  gap: var(--saf-gap-2, 0.5rem);
}

.saf-form__field--checkbox {
  margin-top: var(--saf-gap-2, 0.5rem);
}

/* ----------------------------------------------------------------------
 * Label (peer form uses the element-level label, not a class)
 * -------------------------------------------------------------------- */

.saf-form label {
  font-weight: 700;
  font-size: var(--saf-text-sm, 0.875rem);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--saf-charcoal, #1c1710);
}

/* ----------------------------------------------------------------------
 * Inline error state (driven by peer-forms.js when a field flags)
 * -------------------------------------------------------------------- */

.saf-form__field--error input,
.saf-form__field--error textarea {
  border-color: var(--saf-brick-red, #be2727);
  box-shadow: 0 0 0 3px rgba(190, 39, 39, 0.12);
}
.saf-form__field--error .saf-form__error {
  display: block;
}

/* ----------------------------------------------------------------------
 * Help text + errors
 * -------------------------------------------------------------------- */

.saf-form__help {
  font-size: var(--saf-text-sm, 0.875rem);
  color: var(--saf-fg-muted, #5a554e);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

.saf-form__error {
  color: var(--saf-brick-red, #be2727);
  font-size: var(--saf-text-sm, 0.875rem);
  font-weight: 700;
}
