/*
 * Mobile interaction stability.
 * Prevent Safari's small-field focus zoom and double-tap zoom without
 * disabling accessibility pinch zoom. MapLibre keeps its own gesture surface.
 */
html {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

html,
body,
button,
a,
[role="button"],
input,
select,
textarea {
  touch-action: manipulation;
}

#map,
#map canvas,
#map .maplibregl-canvas-container {
  touch-action: none !important;
}

@media (hover: none) and (pointer: coarse), (max-width: 820px) {
  :is(
    input:not([type]),
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="search"],
    input[type="date"],
    input[type="time"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    select,
    textarea
  ) {
    font-size: 16px !important;
  }
}
