/* ===================== 登录 / 会员 / 支付页 =====================
   依赖 css/style.css 的变量、.btn、.logo、footer，以及 css/legal.css 里的
   .legal-top（顶栏）和 .legal-hero（标题区）——这两块与法律条款页共用，
   不在这里重复定义。 */

body.acct-page{
  background:var(--bg-soft);
  /* 内容短的页面（登录、结果页）把页脚压到视口底部，而不是浮在半空 */
  display:flex;flex-direction:column;min-height:100vh;
}
body.acct-page main{flex:1}
body.acct-page .legal-hero{padding-bottom:34px}

/* 导航栏账号区、[hidden] 兜底与窄屏断点都在 style.css，
   因为首页（index.html）不加载本文件。 */

/* ---- 主体 ---- */
.acct-main{padding-top:34px;padding-bottom:84px}
.acct-narrow{max-width:452px;margin:0 auto}
.acct-mid{max-width:840px;margin:0 auto}
.acct-top-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.acct-card{
  background:#fff;border:1.5px solid var(--border);border-radius:24px;
  padding:34px 32px;box-shadow:var(--shadow-sm);
}
.acct-card + .acct-card{margin-top:20px}
.acct-card h2{font-size:21px;font-weight:900;color:var(--dark);letter-spacing:-.5px}
.acct-sub{font-size:14px;color:var(--gray);line-height:1.75;margin-top:7px}
.acct-sub + *{margin-top:22px}
.acct-foot{
  font-size:13px;color:var(--gray);text-align:center;
  margin-top:22px;line-height:1.9;
}
.acct-foot a{
  color:var(--primary-dark);font-weight:700;text-decoration:none;
  border-bottom:1.5px solid rgba(108,92,231,.35);
}
.acct-foot a:hover{border-bottom-color:var(--primary)}

