/* ============================================================
   九南科技商城 · 全站统一层 v7.0（编辑式开版 · 报章风）
   ------------------------------------------------------------
   与 v6.0（暖白/橄榄/无衬线/胶囊圆角）完全不同的视觉语言：
   白纸底 + 墨黑文字 + 唯一朱砂红强调，衬线标题，直角墨线。
   以 body#id 白名单作用域，覆盖全部前台页面：
   index / shop / sale / about / contact / serviceGuarantee /
   shoppingCartVue / productDetail / announce / announceDetails /
   news / newsClassify / newsDetails / document / documentDetails /
   documentResult / feedback
   特异性（body#id .class = 0-1-1 起步）高于各页 css，保证在
   页面级样式后加载时仍能覆盖。
   ============================================================ */

/* ---------- 全站 v7 设计令牌（白名单页面） ---------- */
body#index, body#shop, body#sale, body#about, body#contact,
body#serviceGuarantee, body#shoppingCartVue, body#productDetail,
body#announce, body#announceDetails, body#news, body#newsClassify,
body#newsDetails, body#document, body#documentDetails,
body#documentResult, body#feedback {
  --jn-paper: #FDFDFB;
  --jn-card: #FFFFFF;
  --jn-paper-2: #F4F4F0;
  --jn-ink: #1B1B1B;
  --jn-ink-2: #4C4C48;
  --jn-ink-3: #8D8D88;
  --jn-line: #E2E2DC;
  --jn-line-strong: #C9C9C2;
  --jn-red: #B23A1E;
  --jn-red-deep: #8E2C15;
  --jn-red-soft: #F6E9E3;

  --jn-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --jn-sans: "Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  --jn-mono: "SF Mono", "JetBrains Mono", "Consolas", "Courier New", monospace;

  background: var(--jn-paper);
  color: var(--jn-ink);
  font-family: var(--jn-sans);
}

/* 版心统一 1360px（覆盖 common.css 1400px，与首页一致） */
body#index .section-content, body#shop .section-content,
body#sale .section-content, body#about .section-content,
body#contact .section-content, body#serviceGuarantee .section-content,
body#shoppingCartVue .section-content, body#productDetail .section-content,
body#announce .section-content, body#announceDetails .section-content,
body#news .section-content, body#newsClassify .section-content,
body#newsDetails .section-content, body#document .section-content,
body#documentDetails .section-content, body#documentResult .section-content,
body#feedback .section-content {
  max-width: 1360px;
}

/* ============================================================
   顶栏（全部前台页面）：报章式墨线顶栏
   ============================================================ */
body#index .nav-shadow, body#shop .nav-shadow, body#sale .nav-shadow,
body#about .nav-shadow, body#contact .nav-shadow,
body#serviceGuarantee .nav-shadow, body#shoppingCartVue .nav-shadow,
body#productDetail .nav-shadow, body#announce .nav-shadow,
body#announceDetails .nav-shadow, body#news .nav-shadow,
body#newsClassify .nav-shadow, body#newsDetails .nav-shadow,
body#document .nav-shadow, body#documentDetails .nav-shadow,
body#documentResult .nav-shadow, body#feedback .nav-shadow {
  background: var(--jn-paper);
  border-bottom: 1px solid var(--jn-line);
}
body#index .nav-header, body#shop .nav-header, body#sale .nav-header,
body#about .nav-header, body#contact .nav-header,
body#serviceGuarantee .nav-header, body#shoppingCartVue .nav-header,
body#productDetail .nav-header, body#announce .nav-header,
body#announceDetails .nav-header, body#news .nav-header,
body#newsClassify .nav-header, body#newsDetails .nav-header,
body#document .nav-header, body#documentDetails .nav-header,
body#documentResult .nav-header, body#feedback .nav-header {
  height: 72px;
  max-width: 1360px;
}
/* 移动端页头高度：用同等特异性覆盖桌面 72px，
   与 app.css 的 .tag-nav{top:56px/52px} 粘性定位对齐，消除缝隙错位 */
@media screen and (max-width: 992px) {
  body#index .nav-header, body#shop .nav-header, body#sale .nav-header,
  body#about .nav-header, body#contact .nav-header,
  body#serviceGuarantee .nav-header, body#shoppingCartVue .nav-header,
  body#productDetail .nav-header, body#announce .nav-header,
  body#announceDetails .nav-header, body#news .nav-header,
  body#newsClassify .nav-header, body#newsDetails .nav-header,
  body#document .nav-header, body#documentDetails .nav-header,
  body#documentResult .nav-header, body#feedback .nav-header {
    height: 56px;
  }
}
@media screen and (max-width: 600px) {
  body#index .nav-header, body#shop .nav-header, body#sale .nav-header,
  body#about .nav-header, body#contact .nav-header,
  body#serviceGuarantee .nav-header, body#shoppingCartVue .nav-header,
  body#productDetail .nav-header, body#announce .nav-header,
  body#announceDetails .nav-header, body#news .nav-header,
  body#newsClassify .nav-header, body#newsDetails .nav-header,
  body#document .nav-header, body#documentDetails .nav-header,
  body#documentResult .nav-header, body#feedback .nav-header {
    height: 52px;
  }
}
body#index .nav-icon img, body#shop .nav-icon img, body#sale .nav-icon img,
body#about .nav-icon img, body#contact .nav-icon img,
body#serviceGuarantee .nav-icon img, body#shoppingCartVue .nav-icon img,
body#productDetail .nav-icon img, body#announce .nav-icon img,
body#announceDetails .nav-icon img, body#news .nav-icon img,
body#newsClassify .nav-icon img, body#newsDetails .nav-icon img,
body#document .nav-icon img, body#documentDetails .nav-icon img,
body#documentResult .nav-icon img, body#feedback .nav-icon img {
  height: 30px;
}
body#index .nav-search, body#shop .nav-search, body#sale .nav-search,
body#about .nav-search, body#contact .nav-search,
body#serviceGuarantee .nav-search, body#shoppingCartVue .nav-search,
body#productDetail .nav-search, body#announce .nav-search,
body#announceDetails .nav-search, body#news .nav-search,
body#newsClassify .nav-search, body#newsDetails .nav-search,
body#document .nav-search, body#documentDetails .nav-search,
body#documentResult .nav-search, body#feedback .nav-search {
  width: 200px;
  height: 34px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--jn-ink);
  border-radius: 0;
  padding: 0 4px 0 0;
}
body#index .nav-search:focus-within, body#shop .nav-search:focus-within,
body#sale .nav-search:focus-within, body#about .nav-search:focus-within,
body#contact .nav-search:focus-within,
body#serviceGuarantee .nav-search:focus-within,
body#shoppingCartVue .nav-search:focus-within,
body#productDetail .nav-search:focus-within,
body#announce .nav-search:focus-within,
body#announceDetails .nav-search:focus-within, body#news .nav-search:focus-within,
body#newsClassify .nav-search:focus-within, body#newsDetails .nav-search:focus-within,
body#document .nav-search:focus-within, body#documentDetails .nav-search:focus-within,
body#documentResult .nav-search:focus-within, body#feedback .nav-search:focus-within {
  width: 220px;
  background: transparent;
  border-color: var(--jn-red);
}
body#index .nav-search input, body#shop .nav-search input,
body#sale .nav-search input, body#about .nav-search input,
body#contact .nav-search input, body#serviceGuarantee .nav-search input,
body#shoppingCartVue .nav-search input, body#productDetail .nav-search input,
body#announce .nav-search input, body#announceDetails .nav-search input,
body#news .nav-search input, body#newsClassify .nav-search input,
body#newsDetails .nav-search input, body#document .nav-search input,
body#documentDetails .nav-search input, body#documentResult .nav-search input,
body#feedback .nav-search input { font-size: 13px; color: var(--jn-ink); }
body#index .nav-search input::placeholder, body#shop .nav-search input::placeholder,
body#sale .nav-search input::placeholder, body#about .nav-search input::placeholder,
body#contact .nav-search input::placeholder,
body#serviceGuarantee .nav-search input::placeholder,
body#shoppingCartVue .nav-search input::placeholder,
body#productDetail .nav-search input::placeholder,
body#announce .nav-search input::placeholder,
body#announceDetails .nav-search input::placeholder,
body#news .nav-search input::placeholder, body#newsClassify .nav-search input::placeholder,
body#newsDetails .nav-search input::placeholder,
body#document .nav-search input::placeholder,
body#documentDetails .nav-search input::placeholder,
body#documentResult .nav-search input::placeholder,
body#feedback .nav-search input::placeholder { color: var(--jn-ink-3); }
body#index .nav-search-btn, body#shop .nav-search-btn,
body#sale .nav-search-btn, body#about .nav-search-btn,
body#contact .nav-search-btn, body#serviceGuarantee .nav-search-btn,
body#shoppingCartVue .nav-search-btn, body#productDetail .nav-search-btn,
body#announce .nav-search-btn, body#announceDetails .nav-search-btn,
body#news .nav-search-btn, body#newsClassify .nav-search-btn,
body#newsDetails .nav-search-btn, body#document .nav-search-btn,
body#documentDetails .nav-search-btn, body#documentResult .nav-search-btn,
body#feedback .nav-search-btn { color: var(--jn-ink-2); }
body#index .nav-search-btn:hover, body#shop .nav-search-btn:hover,
body#sale .nav-search-btn:hover, body#about .nav-search-btn:hover,
body#contact .nav-search-btn:hover, body#serviceGuarantee .nav-search-btn:hover,
body#shoppingCartVue .nav-search-btn:hover, body#productDetail .nav-search-btn:hover,
body#announce .nav-search-btn:hover, body#announceDetails .nav-search-btn:hover,
body#news .nav-search-btn:hover, body#newsClassify .nav-search-btn:hover,
body#newsDetails .nav-search-btn:hover, body#document .nav-search-btn:hover,
body#documentDetails .nav-search-btn:hover, body#documentResult .nav-search-btn:hover,
body#feedback .nav-search-btn:hover { color: var(--jn-red); }

