/* ═══════════════════════════════════════════════════════════════════════════
   polish.css —— 2026-10-20 视觉升级层（在 site.css / pages.css 之后加载）
   ── 目标 ──
   「靓」：统一卡片圆角/间距/价格层级，头部白底常驻，首屏标题克制，
           用留白与层级而不是渐变字堆砌。
   「正」：修掉三个实测问题 ——
           ① 头部半透明压在 banner 上，导航文字看不清（截图实测）；
           ② logo 图片本身已含 wordmark，旁边又输出一次「sim2ai」；
           ③ 分类页卡片宽度/间距在 4 列与 5 列之间不一致，右边缘对不齐。
   ── 约束（SEO/GEO 不动的部分）──
   · 不改任何 H1/H2 层级、正文文案、内链、JSON-LD；
   · 不给任何内容加 display:none（除重复 logo 文字这一处装饰性重复）；
   · 不引入图片/字体/JS 请求，纯 CSS；
   · 用 clamp() 与 grid，避免 CLS（无高度跳变）。
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --r-card: 12px;
  --r-btn: 10px;
  --tx-strong: #0f172a;
  --tx-mute: #667085;
  --shadow-1: 0 1px 2px rgba(16, 24, 40, .05);
  --shadow-2: 0 6px 20px rgba(75, 116, 251, .12);
}

/* ── 1. 头部：白底常驻，导航不再被 banner 干扰 ───────────────────────── */
.hd,
.hd.scrolled {
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-1);
  backdrop-filter: none;
}
.hd-in { height: 56px; gap: 18px; }
.logo img { height: 28px; filter: none; }
.logo span { display: none; }            /* 图片已含 wordmark，去掉重复文字 */
.nav { gap: 2px; }
.nav a { font-size: 14px; color: #344054; padding: 6px 10px; border-radius: 8px; }
.nav a:hover { color: var(--tx-strong); background: var(--soft); }
.nav a.on { color: var(--blue); background: #f2f6ff; }
.nav a.on::after { display: none; }      /* 用底色高亮代替下划线，避免压字 */
.tips { height: 36px; line-height: 36px; font-size: 12.5px; }

/* ── 2. 首屏：标题克制、统计卡成体系 ─────────────────────────────────── */
.hero { padding: 40px 0 24px; }
.hero h1 {
  font-size: clamp(26px, 3.1vw, 40px);
  line-height: 1.28;
  letter-spacing: -0.01em;
  color: var(--tx-strong);
  -webkit-text-fill-color: currentColor;
  background: none;
  font-weight: 800;
}
.hero p {
  max-width: 780px;
  margin: 14px auto 0;
  font-size: 15px;
  line-height: 1.75;
  color: #475467;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-width: 900px;
  margin: 26px auto 0;
}
.stats > div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: 16px 12px;
  text-align: center;
  box-shadow: var(--shadow-1);
}
.stats b {
  display: block;
  font-size: 28px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: var(--tx-strong);
  letter-spacing: -0.02em;
}
.stats span { display: block; margin-top: 4px; font-size: 13px; color: var(--tx-mute); }

/* 目的地搜索条：白卡、圆角、与首屏一体 */
.dest { margin: 8px auto 0; padding: 10px; background: #fff; border: 1px solid var(--line);
        border-radius: 999px; box-shadow: var(--shadow-2); }
.dest .area { border-radius: 999px; }

/* ── 3. 卡片墙：统一 5 列（首屏目的地）/ 4 列（分类页），边缘对齐 ───────── */
.grid, #grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.grid .ci, #grid .ci {
  width: auto !important;
  margin: 0 !important;
  clip-path: none !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-1);
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.grid .ci:hover, #grid .ci:hover {
  border-color: #b9c8ff;
  box-shadow: var(--shadow-2);
  transform: translateY(-2px);
  background: #fff;
}
#grid .ci { flex-direction: row; align-items: center; gap: 12px; min-height: 84px; }
#grid .ci img { width: 38px; height: 38px; object-fit: contain; border-radius: 6px; flex: none; }
#grid .ci .nm { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
#grid .ci .nm b { font-size: 15px; color: var(--tx-strong); font-weight: 700; }
#grid .ci .nm .md { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--tx-mute); }
#grid .ci .nm .lp em { font-style: normal; }

/* 分类页卡片：名称 → 天数流量 → 价格 → 单价，四级层次 */
.grid .ci > b { font-size: 15px; font-weight: 700; color: var(--tx-strong); width: 100%; }
.grid .ci > small { font-size: 13px; color: var(--tx-mute); }
.grid .ci > em {
  font-style: normal;
  font-size: 19px;
  font-weight: 800;
  color: var(--amber);
  font-variant-numeric: tabular-nums;
  margin-top: 2px;
}
.grid .ci > .unit-price { font-size: 12px; color: var(--tx-mute); }
.grid .ci .badge {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 16px;
  background: #fff4ec;
  color: #b54708;
  border: 1px solid #fdd6b5;
}

