/* ===== 支付页面 ===== */
.pay-page{
  min-height:calc(100vh - var(--topbar-h));
  background:var(--bg);
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:40px 20px;
}
.pay-container{
  max-width:520px;
  width:100%;
}

/* ===== 订单摘要卡片 ===== */
.pay-order-card{
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  overflow:hidden;
  margin-bottom:20px;
}
.pay-order-header{
  background:var(--ink-2);
  color:#fff;
  padding:20px 24px;
}
.pay-order-header h2{
  font-size:18px;
  font-weight:700;
  margin:0 0 4px;
}
.pay-order-header p{
  font-size:13px;
  opacity:.75;
  margin:0;
}
.pay-order-body{
  padding:24px;
}
.pay-order-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line-light);
  font-size:14px;
}
.pay-order-row:last-child{border-bottom:none}
.pay-order-row .label{color:var(--muted)}
.pay-order-row .value{font-weight:600;color:var(--ink)}
.pay-order-row .value.price{font-size:24px;color:var(--orange)}

/* ===== 支付方式选择 ===== */
.pay-method-section{
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  padding:20px 24px;
  margin-bottom:20px;
}
.pay-method-title{
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:16px;
}
.pay-method-option{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:2px solid var(--line);
  border-radius:var(--radius-sm);
  cursor:pointer;
  transition:border-color .2s;
}
.pay-method-option.selected{
  border-color:var(--orange);
  background:var(--orange-bg);
}
.pay-method-radio{
  width:20px;
  height:20px;
  border-radius:50%;
  border:2px solid var(--line);
  flex-shrink:0;
  position:relative;
  transition:border-color .2s;
}
.pay-method-option.selected .pay-method-radio{
  border-color:var(--orange);
}
.pay-method-option.selected .pay-method-radio::after{
  content:'';
  position:absolute;
  inset:3px;
  background:var(--orange);
  border-radius:50%;
}
.pay-method-icon{
  font-size:24px;
  line-height:1;
}
.pay-method-name{
  font-size:15px;
  font-weight:600;
  color:var(--ink);
}
.pay-method-desc{
  font-size:12px;
  color:var(--faint);
  margin-left:auto;
}