/* 购物车：墨线方盒 */
body#index .nav-cart, body#shop .nav-cart, body#sale .nav-cart,
body#about .nav-cart, body#contact .nav-cart,
body#serviceGuarantee .nav-cart, body#shoppingCartVue .nav-cart,
body#productDetail .nav-cart, body#announce .nav-cart,
body#announceDetails .nav-cart, body#news .nav-cart,
body#newsClassify .nav-cart, body#newsDetails .nav-cart,
body#document .nav-cart, body#documentDetails .nav-cart,
body#documentResult .nav-cart, body#feedback .nav-cart {
  height: 34px;
  padding: 0 16px;
  background: transparent;
  border: 1px solid var(--jn-ink);
  border-radius: 0;
  gap: 8px;
}
body#index .nav-cart-icon, body#shop .nav-cart-icon,
body#sale .nav-cart-icon, body#about .nav-cart-icon,
body#contact .nav-cart-icon, body#serviceGuarantee .nav-cart-icon,
body#shoppingCartVue .nav-cart-icon, body#productDetail .nav-cart-icon,
body#announce .nav-cart-icon, body#announceDetails .nav-cart-icon,
body#news .nav-cart-icon, body#newsClassify .nav-cart-icon,
body#newsDetails .nav-cart-icon, body#document .nav-cart-icon,
body#documentDetails .nav-cart-icon, body#documentResult .nav-cart-icon,
body#feedback .nav-cart-icon { font-size: 16px; color: var(--jn-ink); }
body#index .nav-cart-text, body#shop .nav-cart-text,
body#sale .nav-cart-text, body#about .nav-cart-text,
body#contact .nav-cart-text, body#serviceGuarantee .nav-cart-text,
body#shoppingCartVue .nav-cart-text, body#productDetail .nav-cart-text,
body#announce .nav-cart-text, body#announceDetails .nav-cart-text,
body#news .nav-cart-text, body#newsClassify .nav-cart-text,
body#newsDetails .nav-cart-text, body#document .nav-cart-text,
body#documentDetails .nav-cart-text, body#documentResult .nav-cart-text,
body#feedback .nav-cart-text { font-size: 13px; color: var(--jn-ink); letter-spacing: 1px; }
body#index .nav-cart:hover, body#shop .nav-cart:hover,
body#sale .nav-cart:hover, body#about .nav-cart:hover,
body#contact .nav-cart:hover, body#serviceGuarantee .nav-cart:hover,
body#shoppingCartVue .nav-cart:hover, body#productDetail .nav-cart:hover,
body#announce .nav-cart:hover, body#announceDetails .nav-cart:hover,
body#news .nav-cart:hover, body#newsClassify .nav-cart:hover,
body#newsDetails .nav-cart:hover, body#document .nav-cart:hover,
body#documentDetails .nav-cart:hover, body#documentResult .nav-cart:hover,
body#feedback .nav-cart:hover { background: var(--jn-ink); border-color: var(--jn-ink); }
body#index .nav-cart:hover .nav-cart-icon, body#shop .nav-cart:hover .nav-cart-icon,
body#sale .nav-cart:hover .nav-cart-icon, body#about .nav-cart:hover .nav-cart-icon,
body#contact .nav-cart:hover .nav-cart-icon,
body#serviceGuarantee .nav-cart:hover .nav-cart-icon,
body#shoppingCartVue .nav-cart:hover .nav-cart-icon,
body#productDetail .nav-cart:hover .nav-cart-icon,
body#announce .nav-cart:hover .nav-cart-icon,
body#announceDetails .nav-cart:hover .nav-cart-icon,
body#news .nav-cart:hover .nav-cart-icon, body#newsClassify .nav-cart:hover .nav-cart-icon,
body#newsDetails .nav-cart:hover .nav-cart-icon,
body#document .nav-cart:hover .nav-cart-icon,
body#documentDetails .nav-cart:hover .nav-cart-icon,
body#documentResult .nav-cart:hover .nav-cart-icon,
body#feedback .nav-cart:hover .nav-cart-icon,
body#index .nav-cart:hover .nav-cart-text, body#shop .nav-cart:hover .nav-cart-text,
body#sale .nav-cart:hover .nav-cart-text, body#about .nav-cart:hover .nav-cart-text,
body#contact .nav-cart:hover .nav-cart-text,
body#serviceGuarantee .nav-cart:hover .nav-cart-text,
body#shoppingCartVue .nav-cart:hover .nav-cart-text,
body#productDetail .nav-cart:hover .nav-cart-text,
body#announce .nav-cart:hover .nav-cart-text,
body#announceDetails .nav-cart:hover .nav-cart-text,
body#news .nav-cart:hover .nav-cart-text, body#newsClassify .nav-cart:hover .nav-cart-text,
body#newsDetails .nav-cart:hover .nav-cart-text,
body#document .nav-cart:hover .nav-cart-text,
body#documentDetails .nav-cart:hover .nav-cart-text,
body#documentResult .nav-cart:hover .nav-cart-text,
body#feedback .nav-cart:hover .nav-cart-text { color: var(--jn-paper); }
body#index .cart-badge, body#shop .cart-badge,
body#sale .cart-badge, body#about .cart-badge,
body#contact .cart-badge, body#serviceGuarantee .cart-badge,
body#shoppingCartVue .cart-badge, body#productDetail .cart-badge,
body#announce .cart-badge, body#announceDetails .cart-badge,
body#news .cart-badge, body#newsClassify .cart-badge,
body#newsDetails .cart-badge, body#document .cart-badge,
body#documentDetails .cart-badge, body#documentResult .cart-badge,
body#feedback .cart-badge {
  background: var(--jn-red);
  border-color: var(--jn-paper);
  border-radius: 0;
}

