Files
cms-SiteForge/themes/trade-pro/pro.css
T
浅念 8f8dfd19e5 fix: listing review round — responsive grid collapse, branch fallback, test assertions
Quality review fixes for Task 10c (2 Important + 5 Minor):
- [I1] sf-tp-card-grid--listing now collapses to 2 cols at 900px and
  compact gap at 620px: the 3-col declaration sits after the 10a media
  blocks in source order, so the fold rules must live in the new 10c
  media blocks to win at equal specificity
- [I2] tp_post_like trusts the first listing item's content type when
  the list is non-empty; the route-substring fallback now only applies
  to empty listings of kind=='listing' — /categories/post-sales-service/
  style slugs can no longer flip a product category page into the news
  branch
- [M3] empty-state negative assertions check the rendered attribute
  string, not the selector literal (previously always true)
- [M4] catalogue section-head intro is now an item/page count instead
  of duplicating the hero lead
- [M5] Popular reads entries link to the posts (same data as Latest,
  no analytics source on the platform)
- [M6] both /categories/pumps/ pagination pages assert exactly one h1
- [M7] side-panel sticky top uses --sf-tp-space-24

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-23 14:26:34 +08:00

368 lines
39 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* trade-pro pro.css — component layer.
Phase 2 shipped a skeleton tint layer; Phase 3 Task 10a prepends the ported
cms home components; Task 10b adds the product detail components. Sources
(scoped CSS + dist pixel baseline
D:/project/cms/runtimes/astro-site-runtime/dist/hesupipe/en/):
- src/pages/[locale]/index.astro (hero / trustbar / two-col about /
applications band / section-head / card / feature / cta-band)
- src/pages/[locale]/products/[slug].astro (product hero gallery /
summary / panel titles / spec table / quote grid)
- src/components/{PageHero,FeatureGrid,CardGrid,Cta,SectionHead}.astro
Layer split with theme.css (= tokens + element baseline + shared utilities):
pro.css owns the sf-tp-* component classes; markup composes on the
theme.css base utilities (.wrap / .section / .section--soft / .eyebrow /
.icon-circle / .mono / .sf-tp-btn) and the pro-base chrome (.pro-*).
Responsive breakpoints follow the ported tokens: 900px stack, 767px hero
portrait, 620px compact (design-spec mobile). Size stays above the 2 KB
floor required by tests/test_theme_pro_v3.py for packaged assets. */
/* ── Home hero:大图完整显示(height:auto 不裁剪)+ 左深右透叠层 + 白字 ── */
.sf-theme-trade-pro .sf-tp-hero{position:relative;overflow:hidden;min-height:clamp(420px,60vh,640px);background:linear-gradient(115deg,var(--sf-tp-color-surface-inverse),var(--sf-tp-color-brand-primary-deep) 78%)}
.sf-theme-trade-pro .sf-tp-hero-slides{display:grid}
.sf-theme-trade-pro .sf-tp-hero-slide{grid-area:1/1;opacity:0;transition:opacity var(--sf-tp-duration-slow) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-tp-hero-slide.active{opacity:1}
.sf-theme-trade-pro .sf-tp-hero-slide img{width:100%;height:auto;display:block}
.sf-theme-trade-pro .sf-tp-hero-overlay{position:absolute;inset:0;z-index:var(--sf-tp-z-base);background:linear-gradient(90deg,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 68%,transparent) 0,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 42%,transparent) 34%,transparent 62%)}
.sf-theme-trade-pro .sf-tp-hero::after{content:"";position:absolute;inset:auto 0 0;height:calc(var(--sf-tp-space-10) + var(--sf-tp-space-1));background:linear-gradient(transparent,color-mix(in srgb,var(--sf-tp-color-neutral-0) 35%,transparent));pointer-events:none}
.sf-theme-trade-pro .sf-tp-hero-content{position:absolute;inset:0;z-index:var(--sf-tp-z-raised);display:flex;align-items:center;pointer-events:none}
.sf-theme-trade-pro .sf-tp-hero-copy{position:relative;z-index:var(--sf-tp-z-raised);pointer-events:auto;width:min(calc(var(--sf-tp-container-content-max) - var(--sf-tp-space-16)),56%)}
.sf-theme-trade-pro .sf-tp-hero-copy .eyebrow{color:var(--sf-tp-color-text-inverse-muted)}
.sf-theme-trade-pro .sf-tp-hero-copy h1{color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-tp-lead{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 88%,transparent);font-size:var(--sf-tp-font-size-lg);line-height:var(--sf-tp-line-height-relaxed);max-width:var(--sf-tp-container-content-max);margin-block-end:var(--sf-tp-space-6)}
/* ── 信任条:4 列分隔线,图标圆位 + 标题/副题 ── */
.sf-theme-trade-pro .sf-tp-trustbar{position:relative;z-index:var(--sf-tp-z-raised);background:var(--sf-tp-color-surface-default);border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-tp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.sf-theme-trade-pro .sf-tp-trust-item{text-align:center;padding:var(--sf-tp-space-6) var(--sf-tp-space-4);border-inline-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-tp-trust-item:last-child{border:0}
.sf-theme-trade-pro .sf-tp-trust-item .icon-circle{margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-trust-item strong{display:block;font-size:var(--sf-tp-font-size-sm);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-tp-trust-item span{display:block;color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-xs)}
/* ── 关于两栏:文案 + 实景(悬浮数据条压在图底部)── */
.sf-theme-trade-pro .sf-tp-two-col{display:grid;grid-template-columns:1fr 1.22fr;gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4));align-items:center}
.sf-theme-trade-pro .sf-tp-copy p{color:var(--sf-tp-color-text-muted);margin-block-end:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-tp-photo{border-radius:var(--sf-tp-radius-md);overflow:hidden;box-shadow:var(--sf-tp-shadow-md);aspect-ratio:var(--sf-tp-ratio-landscape)}
.sf-theme-trade-pro .sf-tp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sf-theme-trade-pro .sf-tp-photo-plain{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(130deg,var(--sf-tp-color-surface-brand-soft),var(--sf-tp-color-neutral-200));color:var(--sf-tp-color-text-brand);font-weight:var(--sf-tp-font-weight-bold);letter-spacing:var(--sf-tp-letter-spacing-wide);font-size:var(--sf-tp-font-size-xs)}
.sf-theme-trade-pro .sf-tp-stats{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--sf-tp-radius-sm);background:var(--sf-tp-color-surface-default);box-shadow:var(--sf-tp-shadow-md);margin-block-start:calc(-1 * var(--sf-tp-space-10));position:relative;width:92%;margin-left:auto;margin-right:auto}
.sf-theme-trade-pro .sf-tp-stat{text-align:center;padding:var(--sf-tp-space-5) var(--sf-tp-space-2);border-inline-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default)}
.sf-theme-trade-pro .sf-tp-stat:last-child{border:0}
.sf-theme-trade-pro .sf-tp-stat strong{display:block;color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-2xl);line-height:var(--sf-tp-line-height-tight)}
.sf-theme-trade-pro .sf-tp-stat span{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-xs)}
/* ── 区块头行(SectionHead):眉题/标题左,简介/动作右 ── */
.sf-theme-trade-pro .sf-tp-section-head{display:flex;align-items:end;justify-content:space-between;gap:var(--sf-tp-space-8);margin-block-end:var(--sf-tp-space-8);flex-wrap:wrap}
.sf-theme-trade-pro .sf-tp-intro{max-width:calc(var(--sf-tp-container-content-max) - var(--sf-tp-space-16));color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-tp-more{color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-sm);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-tp-more:hover{color:var(--sf-tp-color-text-link-hover)}
.sf-theme-trade-pro .sf-tp-more .sf-tp-icon{margin-inline-start:var(--sf-tp-space-1)}
/* ── 卡片网格(CardGrid):4 列默认 / --news 3 列;媒体 4:3 + 悬浮上抬缩放 ── */
.sf-theme-trade-pro .sf-tp-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sf-tp-space-4) calc(var(--sf-tp-space-4) + var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-tp-card-grid--news{grid-template-columns:repeat(3,minmax(0,1fr))}
.sf-theme-trade-pro .sf-tp-card{background:var(--sf-tp-color-surface-default);border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle);border-radius:var(--sf-tp-card-border-radius);overflow:hidden;box-shadow:var(--sf-tp-shadow-xs);transition:transform var(--sf-tp-duration-fast) var(--sf-tp-easing-standard),box-shadow var(--sf-tp-duration-fast) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-tp-card:hover{transform:translateY(calc(-1 * var(--sf-tp-space-1)));box-shadow:var(--sf-tp-shadow-md)}
.sf-theme-trade-pro .sf-tp-card-media{aspect-ratio:var(--sf-tp-ratio-landscape);overflow:hidden;background:var(--sf-tp-color-surface-muted)}
.sf-theme-trade-pro .sf-tp-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--sf-tp-duration-slow) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-tp-card:hover .sf-tp-card-media img{transform:scale(1.04)}
.sf-theme-trade-pro .sf-tp-card-media .pro-art{height:100%}
.sf-theme-trade-pro .sf-tp-card-body{padding:var(--sf-tp-space-4) var(--sf-tp-space-4) var(--sf-tp-space-5)}
.sf-theme-trade-pro .sf-tp-card h3{font-size:var(--sf-tp-font-size-lg);margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-card h3 a{color:inherit}
.sf-theme-trade-pro .sf-tp-card p{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);margin-block-end:var(--sf-tp-space-2);line-height:var(--sf-tp-line-height-normal)}
.sf-theme-trade-pro .sf-tp-tag{display:inline-block;background:var(--sf-tp-color-surface-brand-soft);color:var(--sf-tp-color-text-brand);border-radius:var(--sf-tp-radius-full);padding:var(--sf-tp-space-1) var(--sf-tp-space-3);font-size:var(--sf-tp-font-size-xs)}
/* ── 应用带(applications):深蓝渐变 + 光晕 + 2×2 图片瓦片 ── */
.sf-theme-trade-pro .sf-tp-applications{position:relative;padding-block:calc(var(--sf-tp-space-12) + var(--sf-tp-space-6));color:var(--sf-tp-color-text-inverse);overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 96%,transparent),color-mix(in srgb,var(--sf-tp-color-brand-primary-deep) 88%,transparent))}
.sf-theme-trade-pro .sf-tp-applications::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--sf-tp-color-brand-primary) 24%,transparent),transparent 42%);pointer-events:none}
.sf-theme-trade-pro .sf-tp-applications-grid{position:relative;display:grid;grid-template-columns:0.95fr 1.15fr;gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-6));align-items:center}
.sf-theme-trade-pro .sf-tp-applications .eyebrow{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 85%,transparent)}
.sf-theme-trade-pro .sf-tp-applications h2{color:var(--sf-tp-color-text-inverse);font-size:clamp(34px,3.6vw,var(--sf-tp-font-size-4xl));margin-block-end:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-tp-applications-copy p{max-width:510px;color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 88%,transparent);margin-block-end:calc(var(--sf-tp-space-5) + var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-tp-applications-copy .sf-tp-btn{background:var(--sf-tp-color-surface-default);border-color:var(--sf-tp-color-surface-default);color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-applications-copy .sf-tp-btn:hover{background:var(--sf-tp-color-brand-primary);color:var(--sf-tp-color-text-on-brand)}
.sf-theme-trade-pro .sf-tp-application-tiles{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--sf-tp-space-4) - var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-tp-app-tile{position:relative;min-height:150px;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--sf-tp-radius-sm);box-shadow:var(--sf-tp-shadow-md);background:var(--sf-tp-color-surface-inverse-muted);transition:transform var(--sf-tp-duration-fast) var(--sf-tp-easing-standard),box-shadow var(--sf-tp-duration-fast) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-tp-app-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-theme-trade-pro .sf-tp-tile-art{position:absolute;inset:0;background:linear-gradient(135deg,var(--sf-tp-color-brand-primary-deep),var(--sf-tp-color-brand-accent))}
.sf-theme-trade-pro .sf-tp-app-tile::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 86%,transparent))}
.sf-theme-trade-pro .sf-tp-app-tile span{position:relative;z-index:var(--sf-tp-z-raised);width:100%;padding:var(--sf-tp-space-5);color:var(--sf-tp-color-text-inverse);font-size:var(--sf-tp-font-size-lg);font-weight:var(--sf-tp-font-weight-bold);text-shadow:0 2px 6px color-mix(in srgb,var(--sf-tp-color-surface-inverse) 45%,transparent)}
.sf-theme-trade-pro .sf-tp-app-tile:hover{transform:translateY(calc(-1 * var(--sf-tp-space-1)));box-shadow:var(--sf-tp-shadow-lg)}
/* ── 特性网格(FeatureGrid):圆图标 + 标题 + 描述 ── */
.sf-theme-trade-pro .sf-tp-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--sf-tp-space-4) - var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-tp-feature{background:var(--sf-tp-color-surface-default);border-radius:var(--sf-tp-card-border-radius);text-align:center;padding:var(--sf-tp-space-6) var(--sf-tp-space-4);border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-tp-feature .icon-circle{margin-block-end:var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-tp-feature h3{font-size:var(--sf-tp-font-size-md);margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-feature p{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);margin:0}
/* ── CTA 横幅(Cta):藏青→品牌蓝渐变 + 幽灵按钮(cms 叠加实景图,静态产物用纯渐变)── */
.sf-theme-trade-pro .sf-tp-cta{padding-block:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4));color:var(--sf-tp-color-text-inverse);background:linear-gradient(90deg,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 94%,transparent),color-mix(in srgb,var(--sf-tp-color-brand-primary) 67%,transparent))}
.sf-theme-trade-pro .sf-tp-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sf-tp-space-6);flex-wrap:wrap}
.sf-theme-trade-pro .sf-tp-cta .eyebrow{color:var(--sf-tp-color-text-inverse-muted)}
.sf-theme-trade-pro .sf-tp-cta h2{margin-block-end:var(--sf-tp-space-2);color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-tp-cta p{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 83%,transparent);margin:0}
/* ── 产品详情(Task 10b,[slug].astro 移植):画廊 + 标题区 + 参数表 + 询盘 ── */
.sf-theme-trade-pro .sf-tp-product-hero{padding-block:calc(var(--sf-tp-space-8) + var(--sf-tp-space-4)) var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-tp-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);margin-block-end:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-tp-breadcrumb>*+*::before{content:"›";margin-inline:var(--sf-tp-space-3) calc(var(--sf-tp-space-3) - var(--sf-tp-space-1));color:var(--sf-tp-color-neutral-400)}
.sf-theme-trade-pro .sf-tp-breadcrumb a:hover{color:var(--sf-tp-color-text-link)}
.sf-theme-trade-pro .sf-tp-breadcrumb-current{color:var(--sf-tp-color-text-secondary);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-tp-product-grid{display:grid;grid-template-columns:1.08fr 0.92fr;gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4));align-items:center}
/* grid 列最小宽归零:缩略图横滚依赖列宽被约束(cms 同款注释) */
.sf-theme-trade-pro .sf-tp-product-gallery,.sf-theme-trade-pro .sf-tp-product-summary{min-width:0}
/* 主图:cms product-main-image(4:3 + 圆角 + 浅底);覆盖 pro-product-media 的骨架固定高。
.pro-product-media 类仅作 pro.js 画廊钩子(querySelector 定位主图)保留。 */
.sf-theme-trade-pro .sf-tp-product-media{height:auto;aspect-ratio:var(--sf-tp-ratio-product-main);overflow:hidden;border-radius:var(--sf-tp-radius-sm);background:var(--sf-tp-color-surface-muted)}
.sf-theme-trade-pro .sf-tp-product-media img{width:100%;height:100%;object-fit:cover;display:block}
/* 缩略图:单行横滚 + scroll-snap(cms product-thumbs);激活态沿用 pro.js
维护的 aria-pressed,品牌描边 + 焦点环 */
.sf-theme-trade-pro .sf-tp-product-thumbs{display:flex;gap:var(--sf-tp-space-3);margin-block-start:var(--sf-tp-space-3);overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scroll-snap-type:x proximity;padding-block-end:var(--sf-tp-space-1)}
.sf-theme-trade-pro .sf-tp-product-thumb{flex:0 0 120px;aspect-ratio:var(--sf-tp-ratio-landscape);padding:0;overflow:hidden;border:var(--sf-tp-border-width-medium) solid transparent;border-radius:var(--sf-tp-radius-xs);background:var(--sf-tp-color-surface-muted);cursor:pointer;scroll-snap-align:center}
.sf-theme-trade-pro .sf-tp-product-thumb[aria-pressed="true"],.sf-theme-trade-pro .sf-tp-product-thumb:focus-visible{border-color:var(--sf-tp-color-border-brand);box-shadow:var(--sf-tp-shadow-focus-ring)}
.sf-theme-trade-pro .sf-tp-product-thumb img{width:100%;height:100%;object-fit:cover;display:block}
/* 标题区:产品名 h1 用 cms 量级(2xl,非巨型 display),导语 + 管理字段行 + CTA 对 */
.sf-theme-trade-pro .sf-tp-product-title{font-size:var(--sf-tp-font-size-2xl);line-height:var(--sf-tp-line-height-snug);letter-spacing:var(--sf-tp-letter-spacing-normal);margin-block-end:var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-tp-product-lead{color:var(--sf-tp-color-text-muted);line-height:var(--sf-tp-line-height-relaxed);margin-block-end:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-tp-product-meta{display:flex;flex-wrap:wrap;gap:var(--sf-tp-space-2) var(--sf-tp-space-5);color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-sm);margin-block-end:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-tp-product-actions{display:flex;gap:var(--sf-tp-space-4);flex-wrap:wrap}
.sf-theme-trade-pro .sf-tp-product-actions .sf-tp-btn{border-radius:var(--sf-tp-radius-full)}
/* 详情面板标题:品牌色下划短线(cms .detail-section h2 层次) */
.sf-theme-trade-pro .sf-tp-panel-title{display:inline-block;margin-block-end:var(--sf-tp-space-6);padding-block-end:var(--sf-tp-space-3);border-block-end:var(--sf-tp-border-width-strong) solid var(--sf-tp-color-border-brand)}
/* 正文:迁移富文本(.pro-rich 基线之上补表格形态——WP 迁移正文常带规格表) */
.sf-theme-trade-pro .sf-tp-product-body table{width:100%;border-collapse:collapse;table-layout:auto;font-size:var(--sf-tp-font-size-sm);margin-block:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-tp-product-body th,.sf-theme-trade-pro .sf-tp-product-body td{border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default);padding:var(--sf-tp-space-3) var(--sf-tp-space-4);text-align:start;vertical-align:middle;word-break:break-word}
.sf-theme-trade-pro .sf-tp-product-body tbody tr:nth-child(even) td{background:var(--sf-tp-color-neutral-50)}
/* 参数表(cms spec-table):键列灰底,横向可滚(宽表不溢出容器) */
.sf-theme-trade-pro .sf-tp-table-scroll{overflow-x:auto}
.sf-theme-trade-pro .sf-tp-spec-table{width:100%;border-collapse:collapse;font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-tp-spec-table th,.sf-theme-trade-pro .sf-tp-spec-table td{border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default);padding:var(--sf-tp-space-3) var(--sf-tp-space-4);text-align:start}
.sf-theme-trade-pro .sf-tp-spec-table th{background:var(--sf-tp-color-surface-muted);font-weight:var(--sf-tp-font-weight-semibold);white-space:nowrap}
/* 询盘板块(cms quote-grid 同构):左联系信息 + 右表单卡 */
.sf-theme-trade-pro .sf-tp-quote-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4));align-items:start}
.sf-theme-trade-pro .sf-tp-quote-info>p{color:var(--sf-tp-color-text-muted)}
.sf-theme-trade-pro .sf-tp-quote-list{display:grid;gap:var(--sf-tp-space-5);margin-block-start:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-tp-quote-item{display:flex;align-items:center;gap:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-tp-quote-item .icon-circle{margin:0;flex-shrink:0}
.sf-theme-trade-pro .sf-tp-quote-item strong{display:block;margin-block-end:var(--sf-tp-space-1)}
.sf-theme-trade-pro .sf-tp-quote-item p{margin:0;color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-tp-quote-item a:hover{color:var(--sf-tp-color-text-link)}
.sf-theme-trade-pro .sf-tp-quote-form{background:var(--sf-tp-color-surface-muted);padding:calc(var(--sf-tp-space-8) + var(--sf-tp-space-1));border-radius:var(--sf-tp-radius-sm)}
.sf-theme-trade-pro .sf-tp-quote-form form{display:grid;gap:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-tp-quote-form .sf-tp-btn{justify-self:start}
.sf-theme-trade-pro .sf-tp-quote-form textarea{min-height:110px}
.sf-theme-trade-pro .sf-tp-quote-note{font-size:var(--sf-tp-font-size-xs);color:var(--sf-tp-color-text-muted);margin:0}
/* ── 响应式(断点随 cms 设计稿:900 栅格堆叠 / 767 hero 竖版 / 620 紧凑)── */
@media (max-width: 900px){
.sf-theme-trade-pro .sf-tp-applications-grid{grid-template-columns:1fr;gap:calc(var(--sf-tp-space-8) + var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-tp-two-col{grid-template-columns:1fr}
/* 产品详情:画廊/标题区上下堆叠;询盘左右并排收窄间距(cms 900 同款) */
.sf-theme-trade-pro .sf-tp-product-grid{grid-template-columns:1fr;gap:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-tp-quote-grid{grid-template-columns:1fr;gap:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-tp-card-grid,.sf-theme-trade-pro .sf-tp-card-grid--news{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-theme-trade-pro .sf-tp-feature-grid,.sf-theme-trade-pro .sf-tp-trust-grid{grid-template-columns:1fr 1fr}
.sf-theme-trade-pro .sf-tp-trust-item{border-inline-end:0;border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
}
@media (max-width: 767px){
.sf-theme-trade-pro .sf-tp-hero{aspect-ratio:3/4;min-height:520px}
.sf-theme-trade-pro .sf-tp-hero-copy{width:100%}
}
@media (max-width: 620px){
.sf-theme-trade-pro .sf-tp-hero{aspect-ratio:375/320;min-height:320px}
.sf-theme-trade-pro .sf-tp-hero-copy{max-width:57%}
.sf-theme-trade-pro .sf-tp-hero-copy .sf-tp-lead{font-size:11px;line-height:1.35;margin-block-end:12px}
/* 信任条:浮动圆角卡片 2×2(图标左、文字右) */
.sf-theme-trade-pro .sf-tp-trustbar{margin-block-start:-1px;padding-inline:0;border-radius:10px;box-shadow:var(--sf-tp-shadow-md);overflow:hidden}
.sf-theme-trade-pro .sf-tp-trust-grid{grid-template-columns:1fr 1fr}
.sf-theme-trade-pro .sf-tp-trust-item{min-height:72px;padding:11px 7px;text-align:left;display:grid;grid-template-columns:45px 1fr;align-content:center;border-inline-end:1px solid var(--sf-tp-color-border-subtle);border-block-end:1px solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-tp-trust-item:nth-child(2n){border-inline-end:0}
.sf-theme-trade-pro .sf-tp-trust-item:nth-last-child(-n+2){border-block-end:0}
.sf-theme-trade-pro .sf-tp-trust-item .icon-circle{grid-row:1/3;margin:0;background:transparent;font-size:20px}
.sf-theme-trade-pro .sf-tp-trust-item strong{font-size:10px}
.sf-theme-trade-pro .sf-tp-trust-item span{font-size:9px}
/* 关于区:紧凑双栏 + 数据 2×2 */
.sf-theme-trade-pro .sf-tp-two-col{grid-template-columns:1fr 1.08fr;gap:13px;align-items:start}
.sf-theme-trade-pro .sf-tp-copy p{font-size:11px;line-height:1.35;margin-block-end:10px}
.sf-theme-trade-pro .sf-tp-photo{min-height:162px}
.sf-theme-trade-pro .sf-tp-stats{grid-template-columns:repeat(2,1fr);margin-block-start:-1px}
.sf-theme-trade-pro .sf-tp-stat{padding:9px 3px}
.sf-theme-trade-pro .sf-tp-stat strong{font-size:19px}
.sf-theme-trade-pro .sf-tp-stat span{font-size:8px}
/* 应用带:浅底代替深色,按钮隐藏 */
.sf-theme-trade-pro .sf-tp-applications{padding-block:28px;color:var(--sf-tp-color-text-primary);background:linear-gradient(135deg,var(--sf-tp-color-neutral-50),var(--sf-tp-color-surface-brand-soft))}
.sf-theme-trade-pro .sf-tp-applications::before{content:none}
.sf-theme-trade-pro .sf-tp-applications .eyebrow{color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-applications h2{color:var(--sf-tp-color-text-primary);font-size:22px;margin-block-end:4px}
.sf-theme-trade-pro .sf-tp-applications-copy p{color:var(--sf-tp-color-text-secondary);font-size:11px;margin-block-end:9px}
.sf-theme-trade-pro .sf-tp-applications-copy .sf-tp-btn{display:none}
.sf-theme-trade-pro .sf-tp-applications-grid{display:block}
.sf-theme-trade-pro .sf-tp-application-tiles{gap:7px}
.sf-theme-trade-pro .sf-tp-app-tile{min-height:92px}
.sf-theme-trade-pro .sf-tp-app-tile span{padding:9px;font-size:11px}
/* 卡片 2 列紧凑;新闻网格移动端只显示前 2 张 */
.sf-theme-trade-pro .sf-tp-card-grid,.sf-theme-trade-pro .sf-tp-card-grid--news{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sf-theme-trade-pro .sf-tp-card-media{aspect-ratio:16/9}
.sf-theme-trade-pro .sf-tp-card-body{padding:9px 10px 11px}
.sf-theme-trade-pro .sf-tp-card h3{font-size:13px;margin-block-end:2px}
.sf-theme-trade-pro .sf-tp-card p{font-size:11px;margin-block-end:5px}
.sf-theme-trade-pro .sf-tp-more{font-size:10px}
.sf-theme-trade-pro .sf-tp-card-grid--news .sf-tp-card:nth-child(n+3){display:none}
/* 特性 2 列横排(图标左、文字右) */
.sf-theme-trade-pro .sf-tp-feature-grid{grid-template-columns:1fr 1fr;gap:8px}
.sf-theme-trade-pro .sf-tp-feature{min-height:92px;text-align:left;padding:12px;display:grid;grid-template-columns:44px 1fr;align-content:center;column-gap:7px}
.sf-theme-trade-pro .sf-tp-feature .icon-circle{grid-row:1/3;align-self:center;margin:0;font-size:20px}
.sf-theme-trade-pro .sf-tp-feature h3{font-size:12px;margin:0 0 3px}
.sf-theme-trade-pro .sf-tp-feature p{font-size:10px;line-height:1.3}
.sf-theme-trade-pro .sf-tp-section-head{display:block}
/* CTA:纵向堆叠 */
.sf-theme-trade-pro .sf-tp-cta{padding-block:28px}
.sf-theme-trade-pro .sf-tp-cta-inner{display:block}
.sf-theme-trade-pro .sf-tp-cta h2{font-size:22px}
.sf-theme-trade-pro .sf-tp-cta p{font-size:11px}
.sf-theme-trade-pro .sf-tp-cta .sf-tp-btn{margin-block-start:12px}
/* 产品详情 620 紧凑(cms 移动端设计稿):面包屑收紧、缩略图缩格、
CTA 双列铺满、表单卡与参数表留白降档 */
.sf-theme-trade-pro .sf-tp-product-hero{padding-block:14px 21px}
.sf-theme-trade-pro .sf-tp-breadcrumb{margin-block-end:8px;font-size:10px}
.sf-theme-trade-pro .sf-tp-product-grid{gap:14px}
.sf-theme-trade-pro .sf-tp-product-media{aspect-ratio:16/9}
.sf-theme-trade-pro .sf-tp-product-thumbs{gap:8px;margin-block-start:7px}
.sf-theme-trade-pro .sf-tp-product-thumb{flex-basis:86px}
.sf-theme-trade-pro .sf-tp-product-lead{font-size:11px;line-height:1.35}
.sf-theme-trade-pro .sf-tp-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sf-theme-trade-pro .sf-tp-product-actions .sf-tp-btn{min-height:37px;font-size:11px}
.sf-theme-trade-pro .sf-tp-quote-list{gap:12px;margin-block-start:16px}
.sf-theme-trade-pro .sf-tp-quote-form{padding:16px}
.sf-theme-trade-pro .sf-tp-spec-table th,.sf-theme-trade-pro .sf-tp-spec-table td{padding:9px 12px}
}
/* ── Phase 2 skeleton tint layer(chrome 着色,供其余页面与 pro-base 骨架)── */
.sf-theme-trade-pro .pro-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sf-theme-trade-pro .pro-header{background:#fff;border-bottom:3px solid var(--sf-tp-primary,#0b3d91)}
.sf-theme-trade-pro .pro-logo-name small{color:var(--sf-tp-primary,#0b3d91);letter-spacing:.18em}
.sf-theme-trade-pro .pro-navigation a{color:var(--sf-tp-text,#1a2332);text-decoration:none;font-weight:500}
.sf-theme-trade-pro .pro-navigation a:hover{color:var(--sf-tp-primary,#0b3d91)}
.sf-theme-trade-pro .pro-header-cta{white-space:nowrap}
.sf-theme-trade-pro .pro-mega{border-top:1px solid #e3e9f2;background:#f7fafd}
.sf-theme-trade-pro .pro-mega a{color:var(--sf-tp-primary,#0b3d91)}
.sf-theme-trade-pro .pro-category-tiles a{border:1px solid #dfe7f2;border-radius:var(--sf-tp-radius,8px);background:#fff}
.sf-theme-trade-pro .pro-category-tiles a span{color:var(--sf-tp-accent,#f5a623)}
.sf-theme-trade-pro .pro-card{border:1px solid #dfe7f2;border-radius:var(--sf-tp-radius,8px);background:#fff;overflow:hidden}
.sf-theme-trade-pro .pro-card h3{color:var(--sf-tp-text,#1a2332)}
.sf-theme-trade-pro .pro-card:hover{border-color:var(--sf-tp-primary,#0b3d91)}
.sf-theme-trade-pro .pro-card-link{color:var(--sf-tp-primary,#0b3d91)}
.sf-theme-trade-pro .pro-end-cta{background:var(--sf-tp-primary,#0b3d91);color:#fff}
.sf-theme-trade-pro .pro-end-cta .pro-eyebrow{color:var(--sf-tp-accent,#f5a623)}
.sf-theme-trade-pro .pro-end-cta .sf-tp-btn{background:#fff;color:var(--sf-tp-primary,#0b3d91);border-color:#fff}
.sf-theme-trade-pro .pro-footer{background:#0d1b2e;color:#c7d3e2}
.sf-theme-trade-pro .pro-footer h2{color:#fff}
.sf-theme-trade-pro .pro-footer a{color:#fff}
.sf-theme-trade-pro .pro-footer-bottom{border-top:1px solid #24344c}
.sf-theme-trade-pro .pro-filter-panel{border:1px solid #dfe7f2;border-radius:var(--sf-tp-radius,8px)}
.sf-theme-trade-pro .pro-404 strong{color:var(--sf-tp-primary,#0b3d91)}
/* ── 无图占位重设计(用户反馈 2026-10-23:共享宏灰块与设计不符)──
brand 渐变底 + 首字母 + 小型 kind 标签;环形装饰隐藏 */
.sf-theme-trade-pro .pro-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sf-tp-space-2);background:linear-gradient(135deg,var(--sf-tp-color-surface-brand-soft),color-mix(in srgb,var(--sf-tp-color-brand-primary) 12%,var(--sf-tp-color-surface-default)));color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .pro-art .pro-art-ring{display:none}
.sf-theme-trade-pro .pro-art .pro-art-center{font-size:28px;font-weight:800;letter-spacing:.04em}
.sf-theme-trade-pro .pro-art .pro-art-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sf-tp-color-text-muted)}
/* 询盘蜜罐:隐藏但不移出 DOM(pro-base 的 .pro-inquiry 作用域规则不覆盖新表单容器) */
.sf-theme-trade-pro .pro-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
/* ── Task 10c:listing 列表页(products/news 列表移植)──
源 src/pages/[locale]/products/[...page].astro(PageHero / 260px 分类
侧栏 / CardGrid cols-3 / Pagination)与 news/[...page].astro
(1fr+310px 双栏 / news-row 横向行 / aside-box 侧栏盒)。 */
/* 内页 PageHero:浅品牌横幅;有封面时叠图 + brand-soft 渐变罩(无图纯渐变) */
.sf-theme-trade-pro .sf-tp-page-hero{position:relative;display:flex;align-items:center;overflow:hidden;min-height:calc(var(--sf-tp-space-24) * 3.5);padding-block:var(--sf-tp-space-12) calc(var(--sf-tp-space-10) + var(--sf-tp-space-1));background:linear-gradient(115deg,var(--sf-tp-color-surface-brand-soft),color-mix(in srgb,var(--sf-tp-color-surface-brand-soft) 26%,var(--sf-tp-color-surface-default)));}
.sf-theme-trade-pro .sf-tp-page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:calc(var(--sf-tp-z-base) - 1)}
.sf-theme-trade-pro .sf-tp-page-hero-overlay{position:absolute;inset:0;z-index:var(--sf-tp-z-base);background:linear-gradient(90deg,var(--sf-tp-color-surface-brand-soft) 0,var(--sf-tp-color-surface-brand-soft) 44%,color-mix(in srgb,var(--sf-tp-color-surface-brand-soft) 74%,transparent) 53%,color-mix(in srgb,var(--sf-tp-color-surface-brand-soft) 8%,transparent) 68%)}
.sf-theme-trade-pro .sf-tp-page-hero-copy{position:relative;z-index:var(--sf-tp-z-raised);width:min(calc(var(--sf-tp-container-content-max) - var(--sf-tp-space-16)),56%)}
.sf-theme-trade-pro .sf-tp-page-hero-copy h1{margin-block:var(--sf-tp-space-2) var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-tp-page-hero-lead{color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-lg);line-height:var(--sf-tp-line-height-relaxed);max-width:var(--sf-tp-container-content-max);margin-block-end:var(--sf-tp-space-6)}
/* 产品目录布局:260px 分类侧栏 + 主列(cms layout-sidebar / side-panel) */
.sf-theme-trade-pro .sf-tp-catalogue-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-tp-catalogue-single{display:block}
.sf-theme-trade-pro .sf-tp-side-panel{align-self:start;padding:var(--sf-tp-space-5);border-radius:var(--sf-tp-card-border-radius);background:var(--sf-tp-color-surface-muted);position:sticky;top:var(--sf-tp-space-24)}
.sf-theme-trade-pro .sf-tp-side-panel h3{font-size:var(--sf-tp-font-size-sm);letter-spacing:var(--sf-tp-letter-spacing-wide);text-transform:uppercase;margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-side-link{display:block;padding:calc(var(--sf-tp-space-4) - var(--sf-tp-space-1)) var(--sf-tp-space-4);border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default);font-weight:var(--sf-tp-font-weight-semibold);color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-tp-side-link:hover{color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-side-link--active{color:var(--sf-tp-color-text-on-brand);background:var(--sf-tp-color-brand-primary);border-radius:var(--sf-tp-radius-xs)}
/* 列表栅格 = cms cols-3(主列比首页窄);双类共存时显式压过 Phase 2 的
.pro-card 平台着色(更高特异性,与文件顺序无关) */
.sf-theme-trade-pro .sf-tp-card-grid--listing{grid-template-columns:repeat(3,minmax(0,1fr))}
.sf-theme-trade-pro .sf-tp-card.pro-card{background:var(--sf-tp-color-surface-default);border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle);border-radius:var(--sf-tp-card-border-radius)}
/* pro.js 零结果空态注入的 .pro-filter-empty:栅格内整行展示 */
.sf-theme-trade-pro .pro-filter-scope>.pro-filter-empty{grid-column:1/-1;padding:var(--sf-tp-space-6);border:var(--sf-tp-border-width-hairline) dashed var(--sf-tp-color-border-default);color:var(--sf-tp-color-text-muted)}
/* 新闻分支:1fr + 310px 双栏;行 = 290px 封面 + 文本列,行间发丝线分隔 */
.sf-theme-trade-pro .sf-tp-news-layout{display:grid;grid-template-columns:1fr 310px;gap:calc(var(--sf-tp-space-8) + var(--sf-tp-space-2))}
.sf-theme-trade-pro .sf-tp-news-row{display:grid;grid-template-columns:290px 1fr;gap:var(--sf-tp-space-6);padding-block-end:var(--sf-tp-space-6);margin-block-end:var(--sf-tp-space-6);border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default)}
/* 行也是 pro-card(pro.js 过滤钩子):还原为无框行形态,压过 Phase 2 着色 */
.sf-theme-trade-pro .sf-tp-news-row.pro-card{display:grid;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.sf-theme-trade-pro .sf-tp-news-row.pro-card:hover{transform:none;box-shadow:none}
.sf-theme-trade-pro .sf-tp-news-row .sf-tp-card-media{border-radius:var(--sf-tp-radius-sm);background:var(--sf-tp-color-surface-muted)}
.sf-theme-trade-pro .sf-tp-news-row:hover .sf-tp-card-media img{transform:scale(1.04)}
.sf-theme-trade-pro .sf-tp-news-body .sf-tp-tag{margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-news-body h3{font-size:var(--sf-tp-font-size-2xl);margin-block:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tp-news-body h3 a{color:inherit}
.sf-theme-trade-pro .sf-tp-news-body h3 a:hover{color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-news-body p{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);margin-block-end:var(--sf-tp-space-3)}
/* 侧栏三盒(cms aside-box):灰底圆角卡 + 右浮计数 */
.sf-theme-trade-pro .sf-tp-aside-box{background:var(--sf-tp-color-surface-muted);border-radius:var(--sf-tp-card-border-radius);padding:calc(var(--sf-tp-space-5) + var(--sf-tp-space-1));margin-block-end:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-tp-aside-box h3{font-size:var(--sf-tp-font-size-md);margin-block-end:var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-tp-aside-box p{margin-block-end:var(--sf-tp-space-3);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-tp-aside-box p:last-child{margin-block-end:0}
.sf-theme-trade-pro .sf-tp-aside-box a:hover{color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-aside-box strong{float:inline-end;color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-aside-box ol{padding-inline-start:var(--sf-tp-space-6);margin-block-end:0}
.sf-theme-trade-pro .sf-tp-aside-box li{margin-block:var(--sf-tp-space-4);font-size:var(--sf-tp-font-size-sm);color:var(--sf-tp-color-text-muted)}
.sf-theme-trade-pro .sf-tp-aside-box li:last-child{margin-block-end:0}
/* 分页器(cms Pagination):窗口页码 + SVG 箭头,居中可换行 */
.sf-theme-trade-pro .sf-tp-pagination{display:flex;justify-content:center;align-items:center;gap:var(--sf-tp-space-1);margin-block-start:var(--sf-tp-space-10);flex-wrap:wrap}
.sf-theme-trade-pro .sf-tp-page-num,.sf-theme-trade-pro .sf-tp-page-arrow{display:inline-grid;place-items:center;min-width:36px;height:36px;padding-inline:6px;border-radius:var(--sf-tp-radius-sm);border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle);color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-sm);transition:all var(--sf-tp-duration-fast) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-tp-page-num:hover,.sf-theme-trade-pro .sf-tp-page-arrow:hover:not(.is-disabled){border-color:var(--sf-tp-color-border-brand);color:var(--sf-tp-color-text-brand)}
.sf-theme-trade-pro .sf-tp-page-num.is-active{background:var(--sf-tp-color-brand-primary);border-color:var(--sf-tp-color-brand-primary);color:var(--sf-tp-color-text-on-brand);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-tp-page-arrow.is-disabled{opacity:.35;cursor:default}
.sf-theme-trade-pro .sf-tp-page-dots{color:var(--sf-tp-color-text-muted);padding-inline:2px}
/* 空列表友好空态(noindex 栏目占位页):居中提示,不渲染筛选/栅格/分页 */
.sf-theme-trade-pro .sf-tp-listing-empty{text-align:center;padding:var(--sf-tp-space-12) var(--sf-tp-space-6);border:var(--sf-tp-border-width-hairline) dashed var(--sf-tp-color-border-default);border-radius:var(--sf-tp-card-border-radius);color:var(--sf-tp-color-text-muted)}
.sf-theme-trade-pro .sf-tp-listing-empty h2{color:var(--sf-tp-color-text-secondary);margin-block-end:var(--sf-tp-space-3)}
/* ── listing 响应式(cms 断点:900 双栏堆叠 / 767 hero 竖版 / 620 紧凑)── */
@media (max-width: 900px){
.sf-theme-trade-pro .sf-tp-page-hero-copy{width:100%}
.sf-theme-trade-pro .sf-tp-catalogue-layout{grid-template-columns:1fr}
.sf-theme-trade-pro .sf-tp-side-panel{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--sf-tp-space-4)}
/* listing 栅格折叠规则须落在上方 3 列声明之后(同特异性按源顺序取胜),
既有 10a 的 900px 折叠块在本段之前,覆盖不到 --listing 修饰符 */
.sf-theme-trade-pro .sf-tp-card-grid--listing{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-theme-trade-pro .sf-tp-news-layout{grid-template-columns:1fr}
.sf-theme-trade-pro .sf-tp-news-row{grid-template-columns:240px 1fr}
}
@media (max-width: 767px){
.sf-theme-trade-pro .sf-tp-page-hero{min-height:auto;padding-block:calc(var(--sf-tp-space-12) - var(--sf-tp-space-4)) calc(var(--sf-tp-space-8) + var(--sf-tp-space-2))}
}
@media (max-width: 620px){
.sf-theme-trade-pro .sf-tp-page-hero{padding-block:calc(var(--sf-tp-space-10) + var(--sf-tp-space-4)) calc(var(--sf-tp-space-4) + var(--sf-tp-space-2));align-items:flex-start}
.sf-theme-trade-pro .sf-tp-page-hero-copy{width:62%}
.sf-theme-trade-pro .sf-tp-page-hero-copy h1{font-size:28px;line-height:1.05;margin-block-end:8px}
.sf-theme-trade-pro .sf-tp-page-hero-lead{font-size:11px;line-height:1.35;margin-block-end:12px}
.sf-theme-trade-pro .sf-tp-side-panel{display:block}
.sf-theme-trade-pro .sf-tp-card-grid--listing{gap:10px}
.sf-theme-trade-pro .sf-tp-news-row{grid-template-columns:1fr}
.sf-theme-trade-pro .sf-tp-news-row .sf-tp-card-media{aspect-ratio:16/9}
.sf-theme-trade-pro .sf-tp-news-body h3{font-size:var(--sf-tp-font-size-lg)}
.sf-theme-trade-pro .sf-tp-news-aside{margin-block-start:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-tp-page-num,.sf-theme-trade-pro .sf-tp-page-arrow{min-width:32px;height:32px}
}