Files
cms-SiteForge/themes/trade-pro/blocks.css
T

597 lines
48 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 blocks.css — Task 13a 区块样式全量桥接。
两层结构:
── Layer A:平台基础层(app/static/blocks.css 当前版原文逐字保留)。
copy_blocks_css 会让本文件整体替代平台版分发,因此平台功能契约必须
在本文件内自带:hero 滑轨(site-runtime.js 钩子 sf-hero-track/panel/
controls)、布局栅格(responsive.py 的 820/540 设备断点 + !important
折叠语义)、卡片风格变体(card-style-*)、fit 显式选项、V8.33.1 的
区块节/内层同类名去冲突修复。旧版主题副本停在 36 行,缺失 V8.34 之后的
滑轨/变体规则——本次以平台当前版为准整体刷新。
── Layer B:trade-pro 视觉桥接层(.sf-theme-trade-pro 作用域)。
设计源 = pro.css 的 sf-tp-* 组件语汇(cms 移植,tokens 见 theme.css):
hero → sf-tp-hero(藏青→品牌蓝渐变 + 白字 + 左深右透叠层 + 反色按钮)、
features → sf-tp-feature-grid(浅渐变底 + 白卡 + 圆形序号位)、
collection → sf-tp-card-grid(发丝边卡 + 悬浮上抬 + 4:3 媒体 + 胶囊标签)、
image_text → sf-tp-two-col(1fr/1.22fr + 实景框投影)、
stats → sf-tp-stats(白卡数据条 + 分隔线 + 品牌色数字)、
cta → sf-tp-cta(深色渐变带 + 幽灵按钮)、
richtext → sf-tp-article-body 排版层;gallery/carousel/video/pricing/
tabs 按同一令牌语汇补齐(cms 无一一对应组件)。
Task 13b 新增:trust_bar → sf-tp-trustbar(白底横带 + icon-circle +
发丝分隔线)、applications_band → sf-tp-applications(深色渐变带 +
2×2 玻璃瓦片)——支撑首页从模板驱动切换为区块驱动(layout_mode=replace)。
级联纪律:
- 节级底色用 .sf-canvas 链(0,4,0)压过 pro-base 晚载的
.pro-custom-content .sf-section(:nth-of-type(even))(静态构建 blocks 先于
pro-base 载入,编辑器内联序相反——特异性取胜,不依赖源顺序)。
- 用户内联 --sf-bg/--sf-fg 经 var() 兜底保留;区块 padding-block 与 h1 字号
由 custom.css 的站点设计控件拥有,本层不碰。
- 编辑器画布红线:不触碰画布选择器钩子(区块 id 属性 / 选中态类)、不给
区块节写 outline/position(studio-canvas-bridge.js 注入样式自带 !important)。 */
/* ════════ Layer A:平台基础层(与 app/static/blocks.css 逐字一致)════════ */
/* Portable SiteForge blocks, loaded with every theme (all styles scoped to sf-). */
.sf-section{background:var(--sf-bg,transparent);color:var(--sf-fg,inherit);padding:var(--sf-pad,82px) 0;margin:0}.sf-section:nth-of-type(even){background:var(--sf-bg,#f4f6f9)}.sf-container{max-width:1200px;margin:auto;padding:0 32px}.sf-section h1,.sf-section h2,.sf-section h3,.sf-section p{color:inherit;line-height:1.3}.sf-section h1{font-size:clamp(38px,5vw,76px);font-weight:790;letter-spacing:-.052em}.sf-section h2{font-size:clamp(27px,3.2vw,44px);font-weight:760;letter-spacing:-.037em}.sf-kicker{display:block;font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:740;color:var(--accent,#3569d3);margin-bottom:18px}.sf-hero-grid,.sf-image-text{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}.sf-hero-copy p{font-size:18px;line-height:1.75;max-width:520px;opacity:.75}.sf-hero-img,.sf-image-side{overflow:hidden;border-radius:9px;min-height:380px;background:linear-gradient(130deg,#d5e1ee,#eef3f9);display:grid;place-items:center}.sf-hero-img img,.sf-image-side img{width:100%;height:100%;max-height:580px;object-fit:cover}.sf-hero-abstract{font-size:110px;color:#a7bdd4}.sf-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--accent,#315ee2);color:white!important;padding:16px 26px;border-radius:6px;font-size:14px;text-decoration:none;font-weight:720;margin-top:24px}.sf-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px;gap:24px}.sf-section-head h2{margin:0}.sf-section-head>a,.sf-link{color:var(--accent,#3569d3);font-weight:700;text-decoration:none}.sf-prose{font-size:16px;line-height:1.85;max-width:930px}.sf-prose p{line-height:1.85}.sf-features,.sf-collection,.sf-stats{display:grid;gap:20px}.sf-features{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-feature{border:1px solid #e0e6eb;padding:32px 28px;border-radius:8px;background:#fff;color:#253247}.sf-feature>span{font-size:12px;font-weight:800;color:var(--accent,#346add)}.sf-feature h3{font-size:22px;margin:30px 0 8px}.sf-feature p{font-size:14px;line-height:1.7;color:#647181}.sf-stats{grid-template-columns:repeat(4,1fr);padding:40px 0;border-top:1px solid #b7c0cd66;border-bottom:1px solid #b7c0cd66}.sf-stats>div{display:flex;flex-direction:column;gap:8px}.sf-stats strong{font-size:clamp(28px,4vw,53px);letter-spacing:-.04em}.sf-stats span{font-size:12px;opacity:.65;letter-spacing:.04em}.sf-collection{grid-template-columns:repeat(var(--sf-cols,3),minmax(0,1fr))}.sf-item{display:block;text-decoration:none;color:#233044;background:#fff;border:1px solid #e8edf1;border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.sf-item:hover{transform:translateY(-4px);box-shadow:0 18px 38px #344d7018}.sf-item-img{height:210px;overflow:hidden;background:#e4eaf0}.sf-item-img img{height:100%;width:100%;object-fit:cover}.sf-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:190px;background:linear-gradient(130deg,#e2eaf2,#c9d7e6);font-size:72px;color:#8399b2;font-weight:800}.sf-large{min-height:360px}.sf-item-copy{padding:25px}.sf-item-copy small{text-transform:uppercase;letter-spacing:.13em;color:var(--accent,#376edc)}.sf-item-copy h3{font-size:22px;margin:12px 0 7px}.sf-item-copy p{font-size:14px;line-height:1.6;color:#7a8796;min-height:42px}.sf-item-copy span{font-size:12px;color:var(--accent,#376edc);font-weight:800}.sf-image-text>div>p{font-size:17px;line-height:1.8;max-width:520px;opacity:.7}.sf-reverse>div:first-child{order:2}.sf-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.sf-gallery img{width:100%;height:230px;object-fit:cover;border-radius:6px}.sf-faq{max-width:920px}.sf-faq details{border-bottom:1px solid #dce3eb;padding:22px 0}.sf-faq summary{font-size:17px;cursor:pointer;font-weight:700}.sf-faq p{color:#647181;line-height:1.75}.sf-cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.sf-cta-wrap h2{margin:0}.sf-cta-wrap p{font-size:16px;opacity:.75}.sf-section a{cursor:pointer}.sf-muted{opacity:.65}
@media(max-width:820px){.sf-container{padding:0 20px}.sf-section{padding:50px 0}.sf-hero-grid,.sf-image-text{grid-template-columns:1fr;gap:26px}.sf-reverse>div:first-child{order:initial}.sf-hero-img,.sf-image-side{min-height:250px}.sf-features,.sf-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-stats{grid-template-columns:repeat(2,1fr)}.sf-cta-wrap{align-items:flex-start;flex-direction:column}}
@media(max-width:540px){.sf-features,.sf-collection,.sf-gallery{grid-template-columns:1fr}.sf-section-head{display:block}.sf-section-head>a{display:block;margin-top:13px}.sf-item-img{height:220px}.sf-hero-grid{gap:22px}.sf-hero-copy p{font-size:16px}.sf-stats{gap:28px}}
.sf-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid #e5eaf0}.sf-attribute{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e5eaf0;padding:19px 10px;font-size:14px}.sf-attribute span{color:#748497}.sf-attribute strong{font-weight:720;text-align:right}@media(max-width:640px){.sf-attributes{grid-template-columns:1fr}}
/* SiteForge responsive no-code grid container */
.sf-layout-grid{display:grid;grid-template-columns:var(--sf-layout-cols,1fr 1fr);gap:var(--sf-layout-gap,24px);align-items:stretch}
.sf-layout-column{min-width:0}.sf-layout-column>.sf-section{padding:0;margin:0 0 18px}.sf-layout-column .sf-container{width:100%;padding:0}
.sf-layout-column>.sf-section:last-child{margin-bottom:0}
@media(max-width:820px){.sf-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.sf-layout-grid{grid-template-columns:minmax(0,1fr)!important}}
/* V8.6: accessible, script-free commercial design blocks */
.sf-slides{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 18px;scrollbar-width:thin}
.sf-slide{flex:0 0 min(78%,720px);min-width:220px;margin:0;scroll-snap-align:start}
.sf-slide img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.sf-slide figcaption{padding:10px 2px;opacity:.7;font-size:14px}
.sf-video{aspect-ratio:16/9;max-width:1000px;background:#ebf0f5;border-radius:10px;overflow:hidden}
.sf-video iframe{width:100%;height:100%;border:0}
.sf-tab{padding:19px 0;border-bottom:1px solid #dde4ec;max-width:960px}
.sf-tab summary{font-size:18px;font-weight:700;cursor:pointer}.sf-tab p{max-width:850px;line-height:1.8}
.sf-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.sf-price{padding:28px;background:#fff;border:1px solid #dee5ef;border-radius:10px;color:#29394b}
.sf-price strong{display:block;font-size:27px;margin:14px 0}.sf-price li{margin:11px 0}.sf-price ul{padding-left:19px}
.sf-map-address{font-style:normal;font-size:18px;white-space:pre-line;line-height:1.8}
@media (prefers-reduced-motion:reduce){.sf-slides{scroll-behavior:auto}.sf-item{transition:none}}
@media(max-width:540px){.sf-slide{flex-basis:92%}}
/* V8.33.1 grid-class collision fix: block section and inner collection/features
share a class. The section must NOT become a grid container itself.
Restrict grid layout to its dedicated inner element. */
.sf-section.sf-features,.sf-section.sf-collection,.sf-section.sf-stats,.sf-section.sf-gallery,.sf-section.sf-attributes{display:block;grid-template-columns:none}
.sf-section.sf-faq{max-width:none}
/* V8.34: opt-in no-code compositions; no change for legacy blocks with no choice. */
.sf-hero-grid.sf-hero-layout-image-first > .sf-hero-img{order:-1}
.sf-hero-grid.sf-hero-layout-centered{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
.sf-hero-grid.sf-hero-layout-centered .sf-hero-copy{max-width:900px;margin-inline:auto}
.sf-hero-grid.sf-hero-layout-centered .sf-hero-img{width:100%;min-height:240px;max-height:540px}
.sf-hero-grid.sf-fit-contain .sf-hero-img img{object-fit:contain}
.sf-collection.sf-fit-contain .sf-item-img{background:#f4f7f9}
.sf-collection.sf-fit-contain .sf-item-img img{object-fit:contain}
.sf-collection.sf-card-style-compact .sf-item-img{height:156px}
.sf-collection.sf-card-style-compact .sf-item-copy{padding:16px 19px}
.sf-collection.sf-card-style-compact .sf-item-copy h3{font-size:clamp(16px,1.5vw,20px);margin:8px 0 5px}
.sf-collection.sf-card-style-compact .sf-item-copy p{font-size:13px;min-height:0}
.sf-collection.sf-card-style-showcase .sf-item-img{height:auto;aspect-ratio:16/10}
.sf-collection.sf-card-style-showcase .sf-item-copy{padding:25px}
.sf-collection.sf-card-style-showcase .sf-item-copy h3{font-size:clamp(19px,2vw,26px)}
@media(max-width:820px){.sf-hero-grid.sf-hero-layout-image-first > .sf-hero-img{order:initial}}
@media(max-width:540px){.sf-collection.sf-card-style-compact .sf-item-img{height:180px}.sf-hero-grid.sf-hero-layout-centered .sf-hero-img{min-height:200px}}
@media(prefers-reduced-motion:reduce){.sf-collection.sf-card-style-showcase .sf-item{transition:none}}
/* Industrial product photography respects *explicit* image fit, not archived defaults. */
.sf-theme-industrial .pro-custom-content .sf-collection.sf-fit-cover .sf-item-img img{object-fit:cover}
.sf-theme-industrial .pro-custom-content .sf-collection.sf-fit-contain .sf-item-img img{object-fit:contain}
/* V8.34.1 opt-in multi-Banner. No autoplay, low JS cost, native swipe and keyboard scroll. */
.sf-hero-slider{min-width:0}.sf-hero-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.sf-hero-track::-webkit-scrollbar{display:none}
.sf-hero-panel{flex:0 0 100%;width:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.sf-hero-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;color:inherit}
.sf-hero-controls button{border:1px solid currentColor;border-radius:50%;width:40px;height:40px;font-size:24px;line-height:1;background:transparent;color:inherit;cursor:pointer}
.sf-hero-controls button:focus-visible{outline:3px solid var(--accent,#3569d3);outline-offset:3px}
.sf-hero-count{font-size:13px;font-weight:700;min-width:40px;text-align:center}
@media(prefers-reduced-motion:reduce){.sf-hero-track{scroll-behavior:auto}}
.sf-hero-panel .sf-hero-copy h2{font-size:clamp(38px,5vw,76px);font-weight:790;letter-spacing:-.052em}
/* Trust bar: horizontal credibility strip under the hero (icon + title + note). */
.sf-section.sf-trust_bar{padding:38px 0}
.sf-trust-bar{display:grid;grid-template-columns:repeat(var(--sf-trust-cols,4),minmax(0,1fr))}
.sf-trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 20px;border-inline-end:1px solid #dce3eb}
.sf-trust-item:last-child{border-inline-end:0}
.sf-trust-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eef2f8;color:var(--accent,#315ee2);font-size:18px;font-weight:800;margin-bottom:6px}
.sf-trust-item strong{font-size:15px}
.sf-trust-text{font-size:13px;opacity:.68;line-height:1.55}
@media(max-width:820px){.sf-trust-bar{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.sf-trust-item:nth-child(2n){border-inline-end:0}}
@media(max-width:540px){.sf-trust-bar{grid-template-columns:minmax(0,1fr)}.sf-trust-item{border-inline-end:0}}
/* Applications band: dark gradient strip with a 2x2 tile grid. */
.sf-section.sf-applications_band{background:linear-gradient(115deg,#101828,#1d3a6e 78%);color:#f5f7fa}
.sf-applications-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sf-app-tile{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:26px 24px}
.sf-app-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);font-size:17px;font-weight:800;margin-bottom:12px}
.sf-app-tile h3{font-size:20px;margin:0 0 6px}
.sf-app-tile p{font-size:14px;line-height:1.65;opacity:.75;margin:0}
@media(max-width:540px){.sf-applications-band{grid-template-columns:minmax(0,1fr)}}
/* ════════ Layer B:trade-pro 视觉桥接(sf-tp-* 模板语汇 → sf-* 区块)════════ */
/* ── 画布守护(V8.33 既有约定):区块节不溢出栅格列、贴入图片不撑破版心;
下方媒体规则后置覆写 height,恢复卡片/实景框的定高裁剪 ── */
.sf-theme-trade-pro .sf-canvas .sf-section{max-width:100%;min-width:0}
.sf-theme-trade-pro .sf-section img{max-width:100%;height:auto}
.sf-theme-trade-pro :is(a,button,input,select,textarea):focus-visible{outline:3px solid #2563eb;outline-offset:3px}
/* ── 共享元素:眉题(eyebrow)/ 按钮(sf-tp-btn)/ 文字链接 / 区块头行 ── */
.sf-theme-trade-pro .sf-kicker{color:var(--sf-tp-color-brand-accent);font-weight:var(--sf-tp-font-weight-bold);font-size:var(--sf-tp-font-size-xs);letter-spacing:var(--sf-tp-letter-spacing-wide);margin-block-end:var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-button{min-height:var(--sf-tp-button-height-md);padding:var(--sf-tp-space-2) var(--sf-tp-button-padding-x-md);gap:var(--sf-tp-space-2);border-radius:var(--sf-tp-button-border-radius);background:var(--sf-tp-color-surface-brand);border:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-brand);color:var(--sf-tp-color-text-on-brand)!important;font-size:var(--sf-tp-font-size-md);font-weight:var(--sf-tp-button-font-weight);line-height:var(--sf-tp-line-height-snug);margin-block-start:var(--sf-tp-space-6);transition:background-color var(--sf-tp-duration-fast) var(--sf-tp-easing-standard),transform var(--sf-tp-duration-fast) var(--sf-tp-easing-standard),box-shadow var(--sf-tp-duration-fast) var(--sf-tp-easing-standard),color var(--sf-tp-duration-fast) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-button:hover{transform:translateY(calc(-1 * var(--sf-tp-space-1)));background:var(--sf-tp-color-brand-primary-strong);box-shadow:var(--sf-tp-shadow-sm);color:var(--sf-tp-color-text-on-brand)!important}
.sf-theme-trade-pro .sf-section-head{margin-block-end:var(--sf-tp-space-8);gap:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-section-head>a,.sf-theme-trade-pro .sf-link{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-section-head>a:hover,.sf-theme-trade-pro .sf-link:hover{color:var(--sf-tp-color-text-link-hover)}
.sf-theme-trade-pro .sf-muted{color:var(--sf-tp-color-text-muted);opacity:1}
/* ── hero → sf-tp-hero:藏青→品牌蓝渐变带 + 白字 + 左深右透叠层 + 反色按钮 ── */
.sf-theme-trade-pro .sf-canvas .sf-section.sf-hero{background:var(--sf-bg,linear-gradient(115deg,var(--sf-tp-color-surface-inverse),var(--sf-tp-color-brand-primary-deep) 78%));color:var(--sf-fg,var(--sf-tp-color-text-inverse));padding-block:calc(var(--sf-pad,var(--sf-tp-space-section-y)) + var(--sf-tp-space-8))}
.sf-theme-trade-pro .sf-section.sf-hero .sf-kicker{color:var(--sf-tp-color-text-inverse-muted)}
.sf-theme-trade-pro .sf-section.sf-hero h1,.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-copy h2{color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-copy p{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 88%,transparent);opacity:1;font-size:var(--sf-tp-font-size-lg);line-height:var(--sf-tp-line-height-relaxed)}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-grid{gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4))}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-img{position:relative;aspect-ratio:var(--sf-tp-ratio-landscape);border-radius:var(--sf-tp-radius-md);box-shadow:var(--sf-tp-shadow-lg);background:linear-gradient(130deg,var(--sf-tp-color-surface-inverse-muted),var(--sf-tp-color-brand-primary-deep))}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--sf-tp-color-surface-inverse) 55%,transparent),transparent 62%);pointer-events:none}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-abstract{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 .sf-section.sf-hero .sf-hero-controls button{color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-controls button:focus-visible{outline-color:var(--sf-tp-focus-outline-color-inverse)}
.sf-theme-trade-pro .sf-section.sf-hero .sf-button,.sf-theme-trade-pro .sf-section.sf-cta .sf-button{background:var(--sf-tp-color-surface-default);border-color:var(--sf-tp-color-surface-default);color:var(--sf-tp-color-text-brand)!important}
.sf-theme-trade-pro .sf-section.sf-hero .sf-button:hover,.sf-theme-trade-pro .sf-section.sf-cta .sf-button:hover{background:var(--sf-tp-color-brand-primary);border-color:var(--sf-tp-color-brand-primary);color:var(--sf-tp-color-text-on-brand)!important}
/* ── features → sf-tp-feature-grid:浅渐变底 + 白卡 + 圆形序号位(icon-circle 语汇)── */
.sf-theme-trade-pro .sf-canvas .sf-section.sf-features{background:var(--sf-bg,linear-gradient(135deg,var(--sf-tp-color-neutral-50),var(--sf-tp-color-surface-brand-soft)))}
.sf-theme-trade-pro .sf-features{grid-template-columns:repeat(var(--sf-feature-cols,3),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-feature{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);box-shadow:var(--sf-tp-shadow-xs);text-align:center;padding:var(--sf-tp-space-6) var(--sf-tp-space-4);color:var(--sf-tp-color-text-primary)}
.sf-theme-trade-pro .sf-feature>span{display:grid;place-items:center;width:var(--sf-tp-icon-size-xl);height:var(--sf-tp-icon-size-xl);margin:0 auto var(--sf-tp-space-3);border-radius:var(--sf-tp-radius-full);background:var(--sf-tp-color-surface-brand-soft);color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-sm);font-weight:var(--sf-tp-font-weight-bold)}
.sf-theme-trade-pro .sf-feature h3{font-size:var(--sf-tp-font-size-md);margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-feature p{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);line-height:var(--sf-tp-line-height-normal);margin:0}
/* ── collection → sf-tp-card-grid:发丝边卡 + 悬浮上抬/图缩放 + 4:3 媒体 + 胶囊标签 ──
(card-style 与 fit 变体由 Layer A 以更高特异性继续生效)*/
.sf-theme-trade-pro .sf-collection{gap:var(--sf-tp-space-4) calc(var(--sf-tp-space-4) + var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-item{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);box-shadow:var(--sf-tp-shadow-xs);color:var(--sf-tp-color-text-primary);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-item:hover{transform:translateY(calc(-1 * var(--sf-tp-space-1)));box-shadow:var(--sf-tp-shadow-md)}
.sf-theme-trade-pro .sf-item-img{height:auto;aspect-ratio:var(--sf-tp-ratio-landscape);background:var(--sf-tp-color-surface-muted)}
.sf-theme-trade-pro .sf-item-img img{height:100%;object-fit:cover;transition:transform var(--sf-tp-duration-slow) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-item:hover .sf-item-img img{transform:scale(1.04)}
.sf-theme-trade-pro .sf-item-copy{padding:var(--sf-tp-space-4) var(--sf-tp-space-4) var(--sf-tp-space-5)}
.sf-theme-trade-pro .sf-item-copy small{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);letter-spacing:normal}
.sf-theme-trade-pro .sf-item-copy h3{font-size:var(--sf-tp-font-size-lg);margin:var(--sf-tp-space-2) 0 var(--sf-tp-space-1)}
.sf-theme-trade-pro .sf-item-copy p{color:var(--sf-tp-color-text-muted);font-size:var(--sf-tp-font-size-sm);line-height:var(--sf-tp-line-height-normal)}
.sf-theme-trade-pro .sf-item-copy span{color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-xs);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-placeholder{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)}
/* ── image_text → sf-tp-two-col:1fr/1.22fr 双栏 + 实景框(圆角/投影/4:3)
注:平台 DOM 无第二条数据栏,cms 的悬浮数据条由 stats 区块独立承担 ── */
.sf-theme-trade-pro .sf-image-text{grid-template-columns:1fr 1.22fr;gap:calc(var(--sf-tp-space-12) + var(--sf-tp-space-4))}
.sf-theme-trade-pro .sf-image-text>div>p{color:var(--sf-tp-color-text-muted);opacity:1;font-size:var(--sf-tp-font-size-md);line-height:var(--sf-tp-line-height-relaxed)}
.sf-theme-trade-pro .sf-image-side{aspect-ratio:var(--sf-tp-ratio-landscape);border-radius:var(--sf-tp-radius-md);box-shadow:var(--sf-tp-shadow-md);background:linear-gradient(130deg,var(--sf-tp-color-surface-brand-soft),var(--sf-tp-color-neutral-200))}
.sf-theme-trade-pro .sf-image-side img{height:100%;max-height:none}
.sf-theme-trade-pro .sf-image-side .sf-placeholder,.sf-theme-trade-pro .sf-large{min-height:0}
/* ── stats → sf-tp-stats:白卡数据条 + 列间发丝分隔线 + 品牌色大数字 ──
(卡片落在 .sf-container 内层 .sf-stats 上,不裹住整个区块节)*/
.sf-theme-trade-pro .sf-container .sf-stats{padding:0;border:0;background:var(--sf-tp-color-surface-default);border-radius:var(--sf-tp-radius-sm);box-shadow:var(--sf-tp-shadow-md);overflow:hidden}
.sf-theme-trade-pro .sf-stats>div{text-align:center;padding:var(--sf-tp-space-5) var(--sf-tp-space-2);gap:var(--sf-tp-space-1);border-inline-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default)}
.sf-theme-trade-pro .sf-stats>div:last-child{border-inline-end:0}
.sf-theme-trade-pro .sf-stats strong{color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-2xl);letter-spacing:var(--sf-tp-letter-spacing-tight);line-height:var(--sf-tp-line-height-tight)}
.sf-theme-trade-pro .sf-stats span{color:var(--sf-tp-color-text-muted);opacity:1;font-size:var(--sf-tp-font-size-xs);letter-spacing:normal}
/* ── cta → sf-tp-cta:藏青→品牌蓝渐变带 + 反色(白底品牌字)按钮 ── */
.sf-theme-trade-pro .sf-canvas .sf-section.sf-cta{background:var(--sf-bg,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)));color:var(--sf-fg,var(--sf-tp-color-text-inverse))}
.sf-theme-trade-pro .sf-section.sf-cta .sf-kicker{color:var(--sf-tp-color-text-inverse-muted)}
.sf-theme-trade-pro .sf-section.sf-cta .sf-cta-wrap h2{color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-section.sf-cta .sf-cta-wrap p{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 83%,transparent);opacity:1}
/* ── gallery:令牌语汇网格(圆角 + 发丝投影 + 悬浮轻缩放)── */
.sf-theme-trade-pro .sf-gallery{gap:calc(var(--sf-tp-space-4) - var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-gallery img{height:auto;aspect-ratio:var(--sf-tp-ratio-landscape);object-fit:cover;border-radius:var(--sf-tp-radius-sm);box-shadow:var(--sf-tp-shadow-xs);transition:transform var(--sf-tp-duration-fast) var(--sf-tp-easing-standard)}
.sf-theme-trade-pro .sf-gallery img:hover{transform:scale(1.03)}
/* ── faq / tabs:details 折叠走 theme.css 元素基线(卡片形态),本层只收敛
区块内间距与文案色 ── */
.sf-theme-trade-pro .sf-faq details{border-radius:var(--sf-tp-radius-sm)}
.sf-theme-trade-pro .sf-faq p{color:var(--sf-tp-color-text-muted)}
.sf-theme-trade-pro .sf-tab-list{display:grid;gap:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-tab{max-width:none;padding:0;border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-tab summary{font-size:var(--sf-tp-font-size-md);font-weight:var(--sf-tp-font-weight-semibold)}
.sf-theme-trade-pro .sf-tab p{color:var(--sf-tp-color-text-muted);max-width:none}
/* ── richtext → sf-tp-article-body 排版层:次级文字 + 松弛行高 + 发丝表格 ── */
.sf-theme-trade-pro .sf-prose{color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-md);line-height:var(--sf-tp-line-height-relaxed)}
.sf-theme-trade-pro .sf-prose p{line-height:var(--sf-tp-line-height-relaxed)}
.sf-theme-trade-pro .sf-prose h2,.sf-theme-trade-pro .sf-prose h3,.sf-theme-trade-pro .sf-prose h4{color:var(--sf-tp-color-text-primary);margin-block:var(--sf-tp-space-6) var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-prose img{border-radius:var(--sf-tp-radius-md)}
.sf-theme-trade-pro .sf-prose ul,.sf-theme-trade-pro .sf-prose ol{padding-inline-start:var(--sf-tp-space-6);margin-block-end:var(--sf-tp-space-5)}
.sf-theme-trade-pro .sf-prose li{margin-block-end:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-prose blockquote{border-inline-start:var(--sf-tp-border-width-medium) solid var(--sf-tp-color-border-brand);padding-inline-start:var(--sf-tp-space-4);color:var(--sf-tp-color-text-muted);margin-block-end:var(--sf-tp-space-5)}
.sf-theme-trade-pro .sf-prose table{width:100%;border-collapse:collapse;font-size:var(--sf-tp-font-size-sm);margin-block:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-prose th,.sf-theme-trade-pro .sf-prose 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-prose tbody tr:nth-child(even) td{background:var(--sf-tp-color-neutral-50)}
/* ── carousel → sf-slides:横滚 snap 基线在 Layer A,本层补圆角/投影/注脚色 ── */
.sf-theme-trade-pro .sf-slides{gap:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-slide img{border-radius:var(--sf-tp-radius-sm);box-shadow:var(--sf-tp-shadow-sm)}
.sf-theme-trade-pro .sf-slide figcaption{color:var(--sf-tp-color-text-muted);opacity:1;font-size:var(--sf-tp-font-size-xs)}
/* ── video:16:9 容器 + 圆角 + 投影(节级 max-width/比例残留由本层归零)── */
.sf-theme-trade-pro .sf-section.sf-video{max-width:none;aspect-ratio:auto}
.sf-theme-trade-pro .sf-container .sf-video{border-radius:var(--sf-tp-radius-sm);box-shadow:var(--sf-tp-shadow-md);background:var(--sf-tp-color-surface-muted)}
.sf-theme-trade-pro .sf-section.sf-video>p{color:var(--sf-tp-color-text-muted)}
/* ── pricing:白卡 + 品牌色价格 + 特性列表 ── */
.sf-theme-trade-pro .sf-prices{gap:calc(var(--sf-tp-space-4) + var(--sf-tp-space-1))}
.sf-theme-trade-pro .sf-price{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);box-shadow:var(--sf-tp-shadow-xs);padding:var(--sf-tp-card-padding-lg);color:var(--sf-tp-color-text-primary)}
.sf-theme-trade-pro .sf-price strong{color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-2xl);letter-spacing:var(--sf-tp-letter-spacing-tight)}
.sf-theme-trade-pro .sf-price li{color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-price .sf-button{margin-block-start:var(--sf-tp-space-4)}
/* ── attributes / map:spec-table 语汇(键灰值深 + 发丝线)── */
.sf-theme-trade-pro .sf-container .sf-attributes{border-block-start:0}
.sf-theme-trade-pro .sf-attribute{border-block-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-default);padding:var(--sf-tp-space-4) var(--sf-tp-space-1);font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-attribute span{color:var(--sf-tp-color-text-muted)}
.sf-theme-trade-pro .sf-attribute strong{color:var(--sf-tp-color-text-primary)}
.sf-theme-trade-pro .sf-map-address{color:var(--sf-tp-color-text-secondary);font-size:var(--sf-tp-font-size-md)}
/* ── trust_bar → sf-tp-trustbar(Task 13b):白底横带 + icon-circle(brand-soft 底
品牌字)+ 列间发丝分隔线(cms 首页信任条语汇)── */
.sf-theme-trade-pro .sf-canvas .sf-section.sf-trust_bar{background:var(--sf-bg,var(--sf-tp-color-surface-default));padding-block:calc(var(--sf-pad,var(--sf-tp-space-10)) - var(--sf-tp-space-2))}
.sf-theme-trade-pro .sf-trust-item{padding:var(--sf-tp-space-2) var(--sf-tp-space-4);gap:var(--sf-tp-space-1);border-inline-end:var(--sf-tp-border-width-hairline) solid var(--sf-tp-color-border-subtle)}
.sf-theme-trade-pro .sf-trust-item:last-child{border-inline-end:0}
.sf-theme-trade-pro .sf-trust-icon{width:var(--sf-tp-icon-size-xl);height:var(--sf-tp-icon-size-xl);margin-block-end:var(--sf-tp-space-2);border-radius:var(--sf-tp-radius-full);background:var(--sf-tp-color-surface-brand-soft);color:var(--sf-tp-color-text-brand);font-size:var(--sf-tp-font-size-md);box-shadow:var(--sf-tp-shadow-xs)}
.sf-theme-trade-pro .sf-trust-item strong{color:var(--sf-tp-color-text-primary);font-size:var(--sf-tp-font-size-md)}
.sf-theme-trade-pro .sf-trust-text{color:var(--sf-tp-color-text-muted);opacity:1;font-size:var(--sf-tp-font-size-sm);line-height:var(--sf-tp-line-height-normal)}
/* ── applications_band → sf-tp-applications(Task 13b):藏青→品牌蓝渐变带 +
2×2 玻璃瓦片(inverse 透底 + 发丝透边 + 品牌圆标,cms 应用带语汇)── */
.sf-theme-trade-pro .sf-canvas .sf-section.sf-applications_band{background:var(--sf-bg,linear-gradient(115deg,var(--sf-tp-color-surface-inverse),var(--sf-tp-color-brand-primary-deep) 78%));color:var(--sf-fg,var(--sf-tp-color-text-inverse))}
.sf-theme-trade-pro .sf-section.sf-applications_band .sf-kicker{color:var(--sf-tp-color-text-inverse-muted)}
.sf-theme-trade-pro .sf-section.sf-applications_band .sf-section-head h2{color:var(--sf-tp-color-text-inverse)}
.sf-theme-trade-pro .sf-applications-band{gap:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-app-tile{background:color-mix(in srgb,var(--sf-tp-color-text-inverse) 7%,transparent);border:var(--sf-tp-border-width-hairline) solid color-mix(in srgb,var(--sf-tp-color-text-inverse) 18%,transparent);border-radius:var(--sf-tp-card-border-radius);padding:var(--sf-tp-space-5);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-app-tile:hover{transform:translateY(calc(-1 * var(--sf-tp-space-1)));box-shadow:var(--sf-tp-shadow-md)}
.sf-theme-trade-pro .sf-app-icon{width:var(--sf-tp-icon-size-xl);height:var(--sf-tp-icon-size-xl);margin-block-end:var(--sf-tp-space-3);border-radius:var(--sf-tp-radius-full);background:var(--sf-tp-color-surface-brand);color:var(--sf-tp-color-text-on-brand);font-size:var(--sf-tp-font-size-md)}
.sf-theme-trade-pro .sf-app-tile h3{color:var(--sf-tp-color-text-inverse);font-size:var(--sf-tp-font-size-md);margin-block-end:var(--sf-tp-space-1)}
.sf-theme-trade-pro .sf-app-tile p{color:color-mix(in srgb,var(--sf-tp-color-text-inverse) 80%,transparent);opacity:1;font-size:var(--sf-tp-font-size-sm);line-height:var(--sf-tp-line-height-normal);margin:0}
/* ── 桥接层响应式(断点随模板:900 栅格堆叠 / 620 紧凑;Layer A 的 820/540
设备控制语义由 responsive.py 继续接管 padding/显隐)── */
@media (max-width: 900px){
.sf-theme-trade-pro .sf-hero-grid,.sf-theme-trade-pro .sf-image-text{grid-template-columns:1fr;gap:var(--sf-tp-space-8)}
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-img{aspect-ratio:auto;min-height:280px}
.sf-theme-trade-pro .sf-features{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-theme-trade-pro .sf-collection{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-theme-trade-pro .sf-gallery{grid-template-columns:repeat(2,1fr)}
.sf-theme-trade-pro .sf-cta-wrap{align-items:flex-start;flex-direction:column}
.sf-theme-trade-pro .sf-trust-bar{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--sf-tp-space-6)}
.sf-theme-trade-pro .sf-trust-item:nth-child(2n){border-inline-end:0}
}
@media (max-width: 620px){
.sf-theme-trade-pro .sf-section.sf-hero .sf-hero-grid{gap:var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-hero-controls button{width:36px;height:36px;font-size:20px}
.sf-theme-trade-pro .sf-features{gap:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-collection{gap:var(--sf-tp-space-2) var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-item-copy{padding:var(--sf-tp-space-3) var(--sf-tp-space-3) var(--sf-tp-space-4)}
.sf-theme-trade-pro .sf-item-copy h3{font-size:var(--sf-tp-font-size-md)}
.sf-theme-trade-pro .sf-item-copy p{font-size:var(--sf-tp-font-size-xs)}
.sf-theme-trade-pro .sf-gallery{gap:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-stats{grid-template-columns:repeat(2,1fr)}
.sf-theme-trade-pro .sf-stats>div{padding:var(--sf-tp-space-3) var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-stats strong{font-size:var(--sf-tp-font-size-xl)}
.sf-theme-trade-pro .sf-section-head{display:block}
.sf-theme-trade-pro .sf-section-head>a{display:inline-block;margin-block-start:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-cta-wrap p{font-size:var(--sf-tp-font-size-sm)}
.sf-theme-trade-pro .sf-price{padding:var(--sf-tp-card-padding-md)}
.sf-theme-trade-pro .sf-trust-bar{grid-template-columns:minmax(0,1fr)}
.sf-theme-trade-pro .sf-trust-item{border-inline-end:0;padding:var(--sf-tp-space-2)}
.sf-theme-trade-pro .sf-applications-band{gap:var(--sf-tp-space-3)}
.sf-theme-trade-pro .sf-app-tile{padding:var(--sf-tp-space-4)}
}
/* 动效尊重系统偏好(Layer A 同款契约,覆盖本层新增过渡)*/
@media(prefers-reduced-motion:reduce){
.sf-theme-trade-pro .sf-item,.sf-theme-trade-pro .sf-item-img img,.sf-theme-trade-pro .sf-gallery img,.sf-theme-trade-pro .sf-button{transition:none}
.sf-theme-trade-pro .sf-item:hover,.sf-theme-trade-pro .sf-button:hover{transform:none}
.sf-theme-trade-pro .sf-item:hover .sf-item-img img,.sf-theme-trade-pro .sf-gallery img:hover{transform:none}
.sf-theme-trade-pro .sf-app-tile{transition:none}
.sf-theme-trade-pro .sf-app-tile:hover{transform:none}
}
/* 画布列内区块的移动端收边(V8.33 既有约定)*/
@media(max-width:640px){.sf-theme-trade-pro .sf-layout-column{min-width:0}.sf-theme-trade-pro .sf-canvas .sf-section{padding-inline:clamp(12px,4vw,24px)}}
/* ══════════════════════════════════════════════════════════
HERO BANNER — 全幅背景轮播大横幅
结构:section > container > grid > [copy, img]
目标:图片铺满全屏宽 → 渐变叠加 → 文字左下角 → 按钮可见
══════════════════════════════════════════════════════════ */
/* ── 1. section 层:去 padding、去底色、设为定位上下文 ── */
.sf-theme-trade-pro section.sf-section.sf-hero {
padding: 0 !important;
margin: 0 !important;
background: #0f2544 !important; /* 无图时的深色兜底 */
position: relative;
overflow: hidden;
}
/* ── 2. container 层:撑满 section 宽度(去掉 max-width) ── */
.sf-theme-trade-pro section.sf-section.sf-hero > .sf-container {
max-width: 100% !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
/* ── 3. grid 层:变成全幅容器(不再是两列 grid) ── */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-grid.sf-hero-layout-split {
display: flex !important;
flex-direction: column !important;
justify-content: flex-end !important;
position: relative !important;
min-height: min(72vh, 640px) !important;
width: 100% !important;
gap: 0 !important;
overflow: hidden;
}
/* ── 4. 图片层:绝对定位铺满整个 hero 区域 ── */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img {
position: absolute !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
width: 100% !important;
height: 100% !important;
min-height: 0 !important;
border-radius: 0 !important;
background: #0f2544 !important;
z-index: 0 !important;
overflow: hidden;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
display: block;
max-height: none !important;
}
/* 渐变叠加:左深右透 */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img::after {
content: '' !important;
position: absolute;
inset: 0;
background: linear-gradient(90deg,
rgba(15,37,68,0.82) 0%,
rgba(15,37,68,0.50) 45%,
rgba(8,116,223,0.12) 100%);
pointer-events: none;
}
/* 无图时的品牌渐变 */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract {
background: linear-gradient(135deg, #0f2544, #0874df) !important;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract span { display: none !important; }
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img.sf-hero-abstract::after { display: none !important; }
/* ── 5. 文字层:在图片上方,对齐整站版心(1200px) ── */
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy {
position: relative !important;
z-index: 2 !important;
max-width: 1200px;
width: 100%;
margin: 0 auto;
padding: 0 32px calc(min(72vh, 640px) * 0.12);
display: flex;
flex-direction: column;
justify-content: flex-end;
min-height: min(72vh, 640px);
box-sizing: border-box;
color: #fff !important;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-kicker {
color: #a8c8e8 !important;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy h1,
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy h2 {
color: #fff !important;
text-shadow: 0 2px 16px rgba(0,0,0,0.35);
max-width: 640px;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy p {
color: rgba(255,255,255,0.85) !important;
max-width: 560px;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-button {
color: #ffffff !important;
background: #0874df !important;
border: none !important;
align-self: flex-start;
margin-top: 24px;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy .sf-button:hover {
background: #065bb8 !important;
color: #ffffff !important;
}
/* ── 6. 移动端:上透明下深色,文字底部 ── */
@media (max-width: 620px) {
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-grid.sf-hero-layout-split {
min-height: min(64vh, 480px) !important;
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-img::after {
background: linear-gradient(180deg,
transparent 0%,
rgba(15,37,68,0.35) 50%,
rgba(15,37,68,0.92) 100%);
}
.sf-theme-trade-pro section.sf-section.sf-hero .sf-hero-copy {
padding: 0 16px 24px;
min-height: min(64vh, 480px);
}
}
/* ── 区块级字号/颜色自定义(编辑器实时预览消费)── */
.sf-section h1,.sf-section h2{font-size:var(--sf-title-size,clamp(38px,5vw,76px))!important}
.sf-section h3{font-size:calc(var(--sf-title-size,28px) * 0.6)!important}
.sf-section p,.sf-section li{font-size:var(--sf-text-size,16px)!important}
.sf-section .sf-kicker{color:var(--sf-accent-c,#3569d3)!important}
.sf-section .sf-link,.sf-section .sf-section-head>a,.sf-section .sf-item-copy small{color:var(--sf-accent-c,#3569d3)!important}
.sf-section .sf-button{background:var(--sf-btn-c,var(--accent,#315ee2))!important}
/* ════════════════════════════════════════════════════
联系页面美化 — 双栏 + 表单 + 地图 + FAQ
════════════════════════════════════════════════════ */
/* ── 联系双栏容器 ── */
.sf-theme-trade-pro .sf-contact-grid{
display:grid !important;
grid-template-columns:0.85fr 1.15fr !important;
gap:56px;align-items:start;
}
/* ── 左侧联系信息 ── */
.sf-theme-trade-pro .sf-contact-info .sf-kicker{
display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
font-weight:750;color:#0874df;background:#edf7ff;
padding:6px 14px;border-radius:99px;margin-bottom:16px;
}
.sf-theme-trade-pro .sf-contact-info h2{
font-size:clamp(24px,2.5vw,32px);font-weight:750;color:#0f2544;
margin:0 0 10px;letter-spacing:-.5px;
}
.sf-theme-trade-pro .sf-contact-desc{
color:#5a6a7e;line-height:1.7;margin:0 0 32px;font-size:15px;
}
.sf-theme-trade-pro .sf-contact-list{display:grid;gap:0}
.sf-theme-trade-pro .sf-contact-item{
display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;
padding:18px 0;border-bottom:1px solid #edf1f6;
}
.sf-theme-trade-pro .sf-contact-item:first-child{padding-top:0}
.sf-theme-trade-pro .sf-contact-item:last-child{border-bottom:none;padding-bottom:0}
.sf-theme-trade-pro .sf-contact-item:last-child{border-bottom:1px solid transparent}
.sf-theme-trade-pro .sf-contact-icon{
width:52px;height:52px;display:grid;place-items:center;
border-radius:14px;background:linear-gradient(135deg,#0874df,#0a5bb5);color:#fff;
font-size:20px;box-shadow:0 4px 14px rgba(8,116,223,.25);
}
.sf-theme-trade-pro .sf-contact-item strong{
display:block;font-size:14px;font-weight:700;color:#0f2544;margin-bottom:3px;
}
.sf-theme-trade-pro .sf-contact-item p{
margin:0;color:#64748b;font-size:13px;line-height:1.5;
}
/* ── 右侧表单卡 ── */
.sf-theme-trade-pro .sf-form-card{
background:linear-gradient(180deg,#f8faff,#f0f4fa);
padding:36px 32px 32px;border-radius:16px;
border:1px solid #e2e8f2;
box-shadow:0 8px 32px rgba(15,37,68,.06);
}
.sf-theme-trade-pro .sf-form-title{
font-size:clamp(20px,2vw,26px);font-weight:750;color:#0f2544;margin:0 0 6px;letter-spacing:-.4px;
}
.sf-theme-trade-pro .sf-form-text{color:#64748b;margin:0 0 24px;font-size:14px;line-height:1.6}
.sf-theme-trade-pro .sf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sf-theme-trade-pro .sf-form-field{display:flex;flex-direction:column;gap:6px}
.sf-theme-trade-pro .sf-form-field label{
font-size:12px;font-weight:650;color:#3d5067;letter-spacing:.02em;
}
.sf-theme-trade-pro .sf-form-field input,
.sf-theme-trade-pro .sf-form-field textarea{
padding:12px 16px;border:1.5px solid #d9e1ec;border-radius:10px;
font:inherit;font-size:14px;background:#fff;
transition:border-color .2s,box-shadow .2s;
}
.sf-theme-trade-pro .sf-form-field input::placeholder,
.sf-theme-trade-pro .sf-form-field textarea::placeholder{color:#a0b0c4}
.sf-theme-trade-pro .sf-form-field input:focus,
.sf-theme-trade-pro .sf-form-field textarea:focus{
border-color:#0874df;box-shadow:0 0 0 4px rgba(8,116,223,.1);outline:none;
}
.sf-theme-trade-pro .sf-form-full{grid-column:1 / -1}
.sf-theme-trade-pro .sf-form-submit{
grid-column:1 / -1;justify-self:stretch;margin-top:4px;
padding:14px 24px;border-radius:10px;font-size:15px;font-weight:700;
background:linear-gradient(135deg,#0874df,#0a5bb5);color:#fff;
border:none;cursor:pointer;
box-shadow:0 6px 20px rgba(8,116,223,.3);
transition:transform .15s,box-shadow .15s;
}
.sf-theme-trade-pro .sf-form-submit:hover{
transform:translateY(-1px);box-shadow:0 8px 28px rgba(8,116,223,.4);
}
/* ── 地图区块 ── */
.sf-theme-trade-pro section.sf-section.sf-map{
padding:0 !important;background:#0f2544 !important;
}
.sf-theme-trade-pro section.sf-section.sf-map .sf-container{max-width:100% !important;padding:0 !important}
.sf-theme-trade-pro section.sf-section.sf-map .sf-section-head{
padding:48px 32px 24px;max-width:1200px;margin:0 auto;
}
.sf-theme-trade-pro section.sf-section.sf-map h2{
color:#fff;font-size:clamp(24px,2.5vw,32px);font-weight:750;margin:0 0 4px;
}
.sf-theme-trade-pro .sf-map-address{
display:block;color:#a8c8e8;font-size:14px;padding:0 32px 20px;max-width:1200px;margin:0 auto;font-style:normal;
}
.sf-theme-trade-pro .sf-map-embed{width:100%;line-height:0}
.sf-theme-trade-pro .sf-map-embed iframe{
width:100%;height:420px;border:none;filter:saturate(.9);
}
/* ── FAQ 区块美化 ── */
.sf-theme-trade-pro .sf-section.sf-faq{
background:linear-gradient(180deg,#f8faff,#fff);
}
.sf-theme-trade-pro .sf-faq summary{
font-size:16px;font-weight:650;color:#0f2544;padding:20px 0;cursor:pointer;
display:flex;align-items:center;gap:12px;list-style:none;
}
.sf-theme-trade-pro .sf-faq summary::-webkit-details-marker{display:none}
.sf-theme-trade-pro .sf-faq summary::before{
content:'?';flex-shrink:0;width:28px;height:28px;border-radius:8px;
background:#edf7ff;color:#0874df;font-size:14px;font-weight:800;
display:grid;place-items:center;
}
.sf-theme-trade-pro .sf-faq summary:hover{color:#0874df}
.sf-theme-trade-pro .sf-faq details{
border:none;border-bottom:1px solid #edf1f6;
background:none;padding:0;
}
.sf-theme-trade-pro .sf-faq p{padding:0 0 20px 40px;color:#5a6a7e;line-height:1.7;font-size:14px}
/* ── 移动端 ── */
@media(max-width:900px){
.sf-theme-trade-pro .sf-contact-grid{grid-template-columns:1fr !important;gap:28px}
.sf-theme-trade-pro .sf-contact-item{padding:14px 0}
.sf-theme-trade-pro .sf-contact-icon{width:44px;height:44px;font-size:17px;border-radius:12px}
.sf-theme-trade-pro .sf-form-card{padding:24px 20px}
.sf-theme-trade-pro .sf-form-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
.sf-theme-trade-pro .sf-contact-grid{gap:20px}
.sf-theme-trade-pro .sf-form-card{padding:20px 16px;border-radius:12px}
.sf-theme-trade-pro .sf-map-embed iframe{height:280px}
}