/* ═══════════════════════════════════════════════════════════════
   温贸国际 门户首页 v2 视觉层（叠加在 portal-home.css 之后）
   配色：温贸红 #C41E3A + 深海军蓝 #0F1F3D + 暖金 #D4AF37
   版心：1440px  ·  大留白 ·  带图卡片
   ═══════════════════════════════════════════════════════════════ */

:root {
  --wm-red: #B42318;
  --wm-red-d: #7A271A;
  --wm-navy: #12233F;
  --wm-navy-2: #2F5F91;
  --wm-gold: #2F5F91;
  --wm-gold-l: #EAF1F8;
  --wm-ink: #172033;
  --wm-sub: #667085;
  --wm-line: #E4EAF1;
  --wm-sh: 0 4px 24px rgba(18, 35, 63, .08);
  --wm-sh-h: 0 12px 40px rgba(18, 35, 63, .14);
  --wm-footer-link: #C7D5E6;
  --wm-footer-link-hover: #FFFFFF;
}

/* ── 版心统一放大到 1440 ── */
.portal-topbar-inner,
.portal-header-inner,
.portal-hero-inner,
.portal-main,
.portal-footer-inner,
.portal-footer-bottom {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}

/* ═══════════ 顶部信息条 ═══════════ */
.portal-topbar {
  background: var(--wm-navy);
  color: #CBD5E1;
  font-size: 12.5px;
}
.portal-topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 34px;
}
.portal-topbar-links a {
  color: #E2E8F0;
  margin-left: 16px;
  transition: color .2s;
}
.portal-topbar-links a:hover { color: var(--wm-gold); }

/* ═══════════ 导航升级 ═══════════ */
.portal-header {
  background: #fff;
  border-bottom: 1px solid var(--wm-line);
  position: sticky;
  top: 0;
  z-index: 100;
}
.portal-header-top { height: 72px; }
.portal-logo-text h1 {
  font-size: 19px;
  font-weight: 800;
  color: var(--wm-navy);
  letter-spacing: .5px;
}
.portal-logo-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--wm-red), var(--wm-red-d));
  box-shadow: 0 4px 12px rgba(196, 30, 58, .3);
  font-size: 20px;
  font-weight: 800;
}
.portal-nav-item {
  border-radius: 8px;
  padding: 8px 14px;
  transition: all .2s;
}
.portal-nav-item:hover,
.portal-nav-item.active {
  color: var(--wm-red);
  background: var(--wm-gold-l);
}
.portal-btn {
  border-radius: 10px;
  padding: 9px 20px;
  font-weight: 600;
  transition: all .25s;
}
.portal-btn-primary {
  background: linear-gradient(135deg, var(--wm-red), var(--wm-red-d));
  box-shadow: 0 4px 14px rgba(196, 30, 58, .28);
}
.portal-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--wm-sh-h);
}

/* ═══════════ HERO 品牌区 ═══════════ */
.portal-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 80% at 75% 40%, rgba(212, 175, 55, .16), transparent 60%),
    linear-gradient(120deg, var(--wm-navy) 0%, var(--wm-navy-2) 60%, #27467C 100%);
  color: #fff;
}
.portal-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .5;
  background-image:
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: 48px 48px;
}
.portal-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 56px;
  align-items: center;
  padding-top: 68px;
  padding-bottom: 68px;
}
.portal-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212, 175, 55, .15);
  border: 1px solid rgba(212, 175, 55, .4);
  color: var(--wm-gold);
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 22px;
}
.portal-hero-title {
  font-size: 50px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 1px;
  margin-bottom: 20px;
}
.portal-hero-title em {
  font-style: normal;
  color: var(--wm-gold);
  position: relative;
}
.portal-hero-desc {
  font-size: 16.5px;
  color: #B6C4DC;
  max-width: 540px;
  line-height: 1.8;
  margin-bottom: 34px;
}
.portal-hero-btns {
  display: flex;
  gap: 14px;
  margin-bottom: 44px;
}
.portal-btn-lg {
  padding: 14px 34px;
  border-radius: 12px;
  font-size: 15.5px;
  font-weight: 700;
  transition: all .25s;
}
.portal-btn-gold {
  background: linear-gradient(135deg, var(--wm-gold), #B8962E);
  color: var(--wm-navy);
  box-shadow: 0 6px 20px rgba(212, 175, 55, .35);
}
.portal-btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(212, 175, 55, .5);
}
.portal-btn-outline-light {
  border: 1.5px solid rgba(255, 255, 255, .35);
  color: #fff;
}
.portal-btn-outline-light:hover {
  border-color: var(--wm-gold);
  color: var(--wm-gold);
}
.portal-hero-stats {
  display: flex;
  gap: 44px;
}
.phs-num {
  font-size: 30px;
  font-weight: 800;
  color: var(--wm-gold);
  line-height: 1.1;
}
.phs-lbl {
  font-size: 13px;
  color: #8CA0BE;
  margin-top: 4px;
}

