  .btn {
    transform: none !important;
  }
  
  :root{
    --primary:#ffb84d;
    --primary-strong:#ff9f0a;
    --green:#22c55e;
    --red:#f43f5e;
    --gray-900:#1f2937;
    --gray-700:#374151;
    --gray-600:#4b5563;
    --gray-500:#6b7280;
    --border:#e5e7eb;
    --bg:#f6f7fb;
    --card:#ffffff;
  }
  .page{max-width:1100px;margin:22px auto;padding:0 12px ;}
  
  .head{
    display:flex;
    align-items:center;
    justify-content:center; /* 整体居中 */
    text-align:left;        /* 文字靠左 */
    gap:14px;               /* 图标与文字的间距 */
    margin-bottom:28px;
  }

  .head .logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(180deg,#4f67ff 0,#2f3c8f 100%);display:grid;place-items:center;position:relative}
  .head .logo:after{
    content:"";
    width:22px;height:22px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23fde047'/%3E%3Cstop offset='100%25' stop-color='%23d97706'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath stroke='url(%23g)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m2 4 3 12h14l3-12-6 7-4-7-4 7-6-7Zm3 16h14'/%3E%3C/svg%3E") center/contain no-repeat;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));
  }
  .head-title{
    font-size:30px;
    font-weight:600;
    color:#ffa116;
  }
  .head-sub{
    font-size:15px;
    color:#b18a00;
    margin-top:12px;
  }


  .grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}
  @media (max-width: 980px){.grid{grid-template-columns:1fr}}

  .card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 18px rgba(25,55,99,.06)}
  .card-hd{padding:14px 16px;border-bottom:1px solid var(--border);font-weight:700}
  .card-bd{padding:14px 16px}

  /* 套餐区 */
  .plans{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}
  @media (max-width: 960px){.plans{grid-template-columns:1fr 1fr}}
  .plan{position:relative;border:2px solid #f2f4f8;border-radius:16px;background:var(--card);padding:14px 16px;cursor:pointer;transition:.15s}
  .plan:hover{border-color:#d9e0ea;transform:translateY(-1px)}
  .plan.active{border-color:#ffb84d;box-shadow:0 0 0 4px rgba(255,184,77,.15)}
  .plan .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .plan .tag{font-weight: 600; font-size:12px;color:#667085;background:#f3f6fb;border:1px solid #e5ebf5;border-radius:999px;padding:3px 8px}
  .plan .badge{position:absolute;top:-10px;right:12px;background:#3b82f6;color:#fff;border-radius:999px;padding:4px 8px;font-size:12px}
  .price{font-size:26px;font-weight:600;color:#ff593d}
  .sub{font-size:12px;color:#8b93a3;margin-top:6px}

  /* 订单详情（右侧） */
  .aside {margin-bottom: 8px;}
  .aside .order-line{display:flex;justify-content:space-between;font-size:13px;color:#6b7280;padding:8px 0;border-bottom:1px dashed #eef1f6}
  .radio-row{display:flex;gap:12px;margin-top:8px}
  .pay{flex:1;border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer}
  .pay input{accent-color:#3b82f6}
  .pay b{font-size:13px}
  .order-price{display:flex;align-items:flex-end;gap:8px;margin:12px 0 10px}
  .order-price .num{font-size:28px;font-weight:600;color:#111}
  .btn-primary{width:100%;background:var(--primary-strong);color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}
  .btn-primary:hover{filter:brightness(1.02)}
  .btn-primary:disabled {
    background: #9ca3af;  /* 灰色 */
    cursor: not-allowed;
    opacity: 0.6;
  }

  /* 权限对比表 */
  .table{overflow:hidden;border-radius:14px}
  .table table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
  .table thead th{background:#f8fafc;border-bottom:1px solid var(--border);padding:14px 12px;font-weight:700;text-align:left}
  .table thead th:nth-child(2), .table thead th:nth-child(3){text-align:center}
  .table tbody td{padding:14px 12px;border-bottom:1px solid #f1f3f7}
  .table tbody tr:nth-child(odd) td{background:#fbfcff}
  .tick{display:inline-block;width:20px;height:20px;border-radius:6px;background:#ecfdf5;border:1px solid #c5f3da;color:var(--green);font-weight:800;text-align:center;line-height:18px}
  .cross{display:inline-block;width:20px;height:20px;border-radius:6px;background:#fff1f2;border:1px solid #ffd5dc;color:var(--red);font-weight:900;text-align:center;line-height:18px}

  /* 学生优惠 */
  .banner{background:linear-gradient(180deg,#f7f9fd,#f0f3f9);border:1px solid var(--border);border-radius:16px;padding:24px 22px;margin:22px 0;display:grid;gap:6px}
  .banner h3{margin:0;font-size:18px;color:#333;text-align:center}
  .banner p{margin:0;color:#6b7280;text-align:center;font-size:13px}
  .banner .cta{margin-top:10px;display:flex;justify-content:center}
  .btn-ghost{background:#fff;border:1px solid #dbe2ee;border-radius:999px;padding:8px 14px;font-weight:700;color:#3b63ff}

  /* FAQ */
  .faq{margin:26px 0}
  .faq h3{text-align:center;font-size:20px;margin-bottom:16px}
  .qa{border-bottom:1px solid var(--border);padding:14px 4px}
  .qa summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer}
  .qa summary::-webkit-details-marker{display:none}
  .qa summary b{color:#333}
  .qa summary span{color:#9aa1ac}
  .qa p{margin:10px 0 0;color:#6b7280}


  /* 隐藏原生 radio */
.radio-row .pay input[type="radio"] { display: none; }

/* 基础样式（你已有的话可合并） */
.radio-row { display:flex; gap:12px; margin-top:8px; }
.pay {
  flex:1;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  display:flex; align-items:center; gap:10px;
  cursor:pointer; background:#fff;
  transition: .15s ease;
}

/* 未选中：整体置灰 */
.pay:not(.selected) {
  filter: grayscale(1);
  opacity: .55;
}

/* 选中态：正常颜色 + 边框高亮 */
.pay.selected {
  filter: none;
  opacity: 1;
  border-color: #60a5fa;
  box-shadow: 0 0 0 2px rgba(96,165,250,0.12);
}

/* ================== 拼团须知步骤列表（整合修正版） ================== */

/* 布局 */
.steps {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 12px;
}
.step {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.step-num,
.step-text {
  /* 初始状态：隐藏 + 下移，先不要写 animation */
  opacity: 0;
  transform: translateY(10px);
}

/* 圆点样式（纯外观） */
.step-num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #3b82f6;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 4px rgba(59,130,246,0.3);
}

/* 文本外观 */
.step-text {
  color: #374151;
  font-size: 14px;
  line-height: 1.6;
}

/* 统一的淡入上浮动画（只保留一次） */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ====== 真正触发动画的“总开关”：.steps.tuan-animate ====== */
.steps.tuan-animate .step:nth-child(1) .step-num { animation: fadeInUp 0.25s ease forwards 0.05s; }
.steps.tuan-animate .step:nth-child(2) .step-num { animation: fadeInUp 0.25s ease forwards 0.15s; }
.steps.tuan-animate .step:nth-child(3) .step-num { animation: fadeInUp 0.25s ease forwards 0.25s; }
.steps.tuan-animate .step:nth-child(4) .step-num { animation: fadeInUp 0.25s ease forwards 0.35s; }
.steps.tuan-animate .step:nth-child(5) .step-num { animation: fadeInUp 0.25s ease forwards 0.45s; }

.steps.tuan-animate .step:nth-child(1) .step-text { animation: fadeInUp 0.25s ease forwards 0.10s; }
.steps.tuan-animate .step:nth-child(2) .step-text { animation: fadeInUp 0.25s ease forwards 0.20s; }
.steps.tuan-animate .step:nth-child(3) .step-text { animation: fadeInUp 0.25s ease forwards 0.30s; }
.steps.tuan-animate .step:nth-child(4) .step-text { animation: fadeInUp 0.25s ease forwards 0.40s; }
.steps.tuan-animate .step:nth-child(5) .step-text { animation: fadeInUp 0.25s ease forwards 0.50s; }


/* ====== 卡片显隐（若还需要更强优先级，可加 #tuanCard 提升特异性） ====== */
#tuanCard { transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s; }
#tuanCard.tuan-hide {
  opacity: 0 !important;
  transform: translateY(8px);
  pointer-events: none;
  visibility: hidden;
}
#tuanCard.tuan-show {
  opacity: 1 !important;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition: opacity .35s ease, transform .35s ease, visibility 0s;
}
/* 容器永远用 flex 居中，通过透明度/可见性控制显示 */
.modal{
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;                  /* 永远是 flex */
  align-items: center;
  justify-content: center;
  opacity: 0;                     /* 初始不可见 */
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease;  /* 淡入淡出 */
}

/* 打开时让容器淡入，并恢复事件 */
.modal.show{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* 对话框自身做位移+透明的过渡（保留你原有的） */
.modal__dialog{
  position: relative;
  background: #fff;
  border-radius: 14px;
  width: min(520px, 92vw);
  /* 去掉 margin-top，居中交给父容器 */
  margin: 0;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
}

/* 打开时对话框淡入 + 上滑 */
.modal.show .modal__dialog{
  opacity: 1;
  transform: translateY(0);
}

/* 其余样式保留 */
.modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.45) }
.modal__close{ position:absolute; top:10px; right:12px; border:0; background:transparent; font-size:20px; cursor:pointer; line-height:1 }
.modal__title{ margin:4px 0 12px; font-size:18px; font-weight:800; color:#333; text-align:center }

/* 如果不需要步骤单独动画，可保持静态显示 */
.modal__steps{
  color:#374151; line-height:1.7; display:grid; gap:8px;
  /* 如需跟随对话框一起淡入，可不再单独设置 opacity/animation */
}

.modal__btn{
  display:block;width:100%;margin-top:14px;border:0;border-radius:10px;padding:12px 16px;
  background:#3b82f6;color:#fff;font-weight:800;cursor:pointer
}
.modal__btn:disabled{opacity:.5;cursor:not-allowed}

.no-scroll{overflow:hidden}


/*让左右两卡片高度一致*/
.vip-top-row {
  display: flex;
  align-items: stretch;
  gap: -30px; /* 卡片之间的间距 */
}

/* 左右两列等宽或按比例分配 */
.vip-top-row > .medium-5 { flex: 5; display: flex; margin-left: -12px; }
.vip-top-row > .medium-7 { flex: 7; display: flex; margin-right:-12px; }

/* 让卡片填满父容器高度 */
.vip-top-row .cb-card {
  flex: 1;
  display: flex;
  flex-direction: column;
}


.member-status-text {
  text-align: center;         /* 所有文字居中 */
  line-height: 1.6;           /* 行距更舒适 */
}

.member-status-text .status-main {
  font-size: 1.0rem;          /* 稍大一点 */
  font-weight: 600;           /* 加粗 */
  color: #111827;             /* 深色（接近黑） */
  margin-bottom: 4px;         /* 与下一行留点间距 */
}

.member-status-text .status-sub {
  font-size: 0.9rem;          /* 小一号 */
  color: #6b7280;             /* 灰色文字 */
  font-weight: 400;
}

.member-status-text{
  display: flex;
  flex-direction: column;
  align-items: center;     /* 水平居中 */
  justify-content: center; /* 垂直居中 */
  text-align: center;
  min-height: 140px;       /* 需要就留点高度，数值可调 */
  gap: 4px;                /* 两行之间一点间距 */
}

/* FAQ 折叠样式 */
/* ==================== FAQ 样式 ==================== */
/* ==================== FAQ 样式 ==================== */
.faq-card {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 32px 40px;
}

.faq-title {
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 28px;
  color: #111827;
}

.faq-item {
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 0;          /* ⬆️ 增大项之间的间距 */
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  cursor: pointer;
  font-size: 18px;          /* ⬆️ 字体更大 */
  transition: color .2s ease;
  color: #1f2937;
}

.faq-question:hover {
  color: #2563eb;
}

.faq-toggle {
  font-weight: bold;
  font-size: 20px;
  margin-left: 10px;
  color: #6b7280;
  transition: transform .2s ease;
}

.faq-answer {
  display: none;
  margin-top: 10px;         /* ⬆️ 间距略大 */
  color: #374151;
  line-height: 1.75;        /* ⬆️ 行距更舒适 */
  font-size: 16px;          /* ⬆️ 答案字体也稍大 */
  padding-left: 6px;
}

.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .faq-toggle {
  transform: rotate(45deg);
  color: #2563eb;
}

.faq-more {
  text-align: center;
  margin-top: 20px;
}

.faq-more a {
  color: #4b5563;
  font-size: 15px;
  text-decoration: none;
}
.faq-more a:hover {
  text-decoration: underline;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.35s ease, opacity 0.35s ease;
}

.faq-item.active .faq-answer {
  max-height: 400px;
  opacity: 1;
}


/* =========================
   Fav 列表 & Tip & 空态
   ========================= */

/* 行边框 & hover 发光 */
.theme--dark .fav-row {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.35);
}

.theme--dark .fav-row:hover {
  border-color: rgba(96, 165, 250, 0.8);
  box-shadow: 0 0 8px rgba(37, 99, 235, 0.5);
}

/* 行内竖线分隔 */
.theme--dark .fav-row > * + * {
  border-left-color: rgba(148, 163, 184, 0.35);
}

/* 标题 & 链接 */
.theme--dark .fav-title a {
  color: #e5e7ff;
}

.theme--dark .fav-title a:hover {
  text-decoration: underline !important;
}

.theme--dark .fav-title .fav-record-link {
  color: #93c5fd;
}

/* 标签 chip */
.theme--dark .fav-chip {
  background: #1f2933;
  color: #e5e7f5;
}

.theme--dark .fav-chip:hover {
  background: #1d3358;
}

/* 公司列 */
.theme--dark .fav-company {
  color: #cbd5f5;
}

/* 难度块边框 */
.theme--dark .fav-diff-block {
  border-color: rgba(148, 163, 184, 0.5);
}

/* Tip 浮层 */
.theme--dark .tip-content {
  background: #111827;
  border-color: #374151;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .75);
}

.theme--dark .tip-content::after {
  border-top-color: #111827;
}

.theme--dark .tip-content p {
  color: #e5e7f5;
}

.theme--dark .tip-content img {
  background: #111827;
}

/* 空列表状态 */
.theme--dark .fav-empty {
  background: #111827;
  color: #9ca3af;
  border-color: #374151;
}


/* =========================
   定价页变量 & 基础色
   ========================= */

.theme--dark {
  --primary:#fbbf24;
  --primary-strong:#f59e0b;
  --green:#4ade80;
  --red:#fb7185;
  --gray-900:#e5e7eb;
  --gray-700:#d1d5db;
  --gray-600:#9ca3af;
  --gray-500:#6b7280;
  --border:#374151;
  --bg:#020617;
  --card:#1f2430;
}

.theme--dark body {
  background: var(--bg);
  color: var(--gray-900);
}

.theme--dark .page {
  background: transparent;
}

/* 头部 */
.theme--dark .head .logo {
  background: linear-gradient(180deg,#4f46e5 0,#1e293b 100%);
}
.theme--dark .head .logo:after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23fef08a'/%3E%3Cstop offset='100%25' stop-color='%23eab308'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath stroke='url(%23g)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m2 4 3 12h14l3-12-6 7-4-7-4 7-6-7Zm3 16h14'/%3E%3C/svg%3E");
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));
}
.theme--dark .head-title {
  color:#fbbf24;
}
.theme--dark .head-sub {
  color:#facc15;
}

/* 通用 .card */
.theme--dark .card {
  background:var(--card);
  border-color:var(--border);
  box-shadow:0 10px 28px rgba(0,0,0,.7);
}
.theme--dark .card-hd {
  border-bottom-color:var(--border);
  background:linear-gradient(180deg,#262b36,#1f2430);
  color:#e5e7eb;
}
.theme--dark .card-bd {
  background: #181a1f;
  color:#e5e7eb;
}

/* 套餐卡片 .plan */
.theme--dark .plan {
  background:#191c21;
  border-color:#1f2937;
}
.theme--dark .plan:hover {
  border-color:#334155;
}
.theme--dark .plan.active {
  border-color:#fbbf24;
  box-shadow:0 0 0 4px rgba(251,191,36,.2);
}
.theme--dark .plan .tag {
  color:#e2d226;
  background:#111827;
  border-color:#1f2937;
}
.theme--dark .plan .badge {
  background:#3b82f6;
  color:#fff;
}
.theme--dark .price {
  color:#fb7185;
}
.theme--dark .sub {
  color:#9ca3af;
}

/* 订单详情 / 支付方式 */
.theme--dark .aside .order-line {
  color:#9ca3af;
  border-bottom-color:#1f2937;
}
.theme--dark .order-price .num {
  color:#f9fafb;
}
.theme--dark .btn-primary {
  background:var(--primary-strong);
  color:#111827;
}
.theme--dark .btn-primary:disabled {
  background:#4b5563;
  color:#9ca3af;
}

/* 支付选项卡片 */
.theme--dark .pay {
  background:#020617;
  border-color:var(--border);
}
.theme--dark .pay.selected {
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(96,165,250,0.25);
}

/* 权限对比表 */
.theme--dark .table table {
  background:#020617;
}
.theme--dark .table thead th {
  background:#0b1120;
  border-bottom-color:var(--border);
  color:#e5e7eb;
}
.theme--dark .table tbody td {
  border-bottom-color:#111827;
  color:#e5e7eb;
}
.theme--dark .table tbody tr:nth-child(odd) td {
  background:#0d1120;
}

/* 对号 / 叉号 */
.theme--dark .tick {
  background:#052e16;
  border-color:#15803d;
  color:#4ade80;
}
.theme--dark .cross {
  background:#450a0a;
  border-color:#b91c1c;
  color:#fecaca;
}

/* 学生优惠 banner */
.theme--dark .banner {
  background:linear-gradient(180deg,#020617,#020617);
  border-color:var(--border);
}
.theme--dark .banner h3 {
  color:#e5e7eb;
}
.theme--dark .banner p {
  color:#9ca3af;
}
.theme--dark .btn-ghost {
  background:#020617;
  border-color:#4b5563;
  color:#e5e7eb;
}

/* FAQ */
.theme--dark .faq-card {
  background:transparent !important;
}
.theme--dark .faq-title {
  color:#e5e7eb;
}
.theme--dark .faq-item {
  border-bottom-color:var(--border);
}
.theme--dark .faq-question {
  color:#e5e7eb;
}
.theme--dark .faq-question:hover {
  color:#60a5fa;
}
.theme--dark .faq-toggle {
  color:#9ca3af;
}
.theme--dark .faq-answer {
  color:#cbd5f5;
}
.theme--dark .faq-item.active .faq-toggle {
  color:#60a5fa;
}
.theme--dark .faq-more a {
  color:#9ca3af;
}

/* 拼团步骤 */
.theme--dark .step-text {
  color:#e5e7eb;
}
.theme--dark .step-num {
  background-color:#2563eb;
  color:#f9fafb;
}

/* 拼团卡片（如果不是 cb-card，自行适配） */
.theme--dark #tuanCard {
  background:#181a1f;
  border-color:var(--border);
}

/* 模态框 */
.theme--dark .modal__dialog {
  background:#020617;
  color:#e5e7eb;
  box-shadow:0 16px 40px rgba(0,0,0,.7);
}
.theme--dark .modal__title {
  color:#e5e7eb;
}
.theme--dark .modal__steps {
  color:#cbd5f5;
}
.theme--dark .modal__btn {
  background:#3b82f6;
  color:#f9fafb;
}

/* 会员状态文案 */
.theme--dark .member-status-text .status-main {
  color:#e5e7eb;
}
.theme--dark .member-status-text .status-sub {
  color:#9ca3af;
}
.pttag {
  color: black;
}
.theme--dark .pttag {
  color: #faf9e5;
}
