
/* =========================================================
   我要买卡｜Stage 27 Checkout 与支付方式实质升级
   前端覆盖层：不修改价格、购物车请求、订单提交或支付参数
   ========================================================= */

body.wymk27-checkout-page {
  --wymk27-red: #d9232e;
  --wymk27-red-dark: #b51c27;
  --wymk27-green: #18864b;
  --wymk27-blue: #1769d2;
  --wymk27-border: #dfe4e8;
  --wymk27-text: #30353b;
  --wymk27-muted: #626970;
  --wymk27-bg: #f7f9fb;
}

/* 旧版零散提示在 Checkout 中合并为 Stage 27 统一模块，避免页面堆叠。 */
body.wymk27-checkout-page #wymk-checkout-readiness,
body.wymk27-checkout-page #wymk-checkout-fraud-warning,
body.wymk27-checkout-page #wymk-payment-method-help {
  display: none !important;
}

/* 顶部统一流程 */
#wymk27-checkout-hero {
  width: 100%;
  max-width: 1100px;
  margin: 0 0 18px;
  padding: 17px;
  border: 1px solid var(--wymk27-border);
  border-radius: 13px;
  background: linear-gradient(135deg, #fff 0%, #fff7f8 100%);
  color: var(--wymk27-text);
  box-sizing: border-box;
}

#wymk27-checkout-hero h2 {
  margin: 0 0 6px;
  font-size: 22px;
  line-height: 1.35;
}

#wymk27-checkout-hero > p {
  margin: 0;
  color: var(--wymk27-muted);
  line-height: 1.65;
}

#wymk27-checkout-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.wymk27-checkout-step {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #e4e8ec;
  border-radius: 10px;
  background: #fff;
}

.wymk27-checkout-step-number {
  display: inline-flex;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--wymk27-red);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.wymk27-checkout-step-text {
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

/* 数字商品与风控 */
#wymk27-digital-notice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  max-width: 1100px;
  margin: 0 0 18px;
}

.wymk27-notice-card {
  padding: 14px;
  border: 1px solid var(--wymk27-border);
  border-radius: 11px;
  background: #fff;
  box-sizing: border-box;
}

.wymk27-notice-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--wymk27-text);
}

.wymk27-notice-card p {
  margin: 0;
  color: var(--wymk27-muted);
  font-size: 13px;
  line-height: 1.65;
}

.wymk27-notice-card.is-safe {
  border-color: #e7b8bc;
  background: #fff6f7;
}

.wymk27-notice-card.is-safe strong {
  color: #85232c;
}

/* 订单摘要 */
#wymk27-order-summary {
  width: 100%;
  max-width: 1100px;
  margin: 0 0 18px;
  padding: 15px;
  border: 1px solid var(--wymk27-border);
  border-radius: 12px;
  background: var(--wymk27-bg);
  box-sizing: border-box;
}

#wymk27-order-summary h2 {
  margin: 0 0 10px;
  font-size: 19px;
}

#wymk27-order-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.wymk27-summary-item {
  min-width: 0;
  padding: 10px;
  border-radius: 9px;
  background: #fff;
}

.wymk27-summary-label {
  display: block;
  margin-bottom: 4px;
  color: #777e85;
  font-size: 11px;
}

.wymk27-summary-value {
  display: block;
  color: var(--wymk27-text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#wymk27-summary-products {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 9px;
  background: #fff;
  color: var(--wymk27-muted);
  font-size: 12px;
  line-height: 1.7;
}

/* 支付方式区域 */
.wymk27-payment-section {
  width: 100%;
  max-width: 1100px;
  margin-bottom: 18px;
}

.wymk27-payment-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 7px;
  margin: 0 0 10px;
}

.wymk27-payment-heading strong {
  font-size: 21px;
  color: var(--wymk27-text);
}

.wymk27-payment-heading span {
  color: var(--wymk27-muted);
  font-size: 12px;
}

.wymk27-payment-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.wymk27-payment-card {
  position: relative;
  display: flex !important;
  min-width: 230px;
  flex: 1 1 calc(50% - 10px);
  align-items: flex-start;
  gap: 10px;
  padding: 14px !important;
  border: 2px solid #dfe4e8 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  box-sizing: border-box !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.wymk27-payment-card:hover {
  border-color: #c9d0d7 !important;
  box-shadow: 0 8px 22px rgba(32, 39, 45, .07) !important;
}