/* 登录/注册：墨线直角按钮 */
body#index .no-login .btn-normal-light, body#shop .no-login .btn-normal-light,
body#sale .no-login .btn-normal-light, body#about .no-login .btn-normal-light,
body#contact .no-login .btn-normal-light,
body#serviceGuarantee .no-login .btn-normal-light,
body#shoppingCartVue .no-login .btn-normal-light,
body#productDetail .no-login .btn-normal-light,
body#announce .no-login .btn-normal-light,
body#announceDetails .no-login .btn-normal-light,
body#news .no-login .btn-normal-light, body#newsClassify .no-login .btn-normal-light,
body#newsDetails .no-login .btn-normal-light,
body#document .no-login .btn-normal-light,
body#documentDetails .no-login .btn-normal-light,
body#documentResult .no-login .btn-normal-light,
body#feedback .no-login .btn-normal-light {
  background: transparent;
  border: 1px solid var(--jn-ink);
  color: var(--jn-ink);
  border-radius: 0;
  padding: 7px 18px;
  font-size: 13px;
  letter-spacing: 1px;
}
body#index .no-login .btn-normal-light:hover, body#shop .no-login .btn-normal-light:hover,
body#sale .no-login .btn-normal-light:hover, body#about .no-login .btn-normal-light:hover,
body#contact .no-login .btn-normal-light:hover,
body#serviceGuarantee .no-login .btn-normal-light:hover,
body#shoppingCartVue .no-login .btn-normal-light:hover,
body#productDetail .no-login .btn-normal-light:hover,
body#announce .no-login .btn-normal-light:hover,
body#announceDetails .no-login .btn-normal-light:hover,
body#news .no-login .btn-normal-light:hover,
body#newsClassify .no-login .btn-normal-light:hover,
body#newsDetails .no-login .btn-normal-light:hover,
body#document .no-login .btn-normal-light:hover,
body#documentDetails .no-login .btn-normal-light:hover,
body#documentResult .no-login .btn-normal-light:hover,
body#feedback .no-login .btn-normal-light:hover {
  background: var(--jn-red-soft);
  border-color: var(--jn-red);
  color: var(--jn-red);
}
body#index .no-login .btn-normal, body#shop .no-login .btn-normal,
body#sale .no-login .btn-normal, body#about .no-login .btn-normal,
body#contact .no-login .btn-normal, body#serviceGuarantee .no-login .btn-normal,
body#shoppingCartVue .no-login .btn-normal,
body#productDetail .no-login .btn-normal, body#announce .no-login .btn-normal,
body#announceDetails .no-login .btn-normal, body#news .no-login .btn-normal,
body#newsClassify .no-login .btn-normal, body#newsDetails .no-login .btn-normal,
body#document .no-login .btn-normal, body#documentDetails .no-login .btn-normal,
body#documentResult .no-login .btn-normal, body#feedback .no-login .btn-normal {
  background: var(--jn-ink);
  border: 1px solid var(--jn-ink);
  color: var(--jn-paper);
  border-radius: 0;
  padding: 7px 18px;
  font-size: 13px;
  letter-spacing: 1px;
}
body#index .no-login .btn-normal:hover, body#shop .no-login .btn-normal:hover,
body#sale .no-login .btn-normal:hover, body#about .no-login .btn-normal:hover,
body#contact .no-login .btn-normal:hover,
body#serviceGuarantee .no-login .btn-normal:hover,
body#shoppingCartVue .no-login .btn-normal:hover,
body#productDetail .no-login .btn-normal:hover, body#announce .no-login .btn-normal:hover,
body#announceDetails .no-login .btn-normal:hover, body#news .no-login .btn-normal:hover,
body#newsClassify .no-login .btn-normal:hover, body#newsDetails .no-login .btn-normal:hover,
body#document .no-login .btn-normal:hover, body#documentDetails .no-login .btn-normal:hover,
body#documentResult .no-login .btn-normal:hover, body#feedback .no-login .btn-normal:hover {
  background: var(--jn-red);
  border-color: var(--jn-red);
}

/* 移动端抽屉：纸白墨线化 */
body#index .m-nav-drawer, body#shop .m-nav-drawer, body#sale .m-nav-drawer,
body#about .m-nav-drawer, body#contact .m-nav-drawer,
body#serviceGuarantee .m-nav-drawer, body#shoppingCartVue .m-nav-drawer,
body#productDetail .m-nav-drawer, body#announce .m-nav-drawer,
body#announceDetails .m-nav-drawer, body#news .m-nav-drawer,
body#newsClassify .m-nav-drawer, body#newsDetails .m-nav-drawer,
body#document .m-nav-drawer, body#documentDetails .m-nav-drawer,
body#documentResult .m-nav-drawer, body#feedback .m-nav-drawer {
  background: var(--jn-paper);
  border-left: 1px solid var(--jn-line-strong);
}
body#index .m-nav-drawer .m-nav-link, body#shop .m-nav-drawer .m-nav-link,
body#sale .m-nav-drawer .m-nav-link, body#about .m-nav-drawer .m-nav-link,
body#contact .m-nav-drawer .m-nav-link,
body#serviceGuarantee .m-nav-drawer .m-nav-link,
body#shoppingCartVue .m-nav-drawer .m-nav-link,
body#productDetail .m-nav-drawer .m-nav-link, body#announce .m-nav-drawer .m-nav-link,
body#announceDetails .m-nav-drawer .m-nav-link, body#news .m-nav-drawer .m-nav-link,
body#newsClassify .m-nav-drawer .m-nav-link, body#newsDetails .m-nav-drawer .m-nav-link,
body#document .m-nav-drawer .m-nav-link, body#documentDetails .m-nav-drawer .m-nav-link,
body#documentResult .m-nav-drawer .m-nav-link, body#feedback .m-nav-drawer .m-nav-link {
  color: var(--jn-ink);
}
body#index .m-nav-drawer .m-nav-search, body#shop .m-nav-drawer .m-nav-search,
body#sale .m-nav-drawer .m-nav-search, body#about .m-nav-drawer .m-nav-search,
body#contact .m-nav-drawer .m-nav-search,
body#serviceGuarantee .m-nav-drawer .m-nav-search,
body#shoppingCartVue .m-nav-drawer .m-nav-search,
body#productDetail .m-nav-drawer .m-nav-search, body#announce .m-nav-drawer .m-nav-search,
body#announceDetails .m-nav-drawer .m-nav-search, body#news .m-nav-drawer .m-nav-search,
body#newsClassify .m-nav-drawer .m-nav-search, body#newsDetails .m-nav-drawer .m-nav-search,
body#document .m-nav-drawer .m-nav-search, body#documentDetails .m-nav-drawer .m-nav-search,
body#documentResult .m-nav-drawer .m-nav-search, body#feedback .m-nav-drawer .m-nav-search {
  background: var(--jn-card);
  border: 1px solid var(--jn-ink);
  border-radius: 0;
}

/* ============================================================
   通用：链接 / 滚动显现 / 墨线按钮
   ============================================================ */
