/* REVB 390DG — site-wide mobile zoom accessibility
   Purpose: preserve browser pinch-to-zoom and pan throughout the site.
   The portrait crop canvas is intentionally excluded because it owns its
   pointer gestures for positioning/cropping an uploaded portrait. */

html,
body {
  touch-action: pan-x pan-y pinch-zoom;
}

/* Fixed/scrolling UI surfaces previously constrained to vertical touch only. */
.modal,
.modal-card,
.welcome-overlay,
.welcome-card,
.menu-drawer,
.directory-page,
.standalone-page,
.join-card,
.dashboard-card,
.protected-contact-card,
#signupLegalModal382,
#signupLegalModal382 .signup-legal-card-382,
#signupLegalModal382 .signup-legal-frame-382 {
  touch-action: pan-x pan-y pinch-zoom !important;
}

/* Keep controls responsive while retaining pinch zoom. `manipulation` allows
   pan + pinch while avoiding the old double-tap delay. */
a,
button,
input,
select,
textarea,
label,
summary {
  touch-action: manipulation;
}

/* Functional exception: this canvas must capture drag gestures for cropping. */
.portrait-crop-stage-356dg {
  touch-action: none;
}
