/* =====================================================================
 * jcpt-deep-polish-v2-20260610.css
 * 深度美化 · 第二轮 — 在 jcpt-visual-upgrade-20260610.css 之上做精修
 *
 * 设计基调：
 *   "Editorial Luxury" — 编辑级精度 × 极简留白 × 玻璃质感 × 克制动效
 *   参照体验：Apple / Linear / Stripe / Vercel
 *
 * 实现约束：
 *   - 仅追加视觉层（颜色/阴影/圆角/间距/过渡/动画）
 *   - 不改 display / position / grid 主结构
 *   - 一律 !important 覆盖现有样式
 *   - 不依赖 JS（含纯 CSS 入场动画方案）
 *
 * 6 轮内容索引：
 *   §1 排版与呼吸感
 *   §2 动画与微交互
 *   §3 色彩氛围感
 *   §4 组件精细化
 *   §5 子页面全覆盖
 *   §6 移动端 + 收尾细节
 * ===================================================================== */

/* =====================================================================
 * §0 全局缓动 & 设计令牌补强
 * ===================================================================== */
:root {
  /* 高级缓动曲线（macOS / Linear 同款） */
  --ease-out-quart: cubic-bezier(.25, 1, .5, 1) !important;
  --ease-in-out-quart: cubic-bezier(.76, 0, .24, 1) !important;
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1) !important;

  /* 文字层级（细化） */
  --text-display: #0B1220 !important;     /* 主标题 */
  --text-title: #0F172A !important;       /* 次标题 */
  --text-body: #334155 !important;        /* 正文加强 */
  --text-muted: #64748B !important;       /* 辅助 */
  --text-soft: #94A3B8 !important;        /* 占位 */

  /* 蓝色调多层 */
  --blue-tint-1: rgba(37, 99, 235, .04);
  --blue-tint-2: rgba(37, 99, 235, .08);
  --blue-tint-3: rgba(37, 99, 235, .14);

  /* 金色强调 */
  --gold-deep: #B45309;
  --gold-mid: #D97706;
  --gold-glow: rgba(217, 119, 6, .35);

  /* 阴影体系（更立体） */
  --elev-1: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 1px rgba(15, 23, 42, .03);
  --elev-2: 0 2px 4px rgba(15, 23, 42, .04), 0 4px 12px -4px rgba(15, 23, 42, .08);
  --elev-3: 0 6px 16px -6px rgba(15, 23, 42, .12), 0 12px 28px -12px rgba(15, 23, 42, .14);
  --elev-pop: 0 12px 32px -8px rgba(37, 99, 235, .22), 0 20px 48px -16px rgba(15, 23, 42, .18);
  --elev-inset: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(15, 23, 42, .04);
}

/* =====================================================================
 * §1 排版与呼吸感
 * ===================================================================== */
html {
  font-feature-settings: "ss01", "cv11", "kern" !important;
  text-rendering: optimizeLegibility !important;
}