body#index .jn-link, body#shop .jn-link, body#sale .jn-link,
body#about .jn-link, body#contact .jn-link,
body#serviceGuarantee .jn-link, body#shoppingCartVue .jn-link,
body#productDetail .jn-link, body#announce .jn-link,
body#announceDetails .jn-link, body#news .jn-link,
body#newsClassify .jn-link, body#newsDetails .jn-link,
body#document .jn-link, body#documentDetails .jn-link,
body#documentResult .jn-link, body#feedback .jn-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--jn-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--jn-ink);
  padding-bottom: 4px;
  letter-spacing: 1px;
  transition: color var(--mh-dur) var(--mh-ease), border-color var(--mh-dur) var(--mh-ease);
}
body#index .jn-link:hover, body#shop .jn-link:hover, body#sale .jn-link:hover,
body#about .jn-link:hover, body#contact .jn-link:hover,
body#serviceGuarantee .jn-link:hover, body#shoppingCartVue .jn-link:hover,
body#productDetail .jn-link:hover, body#announce .jn-link:hover,
body#announceDetails .jn-link:hover, body#news .jn-link:hover,
body#newsClassify .jn-link:hover, body#newsDetails .jn-link:hover,
body#document .jn-link:hover, body#documentDetails .jn-link:hover,
body#documentResult .jn-link:hover, body#feedback .jn-link:hover {
  color: var(--jn-red);
  border-color: var(--jn-red);
}
body#index .jn-link .jn-arrow, body#shop .jn-link .jn-arrow,
body#sale .jn-link .jn-arrow, body#about .jn-link .jn-arrow,
body#contact .jn-link .jn-arrow, body#serviceGuarantee .jn-link .jn-arrow,
body#shoppingCartVue .jn-link .jn-arrow, body#productDetail .jn-link .jn-arrow,
body#announce .jn-link .jn-arrow, body#announceDetails .jn-link .jn-arrow,
body#news .jn-link .jn-arrow, body#newsClassify .jn-link .jn-arrow,
body#newsDetails .jn-link .jn-arrow, body#document .jn-link .jn-arrow,
body#documentDetails .jn-link .jn-arrow, body#documentResult .jn-link .jn-arrow,
body#feedback .jn-link .jn-arrow {
  font-family: var(--jn-sans);
  font-size: 13px;
  transition: transform var(--mh-dur) var(--mh-ease);
}
body#index .jn-link:hover .jn-arrow, body#shop .jn-link:hover .jn-arrow,
body#sale .jn-link:hover .jn-arrow, body#about .jn-link:hover .jn-arrow,
body#contact .jn-link:hover .jn-arrow, body#serviceGuarantee .jn-link:hover .jn-arrow,
body#shoppingCartVue .jn-link:hover .jn-arrow, body#productDetail .jn-link:hover .jn-arrow,
body#announce .jn-link:hover .jn-arrow, body#announceDetails .jn-link:hover .jn-arrow,
body#news .jn-link:hover .jn-arrow, body#newsClassify .jn-link:hover .jn-arrow,
body#newsDetails .jn-link:hover .jn-arrow, body#document .jn-link:hover .jn-arrow,
body#documentDetails .jn-link:hover .jn-arrow, body#documentResult .jn-link:hover .jn-arrow,
body#feedback .jn-link:hover .jn-arrow { transform: translateX(4px); }

body#index .jn-rv, body#shop .jn-rv, body#sale .jn-rv,
body#about .jn-rv, body#contact .jn-rv,
body#serviceGuarantee .jn-rv, body#shoppingCartVue .jn-rv,
body#productDetail .jn-rv, body#announce .jn-rv,
body#announceDetails .jn-rv, body#news .jn-rv,
body#newsClassify .jn-rv, body#newsDetails .jn-rv,
body#document .jn-rv, body#documentDetails .jn-rv,
body#documentResult .jn-rv, body#feedback .jn-rv {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s var(--mh-ease), transform 0.6s var(--mh-ease);
}
body#index .jn-rv.is-in, body#shop .jn-rv.is-in, body#sale .jn-rv.is-in,
body#about .jn-rv.is-in, body#contact .jn-rv.is-in,
body#serviceGuarantee .jn-rv.is-in, body#shoppingCartVue .jn-rv.is-in,
body#productDetail .jn-rv.is-in, body#announce .jn-rv.is-in,
body#announceDetails .jn-rv.is-in, body#news .jn-rv.is-in,
body#newsClassify .jn-rv.is-in, body#newsDetails .jn-rv.is-in,
body#document .jn-rv.is-in, body#documentDetails .jn-rv.is-in,
body#documentResult .jn-rv.is-in, body#feedback .jn-rv.is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  body#index .jn-rv, body#shop .jn-rv, body#sale .jn-rv,
  body#about .jn-rv, body#contact .jn-rv,
  body#serviceGuarantee .jn-rv, body#shoppingCartVue .jn-rv,
  body#productDetail .jn-rv, body#announce .jn-rv,
  body#announceDetails .jn-rv, body#news .jn-rv,
  body#newsClassify .jn-rv, body#newsDetails .jn-rv,
  body#document .jn-rv, body#documentDetails .jn-rv,
  body#documentResult .jn-rv, body#feedback .jn-rv {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================
   页头（编辑式开版）：统一 墨线 + 衬线标题 + 朱砂眉注
   ============================================================ */

/* -- 内容页 Hero（server-banner2 系列：公告/文档/反馈/保障） -- */
body#announce .server-banner2, body#announceDetails .server-banner2,
body#news .server-banner2, body#newsClassify .server-banner2,
body#newsDetails .server-banner2, body#document .server-banner2,
body#documentDetails .server-banner2, body#documentResult .server-banner2,
body#feedback .server-banner2, body#serviceGuarantee .server-banner2 {
  background: var(--jn-paper) !important;
  border-bottom: 3px double var(--jn-ink);
  padding: 64px 0 56px;
}
body#announce .server-banner2 h1, body#announceDetails .server-banner2 h1,
body#news .server-banner2 h1, body#newsClassify .server-banner2 h1,
body#newsDetails .server-banner2 h1, body#document .server-banner2 h1,
body#documentDetails .server-banner2 h1, body#documentResult .server-banner2 h1,
body#feedback .server-banner2 h1, body#serviceGuarantee .server-banner2 h1 {
  font-family: var(--jn-serif);
  font-size: 40px;
  font-weight: 600;
  color: var(--jn-ink);
  letter-spacing: 8px;
  padding-left: 0;
  display: block;
}
body#announce .server-banner2 h1::before, body#announceDetails .server-banner2 h1::before,
body#news .server-banner2 h1::before, body#newsClassify .server-banner2 h1::before,
body#newsDetails .server-banner2 h1::before, body#document .server-banner2 h1::before,
body#documentDetails .server-banner2 h1::before, body#documentResult .server-banner2 h1::before,
body#feedback .server-banner2 h1::before, body#serviceGuarantee .server-banner2 h1::before {
  display: none;
}
body#announce .server-banner-desc, body#announceDetails .server-banner-desc,
body#news .server-banner-desc, body#newsClassify .server-banner-desc,
body#newsDetails .server-banner-desc, body#document .server-banner-desc2,
body#documentDetails .server-banner-desc2, body#documentResult .server-banner-desc2,
body#feedback .server-banner-desc, body#serviceGuarantee .server-banner-desc {
  font-family: var(--jn-sans);
  font-size: 14px;
  line-height: 2;
  color: var(--jn-ink-2);
  margin-top: 16px;
  max-width: 640px;
}

