/* ══════════════════════════════════════════════════════════════════════════
   BroPro — shared native touch behaviour (all verticals)
   Small, low-specificity rules that make every page behave like an installed
   app on phones and tablets. Touchscreen-only where it matters, so desktop
   rendering is unchanged.
   ══════════════════════════════════════════════════════════════════════════ */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* No grey flash on tap; no double-tap-to-zoom delay on controls. */
a,
button,
summary,
label,
[role="button"],
[role="tab"],
[role="menuitem"],
input[type="button"],
input[type="submit"],
input[type="checkbox"],
input[type="radio"] {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

/* iOS Safari zooms the whole page when a field under 16px gets focus.
   Native apps never do that, so text fields are at least 16px on touch screens. */
@media (hover: none) and (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]),
    textarea,
    select {
        font-size: max(16px, 1em) !important;
    }
}
