:root{
  --bg:#F4F6FB; --card:#fff; --line:#E6EAF3; --line2:#D8DFEC;
  --txt:#1A2233; --sub:#5C6675; --sub2:#8B93A5;
  --acc:#2F5BD8; --acc2:#5B7FF0; --acc-soft:#EBF0FF;
  --ok:#2E9E6B; --warn:#D9932C; --err:#D64545;
  --ok-soft:#E9F7F0; --warn-soft:#FBF1E1; --err-soft:#FCEBEB;
  --radius:14px; --radius-sm:9px;
  --shadow:0 2px 14px rgba(22,42,98,.07);
  --shadow-lg:0 12px 34px rgba(22,42,98,.12);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.65;}
a{color:var(--acc);text-decoration:none;transition:color .15s;} a:hover{color:var(--acc2);text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px;}

/* ===== 顶栏 ===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:64px;}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--txt);letter-spacing:.2px;}
.brand-icon{width:26px;height:26px;display:block;flex:none;}
.brand:hover{color:var(--acc);}
.topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px;}
.topbar nav a{display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;color:var(--sub);font-weight:500;font-size:14px;transition:all .15s;}
.topbar nav a:hover{background:var(--acc-soft);color:var(--acc);}
.topbar nav a.cta{background:var(--acc);color:#fff;box-shadow:0 3px 10px rgba(47,91,216,.28);}
.topbar nav a.cta:hover{background:var(--acc2);color:#fff;}
.topbar nav a.dim{opacity:.8;}

/* ===== 主区 ===== */
main{padding:28px 0 40px;min-height:64vh;}

/* ===== Hero ===== */
.hero{padding:34px 28px;margin-top:6px;border-radius:18px;position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(90deg,rgba(10,18,45,.74) 0%,rgba(20,38,86,.5) 45%,rgba(47,91,216,.16) 100%),url(../img/hero-bg.jpg) center/cover no-repeat;}
.hero .badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(4px);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;}
.hero .badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#7CF0B0;}
.hero h1{margin:10px 0 6px;font-size:27px;line-height:1.2;letter-spacing:.3px;color:#fff;text-shadow:0 2px 14px rgba(0,0,20,.3);}
.hero p{margin:0;color:rgba(255,255,255,.92);font-size:14px;max-width:720px;}
.hero .cta{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;}

/* ===== 商品卡 ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--acc2);}
.card h3{margin:0;font-size:15px;}
.card h3 a{color:var(--txt);} .card h3 a:hover{color:var(--acc);}
.card .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;}
.price{color:var(--acc);font-weight:800;}
.dim{color:var(--sub);font-size:13px;}

/* ===== 按钮 ===== */
.btn{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;border:0;border-radius:999px;padding:9px 20px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(47,91,216,.24);transition:all .18s;}
.btn:hover{opacity:.94;box-shadow:0 6px 18px rgba(47,91,216,.34);transform:translateY(-1px);}
.btn.big{padding:12px 26px;font-size:15px;}

/* ===== 面板 ===== */
.panel,.detail{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow);overflow-x:auto;}
.panel.narrow{max-width:440px;margin:20px auto;}
.panel h1{margin:0 0 6px;font-size:24px;} .panel h2{margin:22px 0 10px;font-size:19px;}

/* 登录 / 注册背景 */
.authbg{width:100vw;margin-left:calc(50% - 50vw);margin-top:-28px;min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;
  background:linear-gradient(rgba(10,18,45,.34),rgba(10,18,45,.34)),url(../img/login-bg.jpg) center/cover no-repeat;padding:36px 20px;}
.authbg .panel.narrow{margin:0;box-shadow:0 20px 50px rgba(0,0,20,.35);border:none;}

/* 后台品牌横幅 */
.admin-hero{padding:28px 30px;border-radius:var(--radius);margin-bottom:20px;color:#fff;
  background:linear-gradient(120deg,rgba(10,18,45,.82) 0%,rgba(28,50,110,.6) 55%,rgba(47,91,216,.3) 100%),url(../img/hero-bg.jpg) center/cover no-repeat;}
