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

body {
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

a,
button,
input,
textarea,
select,
label {
  touch-action: manipulation;
}

button {
  -webkit-appearance: none;
  appearance: none;
}

input,
textarea,
select,
.search-field {
  font-size: 16px !important;
  border-radius: 8px;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
}

input[type="search"],
input[type="text"],
input[type="tel"] {
  -webkit-appearance: none;
  appearance: none;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

img {
  -webkit-touch-callout: none;
}

html.is-locked,
body.is-locked {
  overflow: hidden;
}

body.is-locked {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
}

body.is-searching .search-dock,
body.is-searching .tabbar,
body.is-keyboard .search-dock,
body.is-keyboard .tabbar {
  visibility: hidden;
  pointer-events: none;
}

.search-mask {
  top: var(--vv-top, 0px);
  left: var(--vv-left, 0px);
  width: var(--vv-width, 100%);
  height: var(--vv-height, 100dvh);
  right: auto;
  bottom: auto;
  align-items: stretch;
  background: #fff;
}

.search-sheet {
  width: min(430px, 100%);
  height: 100%;
  max-height: 100%;
  border-radius: 0;
  padding: 10px 16px max(12px, env(safe-area-inset-bottom, 0px));
}

body.is-keyboard .search-sheet {
  max-height: 100%;
  border-radius: 0;
  padding-bottom: 8px;
}

body.is-keyboard .search-confirm:not(.has-pick) {
  display: none;
}

html.is-wechat .pay-sheet {
  max-height: calc(var(--vv-height, 100dvh) * 0.78);
}

html.is-ios.is-wechat .hero {
  background-color: #e8f2ff;
}
