/* ==========================================================================
   site-upgrade.css — 前端视觉升级层(叠加在 base.css / nav_styles.css 之后)
   仅硬编码"与品牌无关"的排版/间距/中性色;强调色一律 var(--c-*) 跟随租户设置。
   自托管 Inter(拉丁+拉丁扩展),CJK 回退系统字体。
   回滚:删掉 header.html 里这一条 <link> 即可,本文件与字体留着无副作用。
   ========================================================================== */

/* ---------- 1) 自托管 Inter ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/static/site/fonts/inter-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/static/site/fonts/inter-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/static/site/fonts/inter-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/static/site/fonts/inter-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/static/site/fonts/inter-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/static/site/fonts/inter-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/static/site/fonts/inter-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/static/site/fonts/inter-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/static/site/fonts/inter-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/static/site/fonts/inter-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- 2) 令牌:字体族(所有 var(--font) 使用者自动切 Inter) ---------- */
:root{
  --font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
}

/* ---------- 3) 排版基线 ---------- */
body{
  font-family:var(--font);
  font-size:16px;
  line-height:1.7;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
input,button,textarea,select{ font-family:inherit; }
::selection{ background:color-mix(in srgb, var(--c-primary) 22%, transparent); }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--c-primary); outline-offset:2px; border-radius:3px;
}

/* ---------- 4) 大标题体系(响应式 clamp,主流 B2B 尺度) ---------- */
.hero-title{ font-size:clamp(2.25rem,1.35rem + 3.6vw,3.75rem); line-height:1.08; letter-spacing:-.022em; font-weight:800; }
.hero-subtitle{ font-size:clamp(1.05rem,.95rem + .55vw,1.3rem); line-height:1.6; letter-spacing:0; }
.section-title{ font-size:clamp(1.75rem,1.15rem + 2vw,2.5rem); line-height:1.18; letter-spacing:-.018em; font-weight:700; }

/* ---------- 5) 版心节奏:板块留白更大气 ---------- */
.block-section{
  padding-top:clamp(56px,3.2vw + 34px,104px);
  padding-bottom:clamp(56px,3.2vw + 34px,104px);
}

/* ---------- 6) 富文本正文(产品/新闻/装修块)可读性 ---------- */
.pd-content,.article-content,.rich-content{ font-size:1.0625rem; line-height:1.8; color:var(--c-text); }
.pd-content>:first-child,.article-content>:first-child,.rich-content>:first-child{ margin-top:0; }
.pd-content p,.article-content p,.rich-content p{ margin:0 0 1.15em; }
.pd-content h1,.article-content h1,.rich-content h1{ font-size:clamp(1.9rem,1.4rem + 1.6vw,2.5rem); line-height:1.2; letter-spacing:-.02em; font-weight:800; margin:1.6em 0 .6em; }
.pd-content h2,.article-content h2,.rich-content h2{ font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem); line-height:1.25; letter-spacing:-.015em; font-weight:700; margin:1.5em 0 .55em; }
.pd-content h3,.article-content h3,.rich-content h3{ font-size:1.3rem; line-height:1.3; font-weight:700; margin:1.35em 0 .5em; }
.pd-content h4,.article-content h4,.rich-content h4{ font-size:1.12rem; line-height:1.35; font-weight:600; margin:1.2em 0 .5em; }
.pd-content ul,.pd-content ol,.article-content ul,.article-content ol,.rich-content ul,.rich-content ol{ line-height:1.8; padding-left:1.4em; margin:0 0 1.15em; }
.pd-content li,.article-content li,.rich-content li{ margin:.3em 0; }
.pd-content blockquote,.article-content blockquote,.rich-content blockquote{ margin:1.4em 0; padding:.4em 0 .4em 1.1em; border-left:3px solid var(--c-primary); color:var(--c-text-muted); font-style:italic; }

