:where(input:not([type="button"]):not([type="reset"]):not([type="submit"]), textarea, select) {
  background: var(--tpg-color-surface-raised);
  border: 0.0625rem solid var(--tpg-color-border);
  border-radius: var(--tpg-radius-sm);
  color: var(--tpg-color-text);
  font: inherit;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 0.8rem;
  transition: border-color var(--tpg-transition-fast), box-shadow var(--tpg-transition-fast);
}

:where(textarea) {
  min-height: 8rem;
  resize: vertical;
}

:where(input, textarea)::placeholder {
  color: var(--tpg-color-text-muted);
  opacity: 1;
}

:where(input, textarea, select):focus {
  border-color: var(--tpg-color-focus);
  box-shadow: 0 0 0 0.1875rem rgba(51, 93, 168, 0.18);
}

.form-item {
  margin-block-end: var(--tpg-space-5);
}

.form-item__label,
label {
  display: block;
  font-weight: 700;
  margin-block-end: var(--tpg-space-2);
}

.form-item__description {
  color: var(--tpg-color-text-muted);
  font-size: var(--tpg-font-size-sm);
  margin-block-start: var(--tpg-space-2);
}
