/* Only the order payment password keyboard. The Vant component is teleported to body. */
.van-number-keyboard.mall-payment-keyboard {
  position: fixed !important;
  inset-inline-start: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  box-sizing: border-box;
  width: min(100vw, 480px) !important;
  max-width: 480px !important;
  transform: translateX(-50%) !important;
  z-index: 3000 !important;
  padding: 10px 10px max(12px, env(safe-area-inset-bottom)) !important;
  background: #f7f4f1 !important;
  border: 1px solid #e8ddd5;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -10px 28px #2d241a24;
}
.van-number-keyboard.mall-payment-keyboard .van-number-keyboard__body {
  background: transparent;
}
.van-number-keyboard.mall-payment-keyboard .van-key {
  min-height: 48px;
  color: #26352f;
  background: #fff;
  border-radius: 10px;
  font-size: 20px;
  font-weight: 650;
}
.van-number-keyboard.mall-payment-keyboard .van-key:active,
.van-number-keyboard.mall-payment-keyboard .van-key--active {
  background: #ecdfd6;
}

/* Payment panel only: warm storefront tones, with room to scroll above the fixed keyboard. */
html body .pay-panel-container[data-v-c159837c] {
  --pay-ink: #26352f;
  --pay-accent: #a95436;
  --pay-line: #e8ddd5;
  box-sizing: border-box;
  width: 100%;
  max-width: 480px;
  height: 100dvh;
  min-height: 0;
  max-height: 100dvh;
  margin: 0 auto;
  padding: 16px 16px calc(270px + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--pay-ink);
  background: #fffdfa;
}
html body .pay-panel-container[data-v-c159837c] > * {
  flex-shrink: 0;
}
html body .pay-panel-container[data-v-c159837c] .title-row {
  padding-top: 8px;
  color: var(--pay-ink);
  font-weight: 650;
}
html body .pay-panel-container[data-v-c159837c] .title-row svg {
  color: var(--pay-accent);
}
html body .pay-panel-container[data-v-c159837c] .money-row {
  padding-top: 24px;
  color: var(--pay-accent);
  font-size: clamp(30px, 8vw, 40px);
}
html body .pay-panel-container[data-v-c159837c] .order-info {
  color: #68736d;
}
html body .pay-panel-container[data-v-c159837c] .card-container {
  box-sizing: border-box;
  background: #f8f4ef;
  border: 1px solid var(--pay-line);
  border-radius: 12px 12px 0 0;
  box-shadow: 0 3px 12px #4d33210d;
}
html body .pay-panel-container[data-v-c159837c] .card-container-center {
  border-top: 0;
  border-radius: 0 0 12px 12px;
  color: var(--pay-accent);
}
html body .pay-panel-container[data-v-c159837c] .card-value {
  color: var(--pay-ink);
}
html body .pay-panel-container[data-v-c159837c] .pwd-container {
  box-sizing: border-box;
  width: min(100%, 380px);
  margin: 0 auto;
  padding: 22px 0 0;
}
html body .pay-panel-container[data-v-c159837c] .van-password-input__security li.van-password-input__item {
  box-sizing: border-box;
  height: 52px;
  color: var(--pay-ink);
  background: #fffdfa !important;
  border: 1px solid var(--pay-line);
  border-radius: 8px;
  box-shadow: 0 2px 7px #4d33210a;
}
html body .pay-panel-container[data-v-c159837c] .van-password-input__security li.van-password-input__item i {
  background: var(--pay-accent);
}
