@charset "utf-8";
/* ==========================================================================
   汇富物流（hfky.net）· 前台现代化 UI 覆盖层
   版本：2026-09-12 实验版 · 尚未上线
   加载顺序：<link images/style.css>（老样式，规则一条未删）
             → <link images/ui-modern.css>（本文件，按需覆盖）
   回滚：删掉 inc/header.php 里指向本文件的那一行 <link> 即可，老样式原样生效。
   约定：老 CSS 里的页面专用规则（.pd_*、.news_class*、.login_* 等）一律保留，
        本文件只重写"看起来老"的部分：字号 / 切图标题条 / 阴影 / 配色 / 布局 / 响应式。
   ========================================================================== */

/* ---------------------------------------------------------------- 1. 变量 */
:root{
  --brand:      #0E4C8A;   /* 品牌深蓝（主） */
  --brand-2:    #1D7BE0;   /* 亮蓝（辅助/交互） */
  --brand-ink:  #0A2E52;   /* 标题深色 */
  --brand-soft: #EAF2FB;   /* 浅蓝底 */
  --accent:     #F58020;   /* 橙色强调（沿用老站的 #f08b2d 家族，提亮） */
  --ink:        #1E2836;
  --ink-2:      #55627A;
  --ink-3:      #8A96A8;
  --line:       #E4E9F0;
  --bg:         #F4F7FB;
  --card:       #FFFFFF;
  --r:          16px;
  --r-sm:       10px;
  --sh-s: 0 1px 2px rgba(13,38,68,.05), 0 1px 3px rgba(13,38,68,.04);
  --sh-m: 0 10px 28px -14px rgba(13,38,68,.30), 0 2px 6px rgba(13,38,68,.05);
  --sh-l: 0 22px 52px -22px rgba(13,38,68,.36);
  --max:  1160px;
  --nav-h: 66px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
          "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

/* ------------------------------------------------------- 2. 基础排版 */
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font);
  font-size:15px; line-height:1.7; color:var(--ink);
  background:var(--bg);
}
/* 覆盖老站"所有元素 12px"的规则（同选择器 + 本文件在后 → 后者生效） */
ul,form,p,div,h4,h5,h6,input,text,textarea,dl,dt,dd{ font-size:15px; font-weight:400; }
h1{ font-size:26px; } h2{ font-size:22px; } h3{ font-size:17px; }
a{ color:var(--ink); transition:color .15s ease; }
a:hover{ color:var(--brand-2); }
img{ max-width:100%; }
img[width][height]{ height:auto; }   /* 老站写死了 width/height 属性，小屏要能缩 */
.fl,.fr{ float:left; } .fr{ float:right; }
.cle_both{ height:0; overflow:hidden; clear:both; }

/* ------------------------------------------------------- 3. 顶部导航 */
/* 导航刻意做成「品牌深藏青」而不是白底：
   ① logo（images/logo-he.png）是**白字 + 金色 E 的透明底图**，本身不带底色。
      白导航上白字几乎看不见；只有放在深藏青上反差才清晰 → 导航必须深色。
      （更早的老 logo 是自带深蓝底的实心图，同样是深色导航才无缝。）
   ② 首页 hero 是**全宽深色照片**，深色导航接深色照片 = 自然衔接；白导航直接切照片是硬边。
   ③ sticky 滚动时压在白内容上，用**不透明**底最稳（原毛玻璃在深底上会泛灰、不稳）。
   ④ **必须用纵向(180deg)渐变而不是对角**：对角渐变左右颜色不同，而下面 hero 的顶部渐隐是单一颜色，
      右边就会残留一条淡边；纵向渐变让导航**底边颜色全宽一致**，渐隐用同色即可左右都严丝合缝。 */