/* -- about / contact 的照片 Hero → 编辑式开版 -- */
body#about .about-hero, body#contact .contact-hero {
  height: auto;
  background: var(--jn-paper);
  border-bottom: 3px double var(--jn-ink);
  padding: 64px 0 56px;
  display: block;
}
body#about .about-hero-bg, body#contact .contact-hero-bg,
body#about .about-hero-mask, body#contact .contact-hero-mask { display: none; }
body#about .about-hero-content, body#contact .contact-hero-content {
  position: static;
  color: var(--jn-ink);
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 24px !important;
}
body#about .about-eyebrow, body#contact .about-eyebrow {
  display: inline-block;
  padding: 0;
  border: none;
  border-radius: 0;
  font-family: var(--jn-mono);
  font-size: 12px;
  letter-spacing: 4px;
  color: var(--jn-red);
  margin: 0 0 20px;
}
body#about .about-title, body#contact .about-title {
  font-family: var(--jn-serif);
  font-size: 52px;
  font-weight: 600;
  letter-spacing: 6px;
  color: var(--jn-ink);
  margin: 0 0 22px;
}
body#about .about-desc, body#contact .about-desc {
  font-family: var(--jn-sans);
  font-size: 15px;
  line-height: 2;
  color: var(--jn-ink-2);
  max-width: 620px;
}

/* -- 区块标题（.section-head / .section-h2）→ 章节头 -- */
body#about .section-h2, body#contact .section-h2,
body#serviceGuarantee .section-title h2 {
  font-family: var(--jn-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 6px;
  color: var(--jn-ink);
  padding-left: 0;
}
body#about .section-h2::before, body#contact .section-h2::before {
  display: none;
}
body#about .section-sub, body#contact .section-sub {
  font-family: var(--jn-sans);
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--jn-ink-3);
}
body#about .section-head, body#contact .section-head {
  border-bottom: 3px solid var(--jn-ink);
  padding-bottom: 16px;
}

/* ============================================================
   面包屑（墨线）
   ============================================================ */
body#shop .breadcrumb-bar, body#shoppingCartVue .breadcrumb-bar,
body#productDetail .breadcrumb-bar {
  border-bottom: 1px solid var(--jn-line);
}
body#announce .breadcrumb a, body#announceDetails .breadcrumb a,
body#news .breadcrumb a, body#newsClassify .breadcrumb a,
body#newsDetails .breadcrumb a, body#documentDetails .help-detail-crumb a,
body#shop .breadcrumb-bar a, body#shoppingCartVue .breadcrumb-bar a,
body#productDetail .breadcrumb-bar a {
  color: var(--jn-ink-3);
}
body#announce .breadcrumb a:hover, body#announceDetails .breadcrumb a:hover,
body#news .breadcrumb a:hover, body#newsClassify .breadcrumb a:hover,
body#newsDetails .breadcrumb a:hover, body#documentDetails .help-detail-crumb a:hover,
body#shop .breadcrumb-bar a:hover, body#shoppingCartVue .breadcrumb-bar a:hover,
body#productDetail .breadcrumb-bar a:hover { color: var(--jn-red); }
body#announce .breadcrumb > li + li::before, body#announceDetails .breadcrumb > li + li::before,
body#news .breadcrumb > li + li::before, body#newsClassify .breadcrumb > li + li::before,
body#newsDetails .breadcrumb > li + li::before,
body#shop .breadcrumb-bar .bc-sep, body#shoppingCartVue .breadcrumb-bar .bc-sep,
body#productDetail .breadcrumb-bar .bc-sep { color: var(--jn-line-strong); }

/* ============================================================
   卡片统一：直角墨线（去圆角 / 去浮起阴影）
   ============================================================ */
body#announce .announce, body#announceDetails .announce-details,
body#announceDetails .news-box, body#news .news-box, body#newsDetails .news-box,
body#newsClassify .announce, body#shop .jn-card-shell,
body#contact .contact-card, body#contact .contact-form-card, body#contact .contact-company,
body#about .value-item, body#about .honor-card,
body#sale .rule-item, body#serviceGuarantee .sustain-box,
body#document .docement-list .document-box, body#documentResult .document-details-item,
body#productDetail .detail-card {
  background: var(--jn-card);
  border: 1px solid var(--jn-line);
  border-radius: 0 !important;
  box-shadow: none !important;
}
body#announce .announce { padding: 8px 28px 22px; }
body#announceDetails .announce-details, body#newsDetails .announce-details {
  border-top: 3px solid var(--jn-ink);
  padding: 40px 48px 48px;
}
body#contact .contact-card { padding: 36px 24px; }
body#contact .contact-card:hover, body#about .value-item:hover,
body#about .honor-card:hover, body#sale .rule-item:hover,
body#document .docement-list .document-box:hover {
  transform: none;
  border-color: var(--jn-line-strong);
  box-shadow: 0 12px 28px rgba(27, 27, 27, 0.06);
}

/* 卡片内衬线标题 */
body#contact .contact-card h4, body#about .value-item h3,
body#about .honor-info h4, body#sale .rule-name,
body#document .docement-list .document-box .document-header h5 {
  font-family: var(--jn-serif);
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--jn-ink);
}
body#contact .cc-main, body#contact .cl-value { color: var(--jn-ink); }
body#contact .cc-link, body#about .value-item p, body#contact .cc-time,
body#about .honor-info p, body#sale .rule-detail { color: var(--jn-ink-3); }
body#contact .cc-link:hover, body#contact .form-tip a:hover,
body#about .story-eyebrow { color: var(--jn-red); }
body#about .story-eyebrow { font-family: var(--jn-mono); font-size: 12px; letter-spacing: 3px; }

/* 品牌故事 / 理念标题 */
body#about .story-title {
  font-family: var(--jn-serif);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 4px;
  color: var(--jn-ink);
}
body#about .story-p { color: var(--jn-ink-2); line-height: 2.1; }
body#about .story-img {
  border: 10px solid var(--jn-card);
  outline: 1px solid var(--jn-line-strong);
  outline-offset: -11px;
  border-radius: 0;
}

/* 数据概览 */
body#about .stat-num { font-family: var(--jn-serif); color: var(--jn-ink); }
body#about .stat-num span { color: var(--jn-red); }
body#about .stat-label { color: var(--jn-ink-3); letter-spacing: 2px; }

/* 时间轴（墨线化） */
body#about .section-dark { background: var(--jn-ink); border-top: 3px solid var(--jn-red); border-bottom: 3px solid var(--jn-red); }
body#about .timeline::before { background: rgba(253, 253, 251, 0.18); }
body#about .tl-year { font-family: var(--jn-serif); color: var(--jn-paper); }
body#about .tl-dot { background: var(--jn-red); box-shadow: 0 0 0 5px rgba(178, 58, 30, 0.25); border-radius: 0; }

/* CTA */
body#about .about-cta { background: var(--jn-ink); border-top: 3px solid var(--jn-red); }
body#about .cta-text h2 { font-family: var(--jn-serif); letter-spacing: 4px; }
body#about .cta-btn { background: transparent; color: var(--jn-paper); border: 1px solid var(--jn-paper); border-radius: 0; }
body#about .cta-btn:hover { background: var(--jn-red); border-color: var(--jn-red); box-shadow: none; }

/* 荣誉卡 */
body#about .honor-img { border-radius: 0; background: var(--jn-paper-2); border: 1px solid var(--jn-line); }

/* 礼遇规则（sale） */
body#sale .rule-num { font-family: var(--jn-serif); font-size: 22px; color: var(--jn-red); }
body#sale .mj-tier { border-radius: 0; border: 1px solid var(--jn-line-strong); background: transparent; color: var(--jn-ink-2); }

