/* ==========================================================================
   DH · 会员支付弹窗 高端质感皮肤 (injected 2026-10-11)
   目标类:.auth-modal-mask.payment-modal-mask > section.payment-modal
   仅作用于支付弹窗, 不影响其它弹窗/页面。
   ========================================================================== */

/* ---- 遮罩:玻璃磨砂 + 品牌光晕 ---- */
.payment-modal-mask.auth-modal-mask {
  background:
    radial-gradient(120% 90% at 50% -12%, rgba(19, 184, 166, .22), transparent 58%),
    radial-gradient(90% 70% at 100% 110%, rgba(12, 143, 106, .16), transparent 60%),
    rgba(8, 22, 19, .62) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
}

/* ---- 卡片:立体投影 + 玻璃描边 ---- */
.payment-modal-mask .payment-modal {
  width: min(442px, calc(100vw - 28px)) !important;
  max-width: 442px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  border-radius: 26px !important;
  background: #ffffff !important;
  color: #0e2a26 !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 44px 90px -30px rgba(4, 60, 48, .55),
    0 16px 38px rgba(4, 60, 48, .20),
    0 0 0 1px rgba(15, 148, 136, .05) !important;
}

/* ---- 顶部品牌渐变头(立体 + 光泽) ---- */
.payment-modal-mask .payment-modal > header {
  margin: 0 !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 20px 22px 18px !important;
  border-bottom: 0 !important;
  position: relative !important;
  background:
    radial-gradient(140% 130% at 0% 0%, rgba(255, 255, 255, .26), transparent 46%),
    radial-gradient(120% 120% at 100% 0%, rgba(255, 255, 255, .10), transparent 50%),
    linear-gradient(135deg, #12a294 0%, #0e8378 46%, #0a5c56 100%) !important;
}
.payment-modal-mask .payment-modal > header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent);
}
.payment-modal-mask .payment-modal > header p {
  margin: 0 0 8px !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .84) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .22em !important;
}
.payment-modal-mask .payment-modal > header h3 {
  margin: 0 0 5px !important;
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 1px 3px rgba(0, 40, 34, .28);
}
.payment-modal-mask .payment-modal > header span {
  color: rgba(255, 255, 255, .9) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.payment-modal-mask .payment-modal > header button {
  border: 1px solid rgba(255, 255, 255, .55) !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, .14) !important;
  border-radius: 999px !important;
  padding: 8px 15px !important;
  font-weight: 700 !important;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: background .18s ease;
}
.payment-modal-mask .payment-modal > header button:hover {
  background: rgba(255, 255, 255, .3) !important;
}

/* ---- 主体 ---- */
.payment-modal-mask .payment-modal .payment-body {
  padding: 20px 22px 22px !important;
  gap: 16px !important;
  background: #ffffff !important;
}

/* ---- 应付金额卡(浅色浮雕 + 碧色渐变金额) ---- */
.payment-modal-mask .payment-modal .payment-amount {
  gap: 3px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(15, 148, 136, .16) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #f4fbf9, #edf7f4) !important;
  box-shadow:
    0 1px 0 #ffffff inset,
    0 10px 22px -16px rgba(15, 148, 136, .6) !important;
}
.payment-modal-mask .payment-modal .payment-amount span {
  color: #5c7c77 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.payment-modal-mask .payment-modal .payment-amount strong {
  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: .01em !important;
  color: #0a6f66;
  background: linear-gradient(135deg, #12b09f 0%, #0a7a70 52%, #0c8f6a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.payment-modal-mask .payment-modal .payment-amount small {
  color: #8aa8a3 !important;
  font-size: 12px !important;
  word-break: break-all;
}

/* ---- 二维码区(浮层 + 立体边框) ---- */
.payment-modal-mask .payment-modal .payment-qr {
  position: relative !important;
  padding: 18px !important;
  gap: 14px !important;
  border: 1px solid rgba(15, 148, 136, .14) !important;
  border-radius: 18px !important;
  background: radial-gradient(120% 100% at 50% 0%, #f2fbf8, #ffffff 72%) !important;
  box-shadow: 0 16px 34px -22px rgba(15, 148, 136, .7) !important;
}
.payment-modal-mask .payment-modal .payment-qr img {
  width: min(220px, 72vw) !important;
  height: auto !important;
  aspect-ratio: 1;
  border: 10px solid #ffffff !important;
  border-radius: 14px !important;
  box-shadow:
    0 12px 28px -14px rgba(6, 60, 50, .45),
    0 0 0 1px rgba(15, 148, 136, .10) !important;
}
.payment-modal-mask .payment-modal .payment-qr p {
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5c7c77 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}
.payment-modal-mask .payment-modal .payment-qr button {
  min-height: 46px !important;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  background: linear-gradient(135deg, #14bfab, #0f9488) !important;
  box-shadow: 0 16px 28px -12px rgba(15, 148, 136, .75) !important;
  transition: transform .16s ease, filter .16s ease;
}
.payment-modal-mask .payment-modal .payment-qr button:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

/* ---- 支付成功 / 加载态 ---- */
.payment-modal-mask .payment-modal .payment-paid {
  gap: 16px !important;
  padding: 12px 0 6px !important;
}
.payment-modal-mask .payment-modal .payment-paid b {
  color: #0a7a70 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}
.payment-modal-mask .payment-modal .payment-paid button {
  min-height: 46px !important;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #14bfab, #0f9488) !important;
  box-shadow: 0 16px 28px -12px rgba(15, 148, 136, .7) !important;
}
.payment-modal-mask .payment-modal .payment-loading {
  color: #5c7c77 !important;
  text-align: center;
  padding: 30px 0;
}

/* ---- 移动端 ---- */
@media (max-width: 560px) {
  .payment-modal-mask .payment-modal > header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 18px 18px 16px !important;
  }
  .payment-modal-mask .payment-modal > header button {
    width: auto !important;
    align-self: flex-start !important;
    padding: 8px 14px !important;
  }
  .payment-modal-mask .payment-modal .payment-body { padding: 16px 16px 18px !important; }
  .payment-modal-mask .payment-modal .payment-amount strong { font-size: 30px !important; }
}