.wymk27-payment-card.is-selected {
  border-color: var(--wymk27-red) !important;
  background: #fff7f8 !important;
  box-shadow: 0 0 0 3px rgba(217, 35, 46, .10) !important;
}

.wymk27-payment-card input[type="radio"] {
  width: 19px !important;
  height: 19px !important;
  min-height: 19px !important;
  flex: 0 0 19px;
  margin: 3px 0 0 !important;
  accent-color: var(--wymk27-red);
}

.wymk27-payment-card-main {
  min-width: 0;
  flex: 1 1 auto;
}

.wymk27-payment-name {
  display: block;
  color: var(--wymk27-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}

.wymk27-payment-description {
  display: block;
  margin-top: 4px;
  color: var(--wymk27-muted);
  font-size: 12px;
  line-height: 1.55;
}

.wymk27-payment-badge {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  margin: 7px 5px 0 0;
  padding: 3px 7px;
  border-radius: 999px;
  background: #f1f3f5;
  color: #555c63;
  font-size: 10px;
  font-weight: 700;
}

.wymk27-payment-card[data-wymk27-provider="paypal"] .wymk27-payment-badge {
  background: #eef5ff;
  color: #1455ad;
}

.wymk27-payment-card[data-wymk27-provider="wechat"] .wymk27-payment-badge {
  background: #eaf8ee;
  color: #19733a;
}

.wymk27-payment-card[data-wymk27-provider="alipay"] .wymk27-payment-badge {
  background: #edf5ff;
  color: #1361b8;
}

.wymk27-payment-card[data-wymk27-provider="bank"] .wymk27-payment-badge {
  background: #f5f2ff;
  color: #5a3d99;
}

/* 支付选择后的统一说明 */
#wymk27-selected-payment {
  display: none;
  margin-top: 10px;
  padding: 11px 13px;
  border-left: 4px solid var(--wymk27-red);
  border-radius: 8px;
  background: #fff7f8;
  color: #5e5556;
  font-size: 13px;
  line-height: 1.65;
}

#wymk27-selected-payment.is-visible {
  display: block;
}

/* 定位下一步/确认订单 */
#wymk27-action-dock {
  position: sticky;
  bottom: calc(10px + env(safe-area-inset-bottom));
  z-index: 5000;
  display: flex;
  width: min(760px, calc(100% - 20px));
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px auto 12px;
  padding: 11px 12px;
  border: 1px solid #d9dee3;
  border-radius: 12px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .14);
  backdrop-filter: blur(8px);
  box-sizing: border-box;
}

#wymk27-action-dock-text {
  min-width: 0;
  color: var(--wymk27-muted);
  font-size: 12px;
  line-height: 1.45;
}

#wymk27-action-dock-text strong {
  display: block;
  color: var(--wymk27-text);
  font-size: 13px;
}

#wymk27-find-action {
  display: inline-flex;
  min-height: 42px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  border: 1px solid var(--wymk27-red);
  border-radius: 9px;
  background: var(--wymk27-red);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

#wymk27-find-action:hover {
  background: var(--wymk27-red-dark);
}

/* 原始确认/继续按钮增强，不改变功能 */
body.wymk27-checkout-page .wymk27-original-action {
  min-height: 46px !important;
  padding: 10px 18px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

body.wymk27-checkout-page .wymk27-action-highlight {
  outline: 4px solid rgba(217, 35, 46, .22) !important;
  outline-offset: 4px !important;
}

/* Checkout 页底部重复付款图标隐藏，仅限 footer */
body.wymk27-checkout-page footer [class*="payment"],
body.wymk27-checkout-page #footer [class*="payment"],
body.wymk27-checkout-page .footer [class*="payment"],
body.wymk27-checkout-page footer img[alt*="PayPal" i],
body.wymk27-checkout-page #footer img[alt*="PayPal" i],
body.wymk27-checkout-page .footer img[alt*="PayPal" i] {
  display: none !important;
}

/* 成功页 */
#wymk27-success-hero {
  max-width: 960px;
  margin: 0 auto 20px;
  padding: 22px;
  border: 1px solid #bfe0c9;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff 0%, #effaf2 100%);
  box-sizing: border-box;
}

