html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.app-shell {
  width: min(100%, 540px) !important;
  max-width: 100vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-x: hidden !important;
}

.customer-gate-overlay {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  transform: none !important;
  touch-action: pan-y !important;
}

.customer-gate-box {
  min-width: 0 !important;
  max-width: min(430px, calc(100vw - 24px)) !important;
  overflow-x: hidden !important;
  transform: none !important;
  will-change: auto !important;
  touch-action: pan-y !important;
}

.customer-register-form,
.customer-register-form > label,
.customer-register-form input,
.customer-register-form button {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.customer-register-form input,
.customer-gate-box input,
.customer-gate-box textarea,
.customer-gate-box select,
.customer-gate-box button,
.customer-gate-primary,
.customer-gate-secondary,
.customer-gate-danger {
  font-size: 16px !important;
}

.customer-terms-label,
.customer-terms-label span,
.customer-gate-user,
.customer-gate-status {
  font-size: 14px !important;
}

body.mobile-viewport-reset,
body.mobile-viewport-reset #app {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

@supports (-webkit-touch-callout: none) {
  input,
  textarea,
  select {
    font-size: 16px !important;
  }
}