/* HERO 右侧实时询盘卡 */
.portal-hero-visual {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  padding: 26px;
  backdrop-filter: blur(10px);
}
.phv-head {
  display: flex;
  justify-content: space-between;
  font-size: 13.5px;
  color: #8CA0BE;
  margin-bottom: 16px;
}
.phv-head b { color: var(--wm-gold); }
.phv-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid transparent;
  border-radius: 13px;
  padding: 12px 14px;
  margin-bottom: 10px;
  transition: all .25s;
}
.phv-item:last-child { margin-bottom: 0; }
.phv-item:hover {
  background: rgba(212, 175, 55, .1);
  border-color: rgba(212, 175, 55, .35);
  transform: translateX(4px);
}
.phv-flag { font-size: 20px; flex-shrink: 0; }
.phv-info { flex: 1; min-width: 0; }
.phv-title {
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.phv-title { color: #E2E8F0; font-size: 15px; }
.phv-meta { font-size: 12.5px; color: #CBD5E1; }
.phv-meta strong { color: var(--wm-gold); }
.phv-ago { font-size: 12px; color: #A5B4D4; flex-shrink: 0; }
.phv-empty {
  text-align: center;
  padding: 24px 0;
  color: #8CA0BE;
  font-size: 13px;
}

/* ═══════════ 公告条 ═══════════ */
.portal-notice-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 12px 32px;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ═══════════ 最新资讯带图卡片 ═══════════ */
.portal-news-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.portal-ncard {
  background: #fff;
  border: 1px solid var(--wm-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--wm-sh);
  transition: transform .3s, box-shadow .3s;
  display: block;
}
.portal-ncard:hover {
  transform: translateY(-6px);
  box-shadow: var(--wm-sh-h);
}
.portal-ncard-cover {
  height: 168px;
  position: relative;
  overflow: hidden;
  background: var(--wm-navy);
}
.portal-ncard-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s;
}
.portal-ncard:hover .portal-ncard-cover img { transform: scale(1.07); }
/* 无图时的行业色块兜底 */
.portal-ncard-cover-fallback { width: 100%; height: 100%; }
.portal-ncard-cover-fallback.cover-0 { background: linear-gradient(135deg, #1B3A6B, #0F1F3D); }
.portal-ncard-cover-fallback.cover-1 { background: linear-gradient(135deg, #C41E3A, #7A1224); }
.portal-ncard-cover-fallback.cover-2 { background: linear-gradient(135deg, #B8962E, #7A6420); }
.portal-ncard-cover-fallback.cover-3 { background: linear-gradient(135deg, #0E5A4C, #0F1F3D); }
.portal-ncard-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(15, 31, 61, .85);
  color: var(--wm-gold);
  font-size: 11.5px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  backdrop-filter: blur(4px);
}
.portal-ncard-body { padding: 18px 18px 16px; }
.portal-ncard-title {
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 45px;
  color: var(--wm-ink);
}
.portal-ncard-sum {
  font-size: 13px;
  color: var(--wm-sub);
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.portal-ncard-meta {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #93A0B8;
  border-top: 1px solid var(--wm-line);
  padding-top: 12px;
}
.portal-ncard-views { color: var(--wm-red); font-weight: 600; }
.portal-empty-hint {
  grid-column: 1 / -1;
  padding: 28px;
  text-align: center;
  color: var(--wm-sub);
  font-size: 14px;
}
.portal-empty-hint a { color: var(--wm-red); font-weight: 600; }

/* ═══════════ 产业带矩阵 ═══════════ */
.portal-belt {
  background: linear-gradient(135deg, var(--wm-navy), #152A4F);
  border-radius: 20px;
  padding: 42px 38px;
  color: #fff;
  margin-bottom: 56px;
}
.portal-belt-title {
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 6px;
}
.portal-belt-sub {
  color: #CBD5E1;
  font-size: 14px;
  margin: 0 0 26px;
}
.portal-belt-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 14px;
}
.portal-belt-item {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 14px;
  padding: 20px 10px;
  text-align: center;
  transition: all .25s;
}
.portal-belt-item:hover {
  background: rgba(212, 175, 55, .12);
  border-color: var(--wm-gold);
  transform: translateY(-4px);
}
.pbi-ico {
  display: block;
  font-size: 26px;
  margin-bottom: 8px;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}
.portal-belt-item b { display: block; font-size: 14.5px; margin-bottom: 2px; }
.portal-belt-item > span:last-child { font-size: 12px; color: #CBD5E1; }

/* ═══════════ 侧栏名企条目（去内联样式） ═══════════ */
.portal-partner-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #F5F5F5;
  transition: transform .2s;
}
.portal-partner-item:hover { transform: translateX(4px); }
.ppi-logo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.ppi-logo-text {
  background: linear-gradient(135deg, var(--wm-red), var(--wm-red-d));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}
.ppi-info { flex: 1; min-width: 0; }
.ppi-name {
  color: var(--wm-ink);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ppi-ind { font-size: 12px; color: #8E8EA0; margin-top: 2px; }

/* ═══════════ 页脚升级 ═══════════ */
.portal-footer {
  background: var(--wm-navy);
  color: #CBD5E1;
  padding: 48px 0 28px;
  font-size: 13.5px;
}
.portal-footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.portal-footer h3 {
  color: #fff;
  font-size: 15px;
  margin: 0 0 16px;
  font-weight: 700;
}
.portal-footer-about p { line-height: 1.9; margin: 0; }
.portal-footer .portal-footer-col a,
.portal-footer .portal-footer-col a:visited {
  display: block;
  margin-bottom: 10px;
  color: var(--wm-footer-link);
  text-decoration: none;
  transition: color .2s;
}
.portal-footer .portal-footer-col a:hover,
.portal-footer .portal-footer-col a:focus-visible {
  color: var(--wm-footer-link-hover);
}
.portal-footer-col p { margin: 0 0 8px; }
.portal-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 36px;
  padding-top: 22px;
  padding-bottom: 0;
  text-align: center;
  font-size: 12.5px;
  color: #94A3B8;
}

/* ═══════════ 响应式 ═══════════ */
@media (max-width: 1200px) {
  .portal-news-cards { grid-template-columns: repeat(2, 1fr); }
  .portal-belt-grid { grid-template-columns: repeat(4, 1fr); }
  .portal-hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .portal-hero-title { font-size: 38px; }
  .portal-footer-inner { grid-template-columns: 1fr 1fr; }
}

/* ═══════════ 最终可读性与高级感收口（2026-10-09） ═══════════ */
.portal-nav-item.active,
.portal-nav-item.active:visited {
  color: #12233F !important;
  background: #EEF3F8 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.portal-nav-item:hover,
.portal-nav-item:focus-visible {
  color: #2F5F91 !important;
  background: #F5F8FB !important;
}
.portal-footer .portal-footer-col a,
.portal-footer .portal-footer-col a:visited {
  color: #C7D5E6 !important;
  text-decoration: none !important;
}
.portal-footer .portal-footer-col a:hover,
.portal-footer .portal-footer-col a:focus-visible {
  color: #FFFFFF !important;
}
.portal-ncard-cat {
  color: #F2F6FA !important;
  background: rgba(18, 35, 63, .92) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
}
.portal-resource-arrow {
  color: #2F5F91 !important;
}
.portal-service-icon {
  background: #EEF3F8 !important;
  color: #2F5F91 !important;
}
.portal-service-link em {
  color: #2F5F91 !important;
}
.portal-btn-gold {
  background: #2F5F91 !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 20px rgba(47, 95, 145, .24) !important;
}
.portal-btn-gold:hover {
  background: #244B79 !important;
  box-shadow: 0 10px 28px rgba(47, 95, 145, .32) !important;
}
.portal-hero-tag,
.phs-num,
.phv-head b,
.phv-meta strong {
  color: #DCE8F4 !important;
}
.portal-hero-tag {
  background: rgba(220, 232, 244, .12) !important;
  border-color: rgba(220, 232, 244, .35) !important;
}

/* ═══════════ P0修复：中文WebFont（子集化思源黑体，897字符/124KB） ═══════════ */
@font-face {
    font-family: 'WM Sans';
    src: url('/static/fonts/WM400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'WM Sans';
    src: url('/static/fonts/WM700.woff2') format('woff2');
    font-weight: 500 900;
    font-style: normal;
    font-display: swap;
}
/* 强制覆盖全局字体，解决Linux/WSL中文方框问题 */
body, html, .portal-hero-title, .portal-hero-desc, .portal-hero-tag,
.portal-ncard-title, .portal-ncard-sum, .portal-ncard-meta,
.portal-belt-title, .portal-belt-sub, .portal-belt-item b, .portal-belt-item > span,
.portal-section-title, .portal-nav-item, .portal-btn,
.phv-title, .phv-meta, .phv-ago, .phv-head,
.portal-enterprise-name, .portal-enterprise-industry,
.portal-footer, .portal-footer h3, .portal-footer-col a, .portal-footer-bottom,
.phs-num, .phs-lbl {
    font-family: 'WM Sans', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif !important;
}
/* ═══════════ v2.1 修正：压缩hero高度 + 询盘卡加图 + 色彩收敛 ═══════════ */

/* 1. hero 高度压缩：68px → 48px 上下padding */
.portal-hero-inner {
  padding-top: 48px;
  padding-bottom: 48px;
}

/* 2. hero 标题字号略降，避免占太多垂直空间 */
.portal-hero-title {
  font-size: 42px;
  line-height: 1.18;
}

/* 3. 右侧询盘卡加产品缩略图（用行业首字做视觉锚点） */
.phv-item {
  gap: 14px;
  padding: 14px 16px;
}
.phv-item::before {
  content: '';
  width: 48px;
  height: 48px;
  border-radius: 10px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--wm-navy-2), var(--wm-navy));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wm-gold);
  font-size: 18px;
  font-weight: 800;
}
/* 用国旗 emoji 作为缩略图背景 */
.phv-item:nth-child(odd)::before {
  background: linear-gradient(135deg, #1B3A6B, #0F1F3D);
}
.phv-item:nth-child(even)::before {
  background: linear-gradient(135deg, #C41E3A, #7A1224);
}

/* 4. 主 CTA 改回红色（金色只用于 hero-tag 点缀） */
.portal-btn-gold {
  background: linear-gradient(135deg, var(--wm-red), var(--wm-red-d));
  color: #fff;
  box-shadow: 0 6px 20px rgba(196, 30, 58, .3);
}
.portal-btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(196, 30, 58, .4);
}

/* 5. 导航高亮改深蓝（红色只用于 Logo 和主按钮） */
.portal-nav-item.active {
  color: var(--wm-navy);
  background: rgba(15, 31, 61, .08);
  font-weight: 700;
}

/* 6. 统计数字增强权威感 */
.phs-num {
  font-size: 36px;
  color: #fff;
  text-shadow: 0 2px 8px rgba(212, 175, 55, .3);
}
.phs-lbl {
  font-size: 13px;
  color: #A5B4D4;
}

/* 7. 移动端：hero 上下padding 更小，允许内容溢出滚动 */
@media (max-width: 760px) {
  .portal-hero-inner {
    padding-top: 32px;
    padding-bottom: 32px;
    grid-template-columns: 1fr;
  }
  .portal-hero-title {
    font-size: 26px;
  }
  .portal-hero-stats {
    gap: 16px;
  }
  .phs-num {
    font-size: 28px;
  }
  /* 询盘卡在移动端横向滚动 */
  .portal-hero-visual {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .phv-item {
    min-width: 260px;
    flex-shrink: 0;
  }
}

/* ═══════════ v2.2 修正：hero比例/询盘卡图标/导航高亮/统计数字 ═══════════ */

/* 1. 询盘卡宽度收窄，hero 文字区域加宽 */
.portal-hero-inner {
  grid-template-columns: 1.4fr .6fr;
  gap: 40px;
  padding-bottom: 32px;
}

/* 2. 询盘卡前面色块改国旗/行业图标（用 ::before 显示 emoji） */
.phv-item::before {
  content: attr(data-flag);
  background: none;
  font-size: 24px;
  width: auto;
  height: auto;
  border-radius: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.phv-item:nth-child(odd)::before,
.phv-item:nth-child(even)::before {
  background: none;
}

/* 3. 导航高亮改深蓝（红色只用于 Logo 和主按钮） */
.portal-nav-item.active {
  color: var(--wm-navy);
  background: rgba(15, 31, 61, .06);
  border-bottom: 2px solid var(--wm-navy);
  font-weight: 700;
}

/* 4. 统计数字加大 */
.phs-num {
  font-size: 42px;
  font-weight: 900;
}

/* 5. 询盘卡标题字号提升 */
.phv-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #E2E8F0;
}
.phv-meta {
  font-size: 13px;
  color: #CBD5E1;
}
.phv-meta strong {
  color: var(--wm-gold);
  font-weight: 700;
}

/* ═══════════ v2.3 修正：询盘卡布局/国旗显示/hero比例 ═══════════ */

/* 1. 询盘卡改横向布局：国旗左 + 标题中 + 时间右 */
.phv-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
}
.phv-item::before {
  content: attr(data-flag);
  font-size: 22px;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.1);
  border-radius: 8px;
}
.phv-info {
  flex: 1;
  min-width: 0;
}
.phv-title {
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.phv-meta {
  font-size: 12px;
  color: #CBD5E1;
  margin-top: 2px;
}
.phv-ago {
  font-size: 11px;
  color: #7A8DB0;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 2. hero 比例再调：左侧 55%，右侧 45% */
.portal-hero-inner {
  grid-template-columns: 55fr 45fr;
  gap: 32px;
}

/* 3. 统计数字再加一点权威感 */
.phs-num {
  font-size: 44px;
  font-weight: 900;
  color: #fff;
  text-shadow: 0 2px 8px rgba(212,175,55,.25);
}

/* 4. 移动端询盘卡保持纵向（不横滚） */
@media (max-width: 760px) {
  .portal-hero-inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .phv-item {
    min-width: unset;
    flex-shrink: 1;
  }
}

/* ═══════════ v2.4 修正：询盘卡彻底重构 ═══════════ */

/* 1. 询盘卡改横向布局：国旗左 + 标题中 + 时间右 */
.phv-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  position: relative;
}
.phv-item::before {
  content: attr(data-flag);
  font-size: 24px;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.1);
  border-radius: 10px;
  margin-right: 12px;
}
.phv-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.phv-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.phv-meta {
  font-size: 13px;
  color: #CBD5E1;
  display: flex;
  align-items: center;
  gap: 6px;
}
.phv-meta strong {
  color: var(--wm-gold);
  font-weight: 700;
}
.phv-ago {
  font-size: 11.5px;
  color: #94A3B8;
  flex-shrink: 0;
  white-space: nowrap;
  margin-left: 12px;
}

/* 2. hero 比例再调：左侧 60%，右侧 40% */
.portal-hero-inner {
  grid-template-columns: 60fr 40fr;
  gap: 28px;
}

/* 3. 询盘卡容器宽度收窄 */
.portal-hero-visual {
  max-width: 480px;
  margin-left: auto;
}

/* 4. 移动端：询盘卡横向滚动 */
@media (max-width: 760px) {
  .portal-hero-visual {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }
  .phv-item {
    min-width: 280px;
    flex-shrink: 0;
  }
}

/* 权威政策与行业服务入口：替代公开企业黄页，保护入驻商户隐私 */
.portal-section-more-static{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.04em}
.portal-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.portal-resource-item{min-height:88px;display:flex;align-items:center;gap:13px;padding:16px 18px;background:#fff;border:1px solid #e4e9f0;border-radius:14px;box-shadow:0 3px 14px rgba(15,31,61,.045);transition:transform .2s,border-color .2s,box-shadow .2s}
.portal-resource-item:hover{transform:translateY(-3px);border-color:rgba(29,78,216,.28);box-shadow:0 10px 26px rgba(15,31,61,.09)}
.portal-resource-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#17345d,#244b79);color:#fff;font-size:17px;font-weight:800;box-shadow:inset 0 1px rgba(255,255,255,.16)}
.portal-resource-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.portal-resource-copy b{color:#172033;font-size:14px;font-weight:750;line-height:1.35}
.portal-resource-copy small{color:#667085;font-size:11.5px;line-height:1.4}
.portal-resource-arrow{color:#1d4ed8;font-size:16px;font-weight:700}
@media(max-width:1050px){.portal-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.portal-ncard-cover-fallback.cover-0 { background:linear-gradient(135deg,#0b1f3d,#205c8c); }
.portal-ncard-cover-fallback.cover-1 { background:linear-gradient(135deg,#472316,#bf7130); }
.portal-ncard-cover-fallback.cover-2 { background:linear-gradient(135deg,#124d4a,#2a947d); }
.portal-ncard-cover-fallback.cover-3 { background:linear-gradient(135deg,#3b1c46,#a53f75); }
.portal-ncard-cover-fallback.cover-0::after { content:'制造业 · 产业观察'; }
.portal-ncard-cover-fallback.cover-1::after { content:'食品供应链 · 行业观察'; }
.portal-ncard-cover-fallback.cover-2::after { content:'家居产业 · 行业观察'; }
.portal-ncard-cover-fallback.cover-3::after { content:'服装纺织 · 行业观察'; }
.portal-ncard-cover-fallback.cover-0::before { content:'MANUFACTURING'; }
.portal-ncard-cover-fallback.cover-1::before { content:'FOOD & SUPPLY'; }
.portal-ncard-cover-fallback.cover-2::before { content:'HOME INDUSTRY'; }
.portal-ncard-cover-fallback.cover-3::before { content:'FASHION & TEXTILE'; }

/* ═══════════ 首页资讯图片稳定兜底与侧栏服务卡 ═══════════ */
.portal-ncard-cover-fallback {
  position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px;
  background-size:cover; overflow:hidden;
}
.portal-ncard-cover-fallback::before {
  content:'行业资讯'; position:absolute; right:16px; top:18px;
  color:rgba(255,255,255,.14); font-size:38px; font-weight:900; letter-spacing:.08em;
  transform:rotate(-8deg);
}
.portal-ncard-cover-fallback::after {
  content:'制造业 · 产业观察'; color:rgba(255,255,255,.82); font-size:12px;
  letter-spacing:.12em; position:relative; z-index:1;
}
.portal-service-card { margin-top:16px; }
.portal-service-link { display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid #edf0f5; text-decoration:none; }
.portal-service-link:last-child { border-bottom:0; padding-bottom:0; }
.portal-service-icon { flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:#fff4f5; color:var(--wm-red); font-size:12px; font-weight:800; }
.portal-service-link span:nth-child(2) { min-width:0; flex:1; }
.portal-service-link b { display:block; color:#172033; font-size:12.5px; line-height:1.35; }
.portal-service-link small { display:block; color:#8a94a6; font-size:10.5px; margin-top:3px; line-height:1.35; }
.portal-service-link em { color:var(--wm-red); font-size:20px; font-style:normal; }

/* 移动端 Hero 不展示横向溢出的询盘卡，优先保证首屏完整可读 */
@media (max-width: 760px) {
  .portal-hero-inner { display:block; padding-top:32px; padding-bottom:30px; }
  .portal-hero-copy { min-width:0; }
  .portal-hero-title { font-size:28px; line-height:1.24; }
  .portal-hero-desc { font-size:14px; line-height:1.75; margin-bottom:22px; }
  .portal-hero-btns { gap:10px; margin-bottom:26px; }
  .portal-btn-lg { padding:11px 16px; font-size:14px; }
  .portal-hero-stats { gap:20px; }
  .phs-num { font-size:30px; }
  .portal-hero-visual { display:none; }
}

/* ═══════════ 最终可读性与高级感收口（2026-10-09） ═══════════ */
.portal-nav-item.active,
.portal-nav-item.active:visited { color:#12233F !important; background:#EEF3F8 !important; border-bottom:0 !important; box-shadow:none !important; }
.portal-nav-item:hover,
.portal-nav-item:focus-visible { color:#2F5F91 !important; background:#F5F8FB !important; }
.portal-footer .portal-footer-col a,
.portal-footer .portal-footer-col a:visited { color:#C7D5E6 !important; text-decoration:none !important; }
.portal-footer .portal-footer-col a:hover,
.portal-footer .portal-footer-col a:focus-visible { color:#FFFFFF !important; }
.portal-ncard-cat { color:#F2F6FA !important; background:rgba(18,35,63,.92) !important; border:1px solid rgba(255,255,255,.18) !important; }
.portal-resource-arrow,.portal-service-link em { color:#2F5F91 !important; }
.portal-service-icon { background:#EEF3F8 !important; color:#2F5F91 !important; }
.portal-btn-gold { background:#2F5F91 !important; color:#FFFFFF !important; box-shadow:0 6px 20px rgba(47,95,145,.24) !important; }
.portal-btn-gold:hover { background:#244B79 !important; box-shadow:0 10px 28px rgba(47,95,145,.32) !important; }
.portal-hero-tag,.phs-num,.phv-head b,.phv-meta strong { color:#DCE8F4 !important; }
.portal-hero-tag { background:rgba(220,232,244,.12) !important; border-color:rgba(220,232,244,.35) !important; }
.portal-footer .portal-footer-col a,
.portal-footer .portal-footer-col a:visited { color:#C7D5E6 !important; text-decoration:none !important; }
.portal-footer .portal-footer-col a:hover,
.portal-footer .portal-footer-col a:focus-visible { color:#FFFFFF !important; }
.portal-ncard-cat { color:#F2F6FA !important; background:rgba(18,35,63,.92) !important; border:1px solid rgba(255,255,255,.18) !important; }
.portal-resource-arrow,.portal-service-link em { color:#2F5F91 !important; }
.portal-service-icon { background:#EEF3F8 !important; color:#2F5F91 !important; }
.portal-btn-gold { background:#2F5F91 !important; color:#FFFFFF !important; box-shadow:0 6px 20px rgba(47,95,145,.24) !important; }
.portal-btn-gold:hover { background:#244B79 !important; box-shadow:0 10px 28px rgba(47,95,145,.32) !important; }
.portal-hero-tag,.phs-num,.phv-head b,.phv-meta strong { color:#DCE8F4 !important; }
.portal-hero-tag { background:rgba(220,232,244,.12) !important; border-color:rgba(220,232,244,.35) !important; }