/* ---------- 7) 页脚升级(结构沿用,纯样式;强调色跟随租户) ---------- */
.site-footer{ position:relative; padding:72px 0 30px; margin-top:96px; background:var(--c-bg-dark); color:rgba(255,255,255,.66); font-size:15px; }
.site-footer::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,var(--c-primary),var(--c-accent)); }
.site-footer .footer-grid{ grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:48px; margin-bottom:48px; }
.site-footer .footer-logo{ filter:brightness(1.06); }
.site-footer .footer-col h4{ font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#fff; margin:0 0 20px; position:relative; padding-bottom:12px; }
.site-footer .footer-col h4::after{ content:""; position:absolute; left:0; bottom:0; width:28px; height:2px; border-radius:2px; background:var(--c-primary); }
.site-footer .footer-col p,.site-footer .footer-col li{ font-size:14.5px; line-height:1.8; color:rgba(255,255,255,.6); }
.site-footer .footer-about{ max-width:34ch; }
.site-footer .footer-col ul{ list-style:none; padding:0; margin:0; }
.site-footer .footer-col li{ margin-bottom:11px; }
.site-footer .footer-col a{ color:rgba(255,255,255,.68); transition:color .2s,padding-left .2s; }
.site-footer .footer-col li a:hover{ color:#fff; padding-left:6px; }
.site-footer .footer-contact-row{ display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.66); }
.site-footer .footer-contact-row a{ color:rgba(255,255,255,.7); }
.site-footer .footer-contact-row a:hover{ color:#fff; }
.site-footer .footer-contact-row .ic{ width:20px; flex:0 0 20px; text-align:center; opacity:.95; }
.site-footer .footer-social{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.site-footer .footer-social a{ width:38px; height:38px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.82); transition:all .2s; }
.site-footer .footer-social a:hover{ background:var(--c-primary); border-color:var(--c-primary); color:#fff; transform:translateY(-2px); }
.site-footer .footer-social a svg{ width:18px; height:18px; fill:currentColor; }
.site-footer .footer-social a svg [fill="none"]{ fill:none; }
.site-footer .footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-top:24px; margin-top:8px; text-align:center; font-size:13px; letter-spacing:.01em; color:rgba(255,255,255,.5); }

/* ---------- 8) 响应式 ---------- */
@media (max-width:960px){
  .site-footer{ padding:52px 0 26px; margin-top:64px; }
  .site-footer .footer-grid{ grid-template-columns:1fr 1fr; gap:34px 26px; }
}
@media (max-width:560px){
  body{ font-size:15.5px; }
  .site-footer .footer-grid{ grid-template-columns:1fr; gap:30px; }
  .site-footer .footer-social{ gap:8px; }
}

/* ===================== footer-refine-v2 (放大字体+精修,配色随租户) ===================== */
.site-footer{ font-size:16px; padding:84px 0 34px; margin-top:104px; }
.site-footer .footer-logo{ max-height:none; max-width:100%; }
.site-footer .footer-grid{ gap:56px; margin-bottom:54px; }
.site-footer .footer-col h4{ font-size:14px; letter-spacing:.08em; margin:0 0 22px; }
.site-footer .footer-col h4::after{ width:32px; height:2px; }
.site-footer .footer-col p,
.site-footer .footer-col li,
.site-footer .footer-col li a,
.site-footer .footer-about{ font-size:15.5px; line-height:1.85; color:rgba(255,255,255,.74); }
.site-footer .footer-col li{ margin-bottom:11px; }
.site-footer .footer-col li a{ color:rgba(255,255,255,.7); transition:color .18s ease,padding-left .18s ease; }
.site-footer .footer-col li a:hover{ color:#fff; padding-left:4px; }
.site-footer .footer-about{ color:rgba(255,255,255,.68); }
.site-footer .footer-contact-row{ font-size:15.5px; line-height:1.7; margin-bottom:15px; color:rgba(255,255,255,.78); }
.site-footer .footer-contact-row .ic{ width:22px; flex:0 0 22px; }
.site-footer .footer-social{ margin-top:24px; gap:12px; }
.site-footer .footer-social a{ width:40px; height:40px; }
.site-footer .footer-social a svg{ width:19px; height:19px; }
.site-footer .footer-bottom{ font-size:14px; color:rgba(255,255,255,.62); padding-top:28px; }
@media (max-width:960px){
  .site-footer{ padding:64px 0 30px; }
  .site-footer .footer-grid{ gap:40px 48px; }
}
@media (max-width:560px){
  .site-footer{ font-size:15.5px; padding:56px 0 26px; margin-top:72px; }
  .site-footer .footer-col p,
  .site-footer .footer-col li,
  .site-footer .footer-col li a,
  .site-footer .footer-about,
  .site-footer .footer-contact-row{ font-size:15px; }
}

/* ============ site-refine-v3 (卡片/列表/详情/footer手机端 精修, 配色随租户) ============ */

/* ---- 产品卡片(首页动态模块 / 产品列表 / 分类页 通用) ---- */
.products-grid{ grid-template-columns:repeat(4,1fr); gap:28px; }
.product-card{ border-radius:14px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.product-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(15,23,42,.13); border-color:var(--c-border); }
.product-card-body{ padding:20px 20px 22px; }
.product-card h3{ font-size:16px; font-weight:700; margin:0 0 10px; line-height:1.45; }
.product-card .summary{ font-size:14px; line-height:1.6; margin:0 0 14px; }
.product-card .more{ font-size:13.5px; font-weight:700; display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
@media(max-width:1180px){ .products-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:820px){ .products-grid{ grid-template-columns:repeat(2,1fr); gap:18px; } .product-card-body{ padding:16px 16px 18px; } }

/* ---- 新闻卡片(首页动态模块 / 分类页 通用) ---- */
.news-grid{ grid-template-columns:repeat(4,1fr); gap:28px; }
.news-card{ border-radius:14px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.news-card:hover{ transform:translateY(-6px); box-shadow:0 20px 44px rgba(15,23,42,.13); }
.news-cover img{ transition:transform .45s ease; }
.news-card:hover .news-cover img{ transform:scale(1.06); }
.news-card-body{ padding:20px 22px 22px; }
.news-date{ font-size:12.5px; color:var(--c-text-muted); margin-bottom:9px; }
.news-card h3{ font-size:17px; font-weight:700; margin:0 0 10px; line-height:1.45; }
.news-card .summary{ font-size:14px; line-height:1.65; }
.news-grid--3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:1180px){ .news-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:900px){ .news-grid--3{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:820px){ .news-grid{ grid-template-columns:repeat(2,1fr); gap:18px; } }
@media(max-width:560px){ .news-grid{ grid-template-columns:1fr; } .news-grid--3{ grid-template-columns:1fr; } }

/* ---- 新闻列表页(blog-*) ---- */
.blog-layout{ gap:40px; padding-bottom:72px; }
.blog-side{ width:340px; }
.blog-crumb{ font-size:14px; }
.blog-hero{ border-radius:18px; }
.blog-hero-body{ padding:28px 32px 30px; }
.blog-hero-body h2{ font-size:28px; letter-spacing:-.4px; }
.blog-hero-body .summary{ font-size:15.5px; line-height:1.75; }
.blog-date{ font-size:13.5px; }
.blog-more{ font-size:14.5px; }
.blog-row{ border-radius:16px; gap:26px; margin-bottom:22px; }
.blog-row-img{ width:300px; }
.blog-row-body{ padding:24px 28px 24px 0; }
.blog-row-body h3{ font-size:20px; }
.blog-row-body .summary{ font-size:14.5px; line-height:1.7; }
.side-card{ border-radius:16px; padding:22px 24px; }
.side-title{ font-size:16.5px; }
.blog-pager a{ padding:10px 16px; font-size:14px; }
@media(max-width:640px){
  .blog-layout{ gap:28px; padding-bottom:48px; }
  .blog-hero-body{ padding:22px 20px 24px; }
  .blog-hero-body h2{ font-size:22px; }
  .blog-row-body{ padding:18px 20px 20px; }
  .blog-row-body h3{ font-size:18px; }
}

/* ---- 产品详情页(pd-*) ---- */
.product-detail{ gap:56px; margin-top:28px; }
.pd-info h1{ font-size:30px; line-height:1.25; margin:0 0 16px; }
.pd-meta{ gap:22px; margin-bottom:22px; padding-bottom:22px; }
.pd-meta .item{ font-size:13.5px; }
.pd-summary{ font-size:16px; line-height:1.75; margin-bottom:26px; }
.pd-cta{ gap:14px; margin-bottom:8px; }
.pd-cta .btn-quote{ display:inline-flex; align-items:center; gap:8px; padding:15px 32px; background:var(--c-primary); color:#fff; font-size:15.5px; font-weight:700; border-radius:10px; box-shadow:0 8px 22px rgba(15,23,42,.16); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; text-decoration:none; }
.pd-cta .btn-quote:hover{ background:var(--c-primary-dark); transform:translateY(-2px); box-shadow:0 12px 30px rgba(15,23,42,.22); }
.pd-content{ font-size:16px; line-height:1.85; margin-top:56px; }
.pd-content h2{ font-size:25px; margin:32px 0 16px; }
.pd-content h3{ font-size:19px; }
@media(max-width:900px){ .product-detail{ gap:30px; margin-top:20px; } .pd-info h1{ font-size:25px; } .pd-content{ margin-top:40px; } }

/* ---- footer 手机自适应 ---- */
@media(max-width:768px){
  .site-footer .footer-grid{ grid-template-columns:1fr 1fr; gap:34px 28px; }
  .site-footer .footer-col h4{ margin-bottom:16px; }
}
@media(max-width:460px){
  .site-footer .footer-grid{ grid-template-columns:1fr; gap:30px; }
}

/* ============ specs-mobile-v4 (产品详情规格表 手机端精修) ============ */
@media(max-width:768px){
  .specs-body-naked table{ box-shadow:0 1px 4px rgba(15,23,42,.05); }
  .specs-body-naked tbody td:first-child{
    text-transform:uppercase; letter-spacing:.4px;
    font-size:12px; color:#64748b; font-weight:700;
    padding:11px 16px 4px;
  }
  .specs-body-naked tbody td:last-child{
    font-size:14.5px; line-height:1.6; color:#1e293b;
    padding:2px 16px 13px;
  }
}

/* ============ modules-refine-v5 (自定义模块 · 欧美B2B稳重风 · 电脑+平板+手机 · 配色随租户) ============ */

/* —— 区块通用间距 & 标题体系 —— */
.block-section{ padding:88px 0; }
.section-title{ font-size:38px; font-weight:800; letter-spacing:-.4px; margin:0 0 14px; }
.section-subtitle{ font-size:16.5px; line-height:1.65; margin:0 auto 46px; max-width:680px; }

/* —— Hero:稳重深色 + 一抹租户主色微光(去掉紫蓝双光晕) —— */
.block-hero{ background:var(--c-bg-dark); padding:112px 0; }
.block-hero::before{ background:radial-gradient(circle at 78% 26%, var(--c-primary), transparent 58%); opacity:.20; }
.hero-title{ font-size:52px; letter-spacing:-1px; }
.hero-subtitle{ font-size:19px; color:rgba(255,255,255,.82); }
.hero-cta{ box-shadow:0 10px 30px rgba(0,0,0,.22); }

/* —— 两栏图文 —— */
.two-col-grid{ gap:56px; }
.two-col-text h2{ font-size:30px; line-height:1.25; letter-spacing:-.3px; margin:0 0 18px; }
.two-col-text p{ font-size:16px; line-height:1.75; }
.two-col-image img{ border-radius:14px; box-shadow:0 18px 44px rgba(15,23,42,.12); width:100%; }

/* —— 三特性:稳重描边 + 克制阴影,图标底改租户浅色 —— */
.features-grid{ gap:26px; }
.feature-card{ border:1px solid var(--c-border); border-radius:14px; padding:38px 30px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.feature-card:hover{ transform:translateY(-5px); box-shadow:0 18px 42px rgba(15,23,42,.10); border-color:var(--c-border); }
.feature-icon{ width:60px; height:60px; margin:0 auto 20px; border-radius:12px; background:var(--c-primary-light); font-size:26px; }
.feature-card h3{ font-size:19px; margin:0 0 12px; }
.feature-card p{ font-size:15px; line-height:1.7; }

/* —— 文本块 / 富文本装修块:补上容器约束与留白(修复贴边居左) —— */
.block-text-content{ font-size:16px; line-height:1.8; }
.block-render-wrap{ font-size:16px; line-height:1.8; color:var(--c-text); }
.block-render-wrap img{ border-radius:12px; }

/* —— CTA:单一租户主色渐变,稳重不刺眼 —— */
.block-cta{ background:linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%); padding:84px 0; }
.cta-title{ font-size:34px; letter-spacing:-.3px; }
.cta-subtitle{ font-size:17px; color:rgba(255,255,255,.92); }
.cta-button{ color:var(--c-primary); box-shadow:0 10px 30px rgba(0,0,0,.18); }

/* —— 询盘表单:实色主色按钮 —— */
.inquiry-form{ border:1px solid var(--c-border); box-shadow:0 4px 24px rgba(15,23,42,.06); }
.inquiry-form label{ font-size:13px; letter-spacing:.2px; }
.inquiry-submit{ background:var(--c-primary); box-shadow:0 6px 18px rgba(15,23,42,.12); }
.inquiry-submit:hover{ background:var(--c-primary-dark); box-shadow:0 10px 24px rgba(15,23,42,.16); }

/* —— 悬浮客服按钮:去渐变改单色 —— */
#ai-chat-launcher{ background:var(--c-primary); box-shadow:0 8px 24px rgba(15,23,42,.22); }

/* ============ 平板(≤960) ============ */
@media(max-width:960px){
  .block-section{ padding:56px 0; }
  .section-title{ font-size:28px; }
  .section-subtitle{ font-size:15px; margin-bottom:34px; }
  .block-hero{ padding:84px 0; }
  .hero-title{ font-size:38px; }
  .hero-subtitle{ font-size:16px; }
  .two-col-grid{ gap:30px; }
  .two-col-text h2{ font-size:24px; }
  .features-grid{ grid-template-columns:repeat(3,1fr); gap:20px; }
  .feature-card{ padding:30px 22px; }
  .block-cta{ padding:60px 0; }
  .cta-title{ font-size:26px; }
  .cta-subtitle{ font-size:15.5px; }
  .block-render-wrap{ padding:0; }
}

/* ============ 手机(≤640) ============ */
@media(max-width:640px){
  .block-section{ padding:46px 0; }
  .section-title{ font-size:24px; }
  .section-subtitle{ font-size:14.5px; margin-bottom:28px; }
  .block-hero{ padding:66px 0; }
  .hero-title{ font-size:30px; letter-spacing:-.5px; }
  .hero-subtitle{ font-size:15.5px; margin-bottom:28px; }
  .hero-cta{ padding:14px 30px; font-size:15px; }
  .two-col-text h2{ font-size:22px; }
  .two-col-text p{ font-size:15px; }
  .features-grid{ grid-template-columns:1fr; gap:16px; max-width:420px; margin-left:auto; margin-right:auto; }
  .feature-card{ padding:28px 24px; }
  .block-cta{ padding:52px 0; }
  .cta-title{ font-size:23px; }
  .cta-button{ padding:14px 32px; font-size:15px; }
  .inquiry-form{ padding:22px 18px; }
  .block-text-content{ font-size:15px; }
  .block-render-wrap{ font-size:15px; padding:0; }
}
/* ============================================================
   site-refine-v6 · 质感统一层 (追加到 site-upgrade.css 末尾)
   目标: 在现有 v3/v4/v5 基础上再提一档"精致 / 大气"
   原则: 纯加法; 不给 section/body 加任何 max-width;
         不动 .container / --container-w; 通栏模块不受影响;
         配色全部走 var(--c-primary) 跟随租户主题
   ============================================================ */

/* ---------- 1) 深度 / 圆角 / 缓动 令牌(新增, 不覆盖旧变量) ---------- */
:root{
  --radius-sm:10px;
  --radius:14px;
  --radius-lg:20px;
  --radius-xl:26px;
  --shadow-xs:0 1px 2px rgba(15,23,42,.05);
  --shadow-sm:0 4px 14px rgba(15,23,42,.06);
  --shadow-md:0 14px 36px rgba(15,23,42,.09);
  --shadow-lg:0 28px 64px rgba(15,23,42,.13);
  --ring:0 0 0 3px color-mix(in srgb, var(--c-primary) 15%, transparent);
  --ease:cubic-bezier(.2,.7,.2,1);
}

html{ scroll-behavior:smooth; }

/* ---------- 2) 统一强调小标签(模板区块 & 装修块共用一套视觉) ---------- */
.section-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-size:13px; letter-spacing:3px; font-weight:700;
  color:var(--c-primary); text-transform:uppercase; margin-bottom:16px;
}
.section-eyebrow::before{ content:""; width:32px; height:2px; background:var(--c-primary); }
.section-eyebrow:empty{ display:none; }
/* 居中版(标题居中的板块用) */
.section-head--center{ text-align:center; }
.section-head--center .section-eyebrow{ justify-content:center; }
.section-head--center .section-eyebrow::after{ content:""; width:32px; height:2px; background:var(--c-primary); opacity:.5; }
.section-head--center .section-subtitle{ margin-left:auto; margin-right:auto; }

/* 交替底色工具类(想让相邻板块错开时给外层加 .block-section--alt) */
.block-section--alt{ background:var(--c-bg-alt); }

/* ---------- 3) 卡片深度精修(替换偏硬的旧阴影为柔和层次) ---------- */
.product-card,.news-card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xs);
  transition:transform .42s var(--ease), box-shadow .42s var(--ease), border-color .3s ease;
}
.product-card:hover,.news-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
}
/* 产品封面: 加入与新闻一致的悬停轻放大 */
.product-cover{ overflow:hidden; }
.product-cover img{ transition:transform .55s var(--ease); }
.product-card:hover .product-cover img{ transform:scale(1.055); }

/* 新闻列表 blog-* / 侧栏卡片 统一质感 */
.blog-hero,.blog-row,.side-card{
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:transform .42s var(--ease), box-shadow .42s var(--ease);
}
.blog-hero{ overflow:hidden; }
.blog-hero:hover,.blog-row:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.blog-hero-img img,.blog-row-img img,.side-news-img img,.side-prod-img img{
  transition:transform .55s var(--ease);
}
.blog-hero:hover .blog-hero-img img,
.blog-row:hover .blog-row-img img{ transform:scale(1.05); }

/* ---------- 4) 按钮 / 链接 微交互(克制的"活") ---------- */
.more,.blog-more{
  transition:gap .25s var(--ease), color .2s ease;
}
.more:hover,.blog-more:hover{ gap:11px; color:var(--c-primary-dark); }
.pd-cta .btn-quote{ border-radius:var(--radius-sm); }

/* 统一可聚焦控件焦点环(无障碍 + 精致) */
a:focus-visible,button:focus-visible,.btn-quote:focus-visible,[tabindex]:focus-visible{
  outline:none; box-shadow:var(--ring);
}

/* ---------- 5) 标题体系微调(更挺拔的层级, 不改字号骨架) ---------- */
.section-title{ color:var(--c-text); }
.section-subtitle{ color:var(--c-text-muted); }
/* 标题下可选主色短线: 给标题所在容器加 .section-head--line */
.section-head--line .section-title::after{
  content:""; display:block; width:52px; height:3px; border-radius:3px;
  background:var(--c-primary); margin:18px 0 0;
}
.section-head--line.section-head--center .section-title::after{ margin-left:auto; margin-right:auto; }

/* ---------- 6) 滚动入场(纯 CSS, @supports 保护, 不支持则正常显示) ---------- */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .products-grid > *,
    .news-grid > *,
    .blog-row,
    .side-card{
      animation:refv6-rise linear both;
      animation-timeline:view();
      animation-range:entry 2% cover 20%;
    }
    @keyframes refv6-rise{
      from{ opacity:0; transform:translateY(26px); }
      to{ opacity:1; transform:translateY(0); }
    }
  }
}