#wymk27-success-hero h1,
#wymk27-success-hero h2 {
  margin: 0 0 8px;
  color: #176c36;
}

#wymk27-success-hero p {
  margin: 0;
  color: #53605a;
  line-height: 1.7;
}

#wymk27-success-checklist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 15px;
}

.wymk27-success-item {
  padding: 11px;
  border-radius: 9px;
  background: #fff;
  color: #4d5751;
  font-size: 12px;
  line-height: 1.5;
}

#wymk27-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}

#wymk27-success-actions a,
#wymk27-success-actions button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  border: 1px solid #d5dbe0;
  border-radius: 8px;
  background: #fff;
  color: #30363b !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
}

#wymk27-success-actions a:first-child {
  border-color: var(--wymk27-red);
  background: var(--wymk27-red);
  color: #fff !important;
}

/* 付款异常提示 */
#wymk27-payment-state {
  max-width: 960px;
  margin: 0 auto 18px;
  padding: 15px;
  border: 1px solid #e5c36e;
  border-radius: 11px;
  background: #fff9e7;
  color: #654f16;
  line-height: 1.7;
  box-sizing: border-box;
}

#wymk27-payment-state strong {
  display: block;
  margin-bottom: 4px;
}

/* 手机端 */
@media (max-width: 767px) {
  #wymk27-checkout-steps,
  #wymk27-order-summary-grid,
  #wymk27-success-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #wymk27-digital-notice {
    grid-template-columns: 1fr;
  }

  .wymk27-payment-list {
    display: flex !important;
    flex-direction: column !important;
  }

  .wymk27-payment-card {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  #wymk27-action-dock {
    position: sticky;
    width: calc(100% - 14px);
    flex-direction: column;
    align-items: stretch;
    margin-bottom: calc(8px + env(safe-area-inset-bottom));
  }

  #wymk27-find-action {
    width: 100%;
  }
}

@media (max-width: 420px) {
  #wymk27-checkout-steps,
  #wymk27-order-summary-grid,
  #wymk27-success-checklist {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wymk27-payment-card {
    transition: none !important;
  }
}

@media print {
  #wymk27-action-dock,
  #wymk27-find-action {
    display: none !important;
  }
}


/* =========================================================
   Stage 27.1｜根据实际截图修正
   ========================================================= */

/* 隐藏付款方式卡片上方重复的旧标题 */
body.wymk27-checkout-page .wymk27-payment-duplicate-heading,
body.wymk27-checkout-page .wymk27-original-payment-copy {
  display: none !important;
}

/* 付款方式主标题优先显示实际名称，布局更紧凑 */
body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 92px;
  padding: 13px 15px !important;
  align-items: flex-start;
}

body.wymk27-checkout-page .wymk27-payment-name {
  font-size: 14px;
  line-height: 1.45;
}

body.wymk27-checkout-page .wymk27-payment-description {
  max-width: 620px;
}

/* 订单摘要未识别邮箱时不显示错误感很强的“尚未识别” */
body.wymk27-checkout-page .wymk27-summary-value[data-wymk27-email="1"] {
  color: #565d64;
}

/* 彻底隐藏结账页页脚“我们支持的支付方式”整块，避免与上方付款方式重复 */
body.wymk27-checkout-page .wymk27-footer-payment-strip {
  display: none !important;
}

/* 页面下方原有支付按钮占满可用区域，但不改按钮行为 */
body.wymk27-checkout-page #content .wymk27-original-action,
body.wymk27-checkout-page main .wymk27-original-action {
  max-width: 100%;
}

/* 手机端进一步压缩付款卡片高度 */
@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card {
    min-height: 0;
    padding: 12px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-description {
    font-size: 11px;
  }
}


/* =========================================================
   Stage 27.2｜付款方式图片与说明修正
   ========================================================= */