body {
  font-family: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei",
               "Source Han Sans CN", "Noto Sans SC", -apple-system,
               BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.78 !important;
  letter-spacing: .015em !important;
  color: var(--text-body) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

p, .copy, .description, .desc, .summary {
  line-height: 1.78 !important;
  letter-spacing: .015em !important;
  margin-bottom: 1.1em !important;
  color: var(--text-body) !important;
}

h1, h2, h3, h4, h5, h6,
.section-title, .hero-title, .market-section-title,
.portal-brand-stage, .portal-brand-topline,
.merchant-info-value, .task-hall-head-main,
.training-item h3, .training-item h4,
.board-card h3, .board-card h4,
.standard-query-item-head, .merchant-card-shopping h3 {
  font-weight: 700 !important;
  letter-spacing: -.012em !important;
  line-height: 1.32 !important;
  color: var(--text-display) !important;
  font-feature-settings: "ss01", "kern" !important;
}

h1, .hero-title { line-height: 1.22 !important; letter-spacing: -.022em !important; }
h2, .section-title { line-height: 1.28 !important; letter-spacing: -.016em !important; }
h3 { line-height: 1.36 !important; }

/* Kicker / 上标小字 */
.section-kicker, .section-caption, .portal-brand-kicker,
.eyebrow, .label-text {
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-size: 11.5px !important;
  color: #2563EB !important;
}

/* 大区域 section 间距 */
.portal-shell,
.portal-home-page,
.portal-unified-page {
  gap: clamp(48px, 6vw, 88px) !important;
}

.portal-shell > section,
.portal-shell > .section,
.portal-home-page > section,
.portal-unified-page > section {
  margin-bottom: clamp(48px, 5vw, 80px) !important;
}

/* 卡片内 padding 提升 */
.section-surface,
.market-search-hero,
.market-search-hero-strong,
.market-filter-card,
.market-results,
.task-hall-panel,
.task-recommended-panel,
.standard-query-panel,
.search-extras-panel,
.assist-panel,
.training-board,
.store-quick-board,
.trust-loop-card,
.market-focus-board,
.merchant-card,
.merchant-card-shopping,
.search-result-card,
.search-insight-card,
.task-hall-card,
.training-item,
.board-card,
.compare-card,
.supplier-card {
  padding: clamp(22px, 2.6vw, 32px) !important;
}

/* 细粒度数字字符 */
.merchant-score-chip,
.task-hall-meta-row,
.market-toolbar-meta,
.merchant-info-grid,
.standard-query-item-meta,
time, .date, .num,
.training-item-meta {
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" !important;
}

/* =====================================================================
 * §2 动画与微交互
 * ===================================================================== */

/* 全局过渡基线（仅主要交互属性，避免重排） */
a, button,
.tag, .chip, .status-pill, .trust-pill, .merchant-reason-chip,
.merchant-score-chip, .user-track-chip, .sort-chip, .market-helper-chip,
.selected-chip, .market-hotword, .standard-subscribe-chip,
.cta-button, .market-search-button, .market-search-button-strong,
.task-hall-claim-btn, .compact-action, .market-secondary-link,
.market-search-reset, .task-hall-search-clear,
.merchant-card, .merchant-card-shopping, .market-service-card,
.market-secondary-card, .market-highlight-card, .search-result-card,
.search-insight-card, .standard-query-item, .task-hall-card,
.task-recommended-item, .training-item, .board-card, .compare-card,
.trust-loop-card, .trust-step-card, .supplier-card,
.portal-nav-trigger, .portal-nav-menu a, .portal-nav-menu button,
.footer-link, input, textarea, select,
.el-button, .el-tag, .el-input__wrapper, .el-card {
  transition:
    color .22s var(--ease-out-quart),
    background-color .26s var(--ease-out-quart),
    border-color .22s var(--ease-out-quart),
    box-shadow .28s var(--ease-out-quart),
    transform .26s var(--ease-out-quart),
    filter .22s var(--ease-out-quart),
    opacity .22s var(--ease-out-quart) !important;
}

/* 卡片 hover：上浮 + 边框微亮 + 阴影扩散 */
.merchant-card:hover,
.merchant-card-shopping:hover,
.market-service-card:hover,
.market-secondary-card:hover,
.market-highlight-card:hover,
.search-result-card:hover,
.search-insight-card:hover,
.standard-query-item:hover,
.task-hall-card:hover,
.task-recommended-item:hover,
.training-item:hover,
.board-card:hover,
.compare-card:hover,
.trust-loop-card:hover,
.trust-step-card:hover,
.supplier-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(37, 99, 235, .42) !important;
  box-shadow:
    0 14px 32px -10px rgba(37, 99, 235, .22),
    0 24px 48px -16px rgba(15, 23, 42, .14),
    inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

/* 主按钮 hover：微抬 + 亮度 + 阴影增强 */
.cta-button:hover,
.market-search-button:hover,
.market-search-button-strong:hover,
.task-hall-claim-btn:hover,
.compact-action:hover,
.market-primary-call:hover,
.el-button--primary:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.06) saturate(1.04) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .35),
    0 14px 28px -8px rgba(37, 99, 235, .55),
    0 6px 12px -3px rgba(15, 23, 42, .14) !important;
}

/* 按钮按下：弹性回缩 */
.cta-button:active,
.market-search-button:active,
.market-search-button-strong:active,
.task-hall-claim-btn:active,
.compact-action:active,
.el-button:active {
  transform: translateY(0) scale(.97) !important;
  filter: brightness(.96) !important;
  transition-duration: .12s !important;
}