/* ---------- 7) 图片默认圆角兜底(仅未单独设定处) ---------- */
.product-cover,.news-cover,.blog-hero-img,.blog-row-img,.side-news-img,.side-prod-img{
  overflow:hidden;
}

/* ---------- 8) 手机端: 卡片悬停位移收敛, 避免触屏误触抖动 ---------- */
@media (hover:none){
  .product-card:hover,.news-card:hover,.blog-hero:hover,.blog-row:hover{ transform:none; }
}
/* ============ /site-refine-v6 ============ */

/* 产品卡:标题+摘要+View Details 居中 (2026-08-04) */
.product-card-body{ text-align:center; align-items:center; }

/* ============ mobile-refine-v7 (手机端间距/图片比例收口 20260804) ============ */
@media (max-width:768px){
  /* 1) 杀双重留白:内层容器放开到满宽,只保留 section 自己的侧边距 */
  [style*="max-width:min(1480px"]{ max-width:100% !important; }
  /* 2) section 侧边距统一收窄(内联 padding:.. 20px 覆盖为 16px) */
  section[style*="padding"]{ padding-left:16px !important; padding-right:16px !important; }
  /* 3) 分类卡:去掉写死的 300px 死高度,用横向比例还原图片 */
  .pcn-wrap{ padding-left:16px !important; padding-right:16px !important; }
  .pcn-grid{ grid-template-columns:1fr !important; gap:16px !important; }
  .pcn-card{ height:auto !important; aspect-ratio:16/10 !important; }
  .pcn-mask{ padding:20px !important; }
  .pcn-name{ font-size:20px !important; }
}
@media (max-width:460px){
  section[style*="padding"]{ padding-left:14px !important; padding-right:14px !important; }
  .pcn-wrap{ padding-left:14px !important; padding-right:14px !important; }
  .pcn-card{ aspect-ratio:16/11 !important; }
  /* 单列时新闻/产品卡两侧再贴近一点,给内容更多宽度 */
  .news-grid, .products-grid{ gap:14px !important; }
}
/* ============ /mobile-refine-v7 ============ */