.wymk27-payment-card-main {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.wymk27-payment-visual {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: flex-start;
}

.wymk27-payment-visual img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.wymk27-payment-copy {
  min-width: 0;
}

.wymk27-payment-name,
.wymk27-payment-description {
  display: block;
}

@media (max-width: 767px) {
  .wymk27-payment-card-main {
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 9px;
  }

  .wymk27-payment-visual img {
    height: 46px !important;
    max-height: 46px !important;
  }
}

@media (max-width: 420px) {
  .wymk27-payment-card-main {
    grid-template-columns: 1fr;
  }

  .wymk27-payment-visual {
    min-height: 0;
  }

  .wymk27-payment-visual img {
    height: 48px !important;
  }
}


/* =========================================================
   Stage 27.3｜付款卡片实际页面布局修复
   ========================================================= */

body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 15px !important;
}

body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  align-self: center !important;
  margin: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-card-main {
  display: grid !important;
  grid-template-columns: minmax(180px, 280px) minmax(0, 1fr) !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual {
  display: flex !important;
  min-width: 0 !important;
  min-height: 58px !important;
  align-items: center !important;
  justify-content: center !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  width: auto !important;
  max-width: 280px !important;
  height: 62px !important;
  max-height: 62px !important;
  object-fit: contain !important;
}

body.wymk27-checkout-page .wymk27-payment-copy {
  display: block !important;
  min-width: 0 !important;
  text-align: left !important;
}

body.wymk27-checkout-page .wymk27-payment-name {
  margin: 0 0 4px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

body.wymk27-checkout-page .wymk27-payment-description {
  max-width: none !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* 旧付款模块的文字与图片由 Stage 27.3 统一替换 */
body.wymk27-checkout-page .wymk27-original-payment-content {
  display: none !important;
}

/* 结账页底部支付方式横幅 */
body.wymk27-checkout-page footer .wymk27-footer-payment-strip,
body.wymk27-checkout-page #footer .wymk27-footer-payment-strip,
body.wymk27-checkout-page .footer .wymk27-footer-payment-strip {
  display: none !important;
}

@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card {
    min-height: 0 !important;
  }

  body.wymk27-checkout-page .wymk27-payment-card-main {
    grid-template-columns: 135px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-width: 135px !important;
    height: 48px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-card-main {
    grid-template-columns: 1fr !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual {
    justify-content: flex-start !important;
  }
}


/* Stage 27.4｜付款方式图片改回较早通过样式 */
body.wymk27-checkout-page .wymk27-payment-card-main {
  grid-template-columns: minmax(210px, 320px) minmax(0, 1fr) !important;
  gap: 16px !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  max-width: 320px !important;
  height: 66px !important;
  max-height: 66px !important;
}

@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card-main {
    grid-template-columns: 150px minmax(0, 1fr) !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-width: 150px !important;
    height: 52px !important;
    max-height: 52px !important;
  }
}


/* Stage 27.5｜付款方式图片改为用户确认的宽版风格 */
body.wymk27-checkout-page .wymk27-payment-card-main {
  grid-template-columns: minmax(420px, 580px) minmax(0, 1fr) !important;
  gap: 18px !important;
}

body.wymk27-checkout-page .wymk27-payment-visual {
  justify-content: flex-start !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  width: 100% !important;
  max-width: 580px !important;
  height: auto !important;
  max-height: none !important;
}

@media (max-width: 991px) {
  body.wymk27-checkout-page .wymk27-payment-card-main {
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr) !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-width: 420px !important;
  }
}

@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card-main {
    grid-template-columns: 1fr !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-width: 100% !important;
  }
}


/* =========================================================
   Stage 27.6｜宽版付款图片紧急布局修复
   ========================================================= */

/* 付款卡片恢复正常高度 */
body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  overflow: hidden !important;
}

/* 宽版图片本身已经包含名称和说明，因此改成单列 */
body.wymk27-checkout-page .wymk27-payment-card-main {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}

/* 隐藏右侧重复名称、说明和标签，防止竖排文字 */
body.wymk27-checkout-page .wymk27-payment-copy {
  display: none !important;
}

/* 宽图占满卡片剩余空间 */
body.wymk27-checkout-page .wymk27-payment-visual {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  max-height: 118px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* 单选框保持正常位置 */
body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  align-self: center !important;
}