.top{
  /* 底边色 #0B4279 同时被 .banner::before 的第一档复用 —— 这两处必须一致才能无缝 */
  background:linear-gradient(180deg,#06386C 0%,#0B4279 100%);   /* 底边 = #0B4279，与 hero 渐隐同色 */
  border-bottom:0;
  box-shadow:0 6px 22px -16px rgba(0,20,40,.85);
  padding-bottom:0;
  position:-webkit-sticky; position:sticky; top:0; z-index:900;
}
.topmain{
  max-width:var(--max); width:auto; margin:0 auto;
  padding:0 20px; box-sizing:border-box;
  display:flex; align-items:center; gap:26px;
  min-height:var(--nav-h);
}
.logo{ width:auto; height:auto; float:none; flex:none; display:flex; align-items:center; }
/* 注意：本文件上面那条 img[width][height]{height:auto} 特异性是 (0,0,2,1)，
   比 .logo img (0,0,1,1) 高，会把这里的 height 吃掉 → logo 按原生尺寸显示、导航被撑高。
   所以 logo 这几条必须带 !important。 */
.logo img{ width:auto; height:52px !important; display:block; }
.topmian_ul{ padding-top:0; flex:1 1 auto; min-width:0; }
.topmian_ul ul{ display:flex; justify-content:flex-end; align-items:center; gap:2px; flex-wrap:wrap; }
.topmian_ul ul li{
  flex:0 0 auto; background:none !important; padding:0; text-align:center; white-space:nowrap;
}
.topmian_ul ul li a{
  display:block; padding:9px 14px; font-size:15px; font-weight:500;
  color:rgba(255,255,255,.90); border-radius:var(--r-sm);
}
.topmian_ul ul li a:hover{ color:#fff; background:rgba(255,255,255,.15); text-decoration:none; }
/* 登录按钮：深蓝底上蓝底按钮会糊，改白底 + 品牌蓝字，反差清晰且是这个导航上唯一的强色块 */
.topmian_ul ul li.li_login{ flex:0 0 auto; padding:0; text-align:right; }
.topmian_ul ul .topm_lasli .rec_login{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff;
  color:var(--brand) !important; padding:9px 17px; border-radius:999px;
  font-size:14.5px; font-weight:600; text-decoration:none; vertical-align:middle;
  box-shadow:0 8px 20px -12px rgba(0,0,0,.7);
}
.topmian_ul ul .topm_lasli .rec_login:hover{ color:var(--brand-ink) !important; filter:brightness(.96); }
.topmian_ul ul .topm_lasli .rec_login span{ padding-left:0; color:inherit; display:inline-block;
  max-width:76px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topmian_ul ul .topm_lasli .rec_login .rec_login_icon{ width:16px; height:16px; color:currentColor; flex:none; display:block; }

/* ★ 顶栏水平分布（需求 R）
   改前实测（视口 1406）：logo 右缘 → 首个菜单项 = **199.5px**，末项（登录）→ 内容右边缘 = **0px**，
   相邻项空隙只有 2px。即"剩余空间被 justify-content:flex-end 全推到了左边"→
   用户感受就是「左边空一大块、右边挤死」。
   修法：把这段剩余空间**就地变成菜单之间的间距**，并给右端留出呼吸位。
   - `space-between` 是关键：它只会**分配**剩余空间，绝不会增加菜单所需最小宽度
     → 任何视口下都不会因此换行（显式加大 gap 会：1025px 档可用宽仅 ~860px，加大就换行）。
   - 只在 ≥1160px 生效：容器 max-width 1160 已封顶、剩余空间稳定 199.5px；
     1025~1159px 区间没有专门导航规则，可用宽最窄只剩 ~860px，动不得。
   - `padding-right:34px` 让「登录」按钮不再贴死右边缘。
   实测见 _nav_probe.py / output/nav_before_*.json、nav_after_*.json。 */
@media (min-width:1160px){
  .topmian_ul ul{ justify-content:space-between; padding-right:34px; }
}
/* 1025~1159px：容器不再封顶，剩余空间从 ~172px 递减到 ~39px。
   space-between 只"分配"剩余空间、不增加菜单最小宽度，所以这一段同样安全；
   但可用宽最窄只剩 ~860px（视口 1025），右内距必须收小到 20px，
   并把菜单项左右内距 14px→12px 腾出 36px 余量 —— 防中文字体回退时菜单换行
   （一旦换行，导航变两行，比"挤"难看得多）。 */
@media (min-width:1025px) and (max-width:1159px){
  .topmian_ul ul{ justify-content:space-between; padding-right:20px; }
  .topmian_ul ul li a{ padding:9px 12px; }
}

/* ------------------------------------------------------- 4. 首页 Hero */
.banner{ max-width:none; margin:0; overflow:hidden; position:relative; }
.banner img{
  display:block; width:100%; height:auto; max-height:470px;
  object-fit:cover; object-position:center 45%;
}
/* 顶部：把导航的深藏青"晕"进照片上部 → 导航与 hero 之间不再是硬切，而是自然过渡。
   第一档必须**完全不透明且等于导航底边色 #0B4279**，这样接缝处上下同色 = 真正无缝；再往下淡出。 */
.banner::before{
  content:''; position:absolute; left:0; right:0; top:0; height:160px;
  background:linear-gradient(180deg,#0B4279 0%,rgba(11,66,121,.46) 48%,rgba(11,66,121,0) 100%);
  pointer-events:none; z-index:1;
}
/* 底部：压暗一点，让下面上浮的服务卡片有落点 */
.banner::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:150px;
  background:linear-gradient(180deg,rgba(8,26,46,0),rgba(8,26,46,.40));
  pointer-events:none; z-index:1;
}

/* --------------------------------------------- 5. 首页服务卡片（4 张） */
.service{ background:var(--bg) !important; padding:0 0 10px; overflow:visible !important; }
.cent_service{
  max-width:var(--max); width:auto; margin:0 auto; padding:0 20px; box-sizing:border-box;
}
.service ul{ display:flex; gap:20px; align-items:stretch; }
.service ul li{
  float:none; width:auto; flex:1 1 0; min-width:0;
  position:relative; top:-46px; padding-left:0; z-index:2;
  display:flex; flex-direction:column;
}
.left_shadow,.right_shadow,.service_bottom{ display:none !important; }   /* 老站的左右阴影条与底部阴影切图 */
.service_title{
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  width:auto !important; height:auto !important; line-height:1.4 !important;
  margin:0 auto; padding:9px 26px; border-radius:999px;
  color:#fff; font-size:15px; font-weight:600; text-align:center;
  position:relative; z-index:2; white-space:nowrap;
  box-shadow:0 12px 24px -14px rgba(18,87,158,1);
}
.service_body{ position:relative; overflow:visible; flex:1 1 auto; display:flex; flex-direction:column; }
.service_mian{
  float:none !important; width:auto !important; height:auto !important;
  flex:1 1 auto;                                  /* 撑满 .service_body → 4 张卡等高 */
  background:var(--card); border:1px solid rgba(13,38,68,.06);
  border-radius:var(--r); margin-top:-19px; padding:32px 22px 22px;
  box-shadow:var(--sh-m);
  min-height:258px; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.service ul li:hover .service_mian{ transform:translateY(-4px); box-shadow:var(--sh-l); }
.service_ico{
  width:78px; height:78px; margin:2px auto 14px; border-radius:22px;
  background-color:var(--brand-soft); background-repeat:no-repeat;
  background-position:center; background-size:38px 38px;
}
.ico1{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C8A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-8'/%3E%3Cpath d='M14 3v6h5'/%3E%3Ccircle cx='16.6' cy='16.4' r='3'/%3E%3Cpath d='M18.9 18.7 21 20.8'/%3E%3C/svg%3E"); }
.ico2{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C8A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h11v9H2z'/%3E%3Cpath d='M13 10h4l4 3.2V16h-8z'/%3E%3Ccircle cx='6.6' cy='18' r='1.9'/%3E%3Ccircle cx='17' cy='18' r='1.9'/%3E%3C/svg%3E"); }
.ico3{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C8A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.2-2.9 7.7-7 9-4.1-1.3-7-4.8-7-9V6z'/%3E%3Cpath d='M12 8.4v4.2'/%3E%3Cpath d='M12 15.8h.01'/%3E%3C/svg%3E"); }
.ico4{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E4C8A' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12.5h18V18H3z'/%3E%3Cpath d='M5.5 12.5 7.6 7h8.8l2.1 5.5'/%3E%3Ccircle cx='7.4' cy='18' r='1.5'/%3E%3Ccircle cx='16.6' cy='18' r='1.5'/%3E%3C/svg%3E"); }
.service_mian p{
  padding:0 !important; margin:0 0 16px; color:var(--ink-2) !important;
  font-size:14.5px !important; line-height:1.78 !important; text-align:left;
}
.service_mian h3{ padding-top:0 !important; text-align:center; }
.service_mian h3 textarea{
  width:100% !important; height:104px !important; box-sizing:border-box;
  border:1px solid var(--line); border-radius:12px; padding:12px 13px;
  font-size:14px !important; line-height:1.65; color:var(--ink-2);
  background:#FBFCFE; resize:none; font-family:var(--font); outline:none;
}
.service_mian h3 textarea:focus{ border-color:var(--brand-2); background:#fff;
  box-shadow:0 0 0 3px rgba(29,123,224,.12); }
.service_mian h3 input,.particulars a{
  border:0 !important; padding:10px 30px !important; border-radius:999px;
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  color:#fff !important; font-size:14.5px !important; font-weight:600;
  cursor:pointer; display:inline-block; text-decoration:none;
  box-shadow:0 10px 20px -12px rgba(18,87,158,1);
  font-family:var(--font);
}
.service_mian h3 input:hover,.particulars a:hover{ filter:brightness(1.08); text-decoration:none; }
.particulars{ text-align:center; padding-top:0 !important; margin-top:auto; }
/* 第 1 张卡（运单查询）的内容包在 <form> 里，要让它也撑满才能把「查询」按钮压到底部 */
.service_mian > form{ display:flex; flex-direction:column; flex:1 1 auto; width:100%; }
.service_mian > form > h3:last-child{ margin-top:auto; padding-top:12px !important; }

/* 首页那条 16px 蓝色实条 → 细渐变分隔线 */
.line{
  height:3px !important; background:linear-gradient(90deg,var(--brand),var(--brand-2) 55%,var(--accent)) !important;
  opacity:.85;
}

/* ------------------------------------- 6. 首页「我们的优势」+ 企业动态 */
.linebtm_mian{
  max-width:var(--max); width:auto; margin:0 auto; padding:34px 20px 8px;
  box-sizing:border-box; display:flex; gap:32px; align-items:flex-start;
}
.advantage{ width:auto; float:none; flex:1 1 auto; min-width:0; }
.advantage_ti{
  border-bottom:none; width:auto; font-size:20px; font-weight:700;
  color:var(--brand-ink); letter-spacing:.3px;
}
.advantage_ti > span{ border-bottom:2px solid var(--brand-2) !important; padding-bottom:5px; }
.advantage ul{ padding-top:22px; display:flex; flex-wrap:wrap; gap:18px; }
.advantage ul li{
  width:calc((100% - 36px) / 3); float:none; box-sizing:border-box;
  background:var(--card); border:1px solid rgba(13,38,68,.06); border-radius:var(--r);
  padding:30px 18px 28px; text-align:center; box-shadow:var(--sh-s);
  /* 与右侧「企业最新动态」卡等高：右栏内容天生更长，左栏不撑起来就会在左下留一大块空白。
     用 min-height + 纵向居中让卡片内部留白均匀，而不是内容顶在上、下面空一截。 */
  min-height:252px;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.advantage ul li:hover{ transform:translateY(-4px); box-shadow:var(--sh-m); }
.advantage ul li p{ text-align:center; margin:0; }
.advantage ul li p img{ display:none !important; }         /* 老站 01~06.gif 拟物图标 → 换成内联 SVG */
/* ★ 图标背景必须画在 <a> 上，**不能画在 p::before 上**。
   老 markup：<p><a href="superiority.php?id=43"><img src="images/01.gif"></a></p>
              <h3><a href="superiority.php?id=43">诚信透明</a></h3>
   上面那条把 <img> 一设 display:none，**包着它的 <a> 就塌成 0×0** ——
   图标那一块变成"看着有图标、点上去没反应"的死区（用户 2026-09-12 反馈"点了没有反应"）。
   把 60×60 的图标背景直接挂在 <a> 上：点图标 = 进详情页，与 1.0 行为一致，且视觉尺寸一点没变。
   验收判据：`_clickable_check.py` 里 index.html 的链接"点不到"必须为 0（原先 6 个 0×0）。 */
.advantage ul li p a{
  display:block; width:60px; height:60px; margin:0 auto 16px;
  background-repeat:no-repeat; background-position:center; background-size:50px 50px;
}
.advantage ul li:nth-child(1) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.2 12.3l2.5 2.5 5.1-5.6'/%3E%3C/svg%3E"); }
.advantage ul li:nth-child(2) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.2v5l3.4 2'/%3E%3C/svg%3E"); }
.advantage ul li:nth-child(3) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.2-2.9 7.7-7 9-4.1-1.3-7-4.8-7-9V6z'/%3E%3Cpath d='M9.1 12.1l2.2 2.2 4-4.4'/%3E%3C/svg%3E"); }
.advantage ul li:nth-child(4) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E"); }
.advantage ul li:nth-child(5) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.2h3.1L8.7 6h6.6l1.6 2.2H20V19H4z'/%3E%3Ccircle cx='12' cy='13' r='3.3'/%3E%3C/svg%3E"); }
.advantage ul li:nth-child(6) p a{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D7BE0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9z'/%3E%3Cpath d='M4 7.5l8 4.5 8-4.5'/%3E%3Cpath d='M12 12v9'/%3E%3C/svg%3E"); }
.advantage ul li h3{ font-size:17px !important; padding:0 0 8px !important; }
.advantage ul li h3 a{ color:var(--brand-ink) !important; font-weight:600; }
.advantage ul li:hover h3 a{ color:var(--brand-2) !important; }
.advantage ul li h4{ font-size:14px !important; line-height:1.8 !important;
  color:var(--ink-3) !important; font-weight:400; margin:0; }

/* 右侧「企业最新动态」卡 */
.dynamic{
  width:330px !important; float:none; flex:0 0 330px; box-sizing:border-box;
  background:var(--card) !important; padding:22px 22px 18px !important;
  border:1px solid rgba(13,38,68,.06); border-radius:var(--r); box-shadow:var(--sh-s);
}
.dynamic_ti{ width:auto !important; display:flex; align-items:center; }
.dynamic_ti .dt_text{ border-bottom:none !important; padding:0 !important;
  font-size:20px; font-weight:700; color:var(--brand-ink); }
.dynamic_more{ margin-left:auto; font-size:13px; color:var(--brand-2); }
.dynamic_lis ul{ padding:14px 0 2px !important; }
.dynamic_lis ul li{ padding:12px 0 !important; border-bottom:1px dashed var(--line); }
/* 首页动态栏只列最新 6 条（下面就是「更多...」入口）。
   原来 10 条会把右栏拉到 747px 高，而左栏优势区只有 397px → 左下空出 758×351 的一大块。
   收敛到 6 条后两栏基本等高，空白消失；完整列表仍在「新闻中心」。 */
.dynamic_lis ul li:nth-child(n+7){ display:none; }
.dynamic_lis ul li:nth-child(6){ border-bottom:0; }
.dynamic_lis ul li:last-child{ border-bottom:0; }
.dynamic_lis ul li a{
  display:block; color:var(--ink-2); font-size:14px; line-height:1.6;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.dynamic_lis ul li a:hover{ color:var(--brand-2); text-decoration:none; }
.weibo,.ewcode{
  display:flex; align-items:center; gap:12px;
  padding-top:13px; margin-top:11px; border-top:1px solid var(--line);
  overflow:visible !important;
}
.weibo_user,.weibo_r,.ewcode_img,.ewcode_r{ float:none !important; width:auto !important; }
.weibo_user img{ width:52px; height:52px; display:block; border-radius:10px; }
.weibo_r{ min-width:0; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.weibo_r h3{ font-size:15px !important; padding:0 !important; color:var(--brand-ink); font-weight:600; }
.weibo_r h4{ padding:0 !important; line-height:0; }
/* ★「加关注」按钮图原生尺寸只有 62×22（横条），**绝不能写死正方形**：
   原来给 58×58（再叠加 3px padding + 1px border = 66×66 的盒子）→ 图片被纵向拉伸约 3 倍，
   绿色胶囊里的字整个被拉长变形。用户反馈的「加关注拉的太高了」就是这一处。
   它自带绿色胶囊外形 → 按高缩放保持原比例，并且外面不要再套白框白底（22px 高度 = 1:1 原生像素，最清晰）。
   注：本文件里另外两个写死正方形的图（.weibo_user img 58×58、.ewcode_img img 228×229）
   原生就是正方形，不存在拉伸问题。 */
.weibo_r h4 img{ width:auto; height:22px; display:block; border:0; padding:0;
  background:none; border-radius:0; }
.ewcode_img img{ width:66px; height:66px; display:block; border:1px solid var(--line);
  border-radius:10px; padding:3px; background:#fff; }
.ewcode_r h5{ padding:0 !important; font-size:12.5px !important; color:var(--ink-3);
  line-height:1.62; font-weight:400; }

/* ---------------------------------------------------- 7. 友情链接 */
.friend_links_wrap{ background:#fff; border-top:1px solid var(--line); padding:16px 0; }
.friend_links_inner{
  max-width:var(--max); width:auto; margin:0 auto; padding:0 20px; box-sizing:border-box;
  font-size:13.5px; line-height:2.1;
}
.friend_links_label{ color:var(--brand-ink); font-weight:600; }
.friend_links_inner a{ color:var(--ink-3); margin-right:20px; }
.friend_links_inner a:hover{ color:var(--brand-2); }

/* ------------------------------------------------------- 8. 页脚 */
.foot{
  background:linear-gradient(180deg,#0B2C4D 0%,#071E36 100%) !important;
  border-top:0 !important; padding:46px 0 26px !important;
}
.foot_box{
  max-width:var(--max); width:auto; margin:0 auto !important; padding:0 20px;
  box-sizing:border-box; display:flex; gap:36px; align-items:flex-start;
}
.foot_l{ width:auto !important; float:none; flex:1 1 auto; min-width:0;
  display:flex; gap:0; overflow:visible !important; }
.foot_l dl{
  background:none !important; padding-left:0 !important; width:auto !important;
  float:none !important; margin-left:0 !important; flex:1 1 0; min-width:0;
  box-sizing:border-box;        /* 老 CSS 没设 border-box，padding 会撑破等分三栏，导致窄屏文字提前折行 */
}
.foot_l dl + dl{ border-left:1px solid rgba(255,255,255,.09); padding-left:20px !important; }
.foot_l dl dd{ padding:5px 0 !important; font-size:14px !important; }
.foot_l dl a{ color:rgba(255,255,255,.70) !important; }
.foot_l dl a:hover{ color:#fff !important; text-decoration:none; }
/* ★ 右栏宽度是「竖线位置」和「版权栏能否单行」这**两个需求的同一个旋钮**：
   .foot_r 的右边缘钉在 .foot_box 右侧，所以 flex-basis 每加 1px，
   竖线（border-left）就左移 1px、内容盒可用宽同步 +1px，1:1。
   316px 时内容只有 316px，而最后一排（网站统计 | 备案号 汇富物流集团）单行需 326px
   → 「团」被挤到第二行（实测：_foot_probe.py，output/foot_before.json）。
   取 348px：竖线 x 由 920 左移到 888（-32px），内容宽 348px，
   比所需的 326px 留 22px 余量 —— 防不同机器中文字体回退后重新折行。 */
.foot_r{ width:auto !important; float:none; flex:0 0 348px;
  background:none !important; padding-left:0 !important;
  border-left:1px solid rgba(255,255,255,.09); padding-left:26px !important; }
.tel{ display:flex; align-items:center; gap:14px; overflow:visible !important; }
.tel_img{ width:auto !important; float:none; flex:none; }
.tel_img img{ display:none !important; }                  /* 老电话切图 → 换 SVG */
.tel_img::before{
  content:''; display:block; width:46px; height:46px; border-radius:14px;
  background:rgba(255,255,255,.09) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.5h2.9l1.5 3.8-2 1.4a12.4 12.4 0 0 0 6.3 6.3l1.4-2 3.8 1.5v2.9a2 2 0 0 1-2.2 2A16.3 16.3 0 0 1 4.6 5.7a2 2 0 0 1 2-2.2z'/%3E%3C/svg%3E") center/23px 23px no-repeat;
}
.tel_text{ width:auto !important; float:none; min-width:0; }
.tel_text h4{ font-size:13px !important; font-weight:400; color:rgba(255,255,255,.58) !important; }
.tel_text h3{ font-size:27px !important; font-weight:700; letter-spacing:.5px; line-height:1.35; }
.tel_text h3 a{ color:#fff !important; }
.copyright{ padding-top:18px !important; }
.copyright h3,.copyright h3 a,.copyright div,.copyright div a{
  font-size:12.5px !important; color:rgba(255,255,255,.48) !important; font-weight:400;
}
.copyright div a{ padding-left:0 !important; }
.copyright img{ vertical-align:middle; }
/* 版权栏两排一律单行：最后一排（网站统计 | 备案号 | 汇富物流集团）在原来的 316px 下必然折行，
   把结尾的「团」甩到第二行。右栏已加宽到 348px，这里再显式 nowrap 兜住。
   ★ 只在桌面档加 nowrap：≤1024px 时 .foot_r 变整宽（现有 @media 里已改回 border-top），
     窄到 320px 时可用宽只有 ~292px、装不下这 326px 的一行，此时再 nowrap 就会被
     .foot{overflow:hidden} 直接裁掉——宁可让它按老规矩折行，也不能裁字。 */
@media (min-width:1025px){
  .copyright h3,.copyright > div{ white-space:nowrap; }
}

/* ------------------------------------- 9. 内页（产品/新闻/关于/联系…） */
.product_banner,.product_mian{ max-width:var(--max); width:auto; margin:0 auto; }
.product_banner{ padding:0 20px; box-sizing:border-box; }
.product_mian{ padding:22px 20px 40px; box-sizing:border-box;
  display:flex; gap:26px; align-items:flex-start; }
.product_mian_l{ width:228px !important; float:none; flex:0 0 228px; }
.product_ml_ti{
  background:linear-gradient(135deg,var(--brand-2),var(--brand)) !important;
  width:auto !important; height:auto !important; line-height:1.4 !important;
  padding:13px 20px; border-radius:var(--r-sm) var(--r-sm) 0 0;
  font-size:16px !important; font-weight:600; color:#fff;
}
.product_ml_ti span{ padding-left:0 !important; }
.product_ml_lis{
  background:#fff !important; border:1px solid var(--line) !important; border-top:none !important;
  border-radius:0 0 var(--r-sm) var(--r-sm); overflow:hidden;
}
.product_ml_lis ul{ padding:8px !important; }
.product_ml_lis ul li{
  background:none !important; padding:0 !important; margin:0; font-size:14.5px !important;
  border-radius:8px; color:var(--ink-2);
}
.product_ml_lis ul li a{
  display:block; padding:10px 12px 10px 30px; position:relative;
  color:var(--ink-2); border-radius:8px; font-size:14.5px;
}
.product_ml_lis ul li a::before{
  content:''; position:absolute; left:14px; top:50%; margin-top:-3px;
  width:6px; height:6px; border-radius:50%; background:#C3CEDD; transition:background .15s ease;
}
.product_ml_lis ul li a:hover{ background:var(--brand-soft); color:var(--brand-2); text-decoration:none; }
.product_ml_lis ul li a:hover::before{ background:var(--brand-2); }
.product_ml_lis .choice{ background:var(--brand-soft) !important; }
.product_ml_lis .choice a{ color:var(--brand) !important; font-weight:600; }
.product_ml_lis .choice a::before{ background:var(--brand); }
.product_mian_r{ width:auto !important; float:none; flex:1 1 auto; min-width:0;
  background:var(--card); border:1px solid rgba(13,38,68,.06);
  border-radius:var(--r); box-shadow:var(--sh-s); padding:26px 28px 30px; box-sizing:border-box; }
.product_mr_ti{
  font-size:19px !important; font-weight:700; color:var(--brand-ink) !important;
  background:none !important; border-bottom:1px solid var(--line) !important;
  padding:0 0 14px 16px !important; margin-bottom:6px; position:relative;
}
.product_mr_ti::before{
  content:''; position:absolute; left:0; top:3px; width:4px; height:20px;
  border-radius:2px; background:linear-gradient(180deg,var(--brand-2),var(--brand));
}
.product_mr_text_about,.product_mr_text{ padding:14px 0 0; }
.product_mr_text p{ color:var(--ink-2) !important; font-size:15px !important; line-height:1.95 !important; }
.pd_nc_zw{
  padding:8px 0 0 !important; color:var(--ink-2) !important; line-height:1.95 !important;
  font-size:15px !important; word-break:break-word;
}
.pd_nc_zw img{ max-width:100%; height:auto !important; border-radius:10px; }
.pd_nc_zw p{ margin:0 0 12px; }
.pd_nc_zw table{ max-width:100%; }
.pd_zw_pro_lb_pic1_img img,.apd_zw_pro_lb_pic1_img img{ border-radius:10px; border-color:var(--line) !important; }

/* 新闻列表行：老站把日期当纯文本跟在标题后面，这里用 flex 让「标题 ……… 日期」对齐 */
.news_class{ padding:0 !important; }
.pd_news_lb{
  background:none !important; border-bottom:1px solid var(--line) !important;
  padding:14px 2px 14px 20px !important; position:relative;
  display:flex; align-items:center; gap:10px;
}
.pd_news_lb::before{
  content:''; position:absolute; left:2px; top:50%; margin-top:-3px;
  width:6px; height:6px; border-radius:50%; background:var(--brand-2);
}
.pd_news_lb a{
  flex:1 1 auto; min-width:0; font-size:15px !important; font-weight:400 !important;
  color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pd_news_lb a:hover{ color:var(--brand-2); text-decoration:none; }
.pd_news_lb span{ flex:none; }
.pd_news_lb > font,.pd_news_lb{ color:var(--ink-3); }
.news_lb_ge{ display:none !important; }
.news_class:last-child .pd_news_lb{ border-bottom:1px solid var(--line) !important; }
.news_class_bt,.news_class_time{ float:none; }

/* 分页 */
.fy{ padding:22px 0 2px !important; font-family:var(--font) !important; clear:both; }
.fy table,.fy tbody,.fy tr,.fy td{ display:block !important; width:auto !important; }
.fy td{ text-align:center !important; height:auto !important; font-size:13.5px !important; color:var(--ink-3); }
.fy b,.fy strong{ color:var(--brand-ink); font-weight:600; }
.fy a{
  display:inline-block; padding:6px 14px; margin:0 3px; border-radius:999px;
  background:#fff; border:1px solid var(--line); color:var(--ink-2) !important;
  font-size:13.5px; text-decoration:none; transition:all .15s ease;
}
.fy a:hover{ border-color:var(--brand-2); color:var(--brand-2) !important; background:var(--brand-soft); }
.fy font{ color:var(--accent) !important; font-weight:700; }

/* 内页顶部轮播（原 Swiper 由 CDN 提供，改为本地内联实现，DOM 结构不变） */
.product_banner .mySwiper{
  border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-s);
  background:var(--brand-soft); position:relative;
}
.product_banner .swiper-wrapper{ display:grid; }
/* 所有 slide 叠在同一格，靠 opacity 轮换（不移动 DOM，对 SEO 与无 JS 环境安全） */
.product_banner .swiper-slide{
  grid-area:1 / 1; line-height:0; opacity:0; transition:opacity .55s ease; pointer-events:none;
}
.product_banner .swiper-slide img{ width:100% !important; height:auto !important; display:block; }
/* JS 未生效时兜底显示第一张；JS 生效后由 .swiper-slide-active 接管 */
.product_banner .mySwiper:not(.hf-ready) .swiper-slide:first-child{ opacity:1; pointer-events:auto; }
.product_banner .mySwiper.hf-ready .swiper-slide-active{ opacity:1; pointer-events:auto; }
.product_banner .swiper-pagination{
  position:absolute; left:0; right:0; bottom:10px; display:flex;
  justify-content:center; gap:7px; z-index:5;
}
.product_banner .swiper-pagination-bullet{
  width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.62);
  box-shadow:0 1px 3px rgba(0,0,0,.28); cursor:pointer; transition:all .2s ease;
}
.product_banner .swiper-pagination-bullet-active{ background:#fff; width:20px; border-radius:999px; }

/* 联系页/留言页里的老式表格 → 卡片化 */
.pd_zw_lb_feedback{ border:1px solid #F3D9B0 !important; background:#FFF9EF !important;
  border-radius:var(--r-sm); padding:16px !important; text-align:center; }
.pd_zw_l,.pd_zw_r,.pd_zw_c{ border-color:var(--line) !important; border-radius:var(--r-sm); }

/* ------------------------------------------------------- 10. 响应式 */
@media (max-width:1159px){
  .advantage ul li{ width:calc((100% - 36px) / 3); }
  .dynamic{ flex-basis:300px; width:300px !important; }
}
@media (max-width:1024px){
  .topmain{ gap:16px; }
  .logo img{ height:44px !important; }
  .topmian_ul{ position:relative; }
  /* 窄屏导航是横向滑动条，右缘渐隐用于提示「后面还有」。注意渐隐色必须跟导航底色一致，
     否则深蓝导航右端会浮出一条白边（改导航底色时这里要一起改）。 */
  .topmian_ul::after{ content:''; position:absolute; right:0; top:0; bottom:2px; width:26px;
    background:linear-gradient(90deg,rgba(11,66,121,0),rgba(11,66,121,.95));
    pointer-events:none; }
  .topmian_ul ul{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
    -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; }
  .topmian_ul ul::-webkit-scrollbar{ display:none; }
  .topmian_ul ul li a{ padding:9px 11px; font-size:14.5px; }
  /* 服务卡片 2×2 */
  .service ul{ flex-wrap:wrap; }
  .service ul li{ flex:1 1 calc(50% - 10px); }
  /* 优势 + 动态 竖排 */
  .linebtm_mian{ flex-direction:column; gap:24px; }
  .dynamic{ flex:1 1 auto; width:auto !important; }
  .advantage ul li{ width:calc((100% - 18px) / 2); }
  /* 内页侧栏改为横向胶囊条：给未选中项也补一个浅底，否则一串裸文字看不出是选项 */
  .product_mian{ flex-direction:column; gap:18px; }
  .product_mian_l{ flex:1 1 auto; width:100% !important; }
  .product_ml_lis ul{ display:flex; flex-wrap:wrap; gap:6px; padding:10px !important; }
  .product_ml_lis ul li{ flex:0 1 auto; }
  .product_ml_lis ul li a{ padding:7px 14px; background:var(--bg); border:1px solid var(--line); }
  .product_ml_lis ul li a::before{ display:none; }          /* 胶囊里不放圆点 */
  .product_ml_lis .choice{ background:transparent !important; }
  .product_ml_lis .choice a{ background:var(--brand) !important; border-color:var(--brand) !important;
    color:#fff !important; }
  .product_ml_lis .choice a:hover{ color:#fff !important; }
  .product_mian_r{ width:100% !important; padding:22px 20px 24px; }
  .foot_box{ flex-direction:column; gap:26px; }
  .foot_r{ flex:1 1 auto; border-left:0; padding-left:0 !important;
    border-top:1px solid rgba(255,255,255,.09); padding-top:22px; width:100% !important; }
}
@media (max-width:768px){
  body{ font-size:15px; }
  .topmain{ min-height:58px; padding:0 14px; gap:12px; }
  .logo img{ height:38px !important; }
  .banner img{ max-height:230px; }
  .service ul li{ top:-32px; flex:1 1 100%; }
  .service_mian{ min-height:0; padding:28px 18px 20px; }
  .cent_service,.linebtm_mian,.foot_box,.friend_links_inner,
  .product_banner,.product_mian{ padding-left:14px; padding-right:14px; }
  .advantage ul li{ width:100%; padding:20px 16px 18px; min-height:0; }   /* 单列时不需要为对齐而撑高 */
  .advantage ul li p a{ width:50px; height:50px; background-size:42px 42px; margin-bottom:12px; }
  .advantage_ti{ font-size:18px; }
  .tel_text h3{ font-size:23px !important; }
  .pd_news_lb{ padding:12px 2px 12px 18px !important; gap:8px; }
  .pd_news_lb a{ font-size:14.5px !important; white-space:normal;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .product_mian_r{ padding:18px 15px 22px; }
}
@media (max-width:480px){
  .weibo,.ewcode{ flex-wrap:wrap; }
  .ewcode_r h5{ font-size:12px !important; }
  .foot_l dl + dl{ padding-left:14px !important; }
  .foot_l dl dd{ font-size:13px !important; }
  .foot_l dl a{ white-space:nowrap; }
}