/* 链接 underline slide-in */
.portal-nav-menu a:not(.active),
.portal-nav-trigger:not(.active),
.footer-link {
  position: relative !important;
}
.portal-nav-menu a:not(.active)::after,
.portal-nav-trigger:not(.active)::after,
.footer-link::after {
  content: "" !important;
  position: absolute !important;
  left: 14px;
  right: 14px;
  bottom: 4px;
  height: 1.5px;
  border-radius: 2px;
  background: linear-gradient(90deg, #2563EB, #0891B2) !important;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s var(--ease-out-quart) !important;
}
.footer-link::after { left: 0; right: 0; bottom: -2px; }
.portal-nav-menu a:not(.active):hover::after,
.portal-nav-trigger:not(.active):hover::after,
.footer-link:hover::after {
  transform: scaleX(1);
}

/* 标签 hover：微放大 */
.tag:hover, .chip:hover, .merchant-reason-chip:hover,
.user-track-chip:hover, .sort-chip:hover,
.market-hotword:hover, .market-helper-chip:hover,
.merchant-score-chip:hover, .standard-subscribe-chip:hover {
  transform: translateY(-1px) scale(1.03) !important;
}

/* 输入框 focus：发光呼吸 */
input:focus, textarea:focus, select:focus,
.market-search-input:focus, .market-searchbox:focus-within,
.market-searchbox-hero:focus-within, .taobao-search-shell:focus-within,
.task-hall-search:focus-within, .standard-query-input-row:focus-within {
  border-color: #2563EB !important;
  box-shadow:
    0 0 0 4px rgba(37, 99, 235, .14),
    0 1px 2px rgba(15, 23, 42, .04),
    inset 0 1px 2px rgba(15, 23, 42, .04) !important;
  outline: none !important;
}

/* 入场动画关键帧 */
@keyframes deepFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes deepFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes deepScaleIn {
  from { opacity: 0; transform: scale(.96); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, .35); }
  50%      { box-shadow: 0 0 0 8px rgba(37, 99, 235, 0); }
}
@keyframes haloFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: .9; }
  50%      { transform: translate3d(0, -10px, 0) scale(1.04); opacity: 1; }
}

/* 区域入场（CSS-only，依赖 .in-view 类，无 JS 时也不会破坏布局） */
.section-surface, .hero-panel, .market-search-hero,
.market-filter-card, .market-results, .task-hall-panel,
.standard-query-panel, .training-board, .market-focus-board {
  animation: deepFadeUp .7s var(--ease-out-quart) both;
  animation-delay: .04s;
}

/* 骨架屏 shimmer（用 .skeleton / [data-loading="true"] 触发） */
.skeleton,
[data-loading="true"] .skeleton-line {
  background: linear-gradient(90deg,
    rgba(226, 232, 240, .6) 0%,
    rgba(241, 245, 249, .9) 50%,
    rgba(226, 232, 240, .6) 100%) !important;
  background-size: 200% 100% !important;
  animation: shimmer 1.6s var(--ease-in-out-quart) infinite !important;
  border-radius: 8px;
}

/* =====================================================================
 * §3 色彩氛围感
 * ===================================================================== */

/* 页面多层柔光背景（更深邃的纵深） */
html, body {
  background:
    radial-gradient(1100px 600px at 8% -6%, rgba(37, 99, 235, .07), transparent 62%),
    radial-gradient(900px 500px at 96% 2%, rgba(8, 145, 178, .06), transparent 60%),
    radial-gradient(700px 400px at 50% 100%, rgba(217, 119, 6, .035), transparent 70%),
    linear-gradient(180deg, #FAFCFE 0%, #F4F8FC 45%, #EEF4FA 100%) !important;
  background-attachment: fixed !important;
}

/* 顶部光晕加强层 */
.portal-home-page::before,
.portal-unified-page::before {
  background:
    radial-gradient(1200px 620px at 50% -12%, rgba(37, 99, 235, .12), transparent 65%),
    radial-gradient(800px 460px at 18% -4%, rgba(99, 102, 241, .08), transparent 60%),
    radial-gradient(800px 460px at 88% 0%, rgba(8, 145, 178, .09), transparent 60%) !important;
  animation: haloFloat 14s var(--ease-in-out-quart) infinite !important;
  will-change: transform, opacity;
}

/* 卡片背景：从纯白 → 微妙渐变（白→极浅蓝），增加质感 */
.merchant-card, .merchant-card-shopping,
.market-service-card, .market-secondary-card, .market-highlight-card,
.search-result-card, .search-insight-card,
.standard-query-item, .task-hall-card, .task-recommended-item,
.training-item, .board-card, .compare-card,
.trust-loop-card, .trust-step-card, .supplier-card,
.section-surface, .hero-panel, .hero-side-panel,
.market-search-hero, .market-filter-card, .market-results,
.task-hall-panel, .task-recommended-panel, .standard-query-panel,
.training-board, .market-focus-board, .assist-panel {
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%) !important;
  border: 1px solid rgba(226, 232, 240, .85) !important;
  box-shadow: var(--elev-2), var(--elev-inset) !important;
}