/* 避免 Journal 原样式重新撑高 */
body.wymk27-checkout-page .wymk27-payment-card,
body.wymk27-checkout-page .wymk27-payment-card > *,
body.wymk27-checkout-page .wymk27-payment-card-main,
body.wymk27-checkout-page .wymk27-payment-visual {
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
}

/* 中等宽度 */
@media (max-width: 991px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-width: 100% !important;
    max-height: 104px !important;
  }
}

/* 手机端 */
@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card {
    padding: 8px 10px !important;
    gap: 8px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 88px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 76px !important;
  }
}


/* =========================================================
   Stage 27.7｜宽版付款图片全宽对齐修复
   ========================================================= */

body.wymk27-checkout-page .wymk27-payment-card {
  justify-content: flex-start !important;
}

body.wymk27-checkout-page .wymk27-payment-card-main {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
}

body.wymk27-checkout-page .wymk27-payment-visual {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 118px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* 清除旧主题在付款卡片内部留下的空白占位 */
body.wymk27-checkout-page .wymk27-payment-card > label:empty,
body.wymk27-checkout-page .wymk27-payment-card > span:empty,
body.wymk27-checkout-page .wymk27-payment-card > div:empty,
body.wymk27-checkout-page .wymk27-payment-card .wymk27-original-payment-content {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 单选框与图片之间保持正常间距 */
body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  margin-right: 10px !important;
}

@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 92px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 78px !important;
  }
}


/* =========================================================
   Stage 27.8｜结算页美工优化 + 指定付款方式宽图
   ========================================================= */

body.wymk27-checkout-page {
  background: linear-gradient(180deg, #f5f6f8 0%, #f7f8fa 100%) !important;
}

body.wymk27-checkout-page #content > h1,
body.wymk27-checkout-page .page-title h1,
body.wymk27-checkout-page .breadcrumb + h1 {
  margin-bottom: 18px !important;
  color: #1f2430 !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
}

/* 顶部模块统一更柔和的卡片风格 */
#wymk27-checkout-hero,
#wymk27-digital-notice,
#wymk27-order-summary,
.wymk27-payment-section {
  max-width: 1180px !important;
}

#wymk27-checkout-hero,
.wymk27-notice-card,
#wymk27-order-summary,
.wymk27-payment-section {
  box-shadow: 0 10px 30px rgba(22, 29, 37, .04) !important;
}

#wymk27-checkout-hero {
  padding: 22px 22px 18px !important;
  border: 1px solid #ebeef2 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fff8f8 100%) !important;
}

#wymk27-checkout-hero h2 {
  font-size: 28px !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

#wymk27-checkout-hero > p {
  font-size: 14px !important;
}

.wymk27-checkout-step {
  border-radius: 14px !important;
  background: #fff !important;
}

#wymk27-digital-notice {
  gap: 14px !important;
}

.wymk27-notice-card {
  border-radius: 16px !important;
  padding: 16px 18px !important;
  border-color: #edf1f4 !important;
}

.wymk27-notice-card.is-safe {
  border-color: #f0c8cb !important;
}

#wymk27-order-summary {
  padding: 18px !important;
  border-radius: 18px !important;
  border-color: #ebeef2 !important;
  background: #fbfcfd !important;
}

#wymk27-order-summary h2 {
  font-size: 24px !important;
  font-weight: 800 !important;
}

.wymk27-summary-item,
#wymk27-summary-products {
  border: 1px solid #edf1f4 !important;
  border-radius: 12px !important;
}

/* 支付方式主容器 */
.wymk27-payment-section {
  padding: 18px !important;
  border: 1px solid #ebeef2 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.wymk27-payment-heading {
  margin-bottom: 14px !important;
}

.wymk27-payment-heading strong {
  font-size: 28px !important;
  font-weight: 800 !important;
}

.wymk27-payment-heading span {
  font-size: 13px !important;
}

/* 使用用户指定的整张付款图，隐藏文字副本 */
body.wymk27-checkout-page .wymk27-payment-list {
  gap: 14px !important;
}