/* 分类页里 4 列更耐看（卡片信息比首屏目的地多） */
section .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ── 4.「当前精选」块：左侧强调条 + 行距，结论一眼可读 ───────────────── */
.notice.highlights {
  background: #f7f9ff;
  border: 1px solid #dbe4ff;
  border-left: 3px solid var(--blue);
  border-radius: 10px;
  padding: 14px 18px;
  box-shadow: none;
}
.notice.highlights b { font-size: 14.5px; color: var(--tx-strong); }
.notice.highlights ul { margin: 8px 0 0 18px; }
.notice.highlights li { font-size: 14px; line-height: 1.7; color: #344054; }
.notice.highlights a { color: #1d4ed8; text-decoration: none; }
.notice.highlights a:hover { text-decoration: underline; }

/* ── 5. 按钮与输入：统一圆角与显式焦点 ───────────────────────────────── */
.btn, .sbtn, .all, button.btn {
  border-radius: var(--r-btn);
  font-weight: 600;
}
.btn:hover { filter: brightness(1.02); }
input[type=search], input[type=text], input[type=email], input[type=password], select, textarea {
  border-radius: 10px;
}

/* ── 6. 商品页：信息卡化，价格层级明确 ───────────────────────────────── */
.phead {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 22px 24px;
  box-shadow: var(--shadow-1);
  margin-top: 10px;
}
.phead h1 { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.3; color: var(--tx-strong); }
.phead .lead { color: #475467; max-width: 820px; }
.phead .meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.phead .chip {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 13px;
  color: #344054;
}
.phead .chip b { color: var(--tx-strong); }
.form {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: var(--shadow-1);
}

/* ── 7. 区块留白：收紧过大的空档，但不挤压内容 ───────────────────────── */
section { padding: 34px 0; }
.sh { margin-bottom: 18px; }
section:first-of-type { padding-top: 10px; }

/* ── 8. 移动端 ─────────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .grid, #grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  section .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .hd-in { height: 52px; gap: 10px; }
  .tips { height: 32px; line-height: 32px; padding: 0 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .hero { padding: 26px 0 16px; }
  .hero h1 { font-size: 24px; }
  .hero p { font-size: 14px; text-align: left; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
  .stats b { font-size: 22px; }
  .grid, #grid, section .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #grid .ci { flex-direction: row; min-height: 72px; padding: 12px; }
  #grid .ci img { width: 30px; height: 30px; }
  .grid .ci > em { font-size: 17px; }
  .dest { border-radius: 14px; }
  .phead { padding: 16px; }
  .notice.highlights { padding: 12px 14px; }
  .notice.highlights li { font-size: 13px; }
}

/* ── 9. 覆盖「透明头部」时期的白色文字规则 ───────────────────────────────
   site.css 有 `.hd:not(.scrolled) .nav a{color:#fff}` 这类高权重规则（原来压在深色
   banner 上用的）。头部改成白底常驻后，白字白底 = 导航与右侧功能区全部「消失」
   （实测截图：只剩购物车能看见）。这里用同等权重把它们钉回深色。 */
.hd:not(.scrolled) .logo,
.hd:not(.scrolled) .nav a,
.hd:not(.scrolled) .nav a.on,
.hd:not(.scrolled) .hd-r,
.hd:not(.scrolled) .hd-r .sel { color: #344054; }
.hd:not(.scrolled) .hd-r .sel {
  border-color: var(--line);
  background: #fff;
}
.hd:not(.scrolled) .nav a:hover,
.hd:not(.scrolled) .hd-r .sel:hover {
  color: var(--blue);
  background: var(--soft);
}
.hd { top: 36px; }   /* 顶部提示条 36px，头部紧贴其下 */

/* ── 10. 标题统一：去掉渐变字，改深色 + 左侧强调条（更「正」）─────────── */
.grad-txt,
.sh h2,
section h2,
.hero h1 {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--tx-strong) !important;
}
.sh h2 {
  position: relative;
  padding-left: 14px;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.01em;
}
.sh h2::before {
  content: "";
  position: absolute;
  left: 0; top: .18em; bottom: .18em;
  width: 4px;
  border-radius: 2px;
  background: var(--blue);
}
.sh { text-align: center; }
.sh h2 { padding-left: 0; }
.sh h2::before { display: none; }

/* ── 11. 间距收紧：分类页顶部的空档 ─────────────────────────────────── */
.crumb { font-size: 13px; color: #667085; margin: 6px 0 10px; }
.phead { margin-bottom: 14px; }
.notice { margin: 14px 0; }
.answer-first { margin: 12px 0; }
.region-cta .btn, .btn { display: inline-flex; align-items: center; justify-content: center; }
.region-cta .btn { white-space: nowrap; }

/* ── 12. Banner 收敛：320px，避免首屏被促销大图占满 ────────────────── */
.banner, .slides img { height: 360px; }
.bdots { bottom: 74px; }
@media (max-width: 760px) {
  .banner, .slides img { height: 210px; }
  .bdots { bottom: 84px; }
}

/* ── 13. 商品页价格 chip：主价 + 单位价 + 核对日期 ──────────────────── */
/* 2026-10-25：商品页改版后价格 chip 在 .pdp-card 里、不再是 .phead；旧选择器会丢间距，
   实测出现「HKD 81.00HKD 8.10/GB」黏在一起，改成全局 .chip .u。 */
.chip .u { color: #667085; font-weight: 400; margin-left: 6px; font-size: 12.5px; }

/* ── 14. 移动端修正（实测：.wrap 在窄屏水平 padding 被清成 0，正文顶到屏幕边缘）── */
@media (max-width: 760px) {
  .wrap { padding-left: 18px !important; padding-right: 18px !important; }
  .hero p { margin-left: 0 !important; margin-right: 0 !important; text-align: left; }
  .hero h1 { margin-left: 0; margin-right: 0; }
  /* 标签行/筛选行允许横向滚动，避免撑宽页面（实测 docWidth 433 > 390） */
  .tabs, .ctabs { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .tabs button, .ctabs button { flex: 0 0 auto; }
  .stats > div { padding: 12px 8px; }
  .stats b { font-size: 20px; }
  .stats span { font-size: 12px; }
}

/* ── 15. 分类页顶部间距：回答条 → 精选块之间的空档收紧 ────────────────── */
.notice.answer-first { margin: 10px 0 8px; }
.notice.highlights { margin: 8px 0 22px; }

/* ── 16. 商品页购买卡：居中限宽，右侧不再空一大块 ────────────────────── */
.form { max-width: 820px; margin: 0 auto; }

/* ── 17. 移动端卡片内「低至 HKD x/GB」导致横向溢出（实测 docWidth 433>390）── */
@media (max-width: 760px) {
  #grid .ci .nm { min-width: 0; flex: 1; }
  #grid .ci .nm .md { flex-wrap: wrap; gap: 2px 8px; }
  #grid .ci .nm .md span { white-space: nowrap; }
  #grid .ci .nm .lp { display: inline-flex; align-items: baseline; gap: 2px; }
  #grid .ci .nm .lp em { font-size: 14px; }
}

/* ── 18. 移动端目的地卡片：介质与「低至 x/GB」改成上下两行（彻底消除横向溢出）── */
@media (max-width: 760px) {
  #grid .ci .nm .md { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  #grid .ci .nm .md > span { white-space: normal; }
  #grid .ci .nm .lp { white-space: normal; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   19. 首页 Trip.com 式首屏（2026-10-20）
   · .scard  白卡浮在 banner 上：三 tab + 内联搜索 + 大按钮
   · .trust  信任三件套：图标 + 短句
   · .coupons 新客券 4 张 + CTA
   全部为 SSR 标记，CSS 只负责版式；移动端单独收敛。
   ═══════════════════════════════════════════════════════════════════════════ */
.scard {
  position: relative;
  z-index: 5;
  max-width: 1080px;
  margin: 22px auto 0;
  padding: 16px 20px 14px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(16, 24, 40, .14);
}
.banner + .scard { margin-top: -68px; }
.scard-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.scard-tabs a {
  padding: 10px 16px 12px; font-size: 15px; color: #475467; white-space: nowrap;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.scard-tabs a.on { color: var(--blue); font-weight: 700; border-bottom-color: var(--blue); }
.scard-tabs a:hover { color: var(--blue); }
.scard-form { display: flex; gap: 10px; margin-top: 14px; }
.scard-field {
  flex: 1;
  display: flex; align-items: center; gap: 8px;
  height: 52px; padding: 0 14px;
  border: 1px solid #d0d5dd; border-radius: 10px;
  color: #667085;
}
.scard-field:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(75,116,251,.12); }
.scard-field input {
  flex: 1; border: 0; outline: 0; height: 100%;
  font-size: 15px; color: var(--tx-strong); background: transparent;
}
.scard-btn {
  height: 52px; padding: 0 34px;
  border: 0; border-radius: 10px; cursor: pointer;
  background: var(--blue); color: #fff; font-size: 16px; font-weight: 700;
  transition: filter .15s ease;
}
.scard-btn:hover { filter: brightness(1.06); }
.scard-hot { margin: 10px 2px 0; font-size: 13px; color: #667085; }
.scard-hot a { margin-left: 10px; color: #344054; }
.scard-hot a:hover { color: var(--blue); }

.trust { padding: 30px 0 6px; }
.trust-in {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;
  max-width: 1080px;
}
.trust-item { display: flex; gap: 12px; align-items: flex-start; }
.trust-item svg { width: 30px; height: 30px; color: var(--blue); flex: none; margin-top: 2px; }
.trust-item b { display: block; font-size: 15px; color: var(--tx-strong); }
.trust-item span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.6; color: #667085; }

.coupons { padding: 26px 0 10px; }
.coupon-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.coupon {
  position: relative;
  padding: 18px 16px 16px;
  background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 70%);
  border: 1px solid #e4e9f7;
  border-left: 3px dashed #b9c8ff;
  border-radius: 12px;
}
.coupon-tag {
  display: inline-block; margin-bottom: 8px; padding: 2px 8px;
  font-size: 11px; line-height: 16px; border-radius: 999px;
  background: #eef3ff; color: #1d4ed8; border: 1px solid #d5e0ff;
}
.coupon b { display: block; font-size: 15.5px; color: var(--tx-strong); line-height: 1.4; }
.coupon-sub { display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.6; color: #667085; }
.coupon-cta { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; }
.coupon-rules { font-size: 13.5px; color: #475467; text-decoration: underline; }

@media (max-width: 760px) {
  .scard { margin-left: 18px; margin-right: 18px; padding: 12px 14px 12px; border-radius: 14px; }
  .banner + .scard { margin-top: -44px; }
  .scard-form { flex-direction: column; gap: 8px; }
  .scard-field, .scard-btn { height: 46px; width: 100%; }
  .scard-btn { padding: 0; }
  .scard-tabs a { padding: 9px 12px 11px; font-size: 14px; }
  .trust { padding-top: 22px; }
  .trust-in { grid-template-columns: 1fr; gap: 12px; }
  .coupon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .coupon { padding: 14px 12px 12px; }
  .coupon b { font-size: 14px; }
  .coupon-cta { flex-direction: column; gap: 8px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   20. 目的地卡网格「排版」修正（2026-10-21 用户截图反馈）
   site.css 的 .grid 是 flex + 浅底 + 1px 边框 + 34px 内边距，.ci 是 4 列宽度公式、
   第 4 个去右外边距、68px 圆旗、.nm 左侧 15px 外边距。只改 display 会留下半套旧规则，
   导致卡片宽度不一、内容错位、外面多出一圈灰底盒子。这里把旧规则整组重置成统一的 grid。
   ═══════════════════════════════════════════════════════════════════════════ */
.grid, #grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.grid .ci, #grid .ci {
  width: auto !important;
  margin: 0 !important;
  height: 100% !important;
  min-height: 96px;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  clip-path: none !important;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line);
}
.grid .ci::before, #grid .ci::before { display: none !important; }
.grid .ci img, #grid .ci img {
  width: 44px !important; height: 44px !important; min-width: 44px !important;
  border-radius: 100px !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.12) !important;
  object-fit: cover;
}
.grid .ci .nm, #grid .ci .nm {
  flex: 1 1 auto !important;
  margin-left: 0 !important;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  text-align: left;
}
.grid .ci .nm b, #grid .ci .nm b {
  font-size: 15px; line-height: 1.3; font-weight: 700; color: var(--tx-strong);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.grid .ci .nm .md, #grid .ci .nm .md {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  font-size: 12.5px; line-height: 1.4; color: #667085;
}
.grid .ci .nm .md > span:first-child { letter-spacing: .2px; }
.grid .ci .nm .lp, #grid .ci .nm .lp {
  color: #667085;
  white-space: nowrap;
}
.grid .ci .nm .lp em, #grid .ci .nm .lp em {
  font-style: normal; font-weight: 800; font-size: 15px; color: var(--amber);
  font-variant-numeric: tabular-nums;
}
/* 「查看全部 N 个目的地」按钮与网格保持间距，不压到卡片 */
.grid + .all, #grid + .all { display: inline-block; margin: 22px 0 6px !important; }

@media (max-width: 1080px) {
  .grid, #grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  .grid, #grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .grid .ci, #grid .ci { min-height: 84px; padding: 12px !important; gap: 9px !important; }
  .grid .ci img, #grid .ci img { width: 34px !important; height: 34px !important; min-width: 34px !important; }
  .grid .ci .nm b { font-size: 14px; }
  .grid .ci .nm .md { font-size: 12px; }
  .grid .ci .nm .lp em { font-size: 13px; }
}
/* ── 21. 卡片价格行：单行不折（2026-10-21 移动端实测「低/至」被拆成两行）── */
.grid .ci .nm .lp, #grid .ci .nm .lp {
  display: block !important;
  width: 100%;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 12.5px;
}
.grid .ci .nm .lp em, #grid .ci .nm .lp em { display: inline; }
@media (max-width: 760px) {
  .grid .ci .nm .lp, #grid .ci .nm .lp { font-size: 12px; }
}
/* ── 22. 「查看全部 N 个目的地」按钮居中（2026-10-21 截图反馈：靠左显突兀）── */
.grid + .all, #grid + .all {
  display: block !important;
  width: max-content;
  max-width: 100%;
  margin: 26px auto 10px !important;
  padding: 14px 34px;
  text-align: center;
}
/* ═══════════════════════════════════════════════════════════════════════════
   23. 搜索卡重构（2026-10-21 用户反馈：挡住 banner 图片 + 排版过硬、圆点撞角）
   ── 改法 ──
   · 不再压图：卡片放在 banner 下方 18px 处（负边距会让烘焙在图片里的文字被切，
     也会撞上轮播圆点）；改用浅色过渡区把「搜索卡 + 信任条」包成一组。
   · 收紧尺寸：最大宽 980、内边距 18/22、输入与按钮统一 48px 高。
   · 柔化视觉：18px 圆角、细边框、柔和投影、tabs 轻分隔。
   ═══════════════════════════════════════════════════════════════════════════ */
.scard {
  max-width: 980px;
  margin: 18px auto 0;
  padding: 16px 22px 14px;
  border-radius: 18px;
  border: 1px solid #eef1f7;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .08);
  background: #fff;
}
.banner + .scard { margin-top: 18px !important; }   /* 取消压图 */
.scard-tabs { gap: 4px; }
.scard-tabs a { font-size: 14px; padding: 9px 14px 11px; color: #667085; }
.scard-tabs a.on { font-weight: 700; }
.scard-form { gap: 12px; margin-top: 12px; }
.scard-field { height: 48px; border-radius: 12px; border-color: #e4e7ec; }
.scard-field input { font-size: 14.5px; }
.scard-btn { height: 48px; padding: 0 40px; border-radius: 12px; font-size: 15.5px; }
.scard-hot { margin-top: 8px; font-size: 12.5px; }

/* 搜索卡 + 信任条放进同一个浅色过渡区，视觉上成为一组 */
.hero-zone {
  background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 70%);
  padding-bottom: 8px;
}
@media (max-width: 760px) {
  .scard { margin: 14px 18px 0 !important; padding: 12px 14px 12px; border-radius: 16px; }
  .banner + .scard { margin-top: 14px !important; }
  .scard-field, .scard-btn { height: 44px; }
  .scard-btn { padding: 0; }
}
/* ── 24. 搜索卡浅色过渡带：banner 与首屏标题之间不再“硬切” ──────────── */
.search-band {
  background: linear-gradient(180deg, #f6f8fd 0%, #ffffff 88%);
  border-bottom: 1px solid #f0f2f7;
  padding: 26px 18px 30px;
}
.search-band .scard { margin: 0 auto !important; }
.search-band .scard { box-shadow: 0 10px 28px rgba(16, 24, 40, .10); }
@media (max-width: 760px) {
  .search-band { padding: 16px 0 20px; }
  .search-band .scard { margin: 0 18px !important; }
}
/* ── 25. 修复筛选失效（2026-10-21 用户反馈「点击无变化」）─────────────────
   home.js 的 tab 筛选是给卡片加 [hidden] 属性（UA 样式 display:none）。
   第 20 节给 .ci 加了 display:flex !important，把 [hidden] 盖掉了 ——
   于是点击后 class 变了、卡片却不消失，看起来像“没反应”。
   这一条用同等 !important + 更高选择器优先级把 [hidden] 钉回来。
   ─────────────────────────────────────────────────────────────────── */
.grid .ci[hidden], #grid .ci[hidden],
.grid .ci[hidden]:hover, #grid .ci[hidden]:hover {
  display: none !important;
}
/* ═══════════════════════════════════════════════════════════════════════════
   26. 卡片布局彻底分开：首页目的地卡（横排）vs 分类页套餐卡（竖排）
   ── 事故 ──
   第 20 节为修首页网格写了 `.grid .ci { flex-direction: row !important }`，
   但分类页（旅游卡 / AI 页）也用 `.grid`，于是套餐卡被换成横排：
   名称被挤成竖排、价格和单价挤到同一行（2026-10-21 用户截图）。
   ── 规则 ──
   `#grid`      = 首页「目的地」卡：图标 + 名称/价格，横排
   `section .grid` = 分类页「套餐」卡：名称 → 天数/流量 → 价格 → 单价，竖排
   ═══════════════════════════════════════════════════════════════════════════ */
#grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}
#grid .ci {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  height: 100% !important;
  min-height: 96px;
  padding: 14px 16px !important;
  width: auto !important;
  margin: 0 !important;
}
#grid .ci .nm { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }

section .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
}
section .grid .ci {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  height: 100% !important;
  min-height: 108px;
  padding: 16px !important;
  width: auto !important;
  margin: 0 !important;
  position: relative;
}
section .grid .ci > b {
  display: block;
  width: 100%;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
  color: var(--tx-strong);
  word-break: break-word;
}
section .grid .ci > small {
  display: block;
  font-size: 13px;
  color: var(--tx-mute);
}
section .grid .ci > em {
  display: block !important;
  margin-top: 4px;
  font-style: normal;
  font-size: 19px;
  font-weight: 800;
  color: var(--amber);
  font-variant-numeric: tabular-nums;
}
section .grid .ci > .unit-price {
  display: block !important;
  margin-top: 0;
  font-size: 12px;
  color: var(--tx-mute);
}
section .grid .ci .badge {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
}
@media (max-width: 1080px) {
  section .grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  section .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  section .grid .ci { min-height: 96px; padding: 12px !important; }
  section .grid .ci > b { font-size: 14px; }
  section .grid .ci > em { font-size: 17px; }
}
/* ── 27. 推荐标签不再压住套餐名（2026-10-21 AI 页截图：标签盖在标题右侧）──
   改成「标签在上、名称在下」的竖排层级：order:-1 把标签提到名称前面，
   并取消绝对定位，名称可以完整占满一行。 */
section .grid .ci .badge {
  position: static !important;
  order: -1;
  align-self: flex-start;
  margin: 0 0 2px 0 !important;
  display: inline-block;
}
section .grid .ci > b { padding-right: 0; }
/* ═══════════════════════════════════════════════════════════════════════════
   28. ICCID 页「文字被吃掉」修复（2026-10-21 用户截图）
   ── 原因 ──
   站内绝大多数页面都用 `<div class="page">` 包一层，.page 自带 118px 上内边距；
   但 iccid.html 是直接 `<div class="crumb">` + `<section>`，没有这层包裹，
   而头部是 fixed（顶部提示条 36px + 头部 66px = 102px），于是面包屑与 H1
   被压在固定头部下面，看起来像“文字被吃掉”。
   ── 修法 ──
   只给「直接挂在 body 下的面包屑」补出头部高度，其余页面不受影响。
   ═══════════════════════════════════════════════════════════════════════════ */
main > .crumb {
  margin: 110px auto 0;
  max-width: 1280px;
  padding: 0 20px;
  font-size: 13px;
  color: #667085;
}
@media (max-width: 760px) {
  main > .crumb { margin-top: 98px; }
}

/* ── 29. 页脚站标去重（图片本身已含 wordmark，旁边又写了一次 sim2ai）── */
.ft .brand div > span { display: none; }
/* ═══════════════════════════════════════════════════════════════════════════
   30. 移动端目的地网格（2026-10-21 用户手机截图：390px 还是 5 列，文字被挤没）
   ── 原因 ──
   第 26 节又写了一次 `#grid{repeat(5) !important}`，它排在旧的 760px 媒体查询之后，
   同权重 !important 后者胜 → 手机上仍是 5 列，卡片宽度只剩 ~70px。
   ── 修法 ──
   把移动端覆盖放到文件最后（CSS 后写胜出），并允许名称换行、字号逐级收小。
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1080px) {
  #grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  #grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  #grid .ci {
    min-height: 96px !important;
    padding: 12px !important;
    gap: 9px !important;
  }
  #grid .ci img {
    width: 34px !important; height: 34px !important; min-width: 34px !important;
    border-width: 2px !important;
  }
  #grid .ci .nm { gap: 2px; }
  #grid .ci .nm b {
    font-size: 14px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }
  #grid .ci .nm .md { font-size: 11.5px !important; gap: 1px; }
  #grid .ci .nm .lp { font-size: 11.5px !important; }
  #grid .ci .nm .lp em { font-size: 13px !important; }
}
/* ── 31. 移动端覆盖组合 tab：单行横滑，不再折成三行（2026-10-21 手机截图）── */
@media (max-width: 760px) {
  .ctabs, .tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 8px !important;
    padding: 2px 2px 8px;
    scrollbar-width: none;
  }
  .ctabs::-webkit-scrollbar, .tabs::-webkit-scrollbar { display: none; }
  .ctabs button, .tabs button {
    flex: 0 0 auto !important;
    font-size: 13px;
    padding: 6px 10px;
    white-space: nowrap;
  }
}