/* 服务保障卡 */
body#serviceGuarantee .sustain-box .sustain-head h4 { font-family: var(--jn-serif); letter-spacing: 2px; }
body#serviceGuarantee .sustain-box { padding: 28px 24px; }
body#serviceGuarantee .section-title h2 { font-family: var(--jn-serif); letter-spacing: 6px; color: var(--jn-ink); }
body#serviceGuarantee .section-title .section-desc { color: var(--jn-ink-3); }
body#serviceGuarantee .flow-icon { border-radius: 0; background: var(--jn-ink); color: var(--jn-paper); }
body#serviceGuarantee .flow-box h5 { font-family: var(--jn-serif); letter-spacing: 2px; }

/* ============================================================
   公告 / 新闻：tab、列表、详情
   ============================================================ */
/* 分类 tab：墨线直角 */
body#announce .announce-head a {
  border: 1px solid var(--jn-line-strong);
  border-radius: 0;
  color: var(--jn-ink-2);
  background: transparent;
  padding: 8px 22px;
  letter-spacing: 1px;
}
body#announce .announce-head a:hover { border-color: var(--jn-red); color: var(--jn-red); }
body#announce .announce-head a.active {
  background: var(--jn-ink);
  border-color: var(--jn-ink);
  color: var(--jn-paper);
}

/* 列表行 */
body#announce .announce-list .announce-item,
body#newsClassify .announce-list .announce-item {
  border-bottom: 1px solid var(--jn-line);
  padding: 18px 6px;
}
body#announce .announce-list .announce-item:hover,
body#newsClassify .announce-list .announce-item:hover { background: var(--jn-paper-2); }
body#announce .announce-list .announce-item .announce-item-title a,
body#newsClassify .announce-list .announce-item .announce-item-title a {
  font-family: var(--jn-serif);
  font-size: 16px;
  color: var(--jn-ink);
}
body#announce .announce-list .announce-item .announce-item-title a:hover,
body#newsClassify .announce-list .announce-item .announce-item-title a:hover { color: var(--jn-red); }
body#announce .announce-list .announce-item .announce-item-time,
body#newsClassify .announce-list .announce-item .announce-item-time {
  font-family: var(--jn-mono);
  font-size: 12px;
  color: var(--jn-ink-3);
}

/* 分页：墨线 */
body#announce .pagination > li > a, body#announce .pagination > li > span,
body#newsClassify .pagination > li > a, body#newsClassify .pagination > li > span {
  border-radius: 0;
  border: 1px solid var(--jn-line);
  color: var(--jn-ink-2);
  background: transparent;
}
body#announce .pagination > li > a:hover, body#newsClassify .pagination > li > a:hover { color: var(--jn-red); border-color: var(--jn-red); }
body#announce .pagination > .active > a, body#announce .pagination > .active > span,
body#newsClassify .pagination > .active > a, body#newsClassify .pagination > .active > span {
  background: var(--jn-ink);
  border-color: var(--jn-ink);
  color: var(--jn-paper);
}

/* 详情阅读区 */
body#announceDetails .announce-title, body#newsDetails .announce-title {
  font-family: var(--jn-serif);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 2px;
  color: var(--jn-ink);
}
body#announceDetails .announce-details-time, body#newsDetails .announce-details-time {
  font-family: var(--jn-mono);
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--jn-ink-3);
}
body#announceDetails .announce-details-cont, body#newsDetails .announce-details-cont {
  font-family: var(--jn-sans);
  font-size: 15px;
  line-height: 2.1;
  color: var(--jn-ink-2);
  text-indent: 0;
  border-top: 1px solid var(--jn-line-strong);
}
body#announceDetails .announce-details-cont h2, body#announceDetails .announce-details-cont h3,
body#newsDetails .announce-details-cont h2, body#newsDetails .announce-details-cont h3 {
  font-family: var(--jn-serif);
  color: var(--jn-ink);
}

/* 新闻首页 */
body#news .news-box .news-box-head { border-bottom: 1px solid var(--jn-line); padding: 18px 24px; }
body#news .news-box .news-box-head .news-title,
body#newsDetails .news-box .news-box-head .news-title {
  font-family: var(--jn-serif);
  font-size: 18px;
  letter-spacing: 2px;
  padding-left: 0;
  color: var(--jn-ink);
}
body#news .news-box .news-box-head .news-title::before,
body#newsDetails .news-box .news-box-head .news-title::before { display: none; }
body#news .news-list .news-item, body#newsDetails .news-list .news-item {
  border-bottom: 1px dashed var(--jn-line);
}
body#news .news-list .news-item .news-number, body#newsDetails .news-list .news-item .news-number {
  border-radius: 0;
  background: var(--jn-line-strong);
}
body#news .news-list .news-item:nth-child(1) .news-number,
body#news .news-list .news-item:nth-child(2) .news-number,
body#news .news-list .news-item:nth-child(3) .news-number {
  background: var(--jn-red);
}
body#news .news-list .news-item a, body#newsDetails .news-list .news-item a {
  color: var(--jn-ink-2);
  font-family: var(--jn-serif);
  font-size: 15px;
}
body#news .news-list .news-item a:hover, body#newsDetails .news-list .news-item a:hover { color: var(--jn-red); }
body#news .news-list .news-item .news-time, body#newsDetails .news-list .news-item .news-time {
  font-family: var(--jn-mono);
  font-size: 12px;
  color: var(--jn-ink-3);
}
body#news .news-box-head a { color: var(--jn-ink-3); }
body#news .news-box-head a:hover { color: var(--jn-red); }
body#newsDetails .announce-new-right .news-box { border: 1px solid var(--jn-line); }

/* ============================================================
   文档中心（document / document-details / document-result）
   ============================================================ */
body#document .banner-document .input-search,
body#documentResult .banner-document .input-search {
  border: 1px solid var(--jn-ink);
  border-radius: 0;
  box-shadow: none;
  padding: 0 6px 0 18px;
}
body#document .banner-document .input-search .search-btn,
body#documentResult .banner-document .input-search .search-btn {
  border-radius: 0;
  background: var(--jn-ink);
}
body#document .banner-document .input-search .search-btn:hover,
body#documentResult .banner-document .input-search .search-btn:hover { background: var(--jn-red); }
body#document .docement-list .document-box .document-header {
  border-bottom: 1px solid var(--jn-line);
}
body#document .docement-list .document-box a { color: var(--jn-ink-2); }
body#document .docement-list .document-box a:hover { color: var(--jn-red); }
body#documentDetails .help-detail-title {
  font-family: var(--jn-serif);
  font-size: 26px;
  letter-spacing: 2px;
  color: var(--jn-ink);
}
body#documentDetails .help-detail-time { font-family: var(--jn-mono); font-size: 12px; color: var(--jn-ink-3); }
body#documentDetails .help-detail-cont {
  font-family: var(--jn-sans);
  font-size: 15px;
  line-height: 2;
  color: var(--jn-ink-2);
  border-top: 1px solid var(--jn-line-strong);
}
body#documentDetails .help-detail-cont h3 { font-family: var(--jn-serif); color: var(--jn-ink); }
body#documentDetails .help-detail-crumb a:hover { color: var(--jn-red); }
body#documentDetails .guide-box { border-left: 1px solid var(--jn-line-strong); }
body#documentResult .document-details-item h5 a { font-family: var(--jn-serif); color: var(--jn-ink); }
body#documentResult .document-details-item h5 a:hover { color: var(--jn-red); }
body#documentResult .document-details-item p { color: var(--jn-ink-2); }
body#documentResult .document-details-item .keywords,
body#documentResult .document-search .keyword { color: var(--jn-red); }

/* ============================================================
   shop / sale / product-detail：编辑式页头 + 墨线商品行
   ============================================================ */