body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 0 !important;
  padding: 12px 14px !important;
  gap: 12px !important;
  align-items: center !important;
  border: 1px solid #e7ebef !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fdfdfd 100%) !important;
  box-shadow: 0 6px 20px rgba(14, 21, 28, .035) !important;
  overflow: hidden !important;
}

body.wymk27-checkout-page .wymk27-payment-card:hover {
  border-color: #d6dde4 !important;
  box-shadow: 0 14px 28px rgba(14, 21, 28, .07) !important;
  transform: translateY(-1px);
}

body.wymk27-checkout-page .wymk27-payment-card.is-selected {
  border-color: #d9232e !important;
  background: linear-gradient(180deg, #fffefe 0%, #fff7f8 100%) !important;
  box-shadow: 0 0 0 4px rgba(217, 35, 46, .08), 0 14px 32px rgba(217, 35, 46, .10) !important;
}

body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 2px 0 0 !important;
  align-self: center !important;
}

body.wymk27-checkout-page .wymk27-payment-card-main {
  display: block !important;
  width: auto !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 120px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  border-radius: 16px !important;
}

body.wymk27-checkout-page .wymk27-payment-copy,
body.wymk27-checkout-page .wymk27-original-payment-copy,
body.wymk27-checkout-page .wymk27-payment-badge {
  display: none !important;
}

/* 订单备注与明细表 */
body.wymk27-checkout-page textarea,
body.wymk27-checkout-page textarea.form-control,
body.wymk27-checkout-page #input-comment {
  min-height: 112px !important;
  padding: 14px 16px !important;
  border: 1px solid #e5eaef !important;
  border-radius: 14px !important;
  background: #fcfdfe !important;
  box-shadow: inset 0 1px 2px rgba(31, 36, 48, .02);
}

body.wymk27-checkout-page table,
body.wymk27-checkout-page .table,
body.wymk27-checkout-page .table-responsive {
  border-radius: 14px !important;
}

body.wymk27-checkout-page .table > tbody > tr > td,
body.wymk27-checkout-page .table > tfoot > tr > td,
body.wymk27-checkout-page .table > tbody > tr > th,
body.wymk27-checkout-page .table > tfoot > tr > th {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  vertical-align: middle !important;
}

/* PayPal 按钮与下一步引导 */
body.wymk27-checkout-page .paypal-button,
body.wymk27-checkout-page [class*="paypal"] button,
body.wymk27-checkout-page [class*="paypal"] .btn,
body.wymk27-checkout-page .btn-primary {
  border-radius: 12px !important;
}

#wymk27-selected-payment {
  margin-top: 12px !important;
  border-left-width: 5px !important;
  border-radius: 12px !important;
  background: #fff8f8 !important;
}

#wymk27-action-dock {
  width: min(820px, calc(100% - 20px)) !important;
  padding: 13px 14px !important;
  border-radius: 16px !important;
  border-color: #e0e6eb !important;
  box-shadow: 0 18px 38px rgba(15, 22, 30, .12) !important;
}

#wymk27-find-action {
  min-height: 44px !important;
  padding: 10px 18px !important;
  border-radius: 11px !important;
}

/* checkout 页脚上方的底部付款图标区保留隐藏，避免重复 */

@media (max-width: 991px) {
  body.wymk27-checkout-page #content > h1,
  body.wymk27-checkout-page .page-title h1,
  body.wymk27-checkout-page .breadcrumb + h1 {
    font-size: 32px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 104px !important;
  }
}

@media (max-width: 767px) {
  #wymk27-checkout-hero,
  #wymk27-order-summary,
  .wymk27-payment-section {
    padding: 15px !important;
    border-radius: 16px !important;
  }

  #wymk27-checkout-hero h2,
  #wymk27-order-summary h2,
  .wymk27-payment-heading strong {
    font-size: 22px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-card {
    padding: 10px 10px !important;
    border-radius: 14px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
  body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
    margin-right: 6px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 88px !important;
    border-radius: 12px !important;
  }

  #wymk27-action-dock {
    width: calc(100% - 14px) !important;
    gap: 10px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 76px !important;
  }

  #wymk27-checkout-hero h2,
  #wymk27-order-summary h2,
  .wymk27-payment-heading strong {
    font-size: 20px !important;
  }
}