/* 主要按钮：3 色渐变 + 边缘微发光 */
.cta-button:not(.secondary):not(.warn),
.market-search-button,
.market-search-button-strong,
.task-hall-claim-btn,
.compact-action:not(.secondary):not(.warn),
.market-primary-call,
.el-button--primary {
  background:
    linear-gradient(135deg, #3B82F6 0%, #2563EB 50%, #1E40AF 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .3),
    inset 0 -1px 0 rgba(15, 23, 42, .15),
    0 1px 0 rgba(37, 99, 235, .2),
    0 6px 16px -4px rgba(37, 99, 235, .42),
    0 2px 6px -1px rgba(15, 23, 42, .1) !important;
  position: relative !important;
  overflow: hidden !important;
}
/* 按钮顶部高光 */
.cta-button:not(.secondary):not(.warn)::before,
.market-search-button::before,
.market-search-button-strong::before,
.task-hall-claim-btn::before,
.market-primary-call::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .25), transparent 50%);
  pointer-events: none;
  border-radius: inherit;
}

/* 标签激活态：内发光 */
.tag.active, .chip.active, .sort-chip.active,
.selected-chip, .market-hotword.active,
.market-helper-chip.active, .standard-subscribe-chip.active {
  background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .3),
    inset 0 -1px 2px rgba(15, 23, 42, .15),
    0 4px 12px -2px rgba(37, 99, 235, .5),
    0 0 0 1px rgba(37, 99, 235, .25) !important;
}

/* 文字层级强化 */
.section-caption, .market-results-overview,
.section-description, .description, .desc {
  color: var(--text-muted) !important;
}
.muted, .text-muted, .placeholder, .help-text {
  color: var(--text-soft) !important;
}