/* shop 页头 */
body#shop .shop-head {
  border-bottom: 3px double var(--jn-ink);
  padding: 64px 0 56px;
}
body#shop .jn-stamp {
  width: 72px;
  height: 72px;
  margin-bottom: 26px;
  background: var(--jn-red);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  place-items: center;
  transform: rotate(-3deg);
  box-shadow: 0 2px 12px rgba(178, 58, 30, 0.28);
}
body#shop .jn-stamp span {
  font-family: var(--jn-serif);
  font-size: 19px;
  font-weight: 700;
  color: var(--jn-paper);
  line-height: 1;
  letter-spacing: 2px;
}
body#shop .shop-head .sec-kicker {
  font-family: var(--jn-mono);
  font-size: 12px;
  letter-spacing: 4px;
  color: var(--jn-red);
}
body#shop .shop-title {
  font-family: var(--jn-serif);
  font-size: 44px;
  font-weight: 600;
  letter-spacing: 6px;
  color: var(--jn-ink);
}
body#shop .shop-title em {
  font-style: normal;
  color: var(--jn-red);
}
body#shop .shop-sub { color: var(--jn-ink-3); }
body#shop .shop-search {
  border: 1px solid var(--jn-ink);
  border-radius: 0;
  background: var(--jn-card);
  box-shadow: none;
}
body#shop .shop-search:focus-within { border-color: var(--jn-red); }
body#shop .shop-search-btn:hover { color: var(--jn-red); }
body#shop .shop-kw-tip { color: var(--jn-red); }

/* 工具栏 / 排序 */
body#shop .shop-toolbar { border-bottom: 1px solid var(--jn-line); padding-bottom: 14px; }
body#shop .shop-count { font-family: var(--jn-mono); font-size: 12px; color: var(--jn-ink-3); }
body#shop .shop-count b { color: var(--jn-ink); }
body#shop .sort-item { border-radius: 0; color: var(--jn-ink-3); }
body#shop .sort-item:hover { background: transparent; color: var(--jn-red); }
body#shop .sort-item.active { background: transparent; color: var(--jn-ink); font-weight: 600; }

/* 商品行（.prod-list / .prod-row，shop/sale/product-detail 共用） */
body#shop .prod-row, body#sale .prod-row, body#productDetail .prod-row {
  border-bottom: 1px solid var(--jn-line);
  border-radius: 0;
  background: transparent;
}
body#shop .prod-list, body#sale .prod-list, body#productDetail .prod-list {
  border-top: 1px solid var(--jn-line);
}
body#shop .prod-row:hover, body#sale .prod-row:hover, body#productDetail .prod-row:hover {
  background: var(--jn-paper-2);
  box-shadow: none;
}
body#shop .prod-name, body#sale .prod-name, body#productDetail .prod-name {
  font-family: var(--jn-serif);
  color: var(--jn-ink);
}
body#shop .prod-desc, body#sale .prod-desc, body#productDetail .prod-desc { color: var(--jn-ink-3); }
body#shop .prod-price b, body#sale .prod-price b, body#productDetail .prod-price b { color: var(--jn-red); }
body#shop .prod-price span, body#sale .prod-price span, body#productDetail .prod-price span { color: var(--jn-ink-3); }
body#shop .prod-cart, body#sale .prod-cart, body#productDetail .prod-cart {
  border-radius: 0;
  border: 1px solid var(--jn-ink);
  background: transparent;
  color: var(--jn-ink);
}
body#shop .prod-cart:hover, body#sale .prod-cart:hover, body#productDetail .prod-cart:hover {
  background: var(--jn-ink);
  color: var(--jn-paper);
}
body#shop .prod-tag, body#sale .prod-tag, body#productDetail .prod-tag {
  border-radius: 0;
  background: var(--jn-red-soft);
  color: var(--jn-red);
}

/* sale 页头（编辑式，模板已同步改造） */
body#sale .sale-hero {
  background: var(--jn-paper);
  border-bottom: 3px double var(--jn-ink);
  padding: 64px 0 56px;
}
body#sale .jn-stamp {
  width: 72px;
  height: 72px;
  margin-bottom: 26px;
  background: var(--jn-red);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  place-items: center;
  transform: rotate(-3deg);
  box-shadow: 0 2px 12px rgba(178, 58, 30, 0.28);
}
body#sale .jn-stamp span {
  font-family: var(--jn-serif);
  font-size: 19px;
  font-weight: 700;
  color: var(--jn-paper);
  line-height: 1;
  letter-spacing: 2px;
}
body#sale .sale-hero .sec-kicker {
  font-family: var(--jn-mono);
  font-size: 12px;
  letter-spacing: 4px;
  color: var(--jn-red);
}
body#sale .sale-title {
  font-family: var(--jn-serif);
  font-size: 44px;
  font-weight: 600;
  letter-spacing: 6px;
  line-height: 1.25;
  color: var(--jn-ink);
}
body#sale .sale-title em {
  font-style: normal;
  color: var(--jn-red);
}
body#sale .sale-desc { color: var(--jn-ink-2); }
body#sale .sale-hero .btn-solid {
  background: var(--jn-ink);
  border-color: var(--jn-ink);
  color: var(--jn-paper);
  border-radius: 0;
}
body#sale .sale-hero .btn-solid:hover { background: var(--jn-red); border-color: var(--jn-red); }
body#sale .sale-countdown .scd-label { color: var(--jn-ink-3); }
body#sale .sale-countdown .scd-num {
  background: var(--jn-ink);
  color: var(--jn-paper);
  border-radius: 0;
  font-family: var(--jn-mono);
}
body#sale .sale-countdown .scd-colon { color: var(--jn-ink-2); }

/* product-detail 页 */
body#productDetail .detail-name {
  font-family: var(--jn-serif);
  color: var(--jn-ink);
}
body#productDetail .price-now { color: var(--jn-red); }
body#productDetail .btn-cart, body#productDetail .btn-buy { border-radius: 0; }
body#productDetail .detail-desc-tabs .tab { border-radius: 0; }
body#productDetail .detail-desc-tabs .tab.active {
  background: transparent;
  color: var(--jn-red);
  border-bottom: 2px solid var(--jn-red);
}

/* ============================================================
   表单（contact / feedback）：墨线直角
   ============================================================ */
body#contact .form-head h2 { font-family: var(--jn-serif); letter-spacing: 3px; color: var(--jn-ink); }
body#contact .form-group label { color: var(--jn-ink-2); }
body#contact .form-group input,
body#contact .form-group select,
body#contact .form-group textarea,
body#feedback .form-control {
  background: var(--jn-card);
  border: 1px solid var(--jn-line-strong);
  border-radius: 0;
  color: var(--jn-ink);
}
body#contact .form-group input:focus,
body#contact .form-group select:focus,
body#contact .form-group textarea:focus,
body#feedback .form-control:focus {
  border-color: var(--jn-red);
  box-shadow: none;
}
body#contact .form-submit { background: var(--jn-ink); border-radius: 0; }
body#contact .form-submit:hover { background: var(--jn-red); }
body#contact .form-tip a { color: var(--jn-red) !important; }
body#contact .cc-section-title {
  font-family: var(--jn-serif);
  letter-spacing: 3px;
  padding-left: 0;
}
body#contact .cc-section-title::before { display: none; }
body#contact .company-list li { border-bottom: 1px solid var(--jn-line); }
body#contact .cl-label { font-family: var(--jn-mono); font-size: 11px; letter-spacing: 1px; color: var(--jn-ink-3); }
body#contact .company-qr { background: var(--jn-paper-2); border-radius: 0; }

body#feedback .feedback-banner { border-bottom: 3px double var(--jn-ink); }
body#feedback .form-horizontal .control-label { color: var(--jn-ink-2); }
body#feedback #subBtn {
  background: var(--jn-ink);
  border: 1px solid var(--jn-ink);
  border-radius: 0;
  color: var(--jn-paper);
  padding: 9px 40px;
}
body#feedback #subBtn:hover { background: var(--jn-red); border-color: var(--jn-red); }