/* 2026-10-22 Banner：现有源图 750×360（手机规格），PC 上必须完整显示文字，不能裁切。
   用 contain + 同色底：图片完整、两侧留品牌底色；以后换 1440×360 的图也不会裁。 */
.banner { background: #0b1440; }
.slides img { object-fit: contain; background: transparent; }

/* 2026-10-22 Banner：模糊背景铺满 + 原图完整显示（文字不裁切、两侧不留空白） */
.slide { position: relative; flex: none; width: 100%; height: 100%; display: block; overflow: hidden; }
.slide .bgblur {
  position: absolute; inset: -30px; z-index: 0; pointer-events: none;
  background-image: var(--bgsrc); background-size: cover; background-position: center;
  filter: blur(30px) brightness(.55); transform: scale(1.15);
}
.slides img { position: relative; z-index: 1; }

/* 2026-10-22 Banner：前景图左右做羽化过渡，边缘不再生硬地“切”进模糊背景 */
.slide img {
  -webkit-mask-image: linear-gradient(to right,
      transparent 0%, rgba(0,0,0,.25) 3%, #000 10%,
      #000 90%, rgba(0,0,0,.25) 97%, transparent 100%);
  mask-image: linear-gradient(to right,
      transparent 0%, rgba(0,0,0,.25) 3%, #000 10%,
      #000 90%, rgba(0,0,0,.25) 97%, transparent 100%);
}

/* 2026-10-23 结算页全宽双栏（覆盖 .form 的 820px 限宽） */
.wrap > .co-form{max-width:none!important;margin:0}

/* 2026-10-23 商品页新结构：左信息 + 右购买盒 sticky */
.page-product .pdp-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start;margin-top:6px}
.page-product .pdp-left{min-width:0}
.page-product .pdp-card,.page-product .pdp-buy-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:22px;box-shadow:0 2px 8px rgba(16,24,40,.06)}
.page-product .pdp-buy{position:sticky;top:96px}
.pdp-kicker{font-size:12px;color:#667085;letter-spacing:.5px}
.pdp-price{font-size:34px;font-weight:800;color:#e34d2f;margin:6px 0 0;letter-spacing:-.5px}
.pdp-price span{font-size:13px;color:#667085;font-weight:500;margin-left:6px;letter-spacing:0}
.pdp-price-note{font-size:12.5px;color:#667085;margin:4px 0 14px}
.pdp-label{font-size:13px;font-weight:700;margin:6px 0 8px}
.mediatog-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mediatog-cards label{border:1.5px solid #e4e7ec;border-radius:12px;padding:10px 12px;display:block;cursor:pointer;margin:0}
.mediatog-cards label:has(input:checked){border-color:#2f6bff;background:#f4f7ff;box-shadow:0 0 0 3px rgba(47,107,255,.10)}
.mediatog-cards label span{display:block}
.mediatog-cards label b{font-size:14px;display:block}
.mediatog-cards label small{font-size:11.5px;color:#667085}
.pdp-cta{width:100%;height:48px;margin-top:14px}
.pdp-cta2{width:100%;margin-top:8px;text-align:center;display:block;box-sizing:border-box;padding:11px 0}
.pdp-trust{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0 0;font-size:12px;color:#667085}
.pdp-includes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.pdp-includes>div{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:14px}
.pdp-includes b{display:block;font-size:13.5px;margin:6px 0 3px}
.pdp-includes p{margin:0;font-size:12.5px;color:#667085;line-height:1.6}
.pdp-fee{font-size:13px;color:#667085;margin-top:8px}
@media(max-width:980px){.page-product .pdp-grid{grid-template-columns:1fr}.page-product .pdp-buy{position:static}.pdp-includes{grid-template-columns:1fr 1fr}}
.page-product .pdp-card h1{font-size:32px;line-height:1.25;margin:0 0 8px}
.page-product .pdp-card .lead{margin:0 0 14px;color:#667085;font-size:15px}
.page-product .pdp-card .meta{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.page-product .pdp-card .chip{white-space:nowrap}


/* ═══════════════════════════════════════════════════════════════════════════
   27. 首页/头部改版（2026-10-27，老板 5 条意见）
   · 头部压到 ≤64px，给 banner 让空间；右侧工具无边框、登录/登出蓝色长椭圆
   · Banner 宽度 100%、高度按图比例自适应（不裁切/不模糊/不留虚化条），
     PC 用 PC 图、手机用移动图（mobile_banners），移动图未上传时回退 PC 图
   · 主按钮统一 44px 高 / 999px 胶囊圆角 / 15px 字号
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 头部更紧凑 ── */
.hd { top: 36px; }
.hd-in { height: 52px; gap: 16px; }
.logo img { height: 26px; }
.hd-r { gap: 4px; }

/* ── 右侧工具：纯文字/下拉，无背景框 ── */
.hd .hd-r .sel,
.hd:not(.scrolled) .hd-r .sel,
.hd.scrolled .hd-r .sel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  padding: 6px 8px;
  color: #344054 !important;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
}
.hd .hd-r .sel:hover,
.hd:not(.scrolled) .hd-r .sel:hover,
.hd.scrolled .hd-r .sel:hover {
  color: var(--blue) !important;
  background: transparent !important;
  border: 0 !important;
}

/* 登录 / 登出：蓝色长椭圆按钮（与主按钮同色） */
.hd .hd-r .hd-login,
.hd:not(.scrolled) .hd-r .hd-login,
.hd.scrolled .hd-r .hd-login,
.hd-r .hd-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 20px;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--blue) !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.hd .hd-r .hd-login:hover,
.hd:not(.scrolled) .hd-r .hd-login:hover,
.hd.scrolled .hd-r .hd-login:hover,
.hd-r .hd-login:hover {
  background: #2f4fc0 !important;
  color: #fff !important;
  border: 0 !important;
}

/* 购物车：只留图标 + 数量角标 */
.cart,
.hd:not(.scrolled) .cart {
  background: transparent !important;
  color: var(--blue) !important;
  clip-path: none;
  padding: 6px 8px;
  min-height: 36px;
  border-radius: 8px;
  box-shadow: none;
}
.cart:hover,
.hd:not(.scrolled) .cart:hover {
  background: var(--soft) !important;
  color: var(--blue) !important;
}
.cart svg { display: block; }
.cart-t { display: none !important; }

/* ── Banner：完整展示整张图（不裁切、不模糊、无左右虚化条） ── */
.home-banners { margin-top: 88px; }   /* 顶部提示条 36 + 头部 52 */
.banner { height: auto !important; background: transparent !important; overflow: hidden; }
.banner::after { display: none !important; }
.banner .bgblur { display: none !important; }
.slides { height: auto !important; align-items: flex-start; }
.slide { display: block; flex: 0 0 100%; line-height: 0; }
.slides img {
  display: block;
  width: 100%;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}
.bdots { bottom: 18px; }
.banner-mobile { display: none; }
.banner-pc { display: block; }
.home-banners.no-pc .banner-mobile { display: block; }

/* ── 主按钮统一：44px 高 / 胶囊圆角 / 15px 字号 ── */
.btn,
button.btn,
.scard-btn,
.pdp-cta,
.pdp-cta2 {
  height: 44px;
  min-height: 44px;
  padding: 0 28px;
  border-radius: 999px !important;
  font-size: 15px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btn-ghost { border-radius: 999px !important; }
.scard-field { height: 44px; }
.scard-btn { height: 44px; padding: 0 32px; border-radius: 999px !important; font-size: 15px; }

@media (max-width: 760px) {
  .hd { top: 32px; }
  .hd-in { height: 46px; gap: 8px; }
  .logo img { height: 24px; }
  .tips { height: 32px; line-height: 32px; }
  .hd-r { gap: 1px; }
  .hd .hd-r .sel,
  .hd:not(.scrolled) .hd-r .sel,
  .hd.scrolled .hd-r .sel { padding: 6px 4px; min-height: 44px; font-size: 12px; }
  .hd .hd-r .hd-login,
  .hd:not(.scrolled) .hd-r .hd-login,
  .hd.scrolled .hd-r .hd-login,
  .hd-r .hd-login { height: 40px; padding: 0 14px; font-size: 12.5px; }
  .cart,
  .hd:not(.scrolled) .cart { padding: 6px 4px; min-height: 44px; }

  .home-banners { margin-top: 78px; }   /* 32 + 46 */
  .home-banners.has-mobile .banner-pc { display: none; }
  .home-banners.has-mobile .banner-mobile { display: block; }
  .bdots { bottom: 12px; }

  .btn,
  button.btn,
  .scard-btn,
  .pdp-cta,
  .pdp-cta2 { height: 44px; padding: 0 22px; font-size: 15px; }
  .scard-field { height: 44px; }
  .scard-btn { height: 44px; padding: 0; }
}


/* 2026-10-27 补丁：旧版 banner 羽化 mask 必须去掉（否则图片左右边缘仍是渐变透明） */
.slide { height: auto !important; }
.slides img {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* 2026-10-27 补丁：390 下 .ctabs 是 width:fit-content + nowrap，实测把文档撑到 573px；
   改为 100% 宽的横滑容器，页面不再横向溢出。 */
@media (max-width: 760px) {
  .ctabs, .tabs {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}


/* 2026-10-27 老板追加：Banner 不要满屏过高，按原图比例缩到合适大小。
   桌面图片高上限 420px（750×360 → 约 875×420，水平居中，两侧留页面底色）；
   手机高上限 210px；容器高度随图自适应，不固定 691px。 */
.home-banners .banner { background: transparent !important; height: auto !important; }
.home-banners .slide {
  display: flex !important;
  justify-content: center;
  align-items: flex-start;
  flex: 0 0 100% !important;
}
.home-banners .slides { width: 100%; height: auto !important; align-items: flex-start; }
.home-banners .slides img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 420px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .home-banners .slides img { max-height: 210px !important; }
}


/* 2026-10-27 老板最终口径（覆盖上一条“按比例缩小、两侧留白”）：
   Banner 全宽铺满（width:100%），高度用响应式固定值（桌面 clamp(240px,26vw,420px)，
   手机 clamp(150px,44vw,220px)），图片 width/height 100% + object-fit:cover 居中；
   无模糊、无色块、无左右虚边；轮播容器同高。 */
.home-banners .banner {
  width: 100% !important;
  height: clamp(240px, 26vw, 420px) !important;
  overflow: hidden;
  background: transparent !important;
}
.home-banners .slides { height: 100% !important; align-items: stretch; }
.home-banners .slide {
  display: block !important;
  flex: 0 0 100% !important;
  height: 100% !important;
  line-height: 0;
}
.home-banners .slides img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  margin: 0 !important;
}
@media (max-width: 760px) {
  .home-banners .banner { height: clamp(150px, 44vw, 220px) !important; }
}


/* 2026-10-27 高度范围对齐：桌面 360–420px；手机 180–220px（clamp 下限兜住 390 视口） */
.home-banners .banner { height: clamp(360px, 26vw, 420px) !important; }
@media (max-width: 760px) {
  .home-banners .banner { height: clamp(180px, 46vw, 220px) !important; }
}


/* 2026-10-27 老板再调：高度提高；源图 750×360 铺到 1440 会放大 ~1.9x，仍建议换 1920×640 */
.home-banners .banner { height: clamp(420px, 30vw, 480px) !important; }
.home-banners .slides img { image-rendering: auto; }
@media (max-width: 760px) {
  .home-banners .banner { height: clamp(200px, 52vw, 240px) !important; }
}


/* 2026-10-27 老板再调：加大高度减少裁切感；保持全宽 cover、无侧边填充/延伸/模糊 */
.home-banners .banner { height: clamp(480px, 34vw, 540px) !important; }
@media (max-width: 760px) {
  .home-banners .banner { height: clamp(210px, 54vw, 250px) !important; }
}


/* 2026-10-27 旧站风格试点（先 2 处）：
   ① .tabs（热门地区/单地区/多地区、eSIM/实体卡）→ 直角容器 + 选中实心蓝方块；
   ② 分类页「查看全部目的地与地区」.region-cta .btn → 蓝底四角切角矩形。
   头部登录/登出胶囊不动（.hd-login 不走 .btn）。 */
.tabs {
  width: fit-content;
  margin: 0 auto 30px;
  display: flex;
  gap: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #cfd6e2;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.tabs button {
  height: 42px;
  padding: 0 22px;
  border: 0 !important;
  border-right: 1px solid #e2e7ef !important;
  border-radius: 0 !important;
  background: #fff;
  color: #344054;
  font-size: 15px;
  font-weight: 500;
  box-shadow: none;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.tabs button:last-child { border-right: 0 !important; }
.tabs button:hover { color: #2f5bd0; background: #f5f8ff; }
.tabs button.on {
  background: #2f5bd0 !important;
  color: #fff !important;
  font-weight: 600;
  border-color: #2f5bd0 !important;
  box-shadow: none;
}
.tabs button.on:hover { background: #2f5bd0 !important; color: #fff !important; }
.tabs button.on::after { display: none !important; }
@media (max-width: 760px) {
  .tabs { width: 100% !important; max-width: 100% !important; }
  .tabs button { height: 42px; padding: 0 16px; font-size: 14px; }
}

.region-cta .btn {
  height: 44px;
  padding: 0 28px;
  border: 0 !important;
  border-radius: 0 !important;
  background: #2f5bd0 !important;
  color: #fff !important;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px),
                     calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
}
.region-cta .btn:hover { background: #2a4fbd !important; color: #fff !important; filter: none; }

/* 试点补丁：.tabs 容器本身也去掉旧的切角 clip-path，保持直角容器 */
.tabs { clip-path: none !important; border-radius: 0 !important; }


/* 2026-10-27 三步指南：卡片严格拆成「图片区 + 文字区」，不再叠层 */
.pane { align-items: stretch; }
.step { overflow: hidden; }
.step .ph {
  width: 100%;
  height: 160px;
  flex: none;
  background: #fff;
  border-bottom: 0;
  padding: 14px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.step .ph img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: none;
}
.step .bd {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 18px;
}
.step .no { margin: 0; }
.step .tx { padding: 0; }
.step .lk { margin-top: auto; padding: 4px 0 0; }
@media (max-width: 760px) {
  .step .ph { height: 130px; }
  .step .bd { padding: 16px 14px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   2026-10-27 最终口径：头部压窄 + 全站胶囊按钮/选项卡
   （覆盖前面的直角 tab / 切角按钮试点；头部登录/登出仍为蓝胶囊）
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --btn-h: 40px;
  --btn-h-primary: 44px;
  --btn-radius: 999px;
  --btn-px: 26px;
  --btn-font: 15px;
  --btn-weight: 600;
  --btn-blue: #2f5bd0;
  --btn-blue-hover: #2a4fbd;
}

/* ── 白色导航条压窄 ── */
.tips { height: 32px !important; line-height: 32px !important; }
.hd { top: 32px !important; }
.hd-in { height: 48px !important; gap: 14px !important; }
.logo img { height: 28px !important; }
.hd-r { gap: 8px !important; }
.hd-r > form { margin-left: 8px !important; }
.hd .hd-r .hd-login,
.hd:not(.scrolled) .hd-r .hd-login,
.hd.scrolled .hd-r .hd-login,
.hd-r .hd-login {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: var(--btn-blue) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.hd-r .cart { min-height: 36px !important; }
.home-banners { margin-top: 80px !important; }   /* tips 32 + header 48 */

/* ── 全站主/次按钮：统一胶囊 ── */
.btn, button.btn, a.btn, .scard-btn, .pdp-cta, .pdp-cta2,
.region-cta .btn, .all, .compat .go, .ai .go, .coupon-cta .btn {
  height: var(--btn-h);
  min-height: var(--btn-h);
  padding: 0 var(--btn-px);
  border-radius: var(--btn-radius) !important;
  clip-path: none !important;
  box-shadow: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--btn-font);
  font-weight: var(--btn-weight);
  line-height: 1;
  border: 0;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-primary, .scard-btn, .region-cta .btn, .all, .compat .go, .ai .go {
  background: var(--btn-blue) !important;
  color: #fff !important;
}
.btn-primary, .all { height: var(--btn-h-primary); min-height: var(--btn-h-primary); }
.btn-primary:hover, .scard-btn:hover, .region-cta .btn:hover,
.all:hover, .compat .go:hover, .ai .go:hover {
  background: var(--btn-blue-hover) !important;
  color: #fff !important;
  filter: none !important;
}
.btn-ghost {
  background: #fff !important;
  color: var(--btn-blue) !important;
  border: 1px solid var(--line2) !important;
}
.btn-ghost:hover { background: #f5f8ff !important; color: var(--btn-blue) !important; }
.pdp-cta, .pdp-cta2 { width: 100%; }
.scard-btn { height: var(--btn-h-primary); min-height: var(--btn-h-primary); padding: 0 28px; }

/* ── 选项卡：长椭圆外框 + 选中蓝胶囊 ── */
.tabs {
  width: fit-content;
  margin: 0 auto 30px;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #fff;
  border: 1px solid #cfd6e2;
  border-radius: 999px !important;
  box-shadow: none;
  overflow: visible;
  clip-path: none !important;
}
.tabs button {
  height: var(--btn-h);
  padding: 0 22px;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent;
  color: #344054;
  font-size: var(--btn-font);
  font-weight: 500;
  box-shadow: none;
  cursor: pointer;
}
.tabs button:hover { color: var(--btn-blue); background: #f5f8ff; }
.tabs button.on {
  background: var(--btn-blue) !important;
  color: #fff !important;
  font-weight: 600;
  border-radius: 999px !important;
}
.tabs button.on::after { display: none !important; }

/* 覆盖组合筛选（亚洲 11 国 / 亚洲 9 国 …）：同样胶囊 */
.ctabs {
  width: fit-content;
  margin: 0 auto 30px;
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #fff;
  border: 1px solid #cfd6e2;
  border-radius: 999px !important;
  flex-wrap: wrap;
  justify-content: center;
}
.ctabs button {
  height: var(--btn-h);
  padding: 0 16px;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent;
  color: #344054;
  font-size: 14px;
  cursor: pointer;
}
.ctabs button.on {
  background: var(--btn-blue) !important;
  color: #fff !important;
  font-weight: 600;
}
.ctabs button.on::after { display: none !important; }

/* 商品页介质选择 */
.mediatog label {
  min-height: var(--btn-h);
  padding: 8px 18px;
  border-radius: 999px !important;
}
.chip { border-radius: 999px !important; }
.sbtn { border-radius: 999px !important; width: 44px; height: 44px; }

/* 头部：手机端 */
@media (max-width: 760px) {
  .tips { height: 32px !important; line-height: 32px !important; }
  .hd { top: 32px !important; }
  .hd-in { height: 44px !important; gap: 8px !important; }
  .logo img { height: 26px !important; }
  .hd-r { gap: 4px !important; }
  .hd-r > form { margin-left: 6px !important; }
  .hd .hd-r .hd-login,
  .hd:not(.scrolled) .hd-r .hd-login,
  .hd.scrolled .hd-r .hd-login,
  .hd-r .hd-login {
    height: 34px !important; min-height: 34px !important;
    padding: 0 14px !important; font-size: 12.5px !important;
  }
  .hd-r .cart { min-height: 36px !important; }
  .home-banners { margin-top: 76px !important; }   /* 32 + 44 */
  .tabs { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
  .tabs button { flex: 1 1 auto; padding: 0 14px; }
  .ctabs { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
}

/* #install 锚点：固定头部下方留 96px，点链接直接看到「iOS 安装步骤」标题 */
#install { scroll-margin-top: 96px; }


/* 2026-10-27 HEADER-CACHE-BUST-20261027T1708：白色导航再压一档
   红条 28px；桌面白条 42px（内容 41 + 1 边）、手机 40px（39 + 1 边）；Logo 26/24；
   登录/登出 30px；其余不动。 */
.tips { height: 28px !important; line-height: 28px !important; }
.hd { top: 28px !important; }
.hd-in { height: 41px !important; gap: 12px !important; }
.logo img { height: 26px !important; }
.hd-r { gap: 8px !important; }
.hd-r > form { margin-left: 8px !important; }
.hd .hd-r .hd-login,
.hd:not(.scrolled) .hd-r .hd-login,
.hd.scrolled .hd-r .hd-login,
.hd-r .hd-login {
  height: 30px !important; min-height: 30px !important;
  padding: 0 16px !important; font-size: 12.5px !important;
}
.hd-r .cart { min-height: 32px !important; }
.home-banners { margin-top: 70px !important; }   /* 28 + 42 */

@media (max-width: 760px) {
  .tips { height: 28px !important; line-height: 28px !important; }
  .hd { top: 28px !important; }
  .hd-in { height: 39px !important; gap: 6px !important; }
  .logo img { height: 24px !important; }
  .hd-r { gap: 4px !important; }
  .hd-r > form { margin-left: 6px !important; }
  .hd-r .sel { min-height: 30px !important; padding: 4px 4px !important; }
  .hd .hd-r .hd-login,
  .hd:not(.scrolled) .hd-r .hd-login,
  .hd.scrolled .hd-r .hd-login,
  .hd-r .hd-login { height: 30px !important; min-height: 30px !important; padding: 0 12px !important; }
  .hd-r .cart { min-height: 32px !important; }
  .nav-toggle { width: 36px !important; height: 36px !important; }
  .home-banners { margin-top: 68px !important; }   /* 28 + 40 */
}


/* 2026-10-27 头部购物车：旧站同款线条图标（无蓝底/无文字）+ 细竖线分隔 + 小角标 */
.hd-r .cart,
.hd:not(.scrolled) .cart,
.hd.scrolled .cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 30px;
  min-height: 30px;
  padding: 0 10px;
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #1a2233 !important;
}
.hd-r .cart svg {
  width: 22px !important;
  height: 22px !important;
  display: block;
  stroke: currentColor;
  stroke-width: 1.8;
  color: inherit;
}
.hd-r .cart:hover { color: #2f5bd0 !important; background: transparent !important; }
.hd-r .cart i {
  position: absolute;
  top: -4px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #e5484d;
  color: #fff;
  border: 1.5px solid #fff;
  font-style: normal;
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.hd-sep {
  display: inline-block;
  width: 1px;
  height: 20px;
  background: #dfe3ea;
  margin: 0 2px;
  flex: none;
}
.hd-r > form { margin-left: 0 !important; }

@media (max-width: 760px) {
  .hd-r .cart { height: 30px; min-height: 30px; padding: 0 6px; }
  .hd-r .cart svg { width: 21px !important; height: 21px !important; }
  .hd-sep { height: 18px; margin: 0 1px; }
}


/* 2026-10-27 三语三步卡片最终对齐：白底融合、无边框/横线、三卡等高 */
.step .ph {
  background: #fff !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.step .ph img { margin: 0 auto; }
@media (min-width: 761px) {
  .pane { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
  .pane .step { width: auto !important; max-width: none !important; height: auto !important; }
  .pane .step .bd { flex: 1; }
  .pane .step .lk { margin-top: auto; }
}

/* 隐藏态必须优先级最高，避免 .pane{display:grid!important} 把 SIM 面板也显示出来 */
.pane[hidden] { display: none !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   2026-10-27 AI 及跨境电商页套餐卡（仅 .ai-cat-page）：
   桌面 3 列 / 平板 2 列 / 手机 1 列；等高、名称固定两行、价格底部对齐、中国国旗；
   去掉「最便宜 / 单GB最划算」浮层角标。
   ═══════════════════════════════════════════════════════════════════════════ */
.ai-cat-page .grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.ai-cat-page .grid .ci,
.ai-cat-page .ci {
  width: auto !important;
  margin: 0 !important;
  min-height: 148px;
  height: 100%;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px;
  padding: 18px 18px 16px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  clip-path: none !important;
  box-shadow: none !important;
  text-align: left;
}
.ai-cat-page .grid .ci:hover,
.ai-cat-page .ci:hover {
  border-color: var(--blue) !important;
  transform: translateY(-2px);
  background: #fff !important;
}
.ai-cat-page .ai-flag { flex: none; display: block; margin-top: 2px; }
.ai-cat-page .ai-flag img {
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #e5e7eb;
}
.ai-cat-page .ai-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ai-cat-page .ai-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
  line-height: 22px;
  font-size: 15px;
  font-weight: 700;
  color: var(--tx-strong);
  margin: 0;
}
.ai-cat-page .ai-meta {
  display: block;
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--tx-mute);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ai-cat-page .ai-price {
  margin-top: auto;
  padding-top: 10px;
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--amber);
}
.ai-cat-page .ai-price small {
  font-size: 12px;
  font-weight: 500;
  color: var(--tx-mute);
}
.ai-cat-page .ci .badge { display: none !important; }

@media (max-width: 1024px) {
  .ai-cat-page .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .ai-cat-page .grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .ai-cat-page .grid .ci, .ai-cat-page .ci { min-height: 132px; padding: 16px !important; }
}

/* AI 页：所有分组内/跨组卡片统一固定高度，保证 27 张完全一致 */
.ai-cat-page .grid .ci { height: 172px !important; min-height: 172px !important; }
@media (max-width: 640px) {
  .ai-cat-page .grid .ci { height: 160px !important; min-height: 160px !important; }
}


/* 2026-10-28 首页/全部目的地 tab：4 项长胶囊容器，项距 ≥40px，选中蓝胶囊 */
#dTabs {
  width: min(760px, 100%) !important;
  max-width: 760px;
  margin: 0 auto 30px !important;
  display: flex !important;
  justify-content: space-between;
  gap: 40px !important;
  padding: 6px 18px !important;
  background: #f7f9fc !important;
  border: 1px solid #cfd6e2 !important;
  border-radius: 999px !important;
  overflow: visible !important;
  box-sizing: border-box;
}
#dTabs button,
#dTabs .tab-link {
  flex: 1 1 0;
  min-width: 0;
  height: 40px;
  padding: 0 10px !important;
  margin: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #344054;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
}
#dTabs button.on {
  background: #2f5bd0 !important;
  color: #fff !important;
  font-weight: 600;
}
#dTabs .tab-link:hover { background: #eaf0ff !important; color: #2f5bd0; }
@media (max-width: 760px) {
  #dTabs {
    width: 100% !important;
    max-width: 100%;
    justify-content: flex-start;
    gap: 24px !important;
    overflow-x: auto !important;
    padding: 6px 12px !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #dTabs::-webkit-scrollbar { display: none; }
  #dTabs button, #dTabs .tab-link {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 0 14px !important;
    font-size: 14px;
  }
}

/* 手机端 4 项尽量一屏放下；英文较长时仍可横向滚动，不挤压 */
@media (max-width: 760px) {
  #dTabs { gap: 8px !important; padding: 6px 6px !important; }
  #dTabs button, #dTabs .tab-link { padding: 0 8px !important; font-size: 13.5px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   2026-10-28 首页 + 全部目的地：旧站卡片版式
   圆形国旗 + 名称 + 第二行 eSIM/SIM + 低至价 + 右侧箭头；4 列 / 手机 2 列；等高。
   ═══════════════════════════════════════════════════════════════════════════ */
#grid,
.all-area-page .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
#grid .ci,
.all-area-page .grid .ci {
  width: auto !important;
  margin: 0 !important;
  height: 100%;
  min-height: 112px;
  padding: 16px !important;
  display: flex !important;
  /* 2026-11-02 老板指出：全部目的地页国旗变大卡（上下），与首页不一致 → 强制横向 */
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  clip-path: none !important;
  box-shadow: none !important;
  text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#grid .ci:hover,
.all-area-page .grid .ci:hover {
  border-color: #cfd6e2 !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
  transform: translateY(-1px);
}
#grid .ci img,
.all-area-page .grid .ci img {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #f8fafc;
}
#grid .ci .ci-ph,
.all-area-page .grid .ci .ci-ph {
  width: 76px; height: 76px; min-width: 76px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #f1f5ff;
}
#grid .ci .nm,
.all-area-page .grid .ci .nm {
  flex: 1;
  min-width: 0;
  margin: 0;
  text-align: left;
  display: block;
}
#grid .ci .nm b,
.all-area-page .grid .ci .nm b {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: var(--tx-strong);
}
#grid .ci .nm .md,
.all-area-page .grid .ci .nm .md {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: wrap;
  gap: 2px 8px;
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--tx-mute);
}
#grid .ci .nm .md .lp,
.all-area-page .grid .ci .nm .md .lp {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  white-space: nowrap;
}
#grid .ci .nm .md .lp em,
.all-area-page .grid .ci .nm .md .lp em {
  font-style: normal;
  color: var(--amber);
  font-weight: 600;
  font-size: 13px;
}
#grid .ci .ci-arrow,
.all-area-page .grid .ci .ci-arrow {
  flex: none;
  margin-left: auto;
  padding-left: 6px;
  font-size: 20px;
  line-height: 1;
  color: #9ca3af;
  transition: color .15s ease, transform .15s ease;
}
#grid .ci:hover .ci-arrow,
.all-area-page .grid .ci:hover .ci-arrow {
  color: var(--blue);
  transform: translateX(2px);
}

@media (max-width: 900px) {
  #grid, .all-area-page .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
  #grid, .all-area-page .grid { gap: 12px !important; }
  #grid .ci, .all-area-page .grid .ci { min-height: 98px; padding: 12px !important; gap: 10px; }
  #grid .ci img, .all-area-page .grid .ci img { width: 56px !important; height: 56px !important; min-width: 56px !important; }
  #grid .ci .ci-ph, .all-area-page .grid .ci .ci-ph { width: 56px; height: 56px; min-width: 56px; }
  #grid .ci .nm b, .all-area-page .grid .ci .nm b { font-size: 14px; }
  #grid .ci .nm .md, .all-area-page .grid .ci .nm .md { font-size: 11.5px; gap: 1px 6px; }
  #grid .ci .nm .md .lp em, .all-area-page .grid .ci .nm .md .lp em { font-size: 12px; }
  #grid .ci .ci-arrow, .all-area-page .grid .ci .ci-arrow { font-size: 17px; padding-left: 2px; }
}

/* 2026-10-28 全部国旗统一：圆形 + 阴影/细描边，白底旗也能看清边界 */
#grid .ci img,
.all-area-page .grid .ci img,
.ai-cat-page .ai-flag img,
.ci img {
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .18), 0 0 0 1px rgba(16, 24, 40, .06) !important;
  background: #fff;
}
#grid .ci .ci-ph,
.all-area-page .grid .ci .ci-ph {
  box-shadow: 0 2px 8px rgba(16, 24, 40, .18), 0 0 0 1px rgba(16, 24, 40, .06);
  border-radius: 50% !important;
}

/* 2026-10-28 全站卡片「eSIM / SIM」统一深蓝；价格仍橙色 */
#grid .ci .nm .md > span:first-child,
.all-area-page .grid .ci .nm .md > span:first-child {
  color: #1F3664 !important;
  font-weight: inherit;
}

/* 2026-10-29 首页 H1：一行小标题（删除大标题与信任点后保留唯一 H1） */
.home-h1{font-size:17px;line-height:1.5;font-weight:700;text-align:center;margin:14px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-h1 br{display:none}
@media(max-width:760px){.home-h1{font-size:15px;margin:10px 12px 8px}}


/* 2026-10-29 首页 H1 只留主标题；第二分句改小副标题 */
.home-sub{font-size:14px;line-height:1.6;color:var(--tx2);text-align:center;margin:-4px 0 10px;padding:0 12px}
@media(max-width:760px){.home-sub{font-size:12.5px;margin:-2px 0 8px}}


/* 2026-10-29 小艾：面板即时出现/消失，右上角关闭，隐藏/恢复按钮 */
#amb-panel{transition:opacity .1s linear !important}
.amb-veil{transition:opacity .1s linear !important}
#ambCloseTop{position:fixed;top:14px;right:16px;z-index:9005;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.94);color:#1f3664;font-size:24px;
  line-height:30px;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(16,24,40,.15)}
#ambHide{position:fixed;right:12px;bottom:14px;z-index:9004;width:26px;height:26px;border-radius:50%;
  border:1px solid rgba(15,23,42,.15);background:#fff;color:#64748b;font-size:11px;line-height:24px;
  padding:0;cursor:pointer;opacity:.8}
#ambHide:hover{opacity:1;color:#1f3664}
#ambRestore{position:fixed;right:12px;bottom:14px;z-index:9004;display:none;align-items:center;justify-content:center;
  height:32px;padding:0 12px;border-radius:999px;border:1px solid #cfd6e2;background:#fff;color:#2f5bd0;
  font-size:12px;cursor:pointer;box-shadow:0 2px 8px rgba(16,24,40,.12)}
@media(max-width:760px){
  #ambCloseTop{top:10px;right:10px;width:32px;height:32px;line-height:28px}
  #ambHide{right:10px;bottom:10px}
  #ambRestore{right:10px;bottom:10px}
}

/* 2026-10-29 桌面小艾面板：固定聊天窗 392×580 右下角，矩形白底；手机保持原布局 */
@media (min-width: 761px) {
  #amb-panel {
    inset: auto 24px 24px auto !important;
    width: 392px !important;
    height: 580px !important;
    max-height: calc(100vh - 48px) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #dfe3ea !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 48px rgba(16, 24, 40, .20) !important;
    overflow: hidden !important;
    transform: none !important;
  }
  #amb-panel .amb-stage {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-width: none;
    padding: 16px 16px 8px;
    color: #0f172a !important;
    background: #fff;
    overflow: hidden;
  }
  #amb-panel .amb-head { padding: 2px 4px 10px; }
  #amb-panel .amb-who { color: #2f5bd0 !important; }
  #amb-panel .amb-status { color: #64748b !important; }
  #amb-panel .amb-thread { flex: 1 1 auto; min-height: 0; padding: 12px 2px; }
  #amb-panel .amb-q { color: #0f172a !important; font-size: 22px; }
  #amb-panel .amb-note { color: #475569 !important; font-size: 13.5px; }
  #amb-panel .amb-foot {
    flex: 0 0 auto;
    padding: 10px 14px 14px;
    border-top: 1px solid #eef1f5;
    background: #fff;
  }
  #amb-panel .amb-bubble { background: #fff; color: #0f172a; }
  #ambCloseTop {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 28px !important;
    font-size: 22px !important;
    z-index: 9006 !important;
  }
  #amb-svg.screen { display: none !important; }
  #ambVeil { display: none !important; }
}

/* 2026-10-29 小艾面板美术统一：两引导按钮同排胶囊、头部深蓝、输入/发送/气泡/转人工 */
#amb-panel .amb-opts{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;max-height:none;overflow:visible}
#amb-panel .amb-opts button{height:40px;padding:0 18px;border-radius:999px!important;clip-path:none!important;font-size:14px;line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
#amb-panel .amb-opts button.pri{background:#2f5bd0!important;border-color:#2f5bd0!important;color:#fff!important;font-weight:600}
#amb-panel .amb-opts button.ghost{background:#fff!important;border:1px solid #cfd6e2!important;color:#2f5bd0!important}
#amb-panel .amb-who,#amb-panel .amb-status{color:#1F3664!important;font-weight:600}
#amb-panel .amb-head{border-bottom-color:#e8eef7}
#amb-panel .amb-input{border-radius:12px!important;border-color:#e3e9f4!important;align-items:center!important;padding:7px 8px!important}
#amb-panel .amb-send{height:40px!important;min-height:40px;padding:0 20px!important;border-radius:999px!important;background:#2f5bd0!important;color:#fff!important;font-weight:600;border:0}
#amb-panel .amb-attach{display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;padding:0!important;color:#64748b}
#amb-panel .amb-msg{border-radius:14px!important}
#amb-panel .amb-msg.me{border-radius:14px 14px 4px 14px!important}
#amb-panel .amb-msg.ai{border-radius:14px 14px 14px 4px!important}
#amb-panel #ambHuman{background:#2f5bd0!important;color:#fff!important;border-radius:999px!important;padding:8px 16px!important;font-weight:600}
#amb-panel #ambClose{background:transparent!important;color:#1F3664!important;border:0!important}
@media(max-width:760px){#amb-panel .amb-opts{flex-wrap:wrap!important}#amb-panel .amb-opts button{flex:1 1 140px;max-width:240px}}

/* 修正引导主按钮优先级（覆盖旧面板白底规则） */
#amb-panel #ambOpts button.pri{background:#2f5bd0 !important;border-color:#2f5bd0 !important;color:#fff !important}

/* 输入区最终对齐：占位单行、相机/发送垂直居中不压边框 */
#amb-panel .amb-input{min-height:48px;padding:4px 6px 4px 12px!important;align-items:center!important;gap:6px;overflow:hidden}
#amb-panel .amb-input textarea{height:20px!important;min-height:20px!important;line-height:20px!important;padding:0!important;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#amb-panel .amb-attach{width:36px!important;height:36px!important;min-width:36px;flex:none;align-self:center;margin:0}
#amb-panel .amb-send{height:36px!important;min-height:36px!important;align-self:center;margin:0;padding:0 18px!important}

/* 2026-10-29 小艾：去掉 5 个灰色进度条；关闭/展开都不做淡出延迟 */
#ambProg{display:none!important;height:0!important;margin:0!important;padding:0!important}
#amb-panel,#amb-panel .amb-stage{transition:none!important}
.amb-veil{transition:none!important}

/* 起始欢迎语不再带两个快捷按钮；空容器不占位 */
#ambOpts:empty{display:none!important;margin:0!important;height:0!important;padding:0!important}


/* 2026-10-29 AI / 旅游卡页与首页目的地卡统一：4 列（手机 2）圆旗卡片 */
.ai-cat-page .grid,
.travel-cards-page .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.ai-cat-page .grid .ci,
.travel-cards-page .grid .ci {
  width: auto !important;
  margin: 0 !important;
  height: 100%;
  min-height: 112px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  clip-path: none !important;
  box-shadow: none !important;
  text-align: left;
}
.ai-cat-page .grid .ci:hover,
.travel-cards-page .grid .ci:hover {
  border-color: #cfd6e2 !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
}
.ai-cat-page .ci img,
.ai-cat-page .ai-flag img,
.travel-cards-page .ci img {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 0 !important;
  box-shadow: 0 2px 8px rgba(16,24,40,.18), 0 0 0 1px rgba(16,24,40,.06) !important;
  background: #fff;
}
.ai-cat-page .ci .nm,
.travel-cards-page .ci .nm { flex: 1; min-width: 0; display: block; margin: 0; text-align: left; }
.ai-cat-page .ci .nm b,
.travel-cards-page .ci .nm b {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 15px; line-height: 1.35; font-weight: 700; color: var(--tx-strong);
}
.ai-cat-page .ci .nm .md,
.travel-cards-page .ci .nm .md {
  display: flex !important; flex-direction: row !important; align-items: baseline !important;
  flex-wrap: wrap; gap: 2px 8px; margin-top: 6px; font-size: 12.5px; line-height: 1.5;
}
.ai-cat-page .ci .nm .md > span:first-child,
.travel-cards-page .ci .nm .md > span:first-child { color: #1F3664 !important; font-weight: inherit; }
.ai-cat-page .ci .nm .md .lp,
.travel-cards-page .ci .nm .md .lp { display: inline-flex; align-items: baseline; gap: 3px; white-space: nowrap; }
.ai-cat-page .ci .nm .md .lp em,
.travel-cards-page .ci .nm .md .lp em { font-style: normal; color: #FF6B3D; font-weight: 700; font-size: 14px; }
.ai-cat-page .ci .ci-arrow,
.travel-cards-page .ci .ci-arrow { flex: none; margin-left: auto; padding-left: 6px; font-size: 20px; color: #9ca3af; }
.travel-h1 { font-size: 22px; line-height: 1.4; font-weight: 700; margin: 0 0 6px; color: var(--tx-strong); }
@media (max-width: 900px) {
  .ai-cat-page .grid, .travel-cards-page .grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 640px) {
  .ai-cat-page .grid, .travel-cards-page .grid { gap: 12px !important; }
  .ai-cat-page .grid .ci, .travel-cards-page .grid .ci { min-height: 98px !important; padding: 12px !important; gap: 10px; }
  .ai-cat-page .ci img, .ai-cat-page .ai-flag img, .travel-cards-page .ci img { width: 48px !important; height: 48px !important; min-width: 48px !important; }
  .ai-cat-page .ci .nm b, .travel-cards-page .ci .nm b { font-size: 14px; }
  .travel-h1 { font-size: 19px; }
}

/* 硬性对齐：AI/旅游卡横向卡（左图右文+箭头），禁止竖排 */
.ai-cat-page .grid .ci,
.travel-cards-page .grid .ci {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  min-height: 110px !important;
  height: 110px !important;
}
.ai-cat-page .ai-flag,
.travel-cards-page .grid .ci > img {
  order: 1;
  flex: 0 0 76px !important;
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  border-radius: 50% !important;
  overflow: hidden;
}
.ai-cat-page .ai-flag img,
.travel-cards-page .grid .ci > img {
  width: 76px !important; height: 76px !important; border-radius: 50% !important;
  object-fit: cover !important; box-shadow: 0 2px 8px rgba(16,24,40,.18),0 0 0 1px rgba(16,24,40,.06) !important;
}
.ai-cat-page .grid .ci > .nm,
.travel-cards-page .grid .ci > .nm {
  order: 2;
  flex: 1 1 auto !important;
  min-width: 0;
  display: block !important;
  text-align: left !important;
  margin: 0 !important;
}
.ai-cat-page .grid .ci > .ci-arrow,
.travel-cards-page .grid .ci > .ci-arrow {
  order: 3;
  flex: 0 0 auto;
  margin-left: auto !important;
}
.ai-cat-page .grid .ci > .nm > b,
.travel-cards-page .grid .ci > .nm > b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ai-cat-page .grid .ci > .nm > .md,
.travel-cards-page .grid .ci > .nm > .md { display: flex !important; flex-direction: row !important; align-items: baseline !important; margin-top: 6px; }
@media (max-width: 640px) {
  .ai-cat-page .grid .ci, .travel-cards-page .grid .ci { height: 96px !important; min-height: 96px !important; }
  .ai-cat-page .ai-flag, .travel-cards-page .grid .ci > img { flex-basis: 56px !important; width: 56px !important; height: 56px !important; min-width: 56px !important; }
  .ai-cat-page .ai-flag img, .travel-cards-page .grid .ci > img { width: 56px !important; height: 56px !important; }
}

/* 横向卡修正：名称 2 行完整、eSIM/SIM 与价格同一行 */
.ai-cat-page .grid .ci > .nm > b,
.travel-cards-page .grid .ci > .nm > b{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;overflow:hidden!important;line-height:1.3!important}
.ai-cat-page .grid .ci > .nm > .md,
.travel-cards-page .grid .ci > .nm > .md{flex-wrap:nowrap!important;white-space:nowrap!important;overflow:hidden;gap:6px!important}
.ai-cat-page .grid .ci > .nm > .md .lp,
.travel-cards-page .grid .ci > .nm > .md .lp{display:inline-flex!important;white-space:nowrap!important}

/* 最终修正：AI/旅游卡 3 列、名称 2 行不截断、价格+单价、H1 间距收紧 */
.ai-cat-page .grid,.travel-cards-page .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ai-cat-page .grid .ci,.travel-cards-page .grid .ci{height:124px!important;min-height:124px!important}
.ai-cat-page .grid .ci>.nm> b,.travel-cards-page .grid .ci>.nm> b{font-size:14px!important;line-height:1.32!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;white-space:normal!important;overflow:hidden!important}
.ai-cat-page .grid .ci>.nm>.md,.travel-cards-page .grid .ci>.nm>.md{flex-wrap:nowrap!important;white-space:nowrap!important;font-size:12px!important;gap:5px!important}
.ai-cat-page .ci .unit,.travel-cards-page .ci .unit{font-style:normal;color:#6b7280;font-size:11px;font-weight:500;white-space:nowrap}
.ai-cat-page .page,.travel-cards-page .page{padding-bottom:0!important}
.ai-cat-page .phead,.travel-cards-page .phead{margin-bottom:0!important;padding-bottom:0!important}
.ai-cat-page .grid,.travel-cards-page .grid{margin-top:26px!important}
@media(max-width:900px){.ai-cat-page .grid,.travel-cards-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.ai-cat-page .grid,.travel-cards-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ai-cat-page .grid .ci,.travel-cards-page .grid .ci{height:110px!important;min-height:110px!important}.ai-cat-page .grid .ci>.nm> b,.travel-cards-page .grid .ci>.nm> b{font-size:13px!important}}

/* Cookie 同意条（2026-10-30） */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9500;display:none;background:#fff;border:1px solid #dfe3ea;border-radius:14px;box-shadow:0 12px 36px rgba(16,24,40,.16);padding:14px 16px}
.cookie-banner.on{display:block}
.cookie-in{display:flex;align-items:center;gap:16px;justify-content:space-between;max-width:1180px;margin:0 auto}
.cookie-text{font-size:13px;line-height:1.7;color:#344054}
.cookie-text a{color:#2f5bd0;text-decoration:underline}
.cookie-actions{display:flex;gap:8px;flex:none}
.cookie-actions .btn{height:36px;padding:0 16px;font-size:13px}
@media(max-width:760px){.cookie-banner{left:10px;right:10px;bottom:10px;padding:12px}.cookie-in{flex-direction:column;align-items:stretch;gap:10px}.cookie-actions{justify-content:flex-end}.cookie-actions .btn{height:38px}}

/* 小艾消息内链接：蓝色下划线，长 URL 可断行 */
#amb-panel .amb-msg a{color:#2f5bd0!important;text-decoration:underline;word-break:break-all;overflow-wrap:anywhere}

/* 2026-10-31 修复：小艾气泡里的链接点不动
   原因：气泡 .amb-msg 用了 clip-path 做切角，命中测试只认父级气泡，里面的 <a> 收不到点击。
   处理：气泡改用圆角（视觉一致），链接显式提高层级并可点。 */
#amb-panel .amb-msg{clip-path:none!important;position:relative;z-index:1}
#amb-panel .amb-msg.ai a,#amb-panel .amb-msg.me a{
  position:relative;z-index:3;display:inline;pointer-events:auto!important;cursor:pointer;
  text-decoration:underline;word-break:break-all;overflow-wrap:anywhere}

/* 币种下拉（2026-10-31）：复用语言下拉视觉 */
.cur-sel{position:relative;cursor:pointer;user-select:none}
.cur-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:132px;display:none;background:#fff;border:1px solid #dfe3ea;border-radius:10px;box-shadow:0 10px 28px rgba(16,24,40,.14);padding:6px;z-index:950}
.cur-sel.open .cur-menu{display:block}
.cur-menu a{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;color:#344054;text-decoration:none;font-size:13px;white-space:nowrap}
.cur-menu a:hover,.cur-menu a:focus{background:#f2f6ff;color:#2f5bd0;outline:none}
.cur-menu a.on{background:#2f5bd0;color:#fff;font-weight:600}
@media(max-width:760px){.cur-menu{right:-4px;min-width:120px}.cur-menu a{padding:7px 9px;font-size:12.5px}}


/* 2026-10-31 充值四步向导（参考旧站充值界面） */
.wiz{display:flex;gap:10px;list-style:none;margin:18px 0 26px;padding:0;flex-wrap:wrap}
.wiz li{flex:1;min-width:150px;display:flex;align-items:center;gap:10px;color:#8a93a6;font-size:14px;
  position:relative;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:12px}
.wiz li i{width:26px;height:26px;border-radius:50%;background:#e6eaf4;color:#7b8496;display:flex;
  align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:13px;flex:none}
.wiz li.on{border-color:#2f5bd0;box-shadow:0 2px 10px rgba(47,91,208,.08);color:#12224a}
.wiz li.on i{background:#2f5bd0;color:#fff}
.wiz-body{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:24px}
.wiz-h{font-size:18px;margin:0 0 14px}
.wiz-form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.wiz-form input{flex:1;min-width:240px;max-width:420px;padding:12px 14px;border:1px solid var(--line2);
  border-radius:10px;font:inherit;font-size:15px}
.wiz-form input:focus{outline:2px solid #2f5bd0;outline-offset:1px;border-color:#2f5bd0}
@media(max-width:720px){.wiz li{min-width:0;flex:1 1 44%;font-size:12.5px;padding:9px 10px}}


/* 2026-11-02：组合套餐继续用 sim2ai LOGO（圆形、白底、带阴影，不裁切） */
.ci img.logo,
.all-area-page .grid .ci img.logo,
#grid .ci img.logo,
.pgrid .ci img.logo{object-fit:contain!important;padding:6px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 2px 8px rgba(16,24,40,.18),0 0 0 1px rgba(16,24,40,.06)!important}

/* 2026-11-02 全站套餐卡统一：左图 + 右三行（名称 / eSIM·SIM / 低至 HKD x/GB） */
.ci{gap:12px!important}
.ci .nm,
#grid .ci .nm,
.all-area-page .grid .ci .nm,
.travel-cards-page .grid .ci .nm,
.ai-cat-page .grid .ci .nm,
.pgrid .ci .nm{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0}
.ci .nm .md,
#grid .ci .nm .md,
.all-area-page .grid .ci .nm .md,
.travel-cards-page .grid .ci .nm .md,
.ai-cat-page .grid .ci .nm .md,
.pgrid .ci .nm .md{display:flex!important;flex-direction:column!important;align-items:flex-start!important;flex-wrap:nowrap!important;gap:2px!important;width:100%!important;margin-top:3px!important}
.ci .nm .md > span:first-child,
#grid .ci .nm .md > span:first-child,
.all-area-page .grid .ci .nm .md > span:first-child{color:#1F3664!important;font-weight:inherit}
.ci .nm .md .lp,
#grid .ci .nm .md .lp,
.all-area-page .grid .ci .nm .md .lp,
.pgrid .ci .nm .md .lp{display:inline-flex!important;align-items:baseline!important;gap:2px!important;margin:0!important;white-space:nowrap!important;color:var(--tx-mute)!important;font-weight:400!important;font-size:12.5px!important}
.ci .nm .md .lp em,
#grid .ci .nm .md .lp em,
.all-area-page .grid .ci .nm .md .lp em{font-style:normal!important;color:var(--amber)!important;font-weight:600!important;font-size:13px!important}
.ci .nm .md .lp small.unit{display:none!important}
/* 全站套餐卡：国旗/LOGO 在左，右侧三行文字（覆盖 pages.css 的 .ci 竖排） */
.ci{flex-direction:row!important;align-items:center!important}
/* 覆盖 section .grid .ci 的竖排 !important，确保国旗在左、文字在右 */
section .grid .ci,.grid .ci{flex-direction:row!important;align-items:center!important;gap:12px!important}
/* 全站套餐卡名称最多两行，避免长名称被省略号截断 */
.ci .nm b{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;white-space:normal!important;line-height:1.3!important}
/* 2026-11-02 全站套餐字体统一：套餐名/eSIM·SIM/低至 HKD 文字深蓝；价格数字保持原色；字号与粗细不变 */
.ci .nm b,
#grid .ci .nm b,
.all-area-page .grid .ci .nm b,
.travel-cards-page .grid .ci .nm b,
.ai-cat-page .grid .ci .nm b,
.pgrid .ci .nm b{color:#1F3664!important}
.ci .nm .md > span:first-child,
#grid .ci .nm .md > span:first-child,
.all-area-page .grid .ci .nm .md > span:first-child,
.travel-cards-page .grid .ci .nm .md > span:first-child,
.ai-cat-page .grid .ci .nm .md > span:first-child,
.pgrid .ci .nm .md > span:first-child{color:#1F3664!important}
.ci .nm .md .lp,
#grid .ci .nm .md .lp,
.all-area-page .grid .ci .nm .md .lp,
.travel-cards-page .grid .ci .nm .md .lp,
.ai-cat-page .grid .ci .nm .md .lp,
.pgrid .ci .nm .md .lp{color:#1F3664!important}
/* 价格数字（em）保持原色/原字重，不做改动 */
.ci .nm .md .lp em,
#grid .ci .nm .md .lp em,
.all-area-page .grid .ci .nm .md .lp em{color:var(--amber)!important}
/* 2026-11-03 移动端同步：套餐卡在小屏统一 2 列，避免国家页/搜索页挤成 3 列 */
@media (max-width:600px){
  .page .grid, section .grid, .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
}
@media (max-width:380px){
  .page .grid, section .grid, .grid{grid-template-columns:minmax(0,1fr)!important}
}
/* 2026-11-03 手机端：套餐卡在 480 以下单列，避免长名称把页面撑出横向滚动 */
@media (max-width:480px){
  .page .grid, section .grid, .grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .ci{min-width:0!important}
  .ci .nm b{word-break:break-word!important}
}
/* 2026-11-03 手机端补充：旅游卡/AI 页也强制单列，卡片文字不再被挤断 */
@media (max-width:480px){
  .travel-cards-page .grid,
  .ai-cat-page .grid,
  .travel-cards-page .grid .ci,
  .ai-cat-page .grid .ci{grid-template-columns:minmax(0,1fr)!important}
  .travel-cards-page .grid,
  .ai-cat-page .grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
}

/* 2026-11-03 首页搜索：宽度不超过下方 Tab 条；去掉滚动条上下箭头；只保留输入框 */
.search-band .scard{max-width:720px!important;padding:16px 20px 14px!important}
.scard-tabs{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important}
.scard-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.scard-form .scard-field{flex:1;width:100%}


/* 2026-11-03 国家页套餐按 3 列居中，避免 3 个套餐挤在左侧 */
.country-page .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:1200px;margin-left:auto;margin-right:auto}
@media(max-width:899px){.country-page .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){.country-page .grid{grid-template-columns:minmax(0,1fr)!important}}


/* 2026-11-03 移动端修复：首页单列、Tab 等分、客服即时打开/去灰底/可拖动 */
@media (max-width:480px){
  #grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  #grid .ci{min-width:0!important}
}
@media (max-width:760px){
  #dTabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:2px!important;padding:4px!important}
  #dTabs button{flex:1 1 0!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:7px 0!important;height:auto!important;min-height:36px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #amb-panel,#amb-panel.on{transition:none!important}
  #amb-panel.on{opacity:1!important}
  .amb-veil{display:none!important}
  #amb-ball{touch-action:none!important}
  .tips{display:block!important;text-align:left!important;padding:0 12px!important;line-height:40px!important;font-size:10.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}


/* 2026-11-03 移动端收尾：Tab 四项等宽；客服改成底部白色面板，即时打开、无灰底 */
@media (max-width:760px){
  #dTabs > *{min-width:0!important;width:100%!important;flex:1 1 0!important;height:auto!important;min-height:36px!important;padding:7px 0!important;font-size:11px!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;justify-content:center!important}
  #amb-panel{inset:auto 8px 8px 8px!important;width:auto!important;height:72vh!important;max-height:calc(100dvh - 120px)!important;display:flex!important;flex-direction:column!important;padding:0!important;background:#fff!important;border:1px solid #dfe3ea!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(16,24,40,.22)!important;overflow:hidden!important;display:none!important;opacity:0!important;transition:none!important;transform:none!important}
  #amb-panel.on{display:flex!important;opacity:1!important;pointer-events:auto!important}
  #amb-panel .amb-stage{flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:12px 14px 6px!important;background:#fff!important;overflow:hidden!important;align-items:stretch!important;text-align:left!important}
  #amb-panel .amb-head{flex:none!important;padding:2px 2px 10px!important}
  #amb-panel .amb-thread{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:10px 2px!important}
  #amb-panel .amb-foot{flex:0 0 auto!important;display:block!important;padding:8px 12px 10px!important;background:#fff!important;border-top:1px solid #eef1f5!important}
  #amb-panel .amb-opts{flex-wrap:wrap!important;max-height:none!important;overflow:visible!important;margin-bottom:8px!important}
  .amb-veil{display:none!important}
}


/* 2026-11-03 手机客服：隐藏球展开后的灰弧，并确保面板盖在 Cookie 条之上 */
@media (max-width:760px){
  #amb-svg.screen{display:none!important}
  #amb-panel{z-index:10001!important}
  #ambCloseTop{z-index:10002!important}
}


/* 2026-11-03 手机顶部导航：直接横向平铺，避免用户找不到汉堡菜单 */
@media (max-width:1080px){
  .nav-toggle{display:none!important}
  .nav{display:flex!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;flex-direction:row!important;gap:0!important;background:rgba(255,255,255,.98)!important;border-top:1px solid #eef1f5!important;border-bottom:1px solid #eef1f5!important;box-shadow:0 4px 12px rgba(16,24,40,.06)!important;padding:0 4px!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;z-index:99!important}
  .nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .nav a{display:flex!important;align-items:center!important;min-height:42px!important;padding:0 4px!important;font-size:12px!important;line-height:1!important;color:#344054!important;border-bottom:0!important;white-space:nowrap!important;flex:0 0 auto!important}
  .nav a.on{color:#3a63ea!important;font-weight:600!important;background:transparent!important}
  .nav a:hover{background:transparent!important}
}


/* 2026-11-03 手机：6 个导航标签等分；语言/币种可选 */
@media (max-width:760px){
  #site-nav{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;padding:0 2px!important;overflow:visible!important}
  #site-nav a{min-width:0!important;width:auto!important;padding:4px 1px!important;font-size:10.5px!important;line-height:1.2!important;text-align:center!important;justify-content:center!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;min-height:44px!important}
  .hd-r > .sel.cur-sel{display:inline-flex!important;padding:4px 2px!important;font-size:10px!important;min-height:40px!important;overflow:visible!important}
  .hd-r > a.sel[href*="/register/"]{display:none!important}
  .hd-r .sel.lang-sel,.hd-r .sel.cur-sel{position:relative!important}
  .hd-r .lang-menu,.hd-r .cur-menu{display:none!important;position:absolute!important;top:calc(100% + 6px)!important;right:0!important;left:auto!important;min-width:120px!important;background:#fff!important;border:1px solid #dfe3ea!important;box-shadow:0 8px 24px rgba(16,24,40,.14)!important;z-index:500!important;padding:6px 0!important}
  .hd-r .sel.open .lang-menu,.hd-r .sel.open .cur-menu{display:block!important}
  .hd-r .lang-menu a,.hd-r .cur-menu a{display:block!important;padding:9px 16px!important;font-size:13px!important;color:#111!important;white-space:nowrap!important}
}


/* 2026-11-04 手机导航改为 6 等分后可能两行：给页面顶部留出空间，避免遮住面包屑 */
@media (max-width:760px){ .page{padding-top:80px} }