/* 金色徽章 */
.badge-gold, .premium-badge, .gold-tag,
.merchant-tag-gold, .vip-tag, .featured-tag,
.standard-subscribe-chip.warn {
  background: linear-gradient(135deg, #FDE68A 0%, #F59E0B 50%, #B45309 100%) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(217, 119, 6, .35) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .35),
    0 4px 10px -2px var(--gold-glow),
    0 0 12px -2px rgba(245, 158, 11, .35) !important;
  text-shadow: 0 1px 1px rgba(120, 53, 15, .25);
}

/* =====================================================================
 * §4 组件精细化
 * ===================================================================== */

/* 搜索框 — 凹陷感 + 大圆角 + 外发光 focus */
.market-search-input,
.market-searchbox input,
.market-searchbox-hero input,
.market-search-superbox input,
.market-search-superfield input,
.taobao-search-field input,
.task-hall-search input,
.standard-query-input,
input[type="search"],
input[type="text"]:not([class*="form-control-mini"]) {
  padding: 12px 18px !important;
  border-radius: 14px !important;
  font-size: 14.5px !important;
  background: #FFFFFF !important;
  border: 1.5px solid rgba(203, 213, 225, .85) !important;
  box-shadow:
    inset 0 1px 2px rgba(15, 23, 42, .05),
    inset 0 0 0 1px rgba(255, 255, 255, .5),
    0 1px 0 rgba(255, 255, 255, .8) !important;
  color: var(--text-title) !important;
}

.market-searchbox, .market-searchbox-hero,
.market-search-superbox, .taobao-search-shell,
.task-hall-search, .standard-query-input-row {
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow:
    inset 0 1px 2px rgba(15, 23, 42, .04),
    0 4px 14px -6px rgba(15, 23, 42, .08),
    0 1px 0 rgba(255, 255, 255, .8) !important;
  border: 1.5px solid rgba(203, 213, 225, .8) !important;
}

input::placeholder, textarea::placeholder {
  color: var(--text-soft) !important;
  font-weight: 400 !important;
  opacity: 1;
}

/* 分页器 */
.pagination, .el-pagination,
.task-hall-pagination, .market-pagination,
.standard-query-pagination {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}
.pagination button, .pagination a,
.pagination .page-item, .el-pager li,
.market-pagination button, .task-hall-pagination button {
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  color: var(--text-body) !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
}
.pagination button:hover, .pagination a:hover,
.el-pager li:hover, .market-pagination button:hover {
  background: var(--blue-tint-2) !important;
  border-color: rgba(37, 99, 235, .35) !important;
  color: #1D4ED8 !important;
  transform: translateY(-1px);
}
.pagination .active, .pagination button.is-active,
.el-pager li.is-active, .market-pagination .active,
.market-pagination button.active {
  background: linear-gradient(135deg, #2563EB, #1D4ED8) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 4px 10px -2px rgba(37, 99, 235, .45) !important;
}

/* 表格头部加粗 + 浅灰背景 */
table thead th {
  background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%) !important;
  color: var(--text-title) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  border-bottom: 1.5px solid rgba(203, 213, 225, .9) !important;
}
table tbody td {
  padding: 14px 16px !important;
  color: var(--text-body) !important;
}

/* 下拉箭头旋转 */
select, .el-select__caret,
.dropdown-arrow, [class*="-arrow"] {
  transition: transform .25s var(--ease-out-quart) !important;
}
.is-open .el-select__caret,
.dropdown.open .dropdown-arrow,
[aria-expanded="true"] .dropdown-arrow {
  transform: rotate(180deg) !important;
}

/* 徽章 — 状态色多语义 */
.status-pill, .trust-pill, .badge {
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* 空状态 / 占位区 */
.empty-state, .placeholder-area,
.no-data, .nothing, .empty,
[class*="empty"], [class*="placeholder"] {
  color: var(--text-soft) !important;
  text-align: center;
}
.empty-state, .placeholder-area, .no-data {
  padding: 40px 24px !important;
  border: 1.5px dashed rgba(148, 163, 184, .4) !important;
  border-radius: 14px !important;
  background: rgba(248, 250, 252, .5) !important;
}

/* "联系方式待补充"等占位文本 */
.placeholder-text,
[class*="待补充"],
[data-placeholder="true"] {
  color: var(--text-soft) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

/* 复选框 / 单选框美化（限于 form 中默认控件） */
input[type="checkbox"], input[type="radio"] {
  accent-color: #2563EB !important;
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* 进度条美化 */
progress, .progress-bar, .el-progress-bar__inner {
  border-radius: 999px !important;
  overflow: hidden !important;
}
.el-progress-bar__inner {
  background: linear-gradient(90deg, #06B6D4, #2563EB) !important;
}
.el-progress-bar__outer {
  background: rgba(226, 232, 240, .8) !important;
  border-radius: 999px !important;
}

/* =====================================================================
 * §5 子页面全覆盖
 * ===================================================================== */

/* —— 通用：面包屑 —— */
.breadcrumb, .el-breadcrumb,
.portal-breadcrumb, [class*="breadcrumb"] {
  font-size: 13px !important;
  color: var(--text-muted) !important;
  letter-spacing: .02em;
  padding: 12px 0 !important;
}
.breadcrumb a, .el-breadcrumb__inner,
.portal-breadcrumb a {
  color: var(--text-muted) !important;
  transition: color .2s ease;
}
.breadcrumb a:hover, .el-breadcrumb__inner:hover {
  color: #1D4ED8 !important;
}
.breadcrumb-separator, .el-breadcrumb__separator {
  color: rgba(148, 163, 184, .5) !important;
  margin: 0 8px !important;
}

/* —— 侧边筛选面板 —— */
.filter-sidebar, .sidebar-filter,
.market-filter-card, .search-filter-card,
[class*="filter-panel"], [class*="filter-sidebar"] {
  position: relative;
}
.filter-sidebar h3, .sidebar-filter h3,
.market-filter-card h3, .search-filter-card h3,
.filter-section-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--text-title) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  margin: 0 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(226, 232, 240, .8) !important;
}

/* —— 列表/网格视图切换 —— */
.view-switcher, [class*="view-switch"], [class*="view-mode"] {
  display: inline-flex !important;
  background: rgba(241, 245, 249, .8) !important;
  border-radius: 10px !important;
  padding: 3px !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
}
.view-switcher button, [class*="view-switch"] button {
  border-radius: 8px !important;
  padding: 6px 12px !important;
  background: transparent !important;
  border: none !important;
  color: var(--text-muted) !important;
}
.view-switcher button.active, .view-switcher button.is-active,
[class*="view-switch"] button.active {
  background: #FFFFFF !important;
  color: #1D4ED8 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .08) !important;
}

/* —— 采购信息页 (Procurement) —— */
.procurement-card, .market-supplier-card,
.supplier-card, .merchant-card-shopping {
  position: relative;
}
.merchant-card-shopping::before, .supplier-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, .4), transparent);
  border-radius: 16px 16px 0 0;
  opacity: 0;
  transition: opacity .3s var(--ease-out-quart);
}
.merchant-card-shopping:hover::before, .supplier-card:hover::before {
  opacity: 1;
}

