/* ═══════════════════════════════════════════════════════════════════
   base.css — cross-version invariants. Loaded by all three builds.

   Its main job is killing double-tap-to-zoom.

   `user-scalable=no` in the viewport meta has been IGNORED by iOS
   Safari since iOS 10 — Apple removed it deliberately for accessibility
   — so the meta tag alone does nothing. The tag stays for other
   browsers, but the behaviour that actually stops Safari zooming when
   you double-tap a button is `touch-action: manipulation`.

   It is applied to everything because `touch-action` does NOT inherit,
   so setting it on <body> would leave every button still zoomable. This
   is also why the Apple Pay button in particular misbehaved: it is the
   one control the app explicitly asks you to double-tap.

   `manipulation` is the right value, not `none`: it keeps scrolling and
   deliberate pinch-zoom working, and only removes the double-tap gesture.
   ═══════════════════════════════════════════════════════════════════ */

*,
*::before,
*::after {
  touch-action: manipulation;
}

/* Belt and braces on the controls that get tapped fast and repeatedly. */
button,
a,
[role="button"] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;   /* no "copy / share" popover on long-press */
  user-select: none;
}

/* Safari zooms the page when a focused input's font-size is under 16px.
   Nothing here takes typed input today, but this keeps that door shut. */
input,
select,
textarea {
  font-size: max(16px, 1em);
}
