/*
 * Canonical public form-control behavior.
 *
 * Components remain responsible for their own shape and surface. This layer owns
 * the browser-focus normalization and the mobile text size so individual forms
 * cannot reintroduce coloured focus rings or iOS focus zoom.
 */
:where(input, textarea, select, button) {
  -webkit-tap-highlight-color: transparent;
}

:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  textarea,
  select
):is(:focus, :focus-visible) {
  outline: 0 !important;
  border-color: var(--parsid-color-border-strong, rgba(255,255,255,.14)) !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
    textarea,
    select
  ) {
    /* Safari/iOS zooms focused text controls whose computed size is below 16px. */
    font-size: 16px !important;
  }
}