/* —— 培训提升页 (Training) —— */
.training-item, .training-card {
  position: relative;
  overflow: hidden !important;
}
.training-item .training-progress,
.training-progress-bar, [class*="course-progress"] {
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(226, 232, 240, .7) !important;
  overflow: hidden;
}
.training-progress-bar > *, .training-progress > div {
  background: linear-gradient(90deg, #06B6D4, #2563EB) !important;
  border-radius: 999px !important;
  height: 100% !important;
  transition: width .8s var(--ease-out-quart) !important;
}

/* —— 政策新闻页 (StandardsPolicy) —— */
.policy-list-item, .news-list-item,
.standards-policy-item, [class*="policy-item"] {
  padding: 18px 20px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(226, 232, 240, .8) !important;
  background: #FFFFFF !important;
  margin-bottom: 10px !important;
}
.policy-list-item:hover, .news-list-item:hover,
.standards-policy-item:hover {
  border-color: rgba(37, 99, 235, .35) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%) !important;
  transform: translateX(4px);
}
.policy-date, .news-date,
[class*="news-date"], [class*="policy-date"] {
  display: inline-block;
  padding: 3px 10px !important;
  border-radius: 6px !important;
  background: var(--blue-tint-2) !important;
  color: #1D4ED8 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}

/* —— 检测论坛页 (Forum) —— */
.forum-post-item, .forum-thread-item,
[class*="forum-post"], [class*="thread-card"] {
  padding: 22px 24px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%) !important;
}
.forum-post-item:hover {
  border-color: rgba(37, 99, 235, .35) !important;
  box-shadow: var(--elev-3) !important;
}
.forum-comment, [class*="comment-item"] {
  padding: 14px 18px !important;
  border-left: 3px solid rgba(37, 99, 235, .25) !important;
  background: rgba(248, 250, 252, .6) !important;
  border-radius: 0 10px 10px 0 !important;
  margin-bottom: 10px !important;
}
.forum-post-form, [class*="post-form"] {
  border: 1.5px solid rgba(203, 213, 225, .8) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  background: #FFFFFF !important;
}

/* —— 投票中心页 —— */
.vote-card, .voting-card, [class*="vote-item"] {
  padding: 22px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
}
.vote-progress-bar, [class*="vote-progress"] {
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(226, 232, 240, .7) !important;
  overflow: hidden;
}
.vote-progress-fill, [class*="vote-fill"] {
  background: linear-gradient(90deg, #06B6D4, #2563EB, #1D4ED8) !important;
  border-radius: 999px !important;
  height: 100%;
  transition: width 1s var(--ease-out-quart);
}

/* —— 平台资源页 / 下载 —— */
.resource-download-item, .download-item,
[class*="resource-item"] {
  padding: 16px 20px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  background: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}
.resource-download-item:hover, .download-item:hover {
  border-color: rgba(37, 99, 235, .35) !important;
  background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FC 100%) !important;
  transform: translateY(-2px);
  box-shadow: var(--elev-2) !important;
}
.file-icon, .doc-icon, [class*="file-icon"] {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, var(--blue-tint-2), var(--blue-tint-3)) !important;
  color: #1D4ED8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  flex-shrink: 0;
}

/* —— 互动体验页 —— */
.interactive-experience, [class*="interactive-card"] {
  border-radius: 18px !important;
  overflow: hidden !important;
  background:
    radial-gradient(600px 300px at 90% -10%, rgba(37, 99, 235, .12), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F4F8FC 100%) !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
}