.admin-hero h1{margin:0;color:#fff;font-size:26px;letter-spacing:.5px;}
.admin-hero p{margin:8px 0 0;color:rgba(255,255,255,.9);font-size:14px;}

/* ===== 表格 ===== */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.tbl-orders{table-layout:fixed;min-width:760px;}
.tbl th,.tbl td{padding:11px 12px;text-align:left;vertical-align:top;word-break:break-word;}
.tbl thead th{background:#FAFBFF;border-bottom:1px solid var(--line);color:var(--sub);font-weight:700;font-size:13px;white-space:nowrap;}
.tbl tbody tr{transition:background .12s;}
.tbl tbody tr:hover{background:#F7F9FF;}
.tbl tbody td{border-bottom:1px solid var(--line);}
.tbl tbody tr:last-child td{border-bottom:none;}
.tbl-orders th:nth-child(1),.tbl-orders td:nth-child(1){width:5%;}
.tbl-orders th:nth-child(2),.tbl-orders td:nth-child(2){width:13%;}
.tbl-orders th:nth-child(3),.tbl-orders td:nth-child(3){width:15%;}
.tbl-orders th:nth-child(4),.tbl-orders td:nth-child(4){width:9%;white-space:nowrap;}
.tbl-orders th:nth-child(5),.tbl-orders td:nth-child(5){width:7%;white-space:nowrap;}
.tbl-orders th:nth-child(6),.tbl-orders td:nth-child(6){width:10%;}
.tbl-orders th:nth-child(7),.tbl-orders td:nth-child(7){width:9%;white-space:nowrap;}
.tbl-orders th:nth-child(8),.tbl-orders td:nth-child(8){width:12%;}
.tbl-orders th:nth-child(9),.tbl-orders td:nth-child(9){width:28%;}

/* ===== 表单 ===== */
.buybox{display:flex;flex-direction:column;gap:14px;max-width:640px;}
.fld label{display:block;font-weight:600;margin-bottom:5px;font-size:14px;}
.fld input,.fld textarea,.fld select,.ops input,.buybox input,.buybox textarea,.buybox select{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--radius-sm);font-size:14px;background:#fff;color:var(--txt);transition:border-color .15s,box-shadow .15s;}
.fld input:focus,.fld textarea:focus,.fld select:focus,.buybox input:focus,.buybox textarea:focus,.buybox select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(47,91,216,.14);}
textarea{resize:vertical;}
.opt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;transition:all .15s;background:#fff;}
.opt:hover{border-color:var(--acc2);background:#F7F9FF;}
.opt:has(input:checked){border-color:var(--acc);background:var(--acc-soft);}

/* ===== 反馈 / 面包屑 ===== */
.flash{background:var(--warn-soft);border:1px solid #F0E0C2;color:#7A5418;border-radius:var(--radius-sm);padding:11px 14px;margin:12px 0;}
.notice{background:var(--acc-soft);border:1px solid #D6E0FA;border-radius:var(--radius-sm);padding:12px 16px;}
.crumbs{color:var(--sub);font-size:13px;margin-bottom:14px;} .crumbs a{color:var(--acc);}

/* ===== FAQ ===== */
.faq{margin:8px 0;} .faq summary{cursor:pointer;font-weight:600;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;transition:all .15s;}
.faq summary:hover{border-color:var(--acc2);}
.faq p{padding:0 12px 10px;margin:8px 0 0;color:var(--sub);}

/* ===== 时间线 ===== */
.timeline{list-style:none;padding-left:0;margin:12px 0;} .timeline li{position:relative;border-left:2px solid var(--acc2);padding:4px 0 4px 16px;color:var(--sub);font-size:14px;}

/* ===== 状态颜色 ===== */
.st-wait_pay,.st-paid{color:var(--warn);font-weight:600;} .st-processing,.st-recharging{color:var(--acc);font-weight:600;}
.st-completed{color:var(--ok);font-weight:600;} .st-need_info{color:var(--warn);font-weight:600;} .st-failed,.st-refunded,.st-closed{color:var(--err);font-weight:600;}

/* ===== 后台操作 ===== */
.ops form{display:block;margin:0 0 6px;} .ops form:last-child{margin-bottom:0;} .ops button{margin:2px 4px 2px 0;padding:4px 10px;font-size:12px;border:1px solid var(--line);background:#fff;border-radius:999px;cursor:pointer;color:var(--sub);transition:all .15s;white-space:nowrap;}
.ops button:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-soft);}
.ops button.ok{color:var(--ok);border-color:#CBE7D8;} .ops button.ok:hover{background:var(--ok-soft);border-color:var(--ok);}
.ops button.bad{color:var(--err);border-color:#F0CECE;} .ops button.bad:hover{background:var(--err-soft);border-color:var(--err);}
.ops input{width:100%;max-width:160px;display:inline-block;margin:2px 4px 2px 0;}

/* ===== 后台统计卡片 ===== */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 10px;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;box-shadow:var(--shadow);transition:transform .15s;cursor:pointer;}
.stat:hover{transform:translateY(-2px);border-color:var(--acc2);}
.stat b{font-size:24px;color:var(--acc);line-height:1.1;}
.stat span{color:var(--sub);font-size:13px;}
.filt{margin-bottom:14px;} .filt select{padding:8px 12px;border:1px solid var(--line2);border-radius:var(--radius-sm);font-size:14px;background:#fff;}

/* ===== 后台查看按钮 ===== */
.viewlink{display:inline-block;padding:3px 12px;border:1px solid var(--acc);color:var(--acc);border-radius:999px;font-size:13px;margin-bottom:5px;background:#fff;transition:all .15s;}
.viewlink:hover{background:var(--acc-soft);}

/* ===== 后台设置表单 ===== */
.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start;}
.settings .fld label{display:block;font-weight:600;margin-bottom:5px;font-size:14px;}
.settings .fld input,.settings .fld textarea,.settings .fld select{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box;background:#fff;}
.settings .fld input:focus,.settings .fld textarea:focus,.settings .fld select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(47,91,216,.14);}
.settings .span2{grid-column:1/-1;}
.settings h3{margin:10px 0 0;grid-column:1/-1;color:var(--acc);font-size:16px;border-bottom:1px dashed var(--line);padding-bottom:8px;}

/* ===== 信任区 ===== */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:10px 0;}
.grid3 > div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);}
.grid3 > div b{display:block;margin-bottom:4px;color:var(--txt);font-size:14px;}
.trust h2{margin-top:18px;font-size:19px;}
.revlist{list-style:none;padding-left:0;} .revlist li{padding:7px 0;border-bottom:1px dashed var(--line);} .revlist li:last-child{border-bottom:none;}

/* ===== 其他 ===== */
.secret{background:#FAFBFF;border:1px solid var(--line);padding:12px;border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;}
.note{margin:16px 0;color:var(--sub);}

/* ===== 底部 ===== */
.foot{border-top:1px solid var(--line);padding:22px 0;margin-top:24px;background:#fff;}
.foot .wrap{display:flex;flex-direction:column;gap:4px;color:var(--sub);font-size:13px;}

/* ===== 商品卡缩略图 ===== */
.card .thumb{display:block;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:8px;border:1px solid var(--line);aspect-ratio:21/9;background:var(--acc-soft);}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.card:hover .thumb img{transform:scale(1.04);}
.card h3{margin:0 0 4px;}

/* ===== 悬浮客服 ===== */
.kefu-fab{position:fixed;right:22px;bottom:22px;z-index:99;}
.kefu-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;color:#fff;font-size:14px;font-weight:600;
  background:linear-gradient(135deg,#2F5BD8,#7B3FE4);box-shadow:0 8px 22px rgba(47,91,216,.4);display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.kefu-btn:hover{transform:translateY(-2px);}
.kefu-panel{position:absolute;right:0;bottom:66px;width:240px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 40px rgba(0,0,20,.18);padding:16px;display:none;}
.kefu-panel.open{display:block;}
.kefu-title{font-weight:700;font-size:15px;margin-bottom:10px;color:var(--txt);}
.kefu-item{font-size:14px;color:var(--txt);padding:6px 0;border-bottom:1px dashed var(--line);}
.kefu-item:last-of-type{border-bottom:none;}
.kefu-note{margin-top:10px;font-size:12px;color:var(--sub);}

/* ===== eSIM 专区 ===== */
.esim-band { margin: 28px 0; padding: 22px; border-radius: 14px; background: linear-gradient(135deg,#eef4ff 0%,#f3ecff 100%); border:1px solid #dde4ff; }
.band-head { margin-bottom: 14px; }
.band-tag { display:inline-block; font-size:12px; color:#2f5bd8; background:#e0e9ff; padding:3px 10px; border-radius:999px; margin-bottom:6px; }
.band-head h2 { margin:2px 0 6px; font-size:22px; }
.sec-title { margin:28px 0 12px; font-size:20px; }
.esim-check { background:#fff7e6; border:1px solid #ffd591; border-radius:10px; padding:12px 14px; margin:12px 0; font-size:14px; }
.esim-check code { background:#fff; padding:2px 6px; border-radius:4px; }
.esim-steps { line-height:1.9; padding-left:20px; }
.esim-deliver { margin:16px 0; padding:18px; background:#f6f9ff; border:1px solid #cfe0ff; border-radius:12px; text-align:center; }
.esim-qr img { width:220px; max-width:80%; background:#fff; padding:10px; border-radius:10px; border:1px solid #e2e8f0; }
.esim-deliver .esim-steps { text-align:left; display:inline-block; margin-top:10px; }
.esim-pending { margin:16px 0; padding:14px; background:#fffbe6; border:1px solid #ffe58f; border-radius:10px; text-align:center; color:#ad6800; }
/* ===== eSIM 专区美化 v2 ===== */
.esim-band {
  margin: 30px 0; padding: 36px 26px; border-radius: 18px;
  background: linear-gradient(135deg,rgba(30,34,88,.92) 0%,rgba(59,42,122,.88) 55%,rgba(91,42,138,.88) 100%),
              url('/assets/img/esim-banner.jpg') center/cover no-repeat;
  border:1px solid rgba(255,255,255,.12); color:#fff;
  box-shadow: 0 18px 50px -18px rgba(59,42,122,.55);
}
.esim-band .band-head h2 { color:#fff; font-size:26px; margin:6px 0 8px; }
.esim-band .band-head .dim { color:rgba(255,255,255,.72); font-size:14px; }
.band-tag {
  display:inline-block; font-size:12px; font-weight:600; color:#0e1330;
  background:linear-gradient(90deg,#7ef0c8,#5ad1ff); padding:4px 12px; border-radius:999px;
  letter-spacing:.3px;
}
.dest-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.dest-tags span {
  font-size:13px; color:rgba(255,255,255,.9); background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18); padding:4px 12px; border-radius:999px;
}
.esim-band .grid { margin-top:20px; }

/* eSIM 商品卡角标 */
.card.is-esim { position:relative; border-top:3px solid #5ad1ff; }
.card-badge {
  position:absolute; top:12px; right:12px; z-index:2;
  font-size:11px; font-weight:700; color:#fff;
  background:linear-gradient(90deg,#ff7a59,#ff4d7d);
  padding:3px 9px; border-radius:999px; box-shadow:0 4px 12px -4px rgba(255,77,125,.6);
}

/* 设备兼容提示 */
.esim-check {
  background:linear-gradient(135deg,#fff7e6 0%,#fff1d6 100%);
  border:1px solid #ffd591; border-left:4px solid #fa8c16;
  border-radius:12px; padding:14px 16px; margin:14px 0; font-size:14px;
}
.esim-check b { color:#ad4e00; }
.esim-check code { background:#fff; padding:2px 8px; border-radius:6px; border:1px dashed #fa8c16; font-weight:600; }

/* 安装步骤 */
.esim-steps { line-height:2; padding-left:22px; color:#333; }
.esim-steps li::marker { color:#5b2a8a; font-weight:700; }

/* 二维码展示卡片 */
.esim-deliver {
  margin:18px 0; padding:24px; border-radius:16px; text-align:center;
  background:linear-gradient(135deg,#f3f6ff 0%,#eef0ff 100%);
  border:1px solid #d4dcf5;
  box-shadow:0 10px 30px -12px rgba(80,90,180,.25);
}
.esim-deliver h2 { font-size:18px; margin-bottom:14px; color:#2d2a6e; }
.esim-qr img {
  width:230px; max-width:82%; background:#fff; padding:12px;
  border-radius:14px; border:1px solid #e2e8f0;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.18);
}
.esim-qr svg {
  width:180px; max-width:80%; height:auto; background:#fff; padding:12px;
  border-radius:14px; border:1px solid #e2e8f0;
  box-shadow:0 8px 24px -8px rgba(0,0,0,.18);
}
.conf-box { margin-top:16px; }
.conf-note { font-size:13px; color:#555; line-height:1.7; margin:10px 0; }
.conf-note code { background:#fff; padding:2px 6px; border-radius:4px; }
.esim-deliver .esim-steps { text-align:left; display:inline-block; margin-top:14px; }
.esim-pending {
  margin:18px 0; padding:16px; border-radius:12px; text-align:center;
  background:#fffbe6; border:1px solid #ffe58f; color:#ad6800; font-size:14px;
}
/* ===== 商品详情页美化 v3 ===== */
.detail-head h1 { font-size:26px; margin:0 0 10px; color:#1a1b3a; }
.detail-head .intro { color:#555; line-height:1.8; font-size:14px; margin-bottom:18px; }

.fld-label { display:block; font-weight:600; font-size:15px; color:#333; margin-bottom:12px; }

/* 规格卡片列表 */
.variant-list { display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.variant-card {
  display:flex; align-items:center; gap:16px; padding:14px 18px;
  background:#fff; border:2px solid #e8e8f0; border-radius:12px;
  cursor:pointer; transition:all .15s;
}
.variant-card:hover { border-color:#8b7cf6; background:#f8f7ff; }
.variant-card input { display:none; }
.variant-card.selected {
  border-color:#6c5ce7; background:#f3f0ff;
  box-shadow:0 0 0 3px rgba(108,92,231,.12);
}
.variant-card.selected .v-price::before {
  content:"✓"; display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%; background:#6c5ce7; color:#fff;
  font-size:13px; margin-right:8px; vertical-align:middle;
}
.v-body { flex:1; min-width:0; }
.v-name { font-weight:700; font-size:15px; color:#1a1b3a; margin-bottom:6px; }
.v-tags { display:flex; flex-wrap:wrap; gap:6px; }
.v-tag {
  font-size:12px; color:#5b4fd6; background:#efeafc;
  padding:2px 10px; border-radius:999px;
}
.v-price { font-size:20px; font-weight:700; color:#ff4d7d; white-space:nowrap; }
.variant-card.selected .v-price { color:#6c5ce7; }

/* 安全提示框 */
.esim-check {
  background:linear-gradient(135deg,#fff7e6,#fff1d6);
  border:1px solid #ffd591; border-left:4px solid #fa8c16;
  border-radius:12px; padding:14px 16px; margin:16px 0; font-size:14px; line-height:1.7;
}
.esim-check b { color:#ad4e00; }
.esim-check code { background:#fff; padding:2px 8px; border-radius:6px; border:1px dashed #fa8c16; font-weight:600; }

/* 章节标题 */
.sec-h { font-size:20px; margin:28px 0 14px; color:#1a1b3a; padding-left:10px; border-left:4px solid #6c5ce7; }

/* FAQ */
.faq-list { display:flex; flex-direction:column; gap:8px; }
.faq {
  background:#fff; border:1px solid #e8e8f0; border-radius:10px; padding:0 16px;
}
.faq summary { padding:14px 0; font-weight:600; cursor:pointer; color:#333; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; float:right; color:#999; font-size:18px; }
.faq[open] summary::after { content:"−"; }
.faq p { padding:0 0 14px; color:#666; line-height:1.7; margin:0; }

/* 安装步骤 */
.esim-steps-wrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.step {
  display:flex; gap:12px; background:#f8f7ff; border-radius:12px; padding:14px;
}
.step-num {
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  background:#6c5ce7; color:#fff; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center;
}
.step b { font-size:14px; color:#333; }
.step p { font-size:13px; color:#777; margin:4px 0 0; line-height:1.6; }
/* ===== 统一专区样式 ===== */
.sec-title {
  font-size:20px; font-weight:800; color:#1a1b3a; margin:0 0 6px;
  display:flex; align-items:center; gap:10px;
}
.sec-tag {
  font-size:12px; font-weight:700; color:#fff;
  background:linear-gradient(90deg,#6c5ce7,#a55eea);
  padding:3px 12px; border-radius:999px;
  vertical-align:middle;
}
.sec-tag.soft { background:#e8e6f7; color:#6c5ce7; }
.sec-tag.tag-vpn { background:linear-gradient(90deg,#2E9E6B,#2F5BD8); }
.sec-tag.tag-esim { background:linear-gradient(90deg,#38bdf8,#5b8def); }
.sec-desc { color:#888; font-size:13px; margin:0 0 10px; }
.dest-tags { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.dest-tags span {
  font-size:13px; color:#5b4fd6; background:#f3f0ff;
  border:1px solid #e0d8ff; padding:4px 12px; border-radius:999px;
}

/* ===== 业务汇总大卡（VPN / eSIM / AI） ===== */
.biz-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; margin:18px 0; }
.biz-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 20px 18px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:16px; min-height:152px; text-decoration:none; color:var(--txt); transition:transform .18s,box-shadow .18s,border-color .18s; }
.biz-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--acc2); }
.biz-card.is-vpn { border-top:3px solid var(--ok); }
.biz-card.is-esim { border-top:3px solid #5ad1ff; }
.biz-card.is-ai { border-top:3px solid #6c5ce7; }
.biz-head { display:flex; gap:14px; align-items:center; }
.biz-thumb { width:60px; height:60px; border-radius:12px; object-fit:cover; flex-shrink:0; border:1px solid var(--line); }
.biz-thumb-icon { display:flex; align-items:center; justify-content:center; font-size:26px; background:var(--acc-soft); }
.biz-head-text { min-width:0; }
.biz-title { font-size:16px; font-weight:800; color:var(--txt); display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.biz-desc { margin:6px 0 0; font-size:12px; color:var(--sub); line-height:1.6; }
.biz-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:13px; border-top:1px dashed var(--line); }
.biz-meta { font-size:13px; color:var(--sub); }
.biz-cta { font-size:13px; font-weight:700; color:var(--acc); white-space:nowrap; }
.biz-head-block { margin:14px 0; }
.card.is-vpn { position:relative; border-top:3px solid var(--ok); }
.vpn-badge { background:linear-gradient(90deg,#2E9E6B,#2F5BD8)!important; }
@media (max-width:900px){
  .biz-grid { grid-template-columns:1fr; }
}
@media (min-width:901px){
  .biz-card { min-height:188px; padding:24px 22px 20px; gap:18px; }
  .biz-thumb { width:64px; height:64px; }
  .biz-title { font-size:17px; }
  .biz-desc { font-size:13px; }
  .biz-meta, .biz-cta { font-size:13.5px; }
}