/* ============================================================
   购物车（Vue + Element）：朱砂主题 + 直角墨线
   ============================================================ */
body#shoppingCartVue {
  --color-primary: var(--jn-red) !important;
  --color-primary-light: var(--jn-red-soft) !important;
  --color-primary-lighter: var(--jn-red-soft) !important;
}
body#shoppingCartVue .main-card {
  background: var(--jn-card);
  border: 1px solid var(--jn-line);
  border-radius: 0;
  box-shadow: none;
}
body#shoppingCartVue .main-title {
  font-family: var(--jn-serif);
  font-size: 22px;
  letter-spacing: 3px;
  color: var(--jn-ink);
  border-bottom: 2px solid var(--jn-ink);
  padding-bottom: 14px;
}
body#shoppingCartVue .goods-table thead th {
  background: var(--jn-paper-2);
  color: var(--jn-ink-2);
  font-weight: 500;
}
body#shoppingCartVue .shopping-goods { border-bottom: 1px solid var(--jn-line); }
body#shoppingCartVue .el-button--primary { border-radius: 0; }
body#shoppingCartVue .el-input__inner, body#shoppingCartVue .el-input-number {
  border-radius: 0;
}
body#shoppingCartVue .buy-btn { background: var(--jn-ink) !important; border-color: var(--jn-ink) !important; }
body#shoppingCartVue .buy-btn:hover { background: var(--jn-red) !important; border-color: var(--jn-red) !important; }
body#shoppingCartVue .total-price { color: var(--jn-red); }
body#shoppingCartVue .breadcrumb-bar { border-bottom: 1px solid var(--jn-line); }

/* ============================================================
   页脚（全部前台页面）：墨底 + 朱砂顶线
   ============================================================ */
body#index .site-footer, body#shop .site-footer, body#sale .site-footer,
body#about .site-footer, body#contact .site-footer,
body#serviceGuarantee .site-footer, body#shoppingCartVue .site-footer,
body#productDetail .site-footer, body#announce .site-footer,
body#announceDetails .site-footer, body#news .site-footer,
body#newsClassify .site-footer, body#newsDetails .site-footer,
body#document .site-footer, body#documentDetails .site-footer,
body#documentResult .site-footer, body#feedback .site-footer {
  background: var(--jn-ink);
  border-top: 3px solid var(--jn-red);
  color: rgba(253, 253, 251, 0.62);
}
body#index .footer-logo-text, body#shop .footer-logo-text,
body#sale .footer-logo-text, body#about .footer-logo-text,
body#contact .footer-logo-text, body#serviceGuarantee .footer-logo-text,
body#shoppingCartVue .footer-logo-text, body#productDetail .footer-logo-text,
body#announce .footer-logo-text, body#announceDetails .footer-logo-text,
body#news .footer-logo-text, body#newsClassify .footer-logo-text,
body#newsDetails .footer-logo-text, body#document .footer-logo-text,
body#documentDetails .footer-logo-text, body#documentResult .footer-logo-text,
body#feedback .footer-logo-text {
  font-family: var(--jn-serif);
  font-size: 18px;
  letter-spacing: 4px;
  color: var(--jn-paper);
}
body#index .footer-links a:hover, body#shop .footer-links a:hover,
body#sale .footer-links a:hover, body#about .footer-links a:hover,
body#contact .footer-links a:hover, body#serviceGuarantee .footer-links a:hover,
body#shoppingCartVue .footer-links a:hover, body#productDetail .footer-links a:hover,
body#announce .footer-links a:hover, body#announceDetails .footer-links a:hover,
body#news .footer-links a:hover, body#newsClassify .footer-links a:hover,
body#newsDetails .footer-links a:hover, body#document .footer-links a:hover,
body#documentDetails .footer-links a:hover, body#documentResult .footer-links a:hover,
body#feedback .footer-links a:hover { color: var(--jn-paper) !important; }
body#index .footer-contact-col .fc-tel, body#shop .footer-contact-col .fc-tel,
body#sale .footer-contact-col .fc-tel, body#about .footer-contact-col .fc-tel,
body#contact .footer-contact-col .fc-tel,
body#serviceGuarantee .footer-contact-col .fc-tel,
body#shoppingCartVue .footer-contact-col .fc-tel,
body#productDetail .footer-contact-col .fc-tel,
body#announce .footer-contact-col .fc-tel,
body#announceDetails .footer-contact-col .fc-tel,
body#news .footer-contact-col .fc-tel, body#newsClassify .footer-contact-col .fc-tel,
body#newsDetails .footer-contact-col .fc-tel, body#document .footer-contact-col .fc-tel,
body#documentDetails .footer-contact-col .fc-tel,
body#documentResult .footer-contact-col .fc-tel, body#feedback .footer-contact-col .fc-tel {
  color: var(--jn-paper);
}
body#index .footer-contact-col .fc-mail, body#shop .footer-contact-col .fc-mail,
body#sale .footer-contact-col .fc-mail, body#about .footer-contact-col .fc-mail,
body#contact .footer-contact-col .fc-mail,
body#serviceGuarantee .footer-contact-col .fc-mail,
body#shoppingCartVue .footer-contact-col .fc-mail,
body#productDetail .footer-contact-col .fc-mail,
body#announce .footer-contact-col .fc-mail,
body#announceDetails .footer-contact-col .fc-mail,
body#news .footer-contact-col .fc-mail, body#newsClassify .footer-contact-col .fc-mail,
body#newsDetails .footer-contact-col .fc-mail, body#document .footer-contact-col .fc-mail,
body#documentDetails .footer-contact-col .fc-mail,
body#documentResult .footer-contact-col .fc-mail, body#feedback .footer-contact-col .fc-mail {
  color: rgba(253, 253, 251, 0.62) !important;
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 992px) {
  body#about .about-title, body#contact .about-title,
  body#shop .shop-title, body#sale .sale-title { font-size: 34px; }
  body#announce .server-banner2 h1, body#announceDetails .server-banner2 h1,
  body#news .server-banner2 h1, body#newsClassify .server-banner2 h1,
  body#newsDetails .server-banner2 h1, body#document .server-banner2 h1,
  body#documentDetails .server-banner2 h1, body#documentResult .server-banner2 h1,
  body#feedback .server-banner2 h1, body#serviceGuarantee .server-banner2 h1 { font-size: 30px; letter-spacing: 5px; }
}
@media (max-width: 600px) {
  body#about .about-title, body#contact .about-title,
  body#shop .shop-title, body#sale .sale-title { font-size: 26px; letter-spacing: 3px; }
  body#announce .server-banner2 h1, body#announceDetails .server-banner2 h1,
  body#news .server-banner2 h1, body#newsClassify .server-banner2 h1,
  body#newsDetails .server-banner2 h1, body#document .server-banner2 h1,
  body#documentDetails .server-banner2 h1, body#documentResult .server-banner2 h1,
  body#feedback .server-banner2 h1, body#serviceGuarantee .server-banner2 h1 { font-size: 24px; letter-spacing: 3px; }
  body#announce .server-banner2, body#announceDetails .server-banner2,
  body#news .server-banner2, body#newsClassify .server-banner2,
  body#newsDetails .server-banner2, body#document .server-banner2,
  body#documentDetails .server-banner2, body#documentResult .server-banner2,
  body#feedback .server-banner2, body#serviceGuarantee .server-banner2,
  body#about .about-hero, body#contact .contact-hero,
  body#shop .shop-head, body#sale .sale-hero { padding: 44px 0 40px; }
}