/* ===== 支付按钮 ===== */
.pay-submit{
  width:100%;
  padding:14px;
  background:var(--orange);
  color:#fff;
  border:none;
  border-radius:var(--radius-sm);
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s;
}
.pay-submit:hover{background:var(--orange-hover)}
.pay-submit:disabled{opacity:.6;cursor:default}
.pay-submit.alipay{
  background:#1677FF;
}
.pay-submit.alipay:hover{background:#0958d9}

/* ===== 返回链接 ===== */
.pay-back{
  text-align:center;
  margin-top:20px;
}
.pay-back a{
  font-size:13px;
  color:var(--blue);
  text-decoration:none;
}
.pay-back a:hover{text-decoration:underline}

/* ===== 支付结果页 ===== */
.pay-result{
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  padding:48px 24px;
  text-align:center;
}
.result-icon{
  width:64px;
  height:64px;
  margin:0 auto 20px;
}
.result-icon.success{color:var(--green)}
.result-icon.fail{color:var(--red)}
.result-text{
  font-size:16px;
  color:var(--muted);
  margin:0;
}
.result-title{
  font-size:22px;
  font-weight:700;
  color:var(--ink);
  margin:0 0 8px;
}
.result-detail{
  font-size:13px;
  color:var(--faint);
  margin:0 0 24px;
}
.result-actions{
  margin-top:24px;
}
.result-actions a{
  display:inline-block;
  padding:10px 28px;
  background:var(--orange);
  color:#fff;
  text-decoration:none;
  border-radius:var(--radius-sm);
  font-size:14px;
  font-weight:600;
}
.result-actions a:hover{background:var(--orange-hover)}
.result-spinner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

/* ===== 正式支付页：步骤条 ===== */
.pay-steps{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  margin-bottom:26px;
}
.pay-step{
  display:flex;
  align-items:center;
  gap:9px;
}
.pay-step-num{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#EDEFF1;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
}
.pay-step-name{
  font-size:13px;
  color:var(--faint);
  transition:.2s;
}
.pay-step.active .pay-step-num{background:var(--orange);color:#fff}
.pay-step.active .pay-step-name{color:var(--ink);font-weight:600}
.pay-step.done .pay-step-num{background:var(--green);color:#fff}
.pay-step.done .pay-step-name{color:var(--muted)}
.pay-step-line{
  width:44px;
  height:2px;
  background:#E2E5E8;
  margin:0 12px;
  border-radius:2px;
}
.pay-step-line.done{background:var(--green)}

/* ===== 正式支付页：所选方案卡 ===== */
.pay-plan-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--surface);
  border:2px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  padding:16px 18px;
  margin-bottom:20px;
}
.pay-plan-card.recommended{border-color:var(--orange)}
.pay-plan-badge{
  position:absolute;
  top:-10px;
  left:16px;
  background:var(--orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
  border-radius:999px;
  padding:2px 10px;
}
.pay-plan-info{flex:1;min-width:0}
.pay-plan-name{font-size:16px;font-weight:700;color:var(--ink)}
.pay-plan-desc{font-size:12px;color:var(--muted);margin-top:2px}
.pay-plan-price{font-size:13px;color:var(--orange);white-space:nowrap}
.pay-plan-price b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.pay-plan-price span{font-size:11px;color:var(--faint)}
.pay-plan-switch{
  font-size:12px;
  color:var(--blue);
  text-decoration:none;
  white-space:nowrap;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:5px 10px;
  transition:.15s;
}
.pay-plan-switch:hover{border-color:var(--blue);background:var(--blue-bg)}

/* ===== 正式支付页：订单权益列表 ===== */
.pay-feats{
  list-style:none;
  margin:0;
  padding:0 24px 20px;
  border-top:1px solid var(--line-light);
}
.pay-feats li{
  padding:7px 0;
  color:var(--muted);
  font-size:13px;
  display:flex;
  align-items:center;
  gap:8px;
}
.pay-feat-check{
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--green-bg);
  color:var(--green);
  font-size:10px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
}

/* ===== 正式支付页：支付方式列表 ===== */
.pay-method-list{display:flex;flex-direction:column;gap:10px}
.pay-method-option.disabled{
  opacity:.55;
  cursor:not-allowed;
  background:var(--surface-2);
}
.pay-method-option.disabled:hover{border-color:var(--line)}

/* ===== 正式支付页：协议 + 安全提示 ===== */
.pay-agree-row{
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  padding:14px 24px;
  margin-bottom:14px;
}
.pay-agree{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:12.5px;
  color:var(--muted);
  cursor:pointer;
  line-height:1.6;
}
.pay-agree input[type=checkbox]{accent-color:var(--orange);margin-top:3px;flex-shrink:0}
.pay-agree a{color:var(--orange);text-decoration:none}
.pay-agree a:hover{text-decoration:underline}
.pay-security{
  text-align:center;
  font-size:12px;
  color:var(--faint);
  margin-top:14px;
}

/* ===== 正式支付页：邮箱输入（未登录） ===== */
.pay-order-row.guest{
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.pay-order-row.guest .label em{
  font-style:normal;
  font-weight:400;
  color:var(--faint);
  font-size:11px;
}
.pay-order-row.guest input{
  width:100%;
  box-sizing:border-box;
  padding:11px 14px;
  border:2px solid var(--line);
  border-radius:var(--radius-sm);
  font-size:14px;
  font-family:inherit;
  outline:none;
  transition:border-color .2s;
}
.pay-order-row.guest input:focus{border-color:var(--orange)}
.pay-guest-tip{
  font-size:12px;
  color:var(--faint);
  margin:10px 0 0;
  line-height:1.6;
}
.pay-guest-tip a{color:var(--blue);text-decoration:none}
.pay-guest-tip a:hover{text-decoration:underline}

/* ===== 正式支付页：常见问题 ===== */
.pay-faq{
  max-width:520px;
  width:100%;
  margin-top:34px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-s);
  padding:20px 24px;
  box-sizing:border-box;
}
.pay-faq-title{
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:12px;
}
.pay-faq-item{
  padding:9px 0;
  border-bottom:1px solid var(--line-light);
  font-size:12.5px;
}
.pay-faq-item:last-child{border-bottom:none}
.pay-faq-item b{
  display:block;
  color:var(--ink);
  font-weight:600;
  margin-bottom:3px;
}
.pay-faq-item span{
  color:var(--muted);
  line-height:1.6;
}

/* ===== 移动端适配 ===== */
@media(max-width:560px){
  .pay-step-line{width:26px;margin:0 7px}
  .pay-plan-card{flex-wrap:wrap}
  .pay-plan-switch{margin-left:auto}
}

/* ===== 步骤条：第 1 步可点击回退 ===== */
.pay-step.clickable{cursor:pointer}
.pay-step.clickable .pay-step-name{color:var(--blue)}
.pay-step.clickable:hover .pay-step-num{background:var(--blue)}
.pay-step.clickable:hover .pay-step-name{text-decoration:underline}

/* ===== 第 1 步：选择方案 ===== */
.pay-tier-head{
  text-align:center;
  margin-bottom:20px;
}
.pay-tier-head h2{
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  margin:0 0 4px;
}
.pay-tier-head p{
  font-size:12px;
  color:var(--faint);
  margin:0;
}
.pay-tier-grid{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:20px;
}
.pay-tier-card{
  position:relative;
  background:var(--surface);
  border:2px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-m);
  padding:18px 22px 20px;
}
.pay-tier-card.recommended{border-color:var(--orange)}
.pay-tier-badge{
  position:absolute;
  top:-10px;
  right:18px;
  background:var(--orange);
  color:#fff;
  font-size:11px;
  font-weight:700;
  border-radius:999px;
  padding:2px 10px;
}
.pay-tier-card h3{
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  margin:0 0 2px;
}
.pay-tier-price{
  font-size:13px;
  color:var(--orange);
  margin:6px 0 10px;
}
.pay-tier-price.free{color:var(--green);font-size:15px;font-weight:700}
.pay-tier-price b{font-size:26px;font-weight:800;letter-spacing:-.02em}
.pay-tier-price span{font-size:11px;color:var(--faint)}
.pay-tier-card ul{
  list-style:none;
  margin:0 0 14px;
  padding:0;
}
.pay-tier-card li{
  font-size:12.5px;
  color:var(--muted);
  padding:3px 0;
  display:flex;
  align-items:center;
  gap:7px;
}
.pay-tier-check{
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--green-bg);
  color:var(--green);
  font-size:9px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
}
.pay-tier-cta{
  display:block;
  width:100%;
  text-align:center;
  padding:10px;
  border-radius:var(--radius-sm);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  box-sizing:border-box;
  border:none;
  cursor:pointer;
  font-family:inherit;
  transition:background .2s,border-color .2s;
}
.pay-tier-cta.primary{background:var(--orange);color:#fff}
.pay-tier-cta.primary:hover{background:var(--orange-hover)}
.pay-tier-cta.ghost{border:1px solid var(--line);color:var(--muted);background:none}
.pay-tier-cta.ghost:hover{border-color:var(--blue);color:var(--blue)}
.pay-tier-cta.current{background:var(--green-bg);color:var(--green);cursor:default}

/* ===== 支付方式：圆形品牌图标 ===== */
.pm-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  color:#fff;
  font-size:19px;
  font-weight:700;
  line-height:1;
}
.pm-icon svg{width:19px;height:19px}
.pm-icon.alipay{background:#1677FF}
.pm-icon.wechat{background:#07C160}
.pm-icon.bank{background:#3D4A5C}