/* ============ hero-mobile-v8 (轮播手机端自适应 20260804) ============ */
@media (max-width:768px){
  /* 受控高度,解除 8/3 与 min-height:440 的冲突,图片不再被过度拉裁 */
  .sld-hf-slide{ aspect-ratio:auto !important; min-height:0 !important; height:clamp(400px,66vh,520px) !important; }
  /* 遮罩改自下而上,保证底部文字对比度 */
  .sld-hf-mask{ background:linear-gradient(to top,rgba(11,31,58,.88) 0%,rgba(11,31,58,.5) 38%,rgba(11,31,58,.12) 72%,rgba(11,31,58,0) 100%) !important; }
  /* 文案下沉到底部,内边距收紧 */
  .sld-hf-cap{ justify-content:flex-end !important; padding:0 20px 46px !important; max-width:100% !important; }
  .sld-hf-badge{ font-size:11px !important; letter-spacing:2px !important; padding:7px 16px !important; margin-bottom:16px !important; }
  .sld-hf-title{ font-size:clamp(26px,7.4vw,36px) !important; letter-spacing:-.4px !important; line-height:1.15 !important; margin:0 0 14px !important; }
  .sld-hf-sub{ font-size:15px !important; line-height:1.55 !important; margin:0 0 24px !important; max-width:100% !important;
    display:-webkit-box !important; -webkit-line-clamp:3 !important; -webkit-box-orient:vertical !important; overflow:hidden !important; }
  /* 按钮:并排等分、可点区域适中 */
  .sld-hf-btns{ gap:12px !important; width:100% !important; }
  .sld-hf-btns a{ flex:1 1 0 !important; justify-content:center !important; padding:13px 18px !important; font-size:14px !important; }
}
@media (max-width:460px){
  .sld-hf-slide{ height:clamp(380px,62vh,480px) !important; }
  .sld-hf-cap{ padding:0 16px 40px !important; }
  .sld-hf-title{ font-size:clamp(24px,7.6vw,32px) !important; }
  .sld-hf-btns{ flex-direction:column !important; }
  .sld-hf-btns a{ width:100% !important; }
}
/* ============ /hero-mobile-v8 ============ */

