@charset "utf-8";
/* ==========================================================================
   速虎国际快递 H5 设计系统 h5.css
   移动端优先 · 蓝橙品牌升级 · 全站统一 token
   ========================================================================== */

/* ---------- 设计令牌 ---------- */
:root{
  /* 品牌蓝（国际/信赖） */
  --c-primary:      #0B3D91;
  --c-primary-2:    #1258C4;
  --c-primary-3:    #2E7CF6;
  --c-primary-soft: #EAF1FC;
  /* 活力橙（行动/转化） */
  --c-accent:       #FF7A00;
  --c-accent-dark:  #ED6A00;
  --c-accent-soft:  #FFF3E6;
  /* 中性 */
  --c-bg:           #F4F7FB;
  --c-card:         #FFFFFF;
  --c-line:         #E5ECF5;
  --c-text:         #14283F;
  --c-text-2:       #51647C;
  --c-text-3:       #8B9BB0;
  --c-white-70:     rgba(255,255,255,.72);
  --c-white-12:     rgba(255,255,255,.12);
  /* 语义 */
  --c-success:      #0EA35B;
  --c-danger:       #E5484D;
  /* 渠道品牌色（仅用于渠道卡小色块） */
  --c-dhl:   #D40511;
  --c-fedex: #4D148C;
  --c-ups:   #351C15;
  --c-tnt:   #FF0000;
  --c-ems:   #006FAA;
  --c-line2: #0B7D55;
  /* 形状 */
  --radius:     14px;
  --radius-sm:  10px;
  --radius-lg:  22px;
  --radius-pill:999px;
  /* 阴影：单层克制 */
  --shadow-sm: 0 1px 3px rgba(13,52,120,.06), 0 2px 8px rgba(13,52,120,.05);
  --shadow:    0 10px 30px rgba(13,52,120,.10);
  --shadow-accent: 0 8px 20px rgba(255,122,0,.32);
  /* 布局 */
  --maxw: 1200px;
  --header-h: 56px;
  /* 动效 */
  --ease: cubic-bezier(.4,0,.2,1);
}

