/*
 * Keep every customer-facing interactive control on one font stack.
 * The trailing system stack is important: saved themes may name a web font
 * (for example Inter) without shipping its font file. In that case browsers
 * now fall back to the same lightweight sans-serif font instead of Times.
 */
:is(
  button,
  [role="button"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .button,
  .btn,
  a.button,
  a.btn
) {
  font-family:
    var(--button-font-family, var(--base-font-family, system-ui)),
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;
  font-weight: var(--button-weight, 600) !important;
  text-transform: var(--button-text-transform, none) !important;
}

/* Prevent nested labels from reintroducing heading/body font declarations. */
:is(
  button,
  [role="button"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .button,
  .btn,
  a.button,
  a.btn
) :where(*) {
  font-family: inherit !important;
  text-transform: inherit !important;
}