/* =========================================================
   Stage 27.9｜付款图片裁边贴合修复
   ========================================================= */

/* 付款卡片不再制造第二层“大白框” */
body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 0 !important;
  padding: 8px 10px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* 图片裁掉原素材外层白边后，直接铺满可用区域 */
body.wymk27-checkout-page .wymk27-payment-card-main,
body.wymk27-checkout-page .wymk27-payment-visual {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 112px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* 单选框靠近图片，不再出现大片无效空白 */
body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  margin: 0 8px 0 0 !important;
}

/* 选中状态更干净 */
body.wymk27-checkout-page .wymk27-payment-card.is-selected {
  background: #fffafb !important;
  box-shadow:
    0 0 0 3px rgba(217, 35, 46, .08),
    0 12px 26px rgba(217, 35, 46, .08) !important;
}

/* 页面整体再收紧一点 */
body.wymk27-checkout-page .wymk27-payment-list {
  gap: 10px !important;
}

body.wymk27-checkout-page .wymk27-payment-section {
  padding: 16px !important;
}

body.wymk27-checkout-page textarea,
body.wymk27-checkout-page textarea.form-control,
body.wymk27-checkout-page #input-comment {
  min-height: 96px !important;
}

@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card {
    padding: 7px 8px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 88px !important;
    border-radius: 11px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 74px !important;
  }
}


/* =========================================================
   Stage 27.10｜结算页最终收尾
   ========================================================= */

/* 付款行更紧凑 */
body.wymk27-checkout-page .wymk27-payment-card {
  min-height: 0 !important;
  padding: 6px 8px !important;
  border-radius: 16px !important;
  box-shadow: 0 3px 12px rgba(18, 26, 34, .025) !important;
}

/* 图片放大约 15%，减弱“内层小卡片”感 */
body.wymk27-checkout-page .wymk27-payment-visual {
  overflow: hidden !important;
  border-radius: 12px !important;
}

body.wymk27-checkout-page .wymk27-payment-visual img {
  width: 115% !important;
  max-width: 115% !important;
  height: auto !important;
  max-height: 116px !important;
  margin-left: -7.5% !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* 弱化图片自身边框效果 */
body.wymk27-checkout-page .wymk27-payment-card:not(.is-selected) {
  border-color: #edf0f3 !important;
  background: #ffffff !important;
}

body.wymk27-checkout-page .wymk27-payment-card:hover {
  border-color: #dfe4e9 !important;
  box-shadow: 0 7px 18px rgba(18, 26, 34, .045) !important;
}

/* 选中状态保留但更柔和 */
body.wymk27-checkout-page .wymk27-payment-card.is-selected {
  border-color: #e12a35 !important;
  background: #fffafb !important;
  box-shadow:
    0 0 0 2px rgba(217, 35, 46, .06),
    0 8px 20px rgba(217, 35, 46, .07) !important;
}

/* 单选框与图片间距再缩小 */
body.wymk27-checkout-page .wymk27-payment-card > input[type="radio"],
body.wymk27-checkout-page .wymk27-payment-card input[type="radio"] {
  margin-right: 5px !important;
}

/* 支付方式区整体再紧凑 */
body.wymk27-checkout-page .wymk27-payment-list {
  gap: 8px !important;
}

body.wymk27-checkout-page .wymk27-payment-section {
  padding: 14px !important;
}

/* 底部区域轻量优化 */
body.wymk27-checkout-page textarea,
body.wymk27-checkout-page textarea.form-control,
body.wymk27-checkout-page #input-comment {
  min-height: 88px !important;
}

body.wymk27-checkout-page #wymk27-action-dock {
  padding: 10px 12px !important;
  border-radius: 14px !important;
}

/* 手机端 */
@media (max-width: 767px) {
  body.wymk27-checkout-page .wymk27-payment-card {
    padding: 5px 6px !important;
  }

  body.wymk27-checkout-page .wymk27-payment-visual img {
    width: 112% !important;
    max-width: 112% !important;
    margin-left: -6% !important;
    max-height: 86px !important;
  }
}

@media (max-width: 420px) {
  body.wymk27-checkout-page .wymk27-payment-visual img {
    max-height: 72px !important;
  }
}