/* —— 实验室档案 / 详情 —— */
.lab-archive-card, .lab-detail-card,
[class*="lab-archive"], [class*="supplier-detail"] {
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FBFDFF 100%) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(226, 232, 240, .9) !important;
  box-shadow: var(--elev-2) !important;
}

/* =====================================================================
 * §6 移动端 + 收尾细节
 * ===================================================================== */

/* 滚动条精修 */
* {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(37, 99, 235, .3) transparent !important;
}
*::-webkit-scrollbar { width: 6px !important; height: 6px !important; }
*::-webkit-scrollbar-track { background: transparent !important; }
*::-webkit-scrollbar-thumb {
  background: rgba(37, 99, 235, .28) !important;
  border-radius: 999px !important;
  border: none !important;
  background-clip: padding-box !important;
  transition: background .2s ease !important;
}
*::-webkit-scrollbar-thumb:hover {
  background: rgba(37, 99, 235, .55) !important;
}
*::-webkit-scrollbar-corner { background: transparent !important; }

/* 文本选中 */
::selection {
  background: rgba(37, 99, 235, .15) !important;
  color: #0B1220 !important;
}
::-moz-selection {
  background: rgba(37, 99, 235, .15) !important;
  color: #0B1220 !important;
}

/* 焦点可见性 */
:focus-visible {
  outline: 2px solid rgba(37, 99, 235, .5) !important;
  outline-offset: 2px !important;
  border-radius: 6px !important;
  transition: outline-offset .15s ease !important;
}
button:focus-visible, a:focus-visible {
  outline-offset: 3px !important;
}

/* 图片懒加载淡入 */
img[loading="lazy"] {
  animation: deepFadeIn .6s var(--ease-out-quart) both;
}