/* ---- 提示条 ---- */
.alert{
  display:flex;gap:10px;align-items:flex-start;
  border-radius:14px;padding:13px 16px;
  font-size:13.5px;font-weight:600;line-height:1.7;
  overflow-wrap:anywhere;
}
.alert[hidden]{display:none}
.alert + *{margin-top:18px}
.alert-err{background:#FFF1F3;border:1.5px solid #FFD3DB;color:#B4233C}
.alert-ok{background:#EAFBF4;border:1.5px solid #B9EFD8;color:#0A7A55}
.alert-warn{background:#FFF8E6;border:1.5px solid #FFE7A8;color:#8A6100}
.alert-info{background:var(--bg-soft);border:1.5px solid var(--border);color:var(--gray)}
.alert-ico{flex-shrink:0;font-size:15px;line-height:1.6}

/* ---- 登录 / 注册切换 ---- */
.tabs{
  display:flex;gap:6px;padding:5px;
  background:var(--bg-soft);border:1.5px solid var(--border);
  border-radius:999px;margin-bottom:24px;
}
.tabs button{
  flex:1;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:800;color:var(--gray);
  padding:10px 8px;border-radius:999px;
  transition:background .2s,color .2s,box-shadow .2s;
}
.tabs button[aria-selected="true"]{background:#fff;color:var(--primary-dark);box-shadow:var(--shadow-sm)}

/* ---- 表单 ---- */
.field{display:flex;flex-direction:column;gap:7px}
.field + .field{margin-top:16px}
.field label{font-size:13px;font-weight:800;color:var(--dark);letter-spacing:.2px}
.field input{
  width:100%;font-family:inherit;font-size:15px;color:var(--text);
  background:var(--bg-soft);border:1.5px solid var(--border);
  border-radius:14px;padding:13px 16px;
  transition:border-color .2s,background .2s;
}
.field input:focus{outline:none;border-color:var(--primary-light);background:#fff}
.field .hint{font-size:12.5px;color:var(--gray)}
.acct-card .btn-block{width:100%;margin-top:22px}
.btn-block{width:100%}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none!important}

/* ---- 会员状态 ---- */
.mem-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.mem-row .mem-label{font-size:12.5px;font-weight:800;letter-spacing:.6px;color:var(--gray)}
.mem-row .mem-value{font-size:20px;font-weight:900;color:var(--dark);letter-spacing:-.4px;margin-top:3px}
.mem-pill{
  display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
  border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:800;
}
.mem-pill.on{background:linear-gradient(135deg,#00D2D3,#00C48C);color:#fff}
.mem-pill.off{background:var(--bg-soft);border:1.5px solid var(--border);color:var(--gray)}

/* ---- 套餐选择 ---- */
.pick-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;margin:26px 0 24px;
}
/* 网格项默认 min-width:auto，窄屏会拒绝收缩把整列撑宽（法律页踩过同样的坑） */
.pick-grid > *{min-width:0}
.pick{
  position:relative;display:flex;flex-direction:column;gap:7px;
  text-align:left;font-family:inherit;
  background:#fff;border:2px solid var(--border);border-radius:20px;
  padding:24px 20px;cursor:pointer;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.pick:hover{border-color:var(--primary-light);transform:translateY(-3px)}
.pick[aria-pressed="true"]{border-color:var(--primary);box-shadow:0 0 0 4px rgba(108,92,231,.12)}
.pick-name{font-size:15px;font-weight:800;color:var(--dark)}
.pick-price{font-size:30px;font-weight:900;color:var(--primary-dark);letter-spacing:-1.2px;line-height:1.15}
.pick-price i{font-size:13.5px;font-style:normal;font-weight:700;color:var(--gray);letter-spacing:0}
.pick-orig{font-size:12.5px;color:var(--gray);text-decoration:line-through}
.pick-desc{font-size:12.5px;color:var(--gray);line-height:1.65}
.pick-tag{
  position:absolute;top:-11px;right:14px;
  background:linear-gradient(135deg,#FFC93C,#FF9F43);color:#fff;
  font-size:11.5px;font-weight:900;letter-spacing:.3px;
  padding:4px 11px;border-radius:999px;
  box-shadow:0 4px 10px rgba(255,159,67,.35);
}
.pick-check{
  margin-top:auto;padding-top:10px;
  font-size:12.5px;font-weight:800;color:var(--gray);
}
.pick[aria-pressed="true"] .pick-check{color:var(--primary)}

/* ---- 支付渠道 ---- */
.chan-title{font-size:12.5px;font-weight:800;letter-spacing:.6px;color:var(--gray);margin-bottom:10px}
.chan{display:flex;flex-wrap:wrap;gap:10px}
.chan-opt{
  display:inline-flex;align-items:center;gap:9px;
  background:#fff;border:2px solid var(--border);border-radius:14px;
  padding:11px 16px;cursor:pointer;
  font-family:inherit;font-size:14px;font-weight:700;color:var(--text);
  transition:border-color .2s,background .2s;
}
.chan-opt:hover{border-color:var(--primary-light)}
.chan-opt[aria-pressed="true"]{border-color:var(--primary);background:#F7F6FF}
.chan-ico{font-size:17px}
.chan-tag{
  font-size:11px;font-weight:800;color:var(--gray);
  background:var(--bg-soft);border:1px solid var(--border);
  border-radius:999px;padding:2px 8px;
}

/* ---- 结算条 ---- */
.pay-bar{
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  margin-top:26px;padding-top:22px;border-top:1px solid var(--border);
}
.pay-total{display:flex;flex-direction:column;gap:1px;min-width:0}
.pay-total span{font-size:12.5px;font-weight:800;letter-spacing:.5px;color:var(--gray)}
.pay-total b{font-size:26px;font-weight:900;color:var(--dark);letter-spacing:-.8px}
.pay-actions{display:flex;gap:10px;flex-wrap:wrap}
.pay-actions .btn{width:auto}
.pay-note{font-size:12.5px;color:var(--gray);margin-top:14px;line-height:1.8}

/* ---- 支付结果页 ---- */
.result{text-align:center}
.result-icon{
  width:66px;height:66px;border-radius:50%;
  display:grid;place-items:center;margin:0 auto 18px;
  font-size:29px;
}
.result-icon.pending{background:var(--bg-soft)}
.result-icon.ok{background:linear-gradient(135deg,#00D2D3,#00C48C);color:#fff;box-shadow:0 10px 26px rgba(0,196,140,.35)}
.result-icon.err{background:#FFF1F3;border:2px solid #FFD3DB}
.spin{
  width:30px;height:30px;border-radius:50%;
  border:3px solid var(--border);border-top-color:var(--primary);
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.result .acct-sub{margin-inline:auto;max-width:400px}
.result-meta{
  display:flex;flex-direction:column;gap:10px;
  margin-top:22px;padding:18px 20px;text-align:left;
  background:var(--bg-soft);border:1.5px solid var(--border);border-radius:16px;
}
.result-meta div{display:flex;gap:12px;align-items:baseline;justify-content:space-between}
.result-meta dt{font-size:12.5px;font-weight:800;color:var(--gray);flex-shrink:0}
.result-meta dd{font-size:14px;font-weight:700;color:var(--dark);text-align:right;overflow-wrap:anywhere}
.result .btn-block{margin-top:22px}
.result .btn-text{
  display:inline-block;margin-top:14px;background:none;border:none;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:700;color:var(--primary-dark);
  text-decoration:none;border-bottom:1.5px solid rgba(108,92,231,.35);padding:0;
}
.result-steps{
  list-style:none;display:flex;flex-direction:column;gap:10px;
  margin-top:20px;text-align:left;
}
.result-steps li{
  position:relative;padding-left:22px;
  font-size:13.5px;color:var(--gray);line-height:1.75;
}
.result-steps li::before{
  content:'';position:absolute;left:2px;top:.7em;
  width:6px;height:6px;border-radius:50%;background:var(--primary-light);
}

/* ---- 响应式 ---- */
@media (max-width:900px){
  /* 窄屏导航栏塞不下账号区，改用汉堡菜单里的入口（js/api.js 会追加） */
  .nav-user{display:none}
  .nav-auth-item{display:block}
}
@media (max-width:760px){
  .pick-grid{grid-template-columns:1fr}
  .acct-card{padding:26px 20px;border-radius:20px}
  .acct-main{padding-top:24px;padding-bottom:64px}
  .pay-bar{flex-direction:column;align-items:stretch}
  .pay-actions{flex-direction:column-reverse}
  .pay-actions .btn{width:100%}
  .result-meta div{flex-direction:column;gap:2px}
  .result-meta dd{text-align:left}
}
@media (max-width:400px){
  .pick-price{font-size:26px}
  .acct-foot{font-size:12.5px}
}