/* ---------- 基础重置 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.65;
  color:var(--c-text);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom);
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p,figure{ margin:0; }
button,input,select,textarea{ font-family:inherit; font-size:inherit; color:inherit; }
h1,h2,h3{ line-height:1.3; font-weight:800; letter-spacing:.01em; }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 16px; }
.section{ padding:34px 0; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:18px; }
.section-title{ font-size:20px; font-weight:800; position:relative; padding-left:13px; }
.section-title::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:5px; height:19px; border-radius:3px;
  background:linear-gradient(180deg,var(--c-primary-3),var(--c-primary));
}
.section-title small{ display:block; font-size:11px; font-weight:600; color:var(--c-text-3); letter-spacing:.14em; text-transform:uppercase; margin-top:1px; }
.section-more{ font-size:13px; color:var(--c-primary-2); white-space:nowrap; font-weight:600; }
.section-more::after{ content:" ›"; font-size:15px; }

/* ---------- 顶栏 ---------- */
.site-header{
  position:sticky; top:0; z-index:200;
  height:var(--header-h);
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--c-line);
}
.site-header .wrap{ height:100%; display:flex; align-items:center; gap:12px; }
.brand{ display:flex; align-items:center; gap:9px; flex:1; min-width:0; }
.brand-mark{
  width:34px; height:34px; border-radius:9px; flex:none;
  background:linear-gradient(135deg,var(--c-primary-3),var(--c-primary));
  display:grid; place-items:center; color:#fff;
  box-shadow:0 4px 10px rgba(11,61,145,.3);
}
.brand-name{ font-size:17px; font-weight:800; line-height:1.1; white-space:nowrap; }
.brand-en{ font-size:9px; font-weight:700; letter-spacing:.22em; color:var(--c-text-3); }
.header-tel{ display:flex; align-items:center; gap:6px; font-weight:800; color:var(--c-accent-dark); font-size:15px; flex:none; white-space:nowrap; }
.header-tel svg{ width:17px; height:17px; }
.header-nav{ display:none; gap:22px; flex:none; }
.header-nav a{ font-size:14.5px; font-weight:600; color:var(--c-text-2); position:relative; padding:4px 0; }
.header-nav a:hover,.header-nav a.on{ color:var(--c-primary); }
.header-nav a.on::after{
  content:""; position:absolute; left:50%; bottom:-2px; transform:translateX(-50%);
  width:18px; height:3px; border-radius:2px; background:var(--c-accent);
}
.header-cta{
  display:none; align-items:center; gap:6px; flex:none; white-space:nowrap;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));
  color:#fff; font-weight:700; font-size:14px;
  padding:8px 16px; border-radius:var(--radius-pill);
  box-shadow:var(--shadow-accent);
}

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,var(--c-primary) 0%,var(--c-primary-2) 58%,var(--c-primary-3) 130%);
  color:#fff;
  padding:34px 0 76px;
}
.hero::before{ /* 网格点纹理 */
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 78%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);
}
.hero-routes{ position:absolute; right:-60px; top:-30px; width:420px; opacity:.5; pointer-events:none; }
.hero .wrap{ position:relative; z-index:1; }
.hero-badge{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--c-white-12); border:1px solid rgba(255,255,255,.22);
  border-radius:var(--radius-pill); padding:5px 13px;
  font-size:12px; font-weight:600; color:var(--c-white-70);
  backdrop-filter:blur(4px);
}
.hero-badge b{ color:#fff; font-weight:700; }
.hero-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--c-accent); box-shadow:0 0 0 4px rgba(255,122,0,.25); }
.hero h1{ font-size:27px; margin:15px 0 10px; font-weight:800; }
.hero h1 em{ font-style:normal; color:#FFC37E; }
.hero-sub{ font-size:14.5px; color:var(--c-white-70); max-width:520px; }
.hero-sub strong{ color:#fff; font-weight:700; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:11px; margin:22px 0 20px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:none; cursor:pointer; border-radius:var(--radius-pill);
  padding:13px 24px; font-size:15px; font-weight:700;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);
}
.btn:active{ transform:scale(.97); }
.btn svg{ width:17px; height:17px; }
.btn-accent{ background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark)); color:#fff; box-shadow:var(--shadow-accent); }
.btn-accent:hover{ box-shadow:0 10px 26px rgba(255,122,0,.42); }
.btn-ghost{ background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.55); }
.btn-primary{ background:linear-gradient(135deg,var(--c-primary-2),var(--c-primary)); color:#fff; box-shadow:var(--shadow-sm); }
.btn-line{ background:#fff; color:var(--c-primary-2); border:1.5px solid #B9D2F7; }
.btn-ghost:hover{ background:rgba(255,255,255,.18); }
.hero-trust{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12.5px; color:var(--c-white-70); }
.hero-trust li{ display:flex; align-items:center; gap:6px; }
.hero-trust svg{ width:15px; height:15px; color:#7ED3A6; }

/* 估价卡 */
.quote-card{
  background:#fff; color:var(--c-text);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:20px;
  margin-top:26px;
}
.quote-card h3{ font-size:17px; display:flex; align-items:center; gap:8px; }
.quote-card h3 svg{ width:20px; height:20px; color:var(--c-accent); }
.quote-card p{ font-size:12.5px; color:var(--c-text-3); margin:4px 0 15px; }
.quote-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.field{ display:flex; flex-direction:column; gap:5px; }
.field.full{ grid-column:1 / -1; }
.field label{ font-size:12px; font-weight:700; color:var(--c-text-2); }
.field select,.field input{
  height:44px; padding:0 12px;
  border:1.5px solid var(--c-line); border-radius:var(--radius-sm);
  background:#FBFCFE; font-size:14px; width:100%;
  transition:border-color .15s var(--ease);
}
.field select:focus,.field input:focus{ outline:none; border-color:var(--c-primary-3); background:#fff; }
.quote-card .btn{ width:100%; margin-top:14px; }
.quote-note{ font-size:11.5px; color:var(--c-text-3); text-align:center; margin-top:10px !important; }

/* ---------- 快捷入口 ---------- */
.quick-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:-46px; position:relative; z-index:5; }
.quick-item{
  background:var(--c-card); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); border:1px solid var(--c-line);
  padding:15px 6px 13px; text-align:center;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.quick-item:active{ transform:scale(.96); }
.quick-ic{
  width:42px; height:42px; margin:0 auto 8px; border-radius:12px;
  display:grid; place-items:center;
}
.quick-ic svg{ width:22px; height:22px; }
.quick-ic.b1{ background:var(--c-primary-soft); color:var(--c-primary-2); }
.quick-ic.b2{ background:var(--c-accent-soft); color:var(--c-accent-dark); }
.quick-ic.b3{ background:#E8F8F0; color:var(--c-success); }
.quick-ic.b4{ background:#F1ECFC; color:#6B48C4; }
.quick-item span{ font-size:12.5px; font-weight:700; }

/* ---------- 通用卡片 ---------- */
.card{
  background:var(--c-card); border:1px solid var(--c-line);
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
}

/* 渠道 */
.carrier-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.carrier{
  display:flex; gap:12px; align-items:center;
  padding:14px;
}
.carrier-logo{
  width:46px; height:46px; border-radius:11px; flex:none;
  display:grid; place-items:center; color:#fff;
  font-size:13px; font-weight:800; letter-spacing:.02em;
}
.carrier-logo.c-dhl{ background:var(--c-dhl); }
.carrier-logo.c-fedex{ background:var(--c-fedex); }
.carrier-logo.c-ups{ background:var(--c-ups); }
.carrier-logo.c-tnt{ background:#fff; color:var(--c-tnt); border:1.5px solid var(--c-tnt); }
.carrier-logo.c-ems{ background:var(--c-ems); }
.carrier-logo.c-line{ background:var(--c-line2); }
.carrier-info{ min-width:0; flex:1; }
.carrier-info b{ display:block; font-size:14.5px; }
.carrier-info span{ font-size:12px; color:var(--c-text-3); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tag{
  display:inline-block; font-size:11px; font-weight:700;
  padding:2px 8px; border-radius:var(--radius-pill);
  background:var(--c-primary-soft); color:var(--c-primary-2);
}
.tag.hot{ background:var(--c-accent-soft); color:var(--c-accent-dark); }
.carrier-discount{ font-size:11.5px; font-weight:700; color:var(--c-accent-dark); white-space:nowrap; }

/* 目的地 */
.dest-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.dest{ padding:15px 14px; position:relative; overflow:hidden; }
.dest::after{
  content:""; position:absolute; right:-14px; bottom:-14px;
  width:64px; height:64px; border-radius:50%;
  background:radial-gradient(circle,var(--c-primary-soft),transparent 70%);
}
.dest-flag{ font-size:21px; line-height:1; }
.dest b{ font-size:15px; display:block; margin:5px 0 7px; }
.dest-meta{ display:flex; flex-wrap:wrap; gap:5px; position:relative; z-index:1; }
.dest-meta span{ font-size:11px; color:var(--c-text-2); background:var(--c-bg); border-radius:6px; padding:2px 7px; }
.dest-meta span.price{ color:var(--c-accent-dark); font-weight:700; background:var(--c-accent-soft); }

/* 场景 */
.scene-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.scene{ padding:16px 14px; display:flex; gap:12px; align-items:center; }
.scene-ic{
  width:40px; height:40px; border-radius:11px; flex:none;
  background:linear-gradient(135deg,#EAF1FC,#DCE8FB);
  display:grid; place-items:center; color:var(--c-primary-2);
}
.scene-ic svg{ width:21px; height:21px; }
.scene b{ font-size:14px; display:block; }
.scene span{ font-size:11.5px; color:var(--c-text-3); }

/* 地区导航 */
.region-box{ padding:18px 14px; }
.region-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--c-line); border-radius:var(--radius-sm); overflow:hidden; }
.region-grid a{
  background:#fff; text-align:center; padding:11px 2px;
  font-size:13px; font-weight:600; color:var(--c-text-2);
  transition:background .15s var(--ease),color .15s var(--ease);
}
.region-grid a:hover{ background:var(--c-primary-soft); color:var(--c-primary); }
.region-tip{ text-align:center; font-size:12px; color:var(--c-text-3); margin-top:12px; }
.region-tip b{ color:var(--c-accent-dark); }

/* 新闻 */
.news-list{ display:flex; flex-direction:column; }
.news-item{
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; border-bottom:1px solid var(--c-line);
}
.news-item:last-child{ border-bottom:none; }
.news-item:active{ background:var(--c-bg); }
.news-tag{
  flex:none; font-size:11px; font-weight:700; color:var(--c-primary-2);
  background:var(--c-primary-soft); border-radius:6px; padding:3px 8px;
}
.news-item h3{ font-size:14.5px; font-weight:600; flex:1; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.news-date{ flex:none; font-size:12px; color:var(--c-text-3); }

/* 优势 */
.why-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.why{ padding:18px 15px; }
.why-ic{ width:38px; height:38px; border-radius:10px; background:var(--c-accent-soft); color:var(--c-accent-dark); display:grid; place-items:center; margin-bottom:11px; }
.why-ic svg{ width:20px; height:20px; }
.why b{ font-size:14.5px; display:block; margin-bottom:3px; }
.why p{ font-size:12.5px; color:var(--c-text-2); margin:0; }

/* CTA 大条 */
.cta-band{
  margin:10px 16px 34px; border-radius:var(--radius-lg);
  background:linear-gradient(120deg,#FF8A1F,var(--c-accent-dark));
  color:#fff; padding:26px 22px; text-align:center;
  box-shadow:var(--shadow-accent); position:relative; overflow:hidden;
}
.cta-band::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px);
  background-size:18px 18px; opacity:.5;
}
.cta-band h2{ font-size:19px; position:relative; }
.cta-band p{ font-size:13px; opacity:.9; margin:7px 0 17px; position:relative; }
.cta-band .btn{ position:relative; background:#fff; color:var(--c-accent-dark); }
.cta-band .btn-white{ background:#fff; color:var(--c-accent-dark); }

/* ---------- 页脚 ---------- */
.site-footer{ background:#0A1F3D; color:#A9BCD4; padding:30px 0 84px; }
.footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer-brand .brand-mark{ width:38px; height:38px; }
.footer-brand .brand-name{ color:#fff; font-size:16px; }
.footer-brand .brand-en{ color:#7E93B0; }
.site-footer h4{ color:#fff; font-size:13.5px; margin:18px 0 9px; }
.site-footer p,.site-footer li{ font-size:12.5px; line-height:2; }
.site-footer a:hover{ color:#fff; }
.footer-contact li{ display:flex; gap:8px; align-items:center; }
.footer-contact svg{ width:14px; height:14px; flex:none; color:#5F86B8; }
.footer-copy{
  border-top:1px solid rgba(255,255,255,.09);
  margin-top:20px; padding-top:16px;
  font-size:11.5px; color:#6E83A0; line-height:1.9;
}

/* ---------- 移动端底部常驻条 ---------- */
.dock{
  position:fixed; left:0; right:0; bottom:0; z-index:300;
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--c-line);
  backdrop-filter:blur(10px);
  display:grid; grid-template-columns:1fr 1fr 1.5fr;
  padding:7px 10px calc(7px + env(safe-area-inset-bottom));
  gap:8px;
  box-shadow:0 -4px 18px rgba(13,52,120,.08);
}
.dock a{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  font-size:11px; font-weight:600; color:var(--c-text-2);
}
.dock a svg{ width:20px; height:20px; }
.dock .dock-call{
  flex-direction:row; gap:7px;
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));
  color:#fff; border-radius:var(--radius-pill); font-size:14.5px;
  box-shadow:var(--shadow-accent);
}

/* 返回顶部 */
.back-top{
  position:fixed; right:14px; bottom:78px; z-index:250;
  width:42px; height:42px; border-radius:50%;
  background:#fff; border:1px solid var(--c-line);
  box-shadow:var(--shadow-sm);
  display:none; place-items:center; color:var(--c-primary);
}
.back-top.show{ display:grid; }
.back-top svg{ width:20px; height:20px; }

/* ==========================================================================
   平板 ≥ 640px
   ========================================================================== */
@media only screen and (min-width:640px){
  body{ font-size:15.5px; }
  .section{ padding:44px 0; }
  .section-title{ font-size:22px; }
  .hero{ padding:44px 0 84px; }
  .hero h1{ font-size:32px; }
  .carrier-grid,.dest-grid,.scene-grid{ grid-template-columns:repeat(3,1fr); }
  .region-grid{ grid-template-columns:repeat(6,1fr); }
  .why-grid{ grid-template-columns:repeat(4,1fr); }
  .cta-band{ margin:14px auto 44px; max-width:calc(var(--maxw) - 32px); }
}

/* ==========================================================================
   桌面 ≥ 980px：双栏 Hero + 完整导航
   ========================================================================== */
@media only screen and (min-width:980px){
  :root{ --header-h:66px; }
  .header-nav{ display:flex; }
  .header-cta{ display:inline-flex; }
  .header-tel .tel-text{ display:inline; }
  .hero{ padding:58px 0 96px; }
  .hero .wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
  .hero h1{ font-size:39px; }
  .hero-sub{ font-size:15.5px; }
  .hero-routes{ width:620px; right:-80px; top:-60px; }
  .quote-card{ margin-top:0; padding:26px; }
  .quick-grid{ grid-template-columns:repeat(4,1fr); margin-top:-52px; }
  .quick-item:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
  .carrier-grid{ grid-template-columns:repeat(3,1fr); }
  .dest-grid{ grid-template-columns:repeat(4,1fr); }
  .scene-grid{ grid-template-columns:repeat(3,1fr); }
  .region-grid{ grid-template-columns:repeat(8,1fr); }
  .footer-cols{ display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:36px; }
  .site-footer{ padding-bottom:40px; }
  .dock{ display:none; }
  .back-top{ bottom:28px; }
  .site-footer{ padding-bottom:36px; }
  body{ padding-bottom:0; }
}

/* ==========================================================================
   内页 / 地区页组件（mo_p 等模板）
   ========================================================================== */

/* 面包屑 */
.crumb{ background:#fff; border-bottom:1px solid var(--c-line); font-size:12.5px; color:var(--c-text-3); }
.crumb .wrap{ padding-top:9px; padding-bottom:9px; display:flex; flex-wrap:wrap; gap:4px 7px; align-items:center; }
.crumb a{ color:var(--c-text-2); }
.crumb a:hover{ color:var(--c-primary); }
.crumb i{ font-style:normal; color:var(--c-text-3); }
.crumb b{ color:var(--c-text); font-weight:600; }

/* 内页 Hero（紧凑） */
.page-hero{ position:relative; overflow:hidden; padding:30px 0 34px;
  background:linear-gradient(160deg,var(--c-primary) 0%,var(--c-primary-2) 60%,var(--c-primary-3) 135%); color:#fff; }
.page-hero::before{ content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.13) 1px, transparent 1px);
  background-size:20px 20px; mask-image:linear-gradient(180deg,#000,transparent 80%); -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%); }
.page-hero .wrap{ position:relative; z-index:1; }
.page-hero h1{ font-size:25px; margin-bottom:9px; }
.page-hero h1 em{ font-style:normal; color:#FFC37E; }
.page-hero p{ font-size:14px; color:var(--c-white-70); max-width:660px; }
.page-hero .hero-cta{ margin:18px 0 14px; }
.page-hero .hero-trust{ font-size:12px; }

/* 锚点导航 */
.anchor-nav{ position:sticky; top:var(--header-h); z-index:100; background:#fff; border-bottom:1px solid var(--c-line); }
.anchor-nav .wrap{ display:flex; gap:4px; overflow-x:auto; padding-top:8px; padding-bottom:8px; scrollbar-width:none; }
.anchor-nav .wrap::-webkit-scrollbar{ display:none; }
.anchor-nav a{ flex:none; font-size:13px; font-weight:600; color:var(--c-text-2); padding:6px 13px; border-radius:var(--radius-pill); background:var(--c-bg); }
.anchor-nav a:hover{ background:var(--c-primary-soft); color:var(--c-primary); }

/* 正文段落 */
.prose{ font-size:14.5px; color:var(--c-text-2); line-height:1.9; }
.prose p{ margin:0 0 13px; }
.prose p:last-child{ margin-bottom:0; }
.prose b,.prose strong{ color:var(--c-text); }
.prose .hl{ color:var(--c-accent-dark); font-weight:700; }

/* 地区事实卡 */
.fact-grid{ display:grid; grid-template-columns:1fr; gap:11px; margin-top:16px; }
.fact{ background:var(--c-primary-soft); border-radius:var(--radius-sm); padding:13px 15px; }
.fact b{ display:block; font-size:13px; color:var(--c-primary); margin-bottom:4px; }
.fact span{ font-size:12.5px; color:var(--c-text-2); line-height:1.7; }
@media only screen and (min-width:640px){ .fact-grid{ grid-template-columns:repeat(3,1fr); } }

/* 参考运价表 */
.rate-card{ padding:6px 4px; }
.rate-table{ width:100%; border-collapse:collapse; font-size:13px; }
.rate-table th,.rate-table td{ padding:11px 12px; text-align:left; border-bottom:1px solid var(--c-line); }
.rate-table th{ font-size:12px; color:var(--c-primary); background:var(--c-primary-soft); white-space:nowrap; }
.rate-table td{ color:var(--c-text-2); }
.rate-table tr:last-child td{ border-bottom:none; }
.rate-table .p{ color:var(--c-accent-dark); font-weight:700; white-space:nowrap; }
.rate-note{ font-size:12px; color:var(--c-text-3); margin:10px 14px 12px; }
@media only screen and (max-width:639px){
  .rate-card{ overflow-x:auto; }
  .rate-table{ min-width:600px; }
}

/* 清关卡片 */
.customs-grid{ display:grid; grid-template-columns:1fr; gap:11px; }
.customs{ padding:16px; }
.customs-head{ display:flex; align-items:center; gap:10px; margin-bottom:9px; }
.customs-badge{ flex:none; width:42px; height:42px; border-radius:11px; background:var(--c-primary); color:#fff; display:grid; place-items:center; font-size:11px; font-weight:800; letter-spacing:.03em; }
.customs-head b{ font-size:15px; display:block; }
.customs-head span{ font-size:11.5px; color:var(--c-text-3); }
.customs p{ font-size:13px; color:var(--c-text-2); line-height:1.8; margin:0; }
@media only screen and (min-width:640px){ .customs-grid{ grid-template-columns:1fr 1fr; } }
@media only screen and (min-width:980px){ .customs-grid{ grid-template-columns:repeat(3,1fr); } }

/* 物品 chips */
.item-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.item{ border:1px solid var(--c-line); border-radius:var(--radius-sm); padding:12px 13px; background:#fff; }
.item b{ font-size:13.5px; display:block; margin-bottom:4px; }
.item span{ font-size:12px; color:var(--c-text-3); line-height:1.7; display:block; }
@media only screen and (min-width:640px){ .item-grid{ grid-template-columns:repeat(4,1fr); } }

/* 本地特色可寄物品 */
.goods-grid{ display:grid; grid-template-columns:1fr; gap:10px; }
.goods-item{ position:relative; border:1px solid var(--c-line); border-left:3px solid var(--c-accent);
  border-radius:var(--radius-sm); padding:12px 14px 12px 16px; background:linear-gradient(180deg,#fff,#fbfcfe); }
.goods-item b{ font-size:14px; display:block; margin-bottom:3px; color:var(--c-text); }
.goods-item span{ font-size:12.5px; color:var(--c-text-3); line-height:1.75; display:block; }
.goods-tip{ margin-top:12px; padding:11px 14px; background:#FFF7EE; border:1px solid #FFE2C4;
  border-radius:var(--radius-sm); font-size:12.5px; color:#8a4d12; line-height:1.8; }
@media only screen and (min-width:640px){ .goods-grid{ grid-template-columns:1fr 1fr; } }

/* 流程步骤 */
.steps{ display:grid; grid-template-columns:1fr; gap:11px; counter-reset:step; }
.step{ position:relative; background:#fff; border:1px solid var(--c-line); border-radius:var(--radius-sm); padding:15px 15px 15px 56px; }
.step::before{ counter-increment:step; content:counter(step); position:absolute; left:14px; top:15px;
  width:30px; height:30px; border-radius:50%; background:var(--c-primary-soft); color:var(--c-primary);
  display:grid; place-items:center; font-weight:800; font-size:14px; }
.step b{ font-size:14px; display:block; margin-bottom:2px; }
.step span{ font-size:12.5px; color:var(--c-text-3); }
@media only screen and (min-width:640px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media only screen and (min-width:980px){ .steps{ grid-template-columns:repeat(4,1fr); } }

/* FAQ 手风琴（纯 details，无 JS） */
.faq-list{ display:flex; flex-direction:column; gap:10px; }
.faq-i{ background:#fff; border:1px solid var(--c-line); border-radius:var(--radius-sm); overflow:hidden; }
.faq-i summary{ list-style:none; cursor:pointer; padding:15px 44px 15px 16px; font-size:14.5px; font-weight:700; position:relative; }
.faq-i summary::-webkit-details-marker{ display:none; }
.faq-i summary::after{ content:"+"; position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-size:20px; color:var(--c-primary-3); font-weight:400; transition:transform .2s var(--ease); }
.faq-i[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.faq-i-a{ padding:0 16px 15px; font-size:13.5px; color:var(--c-text-2); line-height:1.9; }

/* 兄弟地区 */
.siblings{ display:flex; flex-wrap:wrap; gap:8px; }
.siblings a{ font-size:13px; color:var(--c-text-2); background:#fff; border:1px solid var(--c-line);
  border-radius:var(--radius-pill); padding:6px 14px; transition:all .15s var(--ease); }
.siblings a:hover{ border-color:var(--c-primary-3); color:var(--c-primary); background:var(--c-primary-soft); }

/* 独立估价区 */
.quote-panel{ border-radius:var(--radius-lg); padding:24px 18px; }
.quote-panel h2{ font-size:20px; margin-bottom:6px; }
.quote-panel>.sub2{ font-size:13px; color:var(--c-text-3); margin-bottom:18px; }
.quote-panel .quote-grid{ grid-template-columns:1fr; }
@media only screen and (min-width:640px){ .quote-panel .quote-grid{ grid-template-columns:1fr 1fr; } }
.quote-ok{ background:#E8F8F0; border:1px solid #bfe8d2; color:#0a7c46; border-radius:var(--radius-sm);
  padding:14px 16px; font-size:14px; margin-bottom:14px; }
.quote-err{ background:#FDECEC; border:1px solid #f3c2c4; color:#b4232a; border-radius:var(--radius-sm);
  padding:14px 16px; font-size:14px; margin-bottom:14px; }
.field textarea{ padding:11px 12px; border:1.5px solid var(--c-line); border-radius:var(--radius-sm);
  background:#FBFCFE; width:100%; min-height:74px; resize:vertical; }
.field textarea:focus{ outline:none; border-color:var(--c-primary-3); background:#fff; }
.hp-field{ position:absolute; left:-9999px; height:0; overflow:hidden; }
@media only screen and (min-width:980px){ .quote-panel{ padding:34px 40px; } }

/* 目的国卡片补充 */
.dest .dest-more{ display:inline-flex; margin-top:10px; font-size:12px; font-weight:700;
  color:var(--c-primary-2); position:relative; z-index:1; }
.dest .dest-more::after{ content:" ›"; }
.dest-note{ margin:12px 0 0; padding-top:11px; border-top:1px dashed var(--c-line);
  font-size:12px; color:var(--c-text-3); line-height:1.75; position:relative; z-index:1;
  max-height:76px; overflow:hidden; transition:max-height .25s var(--ease); }
.dest.open .dest-note{ max-height:420px; }
.dest details{ margin-top:10px; position:relative; z-index:1; }
.dest details summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:5px;
  font-size:12px; font-weight:700; color:var(--c-primary-2); }
.dest details summary::-webkit-details-marker{ display:none; }
.dest details summary::before{ content:"▸"; font-size:11px; transition:transform .2s var(--ease); }
.dest details[open] summary::before{ transform:rotate(90deg); }
.dest details .dest-note{ max-height:none; margin-top:8px; }

/* 渠道卡补充：特性 chips（选择器需压过 .carrier-info span 的 block/ellipsis 规则） */
.carrier-info .carrier-feats{ display:flex !important; flex-wrap:wrap; gap:5px; margin-top:7px;
  white-space:normal; overflow:visible; text-overflow:clip; }
.carrier-info .carrier-feats span{ display:inline-block !important; width:auto; flex:none;
  font-size:10.5px; font-weight:400; color:var(--c-text-2); background:var(--c-bg);
  border-radius:5px; padding:2px 7px; white-space:nowrap; overflow:visible; text-overflow:clip; }
.carrier .carrier-right{ display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:none; }

/* ===== 新闻资讯页 ===== */
.post-section{ padding-top:22px; }
.post-head h1{ font-size:21px; font-weight:800; color:var(--c-text); line-height:1.45; margin-bottom:10px; }
.post-meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12.5px; color:var(--c-text-3);
  padding-bottom:14px; border-bottom:1px solid var(--c-line); margin-bottom:16px; }
.article-body{ font-size:15px; color:var(--c-text-2); line-height:1.95; word-break:break-word; }
.article-body p{ margin:0 0 14px; }
.article-body img{ max-width:100%; height:auto; border-radius:8px; }
.article-body a{ color:var(--c-primary); }
.article-body table{ width:100%; border-collapse:collapse; font-size:13.5px; margin:0 0 14px; }
.article-body table td,.article-body table th{ border:1px solid var(--c-line); padding:8px 10px; }
.article-body ul,.article-body ol{ padding-left:22px; margin:0 0 14px; }
.article-body li{ margin-bottom:5px; }
.article-body font{ color:var(--c-text-3); }
.article-body b,.article-body strong{ color:var(--c-text); }
.post-tip{ margin-top:18px; padding:12px 14px; border-radius:var(--radius-sm); background:var(--c-primary-soft);
  font-size:13px; color:var(--c-text-2); line-height:1.8; }
.post-tip a{ color:var(--c-primary); font-weight:700; }
.post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pn-item{ display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid var(--c-line);
  border-radius:var(--radius-md); padding:12px 14px; min-width:0; }
a.pn-item:hover{ border-color:var(--c-primary-3); background:var(--c-primary-soft); }
.pn-item span{ font-size:11.5px; font-weight:600; color:var(--c-text-3); letter-spacing:.05em; }
.pn-item b{ font-size:13.5px; font-weight:600; color:var(--c-text); line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
a.pn-item b{ color:var(--c-primary); }
.pn-empty{ opacity:.55; }
@media only screen and (max-width:420px){ .post-nav{ grid-template-columns:1fr; } }
@media only screen and (min-width:980px){ .post-head h1{ font-size:26px; } .article-body{ font-size:15.5px; } }

/* 窄屏标题溢出保护（page-hero / 新闻详情 h1） */
.page-hero h1, .post-head h1{ overflow-wrap:anywhere; }
@media only screen and (max-width:420px){
  .page-hero h1{ font-size:21px; }
  .page-hero h1 em{ font-size:17.5px; }
}