/* 移动端 (max-width: 768px) */
@media (max-width: 768px) {
  body { font-size: 14.5px !important; line-height: 1.72 !important; }

  h1, .hero-title { font-size: clamp(22px, 6vw, 30px) !important; }
  h2, .section-title { font-size: clamp(18px, 5vw, 22px) !important; }

  .portal-shell,
  .portal-home-page,
  .portal-unified-page {
    gap: 28px !important;
  }
  .portal-shell > section,
  .portal-home-page > section {
    margin-bottom: 28px !important;
  }

  /* 卡片全宽 + 收紧 padding */
  .section-surface, .market-search-hero, .market-search-hero-strong,
  .market-filter-card, .market-results, .task-hall-panel,
  .task-recommended-panel, .standard-query-panel,
  .training-board, .market-focus-board,
  .merchant-card, .merchant-card-shopping, .search-result-card,
  .task-hall-card, .training-item, .board-card,
  .forum-post-item {
    padding: 18px !important;
    border-radius: 14px !important;
    width: 100% !important;
  }

  /* 触摸目标至少 44px */
  .cta-button, .market-search-button, .market-search-button-strong,
  .task-hall-claim-btn, .compact-action,
  .pagination button, .pagination a,
  .portal-nav-trigger, .portal-nav-menu a, .portal-nav-menu button {
    min-height: 44px !important;
    padding: 12px 18px !important;
  }

  /* 取消 hover 上浮（避免触摸残留） */
  .merchant-card:hover, .merchant-card-shopping:hover,
  .search-result-card:hover, .task-hall-card:hover,
  .training-item:hover, .board-card:hover,
  .compare-card:hover, .supplier-card:hover {
    transform: none !important;
  }

  /* 表格→卡片化堆叠（保留默认行为，仅优化间距） */
  table th, table td { padding: 10px 12px !important; }

  /* 减少多层 radial 渐变以提升性能 */
  html, body {
    background:
      radial-gradient(700px 400px at 50% -8%, rgba(37, 99, 235, .08), transparent 60%),
      linear-gradient(180deg, #FAFCFE 0%, #EEF4FA 100%) !important;
  }

  /* 顶部光晕动画暂停（移动端省电） */
  .portal-home-page::before, .portal-unified-page::before {
    animation: none !important;
  }
}

/* 超小屏 */
@media (max-width: 480px) {
  body { font-size: 14px !important; }
  h1, .hero-title { font-size: 22px !important; line-height: 1.3 !important; }
  .section-surface, .market-search-hero, .market-results {
    padding: 16px !important;
    border-radius: 12px !important;
  }
}

/* 打印样式 */
@media print {
  html, body {
    background: #FFFFFF !important;
    color: #000000 !important;
  }
  .portal-header, .portal-header-merged, .portal-header-main,
  .portal-footer, .portal-footer-compact, .portal-footer-minimal,
  .portal-nav, .cta-button, .market-search-button,
  .floating-brand, [class*="floating"], [class*="sticky-cta"] {
    display: none !important;
  }
  .section-surface, .merchant-card, .market-results,
  .market-filter-card, .training-board, .task-hall-panel {
    box-shadow: none !important;
    border: 1px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    page-break-inside: avoid;
  }
  a { color: #0F172A !important; text-decoration: underline !important; }
  a::after {
    content: " (" attr(href) ")";
    font-size: 11px;
    color: #64748B;
  }
}

/* 暗色模式准备（用户系统偏好） */
@media (prefers-color-scheme: dark) {
  /* 仅在用户没有显式选择浅色时才生效 */
  html:not([data-theme="light"]):not([data-color-scheme="light"]) body {
    /* 当前不强制切暗，避免破坏现有样式；仅微调文本对比 */
  }
}

/* 减少动效偏好 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
  .portal-home-page::before, .portal-unified-page::before {
    animation: none !important;
  }
  .merchant-card:hover, .search-result-card:hover, .task-hall-card:hover,
  .training-item:hover, .board-card:hover {
    transform: none !important;
  }
}

/* 性能 — 仅在 hover 候选区启用 will-change */
.merchant-card, .search-result-card, .task-hall-card,
.training-item, .board-card, .cta-button,
.market-search-button, .task-hall-claim-btn {
  will-change: transform, box-shadow;
}
.portal-home-page::before, .portal-unified-page::before {
  will-change: transform, opacity;
}

/* =====================================================================
 * §7 收尾：少量精修补丁
 * ===================================================================== */

/* 链接强化（正文中） */
.section-surface a:not(.cta-button):not([class*="btn"]):not(.tag),
.market-results a:not([class*="btn"]):not(.tag),
.policy-list-item a, .forum-post-item a {
  color: #1D4ED8 !important;
  text-decoration-color: rgba(37, 99, 235, .25) !important;
  text-underline-offset: 3px !important;
  transition: text-decoration-color .2s ease, color .2s ease !important;
}
.section-surface a:hover, .market-results a:hover {
  text-decoration-color: rgba(37, 99, 235, .8) !important;
  color: #1E40AF !important;
}

/* 分隔线柔化 */
hr {
  border: none !important;
  border-top: 1px solid rgba(226, 232, 240, .9) !important;
  margin: 24px 0 !important;
  height: 0 !important;
}

/* 卡片首行加上微妙的高光线 */
.section-surface, .merchant-card, .merchant-card-shopping,
.market-search-hero, .market-results, .task-hall-panel,
.standard-query-panel, .training-board, .market-focus-board {
  position: relative;
}
.section-surface::after, .merchant-card::after,
.market-search-hero::after, .market-results::after,
.task-hall-panel::after, .training-board::after,
.market-focus-board::after {
  content: "";
  position: absolute;
  top: 0; left: 12%; right: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .9), transparent);
  pointer-events: none;
  border-radius: inherit;
}

/* 顶部协会信息条质感 */
.portal-top-association,
.portal-header-association-row {
  background: linear-gradient(180deg, rgba(248, 250, 252, .85), rgba(241, 245, 249, .7)) !important;
  border-bottom: 1px solid rgba(226, 232, 240, .8) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

/* Hero 标题渐变更柔和、更有层次 */
.hero-title {
  background:
    linear-gradient(135deg, #0B1220 0%, #1D4ED8 45%, #0891B2 80%, #0F766E 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* Footer 上端柔和分割光带 */
.portal-footer::before,
.portal-footer-compact::before,
.portal-footer-minimal::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, .5), rgba(8, 145, 178, .5), transparent);
}

/* 终极对比：让标题更"有重量" */
.hero-title, .section-title, .market-section-title {
  text-wrap: balance;
}
p, .copy, .description {
  text-wrap: pretty;
}

/* End of jcpt-deep-polish-v2-20260610.css */