/* ============ services-upgrade-v9 (Our Services / Why Choose Us 美观大气 20260804) ============ */
/* ---- Our Services ---- */
.b4sc-card{
  position:relative !important; overflow:hidden !important;
  background:#fff !important; border:1px solid rgba(15,23,42,.05) !important;
  border-radius:18px !important; padding:44px 30px 36px !important; text-align:center !important;
  box-shadow:0 4px 20px rgba(15,23,42,.06) !important;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease !important;
}
.b4sc-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--c-primary,#2563eb),#8b5cf6,#ff8c42); }
.b4sc-card > div:first-child{
  width:84px !important; height:84px !important; margin:6px auto 22px !important; border-radius:24px !important;
  background:linear-gradient(135deg,var(--c-primary-light,#eef4ff),#fff) !important;
  color:var(--c-primary,#2563eb) !important; font-size:36px !important; line-height:1 !important;
  box-shadow:0 8px 24px rgba(37,99,235,.18), inset 0 0 0 1px rgba(37,99,235,.08) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:transform .35s ease,box-shadow .35s ease !important;
}
.b4sc-card h3{ font-size:21px !important; font-weight:800 !important; color:var(--c-text,#0b1f3a) !important; margin:0 0 12px !important; letter-spacing:-.2px !important; }
.b4sc-card p{ font-size:14.5px !important; line-height:1.7 !important; color:var(--c-text-muted,#5a6b7e) !important; margin:0 !important; }
.b4sc-card:hover{ transform:translateY(-8px) !important; box-shadow:0 24px 48px rgba(15,23,42,.14) !important; border-color:rgba(37,99,235,.18) !important; }
.b4sc-card:hover > div:first-child{ transform:scale(1.06) !important; box-shadow:0 12px 32px rgba(37,99,235,.28), inset 0 0 0 1px rgba(37,99,235,.14) !important; }
.b4sc-card:nth-child(1) p::after{ content:"Custom formulations and private-label manufacturing tailored to your brand."; }
.b4sc-card:nth-child(2) p::after{ content:"In-house engineers assist with specs, materials and compliance from sketch to mass production."; }
.b4sc-card:nth-child(3) p::after{ content:"Door-to-door freight, customs handling and warehousing for on-time global delivery."; }

/* ---- Why Choose Us ---- */
.b4wc-card{
  position:relative !important; overflow:hidden !important;
  background:#fff !important; border:1px solid rgba(15,23,42,.05) !important;
  border-radius:18px !important; padding:42px 26px 34px !important; text-align:center !important;
  box-shadow:0 4px 20px rgba(15,23,42,.06) !important;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s ease,border-color .35s ease !important;
}
.b4wc-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,#ff8c42,#ff6b6b,#8b5cf6); }
.b4wc-card > div:first-child{
  width:80px !important; height:80px !important; margin:6px auto 20px !important; border-radius:24px !important;
  background:linear-gradient(135deg,var(--c-primary-light,#eef4ff),#fff) !important;
  color:#ff8c42 !important; font-size:34px !important; line-height:1 !important;
  box-shadow:0 8px 24px rgba(255,140,66,.18), inset 0 0 0 1px rgba(255,140,66,.1) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:transform .35s ease,box-shadow .35s ease !important;
}
.b4wc-card h3{ font-size:19px !important; font-weight:800 !important; color:var(--c-text,#0b1f3a) !important; margin:0 0 10px !important; }
.b4wc-card p{ font-size:14px !important; line-height:1.65 !important; color:var(--c-text-muted,#5a6b7e) !important; margin:0 !important; }
.b4wc-card:hover{ transform:translateY(-8px) !important; box-shadow:0 24px 48px rgba(15,23,42,.14) !important; border-color:rgba(255,140,66,.2) !important; }
.b4wc-card:hover > div:first-child{ transform:scale(1.06) !important; box-shadow:0 12px 32px rgba(255,140,66,.28) !important; }
.b4wc-card:nth-child(1) p::after{ content:"Trusted manufacturing partner since 2009, refined across thousands of shipments."; }
.b4wc-card:nth-child(2) p::after{ content:"Exporting to six continents with localized documentation and after-sales support."; }
.b4wc-card:nth-child(3) p::after{ content:"ISO 9001 and SGS-audited processes, with full COA and test reports on every batch."; }
.b4wc-card:nth-child(4) p::after{ content:"Stocked SKUs ship in 72 hours; bulk orders on reliable 15-30 day schedules."; }

/* ---- 手机端 ---- */
@media (max-width:768px){
  .b4sc-card{ padding:36px 22px 30px !important; }
  .b4sc-card > div:first-child{ width:72px !important; height:72px !important; font-size:32px !important; margin:4px auto 18px !important; }
  .b4sc-card h3{ font-size:19px !important; }
  .b4wc-card{ padding:34px 20px 28px !important; }
  .b4wc-card > div:first-child{ width:68px !important; height:68px !important; font-size:30px !important; margin:4px auto 16px !important; }
  .b4wc-card h3{ font-size:17px !important; }
}
@media (max-width:460px){
  .b4sc-card p,.b4wc-card p{ font-size:13.5px !important; }
}
/* ============ /services-upgrade-v9 ============ */

/* ============ services-clean-v10 (Our Services / Why Choose Us 简洁版 20260804) ============ */
/* 去色带/光晕/渐变/放大,回归克制 */
.b4sc-card::before,.b4wc-card::before{ display:none !important; }
.b4sc-card{
  background:#fff !important; border:1px solid #eef1f6 !important; border-radius:16px !important;
  padding:40px 28px 34px !important; text-align:center !important;
  box-shadow:0 2px 8px rgba(15,23,42,.04) !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease !important;
}
.b4sc-card > div:first-child{
  width:64px !important; height:64px !important; margin:0 auto 20px !important; border-radius:16px !important;
  background:var(--c-primary-light,#eef4ff) !important; color:var(--c-primary,#2563eb) !important;
  font-size:28px !important; line-height:1 !important; box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:background .25s ease !important;
}
.b4sc-card h3{ font-size:19px !important; font-weight:700 !important; color:#0b1f3a !important; margin:0 0 10px !important; letter-spacing:0 !important; }
.b4sc-card p{ font-size:14px !important; line-height:1.7 !important; color:#5a6b7e !important; margin:0 !important; }
.b4sc-card:hover{ transform:translateY(-4px) !important; box-shadow:0 8px 24px rgba(15,23,42,.08) !important; border-color:#e2e8f0 !important; }
.b4sc-card:hover > div:first-child{ transform:none !important; background:#e0eaff !important; }

.b4wc-card{
  background:#fff !important; border:1px solid #eef1f6 !important; border-radius:16px !important;
  padding:38px 24px 32px !important; text-align:center !important;
  box-shadow:0 2px 8px rgba(15,23,42,.04) !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease !important;
}
.b4wc-card > div:first-child{
  width:60px !important; height:60px !important; margin:0 auto 18px !important; border-radius:16px !important;
  background:#fff4ec !important; color:#ff8c42 !important; font-size:26px !important; line-height:1 !important; box-shadow:none !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  transition:background .25s ease !important;
}
.b4wc-card h3{ font-size:17px !important; font-weight:700 !important; color:#0b1f3a !important; margin:0 0 8px !important; }
.b4wc-card p{ font-size:13.5px !important; line-height:1.65 !important; color:#5a6b7e !important; margin:0 !important; }
.b4wc-card:hover{ transform:translateY(-4px) !important; box-shadow:0 8px 24px rgba(15,23,42,.08) !important; border-color:#e2e8f0 !important; }
.b4wc-card:hover > div:first-child{ transform:none !important; background:#ffe8d6 !important; }

@media (max-width:768px){
  .b4sc-card{ padding:32px 22px 28px !important; }
  .b4sc-card > div:first-child{ width:56px !important; height:56px !important; font-size:24px !important; }
  .b4sc-card h3{ font-size:18px !important; }
  .b4wc-card{ padding:30px 20px 26px !important; }
  .b4wc-card > div:first-child{ width:54px !important; height:54px !important; font-size:22px !important; }
  .b4wc-card h3{ font-size:16px !important; }
}
/* ============ /services-clean-v10 ============ */

/* ============ services-grid-v11 (新增卡片+栅格 20260804) ============ */
.b4sc-card p::after,.b4wc-card p::after{ content:none !important; }
div:has(> .b4sc-card),div:has(> .b4wc-card){ grid-template-columns:repeat(4,1fr) !important; gap:24px !important; }
@media (max-width:900px){ div:has(> .b4sc-card),div:has(> .b4wc-card){ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:560px){ div:has(> .b4sc-card),div:has(> .b4wc-card){ grid-template-columns:1fr !important; } }
/* ============ /services-grid-v11 ============ */

/* 深底文案栏:段落/富文本强制浅色,覆盖 .block-render-wrap 的 --c-text (2026-08-05) */
.spr-txt, .spr-txt p, .spr-txt li,
.spl-txt, .spl-txt p, .spl-txt li,
.sld-hs-text, .sld-hs-text p, .sld-hs-text li,
.sld-hf-cap, .sld-hf-cap p, .sld-hf-cap li{
    color: rgba(255,255,255,.85);
}
.spr-txt .spr-title, .spl-txt .spl-title,
.sld-hs-text .sld-hs-title, .sld-hf-cap .sld-hf-title{
    color:#fff;
}


/* == BLOCK-SPACING-TIGHTEN v1 == */
/* 目的: 全站装修块上下留白过大/空标题占位 -> 统一收紧, 覆盖 base.css */
/* 1) 块上下内边距收紧 */
.block-section{ padding:56px 0 !important; }
.block-cta{ padding:56px 0 !important; }
.block-hero{ padding:76px 0 !important; }
.block-two-col{ padding:56px 0 !important; }
.block-section.no-pad-top{ padding-top:0 !important; }
.block-section.no-pad-bot{ padding-bottom:0 !important; }
/* 2) 标题头下方间距收紧 */
.section-subtitle{ margin-bottom:30px !important; }
.section-title{ margin-bottom:10px !important; }
.section-head--center{ margin-bottom:0 !important; }
/* 3) 空标题/空副标题不占高(眉标 :empty 已有, 这里补齐 title/subtitle) */
.section-title:empty{ display:none !important; margin:0 !important; }
.section-subtitle:empty{ display:none !important; margin:0 !important; }
/* 只有一个空 <p>/空 <h2> 里含空白也尽量塌陷 */
.section-title:blank{ display:none !important; margin:0 !important; }
.section-subtitle:blank{ display:none !important; margin:0 !important; }
/* 4) 移动端再等比收一档 */
@media (max-width:768px){
  .block-section, .block-cta, .block-two-col{ padding:38px 0 !important; }
  .block-hero{ padding:52px 0 !important; }
  .section-subtitle{ margin-bottom:22px !important; }
}
/* == /BLOCK-SPACING-TIGHTEN v1 == */