/* vsfactoryusa.com — 按 RICH 站设计标准实现
   设计令牌来源：richfactoryus.com/css/style.css（实测抓取）
   字体：Bodoni Moda（自托管衬线，标题） + 系统无衬线（正文）
   无障碍：WCAG AA 对比度、rem 字号、可见焦点、prefers-reduced-motion（3 处较 RICH 提亮，见文末注释） */

@font-face{
  font-family:'Bodoni Moda';font-style:normal;font-weight:400 900;font-display:swap;
  src:url('../fonts/bodoni-moda-latin.woff2') format('woff2');
}
/* ---------- 主题变量（换主色只改这里 / 或用 theme-*.css 覆盖） ---------- */
:root{
  --ink:#1a1a1a;          /* 主墨色：正文、标题 */
  --action:#006039;       /* 主行动色：按钮/加购（品牌绿 #006039，来源 Rolex wordmark SVG） */
  --action-hover:#004E2E;  /* 悬停加深（白字 9.86:1） */
  --accent:#006039;       /* 强调色：分隔线、厂牌名、悬停描边 */
  --green:#006039;         /* 品牌绿主值（来源：Rolex wordmark SVG fill） */
  --green-dark:#004E2E;    /* 悬停加深 */
  --green-tint:#EAF2EE;    /* 浅绿底（备用：标签/提示） */
  --green-line:#CFE0D7;    /* 浅绿描边（摘要块等） */
  --green-badge-bg:rgba(0,96,57,.28);   /* Hero 徽标底 */
  --green-badge-line:rgba(0,96,57,.9);  /* Hero 徽标描边 */
  --nav-bg:#222222;       /* 主导航条底 */
  --header-bg:#262626;    /* 站头底 */
  --topbar-bg:#000000;    /* 顶部信息条底：纯黑（原 #292f34 深灰蓝） */
  --card-border:#d5d5dd;
  --divider:#dcdce3;
  --panel:#ededf1;
  --img-backing:#e6e6ec;
  --muted:#666666;
  --muted-2:#5a5a5a;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:1rem;line-height:1.6;color:#1a1a1a;background:#fff;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

/* 键盘可达 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:2000;background:#1a1a1a;color:#fff;padding:.7rem 1rem;border-radius:0 0 8px 0;font-size:.86rem;font-weight:600}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #1f6feb;outline-offset:2px;border-radius:4px}
.topbar a:focus-visible,.site-header a:focus-visible,.main-nav a:focus-visible,.site-footer a:focus-visible{outline-color:#8ab4f8}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .product-card:hover,.cat-card:hover,.tech-card:hover{transform:none}
}

/* ---------- 顶栏 / 头部 / 导航（RICH 结构：topbar -> site-header -> main-nav） ---------- */
.header-sticky{position:sticky;top:0;z-index:1000}
.topbar{background:var(--topbar-bg);color:#fff;font-size:.81rem;padding:.5rem 0;border-bottom:2px solid var(--green)}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.topbar-right{opacity:.9}
.site-header{background:var(--header-bg);color:#fff;border-bottom:1px solid rgba(255,255,255,.04)}
.header-row{display:flex;justify-content:center;align-items:center;height:4.5rem;position:relative;gap:1rem}
.logo{font-family:'Bodoni Moda',serif;font-size:1.875rem;font-weight:700;letter-spacing:.19rem;color:#fff;text-transform:uppercase;position:absolute;left:50%;transform:translateX(-50%)}
.logo-light{font-weight:700;color:#fff}
.header-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}
.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:0;border:0;color:#bbb;cursor:pointer;border-radius:50%;transition:background .2s,color .2s}
.nav-icon-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.hamburger{display:none;flex-direction:column;gap:5px;background:0;border:0;cursor:pointer;padding:.5rem;margin-left:auto}
.hamburger span{display:block;width:1.625rem;height:2px;background:#fff;border-radius:2px;transition:.3s}
.main-nav{background:var(--nav-bg);border-bottom:1px solid rgba(255,255,255,.06);position:relative}
.nav-row{display:flex;justify-content:center;align-items:center;gap:.125rem;height:3rem;list-style:none}
.nav-link{display:inline-flex;align-items:center;font-size:.78rem;font-weight:500;color:#c3c3c3;letter-spacing:.6px;text-transform:uppercase;padding:.625rem 1rem;border-radius:4px;transition:color .2s,background .2s;white-space:nowrap}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.06)}

/* 一级菜单项（可展开） */
.nav-group{position:relative;display:flex}
.nav-trigger{display:inline-flex;align-items:center;gap:.375rem;background:0;border:0;cursor:pointer;font:inherit;font-size:.78rem;font-weight:500;color:#c3c3c3;letter-spacing:.6px;text-transform:uppercase;padding:.625rem 1rem;border-radius:4px;transition:color .2s,background .2s;white-space:nowrap}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{color:#fff;background:rgba(255,255,255,.06)}
.nav-count{font-size:.66rem;font-weight:600;color:#9a9a9a;background:rgba(255,255,255,.08);border-radius:9px;padding:.05rem .4rem;letter-spacing:0}
.nav-trigger[aria-expanded="true"] .nav-count{color:#ddd}
.nav-arrow{font-size:.6rem;transition:transform .2s;color:#8f8f8f}
.nav-trigger[aria-expanded="true"] .nav-arrow{transform:rotate(180deg)}

/* 二级菜单面板（桌面：下拉；移动：内联手风琴，见媒体查询） */
.nav-dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#2a2a2a;border:1px solid #444;border-radius:8px;min-width:15rem;padding:.5rem 0;z-index:1200;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.nav-dropdown a{display:flex;justify-content:space-between;gap:1rem;padding:.625rem 1.125rem;font-size:.81rem;color:#ccc;transition:background .15s,color .15s,padding-left .15s}
.nav-dropdown a:hover{background:#3a3a3a;color:#fff;padding-left:1.375rem}
.nav-dropdown a span{color:#8f8f8f;font-size:.72rem;font-variant-numeric:tabular-nums}
.dd-divider{height:1px;background:#444;margin:.375rem 1rem}
.dd-all{color:#e6e6e6 !important;font-weight:600;font-size:.75rem !important;letter-spacing:1px;text-transform:uppercase}
@media (min-width:769px){
  .nav-group:hover .nav-dropdown,
  .nav-group:focus-within .nav-dropdown,
  .nav-group.open .nav-dropdown{display:block}
}
.nav-head{display:none}

/* 抽屉遮罩 + 搜索浮层 */
.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1400}
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:2000;align-items:flex-start;justify-content:center;padding-top:7.5rem;margin:0}
.search-overlay:not([hidden]){display:flex}
.search-overlay-content{width:100%;max-width:40rem;padding:0 1.25rem;display:flex;gap:.75rem;align-items:center}
.search-input{width:100%;padding:1.125rem 1.5rem;font-size:1.25rem;border:0;border-radius:8px;background:#1a1a1a;color:#fff;outline:0}
.search-input::placeholder{color:#9a9a9a}

/* ---------- 全幅 Hero（RICH：图 + 遮罩 + 居中） ---------- */
.hero{color:#fff;padding:7.5rem 0;position:relative;overflow:hidden}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.66);z-index:1}
.hero .container{max-width:700px;position:relative;z-index:2;text-align:center}
.hero-badge{display:inline-block;background:var(--green-badge-bg);border:1px solid var(--green-badge-line);padding:.375rem 1.125rem;border-radius:4px;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;color:#fff}
.hero h1{font-family:'Bodoni Moda',serif;font-size:2.625rem;font-weight:700;line-height:1.2;margin-bottom:1.25rem}
.hero p{font-size:1.06rem;color:#e6e6e6;line-height:1.7;margin-bottom:2rem;max-width:34rem;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- 按钮（RICH：大写 + 字距 + 无圆角） ---------- */
.btn{display:inline-block;padding:.875rem 2.25rem;font-size:.875rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;border:0;cursor:pointer;transition:background .3s,color .3s,border-color .3s;text-align:center}
.btn-primary{background:#fff;color:#1a1a1a}
.btn-primary:hover{background:#ddd}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:#1a1a1a}
.btn-dark{background:var(--action);color:#fff}
.btn-dark:hover{background:var(--action-hover)}

/* ---------- 区块与标题 ---------- */
.section{padding:5rem 0}
.section-dark{background:var(--panel)}
.section-title{text-align:center;margin-bottom:3rem}
.section-title h2{font-family:'Bodoni Moda',serif;font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:.75rem}
.section-title p{font-size:1rem;color:var(--muted-2);max-width:37.5rem;margin:0 auto}
.section-divider{width:3.75rem;height:3px;background:var(--accent);margin:1rem auto 0}

/* ---------- 说明卡片（页脚上方的「关于本站」区） ---------- */
.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.note-card{background:#fff;border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.5rem}
.note-card .k{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.note-card p{margin:0;font-size:.875rem;color:#666;line-height:1.68;max-width:70ch}

/* ---------- 产品网格 / 卡片（RICH：8px 圆角 + 边框 #eee；图按 3:4 竖构图，适配我方素材） ---------- */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.75rem,1fr));gap:1.25rem}
.product-card{background:#fff;border:1px solid var(--card-border);border-top:1px solid var(--green);border-radius:8px;overflow:hidden;transition:box-shadow .3s,transform .3s,border-color .3s;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.06);position:relative}
.product-card:hover{border-color:var(--green);box-shadow:0 8px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.product-card-img{aspect-ratio:3/4;overflow:hidden;background:var(--img-backing);display:flex;align-items:center;justify-content:center}
.product-card-img img{width:100%;height:100%;object-fit:contain}   /* 231 款里 80 款首图非 3:4，cover 会把表裁掉（2026-09-11 提价当天 Mark 在 /rolex/datejust/ 上看到） */
/* 卡片上的心愿单按钮（贴图右上角，共用 js/wishlist.js 的全局委托） */
.card-wish{position:absolute;top:.55rem;right:.55rem;z-index:2;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.94);border:1px solid var(--card-border);border-radius:50%;color:#1a1a1a;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.18);transition:border-color .2s,color .2s,background .2s,transform .2s}
.card-wish svg{display:block}
.card-wish:hover{border-color:var(--green);color:var(--green)}
.card-wish.is-on{color:var(--green);border-color:var(--green)}
.card-wish.is-on svg{fill:currentColor}
.card-wish.is-pop{transform:scale(.88)}
.product-card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.product-card-body h3{font-size:.94rem;font-weight:600;margin-bottom:.375rem;color:#1a1a1a;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6rem}
.product-factory{font-size:.75rem;color:var(--green);text-transform:uppercase;letter-spacing:1px;margin-bottom:.375rem}
.product-ref{font-size:.78rem;color:#666;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.product-price{font-size:1.02rem;font-weight:700;color:#1a1a1a;margin:.45rem 0 .5rem}
.product-price s{font-size:.82rem;font-weight:500;color:#6b6b6b;margin-left:.4rem;text-decoration-thickness:1px}
.pd-price .pd-was{font-size:1.02rem;font-weight:500;color:#6b6b6b;margin-left:.55rem;text-decoration-thickness:1px}
.sb-mini-p s{font-weight:500;color:#6b6b6b;margin-left:.25rem}
.product-card-link{margin-top:auto;padding-top:.75rem;font-size:.78rem;font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px}

/* ---------- 分类卡（与 FAQ/说明卡同一套卡片语言） ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.75rem,1fr));gap:1.25rem}
.cat-card{background:#fff;border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:8px;padding:1.35rem 1.4rem 1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:.3rem;transition:border-color .3s,box-shadow .3s,transform .3s}
.cat-card:hover{border-color:var(--green);box-shadow:0 8px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.cat-card .k{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.cat-card h3{font-family:'Bodoni Moda',serif;font-size:1.15rem;font-weight:700;letter-spacing:.01em;color:#1a1a1a;line-height:1.3}
.cat-card p{margin:0;font-size:.81rem;color:#666}
.cat-card .go{margin-top:.6rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}

/* ---------- 技术/说明卡（RICH：48px 图标块 + 12px 圆角） ---------- */
.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.25rem,1fr));gap:1.5rem}
.tech-card{background:#fff;border:1px solid var(--card-border);border-radius:8px;padding:2rem 1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:border-color .3s,box-shadow .3s,transform .3s}
.tech-card:hover{border-color:var(--green);box-shadow:0 8px 30px rgba(0,0,0,.06);transform:translateY(-2px)}
.tech-card-icon{width:3rem;height:3rem;background:#f5f5f5;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:1.25rem;font-weight:700}
.tech-card h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}
.tech-card p{font-size:.875rem;color:#666;line-height:1.6;margin-bottom:1rem}
.tech-card-link{font-size:.81rem;font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px}

/* ---------- 指南/对比区（复用 .cat-card，3 等分） ---------- */
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start}

/* ---------- FAQ（卡片式） ---------- */
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;align-items:start}
.faq-card{background:#fff;border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:8px;padding:1.5rem 1.6rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.faq-card h3{font-size:.97rem;font-weight:600;color:#1a1a1a;line-height:1.45;margin-bottom:.6rem}
.faq-card p{margin:0;font-size:.875rem;color:#666;line-height:1.7;max-width:70ch}

/* ---------- CTA 段 ---------- */
.cta-section{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;padding:5rem 0;text-align:center}
.cta-section h2{font-family:'Bodoni Moda',serif;font-size:2rem;margin-bottom:1rem}
.cta-section p{font-size:1rem;color:#c9c9c9;margin-bottom:2rem;max-width:31.25rem;margin-left:auto;margin-right:auto}
.cta-section .btn-primary{font-size:.94rem;padding:1rem 3rem}

/* ---------- 页脚（RICH：浅灰底 + 2fr 1fr 1fr 1.2fr） ---------- */
.site-footer{background:#eeeeec;color:#555;padding:3.75rem 0 0;font-size:.875rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:2.5rem}
.footer-col h3{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#333;margin-bottom:1.25rem}
.footer-col a{display:block;color:#5a5a5a;margin-bottom:.625rem;transition:color .2s}
.footer-col a:hover{color:var(--green)}
.footer-col p{color:#666;margin-bottom:.5rem;line-height:1.6}
.footer-logo{font-family:'Bodoni Moda',serif;font-size:1.25rem;font-weight:700;color:var(--green);margin-bottom:.5rem;letter-spacing:1px}
.footer-badges{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem}
.footer-badges span{font-size:.75rem;color:#666;background:#e8e8e6;padding:.25rem .625rem;border-radius:4px}
.footer-bottom{border-top:1px solid #ddd;padding:1.5rem 0;margin-top:2.5rem;text-align:center}
.footer-bottom p{color:#666;font-size:.81rem}
.footer-bottom a{color:var(--green)}
.footer-disclaimer{margin-top:.375rem;font-size:.75rem;color:#6b6b6b;line-height:1.6;max-width:95ch;margin-left:auto;margin-right:auto}

/* ---------- 购物车 / 心愿单 ---------- */
.cart-icon,.wish-icon{position:relative}
.cart-badge,.wish-badge{position:absolute;top:.125rem;right:.125rem;background:var(--green);color:#fff;font-size:.625rem;font-weight:700;min-width:1.125rem;height:1.125rem;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 .25rem;pointer-events:none}
.cart-badge[hidden],.wish-badge[hidden]{display:none}   /* 数量为 0 时必须消失（否则作者样式的 display 会盖掉 hidden） */
.cart-wrap{max-width:60rem;margin:0 auto}
.cart-list{border:1px solid var(--card-border);border-radius:8px;overflow:hidden}
.cart-row{display:grid;grid-template-columns:5rem 1fr auto auto auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--divider);background:#fff}
.cart-row:last-child{border-bottom:0}
.cart-thumb{width:5rem;background:var(--img-backing);border-radius:6px;overflow:hidden;aspect-ratio:3/4}
.cart-thumb img{width:100%;height:100%;object-fit:contain}   /* 购物车行项目小图：同上 */
.cart-title{font-size:.94rem;font-weight:600;color:#1a1a1a;display:block}
.cart-title:hover{text-decoration:underline}
.cart-ref{font-size:.75rem;color:#666;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:.2rem}
.cart-qty{display:flex;align-items:center;border:1px solid #ddd;border-radius:6px;overflow:hidden}
.cart-qty-btn{width:2.25rem;height:2.25rem;border:0;background:#f5f5f5;font-size:1.125rem;cursor:pointer;color:#1a1a1a}
.cart-qty-btn:hover{background:#e8e8e8}
.cart-qty-input{width:3rem;height:2.25rem;border:0;border-left:1px solid #eee;border-right:1px solid #eee;text-align:center;font-size:.875rem;font-weight:600;color:#1a1a1a}
.cart-price{font-size:.94rem;font-weight:700;min-width:6rem;text-align:right}
.cart-quote{font-size:.78rem;font-weight:500;color:#666}
.cart-remove{background:0;border:0;color:#666;font-size:.78rem;cursor:pointer;text-decoration:underline}
.cart-remove:hover{color:#c62828}
.cart-total{display:flex;justify-content:space-between;align-items:center;padding:1.125rem 1rem;border:1px solid #e8e8ed;border-top:0;border-radius:0 0 8px 8px;font-size:1rem;background:#fafafa}
.cart-total strong{font-size:1.125rem}
.cart-note{font-size:.81rem;color:#666;margin-top:.75rem;max-width:72ch}
.cart-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}
.btn-ghost{background:#fff;color:#1a1a1a;border:2px solid #ddd}
.btn-ghost:hover{border-color:#1a1a1a}
.cart-empty{padding:3rem 1rem;text-align:center;color:#666;border:1px dashed #ddd;border-radius:8px}
.cart-empty a{font-weight:600;color:#1a1a1a;text-decoration:underline}
.card-add{margin-top:.75rem;padding:.5rem .75rem;font-size:.72rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:var(--action);color:#fff;border:0;border-radius:4px;cursor:pointer;transition:background .2s}
.card-add:hover{background:var(--action-hover)}

/* ---------- 心愿单页 ---------- */
.wish-wrap{max-width:60rem;margin:0 auto}
.card-wish-remove{margin-top:.5rem;align-self:flex-start;background:0;border:0;padding:0;color:#5a5a5a;
  font-size:.78rem;font-weight:500;text-decoration:underline;cursor:pointer}
.card-wish-remove:hover{color:#c62828}
.wish-actions{display:flex;justify-content:center;margin-top:1.75rem}

/* ---------- 结算页（2026-09-11 改版：Mark 要求参考苹果排版 / RICH 购物车骨架） ----------
   苹果那套的要点（RICH 的 /cart/ 也是这套）：浅灰页头带 + 单栏居中（约 720px）+ 细线分隔
   + 大留白（28~48px）+ 小号灰字副文案（12.5px / #6e6e73）+ 全屏只有一个实心主按钮。
   VS 侧只换品牌绿与本站字体，结构与间距照搬。 */
.co-hero{background:#f5f5f7;border-bottom:1px solid #e8e8ed;padding:2.75rem 0 2.5rem;text-align:center}
.co-hero-title{font-size:1.7rem;line-height:1.2;margin:0 0 .55rem}
.co-hero-sub{max-width:44rem;margin:0 auto;font-size:.92rem;line-height:1.7;color:#6e6e73}
.co-body{padding:2.6rem 0 3.5rem}
.co-col{max-width:45rem;margin:0 auto}
.co-block{padding:0 0 1.75rem;margin:0 0 1.75rem;border-bottom:1px solid #e8e8ed}
/* 只有"六步"那一块不要下边线（它下面直接是提交按钮）；其余块一律保留细线分隔 */
.co-next{border-bottom:0;margin-bottom:0;padding-bottom:0}
.co-h2{font-size:1rem;font-weight:600;line-height:1.35;margin:0 0 .9rem}
.co-form{display:block}

/* 订单摘要（.co-row / .co-total 由 js/cart.js 的 renderSummaryInto 渲染，别改那侧的类名） */
.co-list{border-top:1px solid #e8e8ed}
.co-row{display:grid;grid-template-columns:3.25rem 1fr auto;gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid #e8e8ed}
.co-thumb{width:3.25rem;aspect-ratio:3/4;background:var(--img-backing);border-radius:6px;overflow:hidden}
.co-thumb img{width:100%;height:100%;object-fit:contain}   /* 行项目小图：同上，别裁表 */
.co-info{min-width:0}
.co-info .cart-title{font-size:.9rem;font-weight:600;line-height:1.4;color:#1d1d1f;text-decoration:none}
.co-info .cart-title:hover{text-decoration:underline}
.co-qty{font-size:.79rem;color:#6e6e73;margin-top:.3rem}
.co-price{font-size:.92rem;font-weight:600;text-align:right;white-space:nowrap;color:#1d1d1f}
.co-total{display:flex;justify-content:space-between;align-items:center;padding:.55rem 0 0;font-size:.88rem;color:#6e6e73}
.co-total strong{color:#1d1d1f;font-weight:600}
.co-disc strong{color:var(--green)}
.co-total-grand{border-top:1px solid #e8e8ed;margin-top:.7rem;padding-top:.9rem}
.co-total-grand span{font-weight:600;color:#1d1d1f}
.co-total-grand strong{font-size:1.15rem;font-weight:700}
.co-ship-note{margin:.6rem 0 0;font-size:.78rem;color:#6e6e73;line-height:1.65}
.cart-note{margin:.6rem 0 0;font-size:.78rem;color:#6e6e73;line-height:1.65}

/* 折扣码（主按钮只有一个 —— Apply 用次级样式，避免与提交抢眼） */
.co-coupon-row{display:flex;gap:.5rem}
.co-coupon-row input{flex:1;min-width:0;padding:.7rem .8rem;border:1px solid #d2d2d7;border-radius:8px;
  font-size:.9rem;font-family:inherit;color:#1d1d1f;background:#fff}
.co-coupon-row input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(0,96,57,.14)}
.co-coupon-row input.is-bad{border-color:#c62828;background:#fff7f7}
.co-coupon-row button{padding:.7rem 1.1rem;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:#1d1d1f;
  font-size:.87rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}
.co-coupon-row button:hover{border-color:#1d1d1f}
.co-coupon-row button[disabled]{opacity:.6;cursor:default}
.co-coupon-note{margin:.65rem 0 0;font-size:.78rem;color:#6e6e73;line-height:1.65}
.co-coupon-note.is-on{color:var(--green);font-weight:600}

/* 表单 */
.co-grid2{display:grid;gap:0 1rem}
@media (min-width:560px){.co-grid2{grid-template-columns:1fr 1fr}}
.co-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}
.co-field label{font-size:.75rem;font-weight:600;color:#6e6e73}
.co-field input,.co-field textarea{width:100%;padding:.7rem .8rem;border:1px solid #d2d2d7;border-radius:8px;
  font-size:.9rem;font-family:inherit;color:#1d1d1f;background:#fff}
.co-field input:focus,.co-field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(0,96,57,.14)}
.co-field.is-bad input,.co-field.is-bad textarea{border-color:#c62828;background:#fff7f7}
.co-req{color:#c62828}
.co-hint-inline{font-weight:400;color:#8e8e93}

/* 付款偏好：选项卡（标题 + 小字副标题；苹果/RICH 那个形态） */
.co-pay-opts{display:grid;gap:.6rem}
@media (min-width:600px){.co-pay-opts{grid-template-columns:repeat(3,1fr)}}
.co-pay-opt{position:relative;display:flex;align-items:center;gap:.6rem;padding:.75rem .85rem;border:1px solid #d2d2d7;
  border-radius:10px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}
.co-pay-opt:hover{border-color:#1d1d1f}
.co-pay-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.co-pay-dot{flex:0 0 auto;width:1rem;height:1rem;border:1.5px solid #c7c7cc;border-radius:50%;position:relative}
.co-pay-opt:has(input:checked){border-color:var(--green);background:#f2f8f5}
.co-pay-opt:has(input:checked) .co-pay-dot{border-color:var(--green)}
.co-pay-opt:has(input:checked) .co-pay-dot::after{content:'';position:absolute;inset:2.5px;border-radius:50%;background:var(--green)}
.co-pay-opt:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
.co-pay-txt{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.co-pay-txt strong{font-size:.88rem;font-weight:600;color:#1d1d1f}
.co-pay-txt small{font-size:.75rem;color:#6e6e73}
.co-pay-note{margin:.7rem 0 0;font-size:.78rem;color:#6e6e73;line-height:1.65}
.co-pay-note.is-on{color:var(--green);font-weight:600}

/* 提交之前：六步（细线分隔，不再用彩色卡片） */
.co-steps{margin:0;padding:0;list-style:none;counter-reset:cs}
.co-steps li{counter-increment:cs;position:relative;padding-left:1.9rem;margin:0 0 .7rem;font-size:.86rem;line-height:1.6;color:#1d1d1f}
.co-steps li::before{content:counter(cs);position:absolute;left:0;top:.05rem;width:1.3rem;height:1.3rem;border-radius:50%;
  background:#f2f8f5;border:1px solid #cfe0d7;color:var(--green);font-size:.7rem;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.co-steps li:last-child{margin-bottom:0}
.co-steps li b{font-weight:600}
.co-next-foot{margin:.9rem 0 0;padding-top:.85rem;border-top:1px solid #e8e8ed;font-size:.79rem;color:#6e6e73;line-height:1.65}
.co-build-note{margin:.8rem 0 0;font-size:.74rem;color:#8e8e93;line-height:1.6}

/* 提交按钮（全页唯一的实心主按钮）与状态 */
.co-submit{display:block;width:100%;margin:1.5rem 0 0;padding:1rem 1.25rem;border:0;border-radius:10px;background:var(--green);
  color:#fff;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;cursor:pointer}
.co-submit:hover{background:#00502f}
.co-note{margin:.85rem 0 0;font-size:.78rem;color:#6e6e73;text-align:center;line-height:1.6}
.co-status{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid #e8e8ed;border-left:3px solid var(--green);
  border-radius:8px;background:#f6fbf8;font-size:.86rem;color:#1d1d1f;line-height:1.65}
.co-status.is-warn{border-left-color:#c62828;background:#fff7f7}
.co-status a{font-weight:600;color:#1d1d1f;text-decoration:underline}
@media (max-width:560px){
  .co-hero{padding:2rem 0 1.9rem}
  .co-hero-title{font-size:1.4rem}
  .co-body{padding:2rem 0 2.75rem}
  .co-block{padding-bottom:1.4rem;margin-bottom:1.4rem}
  .co-submit{padding:1.05rem 1rem;font-size:1.02rem}
}

/* ---------- AI 客服窗口 ---------- */
.ai-chat{position:fixed;right:1.1rem;bottom:1.1rem;z-index:60}
.ai-btn{display:inline-flex;align-items:center;gap:.5rem;position:relative;padding:.7rem 1rem;border:0;border-radius:999px;
  background:var(--green);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.ai-btn:hover{background:#00502f}
.ai-btn-txt{white-space:nowrap}
.ai-dot{display:none;position:absolute;top:-2px;right:-2px;width:.7rem;height:.7rem;border-radius:50%;background:#e2574c;border:2px solid #fff}
.ai-dot.is-on{display:block}
.ai-panel{display:none;position:absolute;right:0;bottom:3.4rem;width:22rem;max-width:calc(100vw - 2rem);background:#fff;
  border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.2);overflow:hidden}
.ai-chat.is-open .ai-panel{display:block}
.ai-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.8rem .9rem;background:var(--green);color:#fff}
.ai-head b{font-size:.86rem}
.ai-head span{display:block;font-size:.7rem;opacity:.85;margin-top:.1rem}
.ai-x{background:0;border:0;color:#fff;font-size:.9rem;cursor:pointer;padding:0 .2rem}
.ai-list{max-height:20rem;overflow-y:auto;padding:.9rem;background:#fafafa;display:flex;flex-direction:column;gap:.55rem}
.ai-msg{display:flex}
.ai-msg.ai-user{justify-content:flex-end}
.ai-bub{max-width:86%;padding:.6rem .75rem;border-radius:10px;font-size:.83rem;line-height:1.6;background:#fff;
  border:1px solid var(--card-border);color:#1a1a1a;overflow-wrap:anywhere}
.ai-user .ai-bub{background:var(--green);color:#fff;border-color:var(--green)}
.ai-typing span{display:inline-block;width:.35rem;height:.35rem;margin-right:.18rem;border-radius:50%;background:#bbb;animation:aiblink 1.2s infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes aiblink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.ai-mail{padding:.7rem .9rem .55rem;border-top:1px solid var(--divider);background:#fff}
.ai-mail label{display:block;font-size:.72rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.ai-mail-row{display:flex;gap:.4rem}
.ai-mail-row input{flex:1;min-width:0;padding:.5rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.82rem;font-family:inherit}
.ai-mail-row input.is-bad{border-color:#c62828;background:#fff7f7}
.ai-mail-row button{padding:.5rem .8rem;border:0;border-radius:6px;background:var(--green);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer}
.ai-mail-note{margin:.4rem 0 0;font-size:.68rem;color:#777;line-height:1.5}
/* 最近浏览条（促单第一条，2026-09-11）—— 空则不渲染，回访者才看得到 */
.recent-section{padding-top:2.4rem;padding-bottom:2.4rem;border-top:1px solid var(--divider)}
.recent-head{margin:0 0 1.1rem}
.recent-head h2{font-size:1.3rem;line-height:1.25;margin:0 0 .28rem}
.recent-head p{margin:0;font-size:.85rem;color:#666;max-width:52ch}
.recent-grid{row-gap:1.25rem}
@media (max-width:560px){.recent-section{padding-top:1.9rem;padding-bottom:1.9rem}.recent-head h2{font-size:1.15rem}}

.ai-code{padding:.7rem .9rem .55rem;border-top:1px solid var(--divider);background:#fbfbfa}
.ai-code label{display:block;font-size:.72rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.ai-code .ai-mail-row input{letter-spacing:.35em;text-align:center;font-size:1rem}
.ai-code a{color:var(--green)}
.ai-code #aiSkip{color:#777;text-decoration:underline;cursor:pointer}
.ai-form{display:flex;gap:.4rem;padding:.6rem .9rem;border-top:1px solid var(--divider);background:#fff}
.ai-form input{flex:1;min-width:0;padding:.55rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.83rem;font-family:inherit}
.ai-form input:focus{outline:2px solid var(--green);outline-offset:1px}
.ai-form button{width:2.4rem;border:0;border-radius:6px;background:var(--green);color:#fff;cursor:pointer}
.ai-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .9rem .8rem;background:#fff}
/* 2026-09-11 第一档：发图按钮 / 蜜罐 / 气泡里的图与链接 */
.ai-form .ai-img-btn{width:2.4rem;background:#f2f2f4;color:#333;border:1px solid var(--divider);font-size:.95rem;line-height:1}
.ai-form .ai-img-btn:hover{background:#e8e8ec}
.ai-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.ai-img{display:block;max-width:100%;border-radius:8px;margin-top:.4rem}
.ai-bub a{color:var(--green);text-decoration:underline;word-break:break-word}
.ai-user .ai-bub a{color:#fff}
.ai-chips button{border:1px solid var(--card-border);background:#fff;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;color:#333;cursor:pointer}
.ai-chips button:hover{border-color:var(--green);color:var(--green)}

/* ---------- 优惠码（结算页） ---------- */
.co-coupon{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--divider)}
.co-coupon label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:.4rem}
.co-coupon-row{display:flex;gap:.4rem}
.co-coupon-row input{flex:1;min-width:0;padding:.5rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;
  font-family:ui-monospace,Menlo,monospace;text-transform:uppercase}
.co-coupon-row input:focus{outline:2px solid var(--green);outline-offset:1px}
.co-coupon-row input.is-bad{border-color:#c62828;background:#fff7f7}
.co-coupon-row button{padding:.5rem .85rem;border:1px solid var(--green);border-radius:6px;background:#fff;color:var(--green);
  font-size:.78rem;font-weight:600;cursor:pointer}
.co-coupon-row button:hover{background:var(--green);color:#fff}
.co-coupon-note{margin:.45rem 0 0;font-size:.75rem;color:#666;line-height:1.6}
.co-coupon-note.is-on{color:var(--green)}
.co-disc strong,.cart-disc strong{color:var(--green)}

@media (max-width:560px){
  .ai-chat{right:.7rem;bottom:.7rem}
  .ai-panel{width:calc(100vw - 1.4rem);right:-.7rem;bottom:3.2rem}
  .ai-list{max-height:44vh}
  .ai-btn{padding:.75rem}
  .ai-btn-txt{display:none}
}

/* ---------- 搜索页 ---------- */
.srch-wrap{padding-top:2.25rem;padding-bottom:3rem}
.srch-bar{display:flex;flex-wrap:wrap;gap:.6rem;max-width:36rem;margin:0 auto 1.9rem}
.srch-input{flex:1 1 14rem;min-width:0;padding:.8rem .9rem;border:1px solid #ddd;border-radius:6px;
  font-size:.95rem;font-family:inherit;color:#1a1a1a;background:#fff}
.srch-input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
.srch-hint{margin:1rem 0 0;font-size:.85rem;color:#666;text-align:center;line-height:1.7}
@media (max-width:480px){ .srch-bar .btn{width:100%} }

/* 防长型号撑破容器 */
.product-card-body h3,.cat-card h3,.footer-disclaimer,footer p{overflow-wrap:anywhere}
.container,.header-row{min-width:0}

/* ---------- 响应式（对齐 RICH 的 1024 / 768 / 480 断点） ---------- */
@media (max-width:1024px){
  .hero h1{font-size:2.125rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .nav-link{padding:.625rem .7rem;font-size:.75rem}
}
@media (max-width:768px){
  .header-row{height:3.75rem;justify-content:flex-start}
  .logo{position:static;transform:none;font-size:1.25rem;letter-spacing:.125rem}
  .hamburger{display:flex}
  .main-nav{position:fixed;top:0;right:-88%;width:min(88vw,20rem);height:100vh;background:#222;z-index:1500;transition:right .28s ease;overflow-y:auto;overscroll-behavior:contain;border-bottom:0}
  .main-nav.open{right:0}
  .nav-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem .75rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:#222;z-index:2}
  .nav-head-title{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#9a9a9a}
  .nav-close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:0;border:0;color:#fff;font-size:1.75rem;line-height:1;cursor:pointer;border-radius:6px}
  .nav-close:hover{background:rgba(255,255,255,.08)}
  .nav-row{flex-direction:column;align-items:stretch;padding:.75rem 1rem 2.5rem;gap:.125rem;height:auto}
  .nav-group{flex-direction:column;position:static}
  .nav-link,.nav-trigger{width:100%;justify-content:flex-start;padding:1rem;font-size:.94rem;letter-spacing:.5px;border-radius:8px;min-height:3.25rem}
  .nav-trigger>span:first-child{margin-right:auto}
  .nav-arrow{margin-left:.5rem;font-size:.7rem}
  /* 二级菜单：内联手风琴（不依赖悬停、不做嵌套浮层） */
  .nav-dropdown{position:static;transform:none;display:none;background:transparent;border:0;box-shadow:none;min-width:0;padding:0 0 .5rem;margin:0}
  .nav-group.open .nav-dropdown{display:block}
  .nav-dropdown a{padding:.875rem 1rem .875rem 2rem;font-size:.91rem;min-height:2.9rem;align-items:center;border-radius:6px;color:#d5d5d5}
  .nav-dropdown a:active{background:rgba(255,255,255,.1)}
  .dd-divider{background:rgba(255,255,255,.1);margin:.25rem 1rem}
  .dd-all{padding-left:1rem !important}
  .hero{padding:5rem 0}
  .hero h1{font-size:1.75rem}
  .hero p{max-width:100%;font-size:.94rem}
  .section{padding:3rem 0}
  .section-title h2{font-size:1.5rem}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .note-grid{grid-template-columns:1fr;gap:.875rem}
  .faq-grid{grid-template-columns:1fr;gap:.875rem}
  .guide-grid{grid-template-columns:1fr;gap:.875rem}
  .note-card{padding:1.15rem}
  .tech-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}
  .tech-card{padding:1.375rem 1rem}
  .footer-grid{grid-template-columns:1fr;gap:1.875rem}
  .cart-row{grid-template-columns:4.5rem 1fr;grid-template-areas:"thumb info" "qty price" ". remove";gap:.75rem}
  .cart-thumb{width:4.5rem;grid-area:thumb}
  .cart-info{grid-area:info}
  .cart-qty{grid-area:qty;justify-self:start}
  .cart-price{grid-area:price;text-align:right;min-width:0}
  .cart-remove{grid-area:remove;justify-self:end}
}
@media (max-width:480px){
  /* 360px 窄屏：头部必须同时容纳 品牌标 + 搜索 + 购物车 + 汉堡，逐项收紧 */
  .logo{font-size:1.09rem;letter-spacing:.06rem}
  .nav-icon-btn{width:2.25rem;height:2.25rem}
  .header-row{gap:.5rem;padding-left:1rem;padding-right:1rem}
  .hamburger{padding:.375rem}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .product-card-body{padding:.875rem}
  .product-card-body h3{font-size:.84rem}
  .cat-grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .note-grid{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:1fr}
  .hero h1{font-size:1.5rem}
  .btn{padding:.75rem 1.25rem;font-size:.81rem}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .topbar .container{justify-content:center;text-align:center}
}

/* 注：相对 RICH 原样式做了 3 处无障碍提亮（视觉几乎无差，仅为达到 WCAG AA 4.5:1）
   1) .hero-badge  color #777  -> #f0f0f0   （#777 在深色遮罩上仅 ~2.6:1）
   2) .nav-link    color #777  -> #c3c3c3   （#777 on #222 仅 ~3.4:1，12.5px 小字不达标）
   3) .footer-disclaimer #bbb -> #6b6b6b    （#bbb on #eeeeec 仅 ~2.2:1） */

/* ================= 产品详情页（结构沿用 RICH 的 pd-*，视觉用本站令牌） ================= */
.pd-crumbs{font-size:.78rem;color:#666;padding:1.1rem 0 .4rem}
.pd-crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}
.pd-crumbs li{display:flex;gap:.35rem;align-items:center}
.pd-crumbs a{color:#666}
.pd-crumbs a:hover{color:var(--green)}
.pd-crumbs [aria-current]{color:#1a1a1a;font-weight:500}

.pd-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:3.25rem;align-items:start;padding:1.5rem 0 3rem}
/* 网格子项必须能收缩，否则缩略图条的内容宽度会撑破整列（min-width:auto 默认值） */
.pd-layout>*{min-width:0}
.pd-images,.pd-info{min-width:0}
.pd-thumbs{min-width:0}
.pd-images{position:sticky;top:6.5rem}
.pd-main-img{background:#f5f5f7;border:1px solid var(--card-border);border-radius:12px;overflow:hidden;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.pd-main-img img{width:100%;height:100%;object-fit:contain}
.pd-thumbs-wrap{display:flex;align-items:center;gap:.4rem;margin-top:.75rem}
.pd-thumb-arrow{flex-shrink:0;width:2.75rem;height:3.5rem;border:1px solid var(--card-border);border-radius:4px;background:#fff;font-size:1.2rem;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pd-thumb-arrow:hover{border-color:var(--green);color:var(--green)}
.pd-thumbs{display:flex;gap:.5rem;overflow-x:auto;flex:1;align-items:center;scroll-snap-type:x mandatory;padding-bottom:.25rem}
.pd-thumb{flex-shrink:0;width:4rem;height:4rem;border:2px solid var(--card-border);border-radius:6px;overflow:hidden;cursor:pointer;background:#f5f5f7;padding:0;scroll-snap-align:start}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-thumb.active,.pd-thumb:hover{border-color:var(--green)}

.pd-factory{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--green);font-weight:600;margin-bottom:.5rem}
.pd-title{font-family:'Bodoni Moda',serif;font-size:1.6rem;font-weight:700;line-height:1.28;margin-bottom:.6rem;color:#1a1a1a}
.pd-sub{font-size:.84rem;color:#666;margin-bottom:1.1rem}
.pd-price-box{background:#fafafa;border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:8px;padding:1.1rem 1.2rem;margin-bottom:1.4rem}
.pd-price{font-size:1.5rem;font-weight:700;color:#1a1a1a}
.pd-price-note{font-size:.81rem;color:#666;margin-top:.35rem}

.pd-spec-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.pd-spec-table tr{border-bottom:1px solid var(--divider)}
.pd-spec-table tr:last-child{border-bottom:0}
.pd-spec-table th{text-align:left;padding:.7rem 1rem .7rem 0;font-size:.81rem;font-weight:500;color:#666;width:9rem;vertical-align:top}
.pd-spec-table td{padding:.7rem 0;font-size:.87rem;color:#1a1a1a}

.pd-qty-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.pd-qty-label{font-size:.81rem;color:#666}
.pd-qty{display:flex;align-items:center;border:1px solid var(--card-border);border-radius:6px;overflow:hidden}
.pd-qty-btn{width:2.75rem;height:2.75rem;border:0;background:#f5f5f5;font-size:1.1rem;cursor:pointer;color:#1a1a1a}
.pd-qty-btn:hover{background:#e8e8e8}
.pd-qty-input{width:3rem;height:2.75rem;border:0;border-left:1px solid var(--divider);border-right:1px solid var(--divider);text-align:center;font-size:.875rem;font-weight:600;color:#1a1a1a}
.pd-add{width:100%;padding:1rem;background:var(--action);color:#fff;border:0;border-radius:6px;font-size:.94rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.pd-add:hover{background:var(--action-hover)}
.pd-meta-bar{margin-top:2rem;display:grid;gap:1rem}
.pd-meta-row{display:flex;gap:.7rem;align-items:flex-start;background:#fff;border:1px solid var(--card-border);
  border-top:3px solid var(--green);border-radius:8px;padding:1.1rem 1.2rem;font-size:.84rem;color:#555;line-height:1.65}
.pd-meta-row b{color:#1a1a1a;font-weight:600}
@media (min-width:768px){
  .pd-meta-bar{grid-template-columns:repeat(3,1fr)}
}

.pd-sec{padding:3.25rem 0}
.pd-sec.alt{background:var(--panel)}
.pd-sec h2{font-family:'Bodoni Moda',serif;font-size:1.5rem;text-align:center;margin-bottom:.6rem}
.pd-sec .sub{text-align:center;color:#5a5a5a;font-size:.9rem;margin-bottom:2rem}
.pd-desc{max-width:74ch;margin:0 auto}
.pd-desc p{font-size:.97rem;color:#3d3d3d;line-height:1.82;margin-bottom:1.1rem}
.pd-desc p:last-child{margin-bottom:0}
.pd-honest{max-width:44rem;margin:2rem auto 0;background:#fff;border:1px solid var(--card-border);border-top:3px solid var(--green);border-radius:8px;padding:1.4rem 1.5rem}
.pd-honest h3{font-size:.94rem;font-weight:600;margin-bottom:.5rem}
.pd-honest p{margin:0;font-size:.87rem;color:#666;line-height:1.7}
.pd-honest ul{margin:.5rem 0 0;padding-left:1.1rem}
.pd-honest li{font-size:.87rem;color:#666;line-height:1.7}

/* ---------- About 区排版：正文卡片 + 说明卡片（≥1024 两栏，手机单栏） ---------- */
.pd-about{display:grid;gap:1.5rem;max-width:40rem;margin:0 auto}
.pd-about-main{min-width:0}
.pd-about .pd-desc{max-width:none;margin:0;background:#fff;border:1px solid var(--card-border);
  border-top:3px solid var(--green);border-radius:8px;padding:1.6rem 1.5rem}
.pd-about .pd-desc p{font-size:1rem;color:#333;line-height:1.78;margin-bottom:1.3rem}
.pd-about .pd-desc p:first-child{font-size:1.05rem;color:#1a1a1a}
.pd-about .pd-desc p:last-child{margin-bottom:0}
.pd-about .pd-honest{max-width:none;margin:0}
/* Read more：只在小屏 + JS 就绪时出现（无 JS 时全文照常展示，不留死按钮） */
.pd-desc-more{display:none}
@media (min-width:1024px){
  .pd-about{max-width:60rem;grid-template-columns:minmax(0,1fr) 18.5rem;gap:1.5rem;align-items:start}
}
/* 手机：收紧留白 + 折叠长文（点 Read more 展开） */
@media (max-width:900px){
  .pd-about{gap:1.15rem}
  .pd-about .pd-desc{padding:1.25rem 1.1rem}
  .pd-about .pd-desc p{font-size:.97rem;line-height:1.72;margin-bottom:1.05rem}
  .pd-about .pd-desc p:first-child{font-size:1rem}
  .pd-about-main.js-ready .pd-desc-more{display:inline-block;margin-top:.9rem;background:0;border:0;padding:0;
    color:var(--green);font-size:.87rem;font-weight:600;text-decoration:underline;cursor:pointer}
  .pd-about-main.js-ready .pd-desc-more:hover{color:var(--action-hover)}
  .pd-about-main.js-ready .pd-desc.is-clamped{max-height:10.5rem;overflow:hidden;position:relative}
  .pd-about-main.js-ready .pd-desc.is-clamped::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3.5rem;
    background:linear-gradient(rgba(255,255,255,0),#fff)}
}

@media (max-width:900px){
  .pd-layout{grid-template-columns:1fr;gap:1.75rem;padding:1rem 0 2.25rem}
  .pd-images{position:static}
  .pd-main-img{max-width:26rem;margin:0 auto}
  .pd-title{font-size:1.28rem}
  .pd-sec{padding:2.25rem 0}
  .pd-sec h2{font-size:1.25rem}
}

/* ---------- 主图：可点开放大（手机看细节的关键） ---------- */
.pd-main-img{position:relative}
.pd-main-btn{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.pd-zoom-badge{position:absolute;right:.6rem;bottom:.6rem;display:flex;align-items:center;gap:.35rem;
  background:rgba(0,0,0,.72);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.04em;
  padding:.42rem .6rem;border-radius:999px;pointer-events:none}
.pd-zoom-hint{font-size:.78rem;color:#666;text-align:center;margin-top:.5rem}

/* ---------- 全屏灯箱（零依赖：双指缩放 / 双击放大 / 拖动 / 滑动切图） ---------- */
.pd-lb{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:300;display:flex;flex-direction:column}
.pd-lb[hidden]{display:none}
.pd-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .8rem;flex-shrink:0}
.pd-lb-count{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.04em}
.pd-lb-hint{color:rgba(255,255,255,.72);font-size:.76rem;text-align:center;flex:1}
.pd-lb-close{width:2.75rem;height:2.75rem;flex-shrink:0;border:0;border-radius:6px;background:rgba(255,255,255,.14);
  color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}
.pd-lb-close:hover{background:rgba(255,255,255,.26)}
.pd-lb-main{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative}
.pd-lb-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;
  touch-action:none;cursor:grab}
.pd-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;
  will-change:transform;user-select:none}
.pd-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:4.5rem;border:0;border-radius:6px;
  background:rgba(255,255,255,.14);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pd-lb-nav:hover{background:rgba(255,255,255,.26)}
.pd-lb-nav.prev{left:.4rem}
.pd-lb-nav.next{right:.4rem}
.pd-lb-dots{display:flex;gap:.35rem;justify-content:center;padding:.6rem;flex-shrink:0;flex-wrap:wrap}
.pd-lb-dot{width:3rem;height:2.75rem;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;background:#222;cursor:pointer}
.pd-lb-dot img{width:100%;height:100%;object-fit:cover;display:block}
.pd-lb-dot.active{border-color:#fff}
@media (max-width:560px){
  .pd-lb-hint{display:none}
  .pd-lb-dots{display:none}
}

/* ---------- 分类页（品牌 / 系列 两层） ---------- */


.pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2.25rem 0 0;padding-top:1.5rem;border-top:1px solid var(--divider)}
.pager-btn{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 1.1rem;border:1px solid var(--card-border);
  border-radius:6px;background:#fff;color:#1a1a1a;font-size:.85rem;font-weight:500}
.pager-btn:hover{border-color:var(--green);color:var(--green)}
.pager-btn.is-off{opacity:.4;pointer-events:none}
.pager-info{font-size:.83rem;color:#666;text-align:center}

.cat-note{margin:2.5rem 0 0}
.cat-note .pd-honest{margin:0}

.cat-others{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem;margin:2rem 0 1rem;font-size:.86rem}
.cat-others-label{color:#666}
.cat-others a{color:#1a1a1a;border-bottom:1px solid transparent;padding-bottom:1px}
.cat-others a:hover{color:var(--green);border-bottom-color:var(--green)}
.cat-others a span{color:#888;font-size:.78rem;margin-left:.2rem}

@media (max-width:760px){
      .pager{flex-wrap:wrap;justify-content:center;gap:.6rem}
  .pager-info{order:-1;width:100%;margin-bottom:.25rem}
}

/* ---------- 分类页 BANNER 条（品牌绿实底） ---------- */
.cat-banner{background:var(--action);border-bottom:0;padding:1.5rem 0 1.7rem;position:relative;overflow:hidden}
.cat-banner.has-img{padding:3.4rem 0 3.6rem}
.cat-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:0}
.cat-banner.has-img::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(0,22,13,.90) 0%,rgba(0,22,13,.74) 34%,rgba(0,22,13,.44) 68%,rgba(0,22,13,.30) 100%)}
.cat-banner .container{position:relative;z-index:2}
.cat-banner .pd-crumbs{padding:0 0 .55rem;color:#fff}
.cat-banner .pd-crumbs a,.cat-banner .pd-crumbs li > span[aria-hidden]{color:rgba(255,255,255,.92)}
.cat-banner .pd-crumbs a:hover{color:#fff;text-decoration:underline}
.cat-banner .pd-crumbs [aria-current]{color:#fff}
.cat-banner h1{font-family:'Bodoni Moda',serif;font-size:1.9rem;line-height:1.2;margin:0 0 .55rem;color:#fff}
.cat-banner .cat-lede{max-width:74ch;margin:0;font-size:.92rem;color:rgba(255,255,255,.95);line-height:1.7}
.cat-banner .cat-lede b{color:#fff}

/* ---------- 左栏筛选（只保留三个控件） ---------- */
.cat-layout{display:grid;grid-template-columns:15.5rem 1fr;gap:2.25rem;align-items:start;padding:2rem 0 3rem}
.cat-layout>*{min-width:0}
.cat-sidebar{position:sticky;top:5.5rem}
.sb-toggle{display:none}
.sb-group{border-bottom:1px solid var(--divider);padding:.9rem 0 1rem}
.sb-group:first-child{padding-top:0}
.sb-group:last-child{border-bottom:0}
.sb-title{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#555;margin:0 0 .6rem}

.sb-price-row{display:flex;align-items:center;gap:.45rem}
.sb-price-row input{width:100%;min-width:0;padding:.45rem .55rem;border:1px solid var(--card-border);border-radius:4px;
  font-size:.82rem;background:#fafafa;color:#999}
.sb-price-btn{margin-top:.5rem;width:100%;min-height:2.5rem;border:0;border-radius:4px;background:#e3e3e8;color:#9a9aa2;
  font-size:.82rem;font-weight:600;cursor:not-allowed}

/* ---- 价格滑动条（双把手 range：服务端过滤，无 JS 也能提交）---- */
.sb-range{position:relative;height:2.4rem;margin:.2rem 0 0}   /* 命中高度加大：原来 1.9rem */
.sb-range-rail{position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);
  background:#e3e3e8;border-radius:2px}
.sb-range-fill{position:absolute;left:0;right:0;top:0;bottom:0;background:var(--green);border-radius:2px}
.sb-range input[type=range]{position:absolute;left:0;top:0;width:100%;height:2.4rem;margin:0;padding:0;
  background:none;border:0;-webkit-appearance:none;appearance:none;pointer-events:none;
  touch-action:none;z-index:3}   /* touch-action:none = 手机上拖把手不再带动页面滚动 */
.sb-range input[type=range]:focus{outline:none}
.sb-range input[type=range]:active,.sb-range input[type=range]:focus{z-index:4}   /* 谁被按住谁在上层：两根把手重叠时也抓得到 */
.sb-range input[type=range]::-webkit-slider-runnable-track{height:4px;background:none;border:0}
.sb-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;cursor:grab;
  width:1.4rem;height:1.4rem;margin-top:0;border-radius:50%;background:#fff;border:2px solid var(--green);
  box-shadow:0 1px 4px rgba(0,0,0,.3)}   /* 原来 1.1rem≈17.6px，太难戳中 */
.sb-range input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}
.sb-range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(0,96,57,.3)}
.sb-range input[type=range]::-moz-range-track{height:4px;background:none;border:0}
.sb-range input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:grab;width:1.4rem;height:1.4rem;
  border-radius:50%;background:#fff;border:2px solid var(--green);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.sb-range-out{margin:.55rem 0 0;font-size:.9rem;color:#1a1a1a;text-align:center;font-variant-numeric:tabular-nums}
.sb-range-out b{font-weight:600;color:var(--green)}
.sb-price-apply{margin-top:.6rem;background:#fff;color:var(--green);border:2px solid var(--green);cursor:pointer;
  transition:background .2s,color .2s}
.sb-price-apply:hover{background:var(--green);color:#fff}
.sb-inert{display:block;margin:.6rem 0 0;padding:.4rem .5rem;border:1px dashed var(--card-border);border-radius:4px;
  font-size:.78rem;color:#888;text-align:center}
.sb-hint{margin:.55rem 0 0;font-size:.75rem;color:#666;line-height:1.6}

.sb-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.sb-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
.sb-links a{display:flex;justify-content:space-between;gap:.75rem;padding:.32rem 0;font-size:.85rem;color:#1a1a1a}
.sb-links a:hover{color:var(--green)}
.sb-links a span{color:#5a5a5a;font-variant-numeric:tabular-nums}
.sb-checks li{display:flex;align-items:center;gap:.5rem}
.sb-checks label{font-size:.82rem;color:#999;cursor:not-allowed}
.sb-checks input{accent-color:var(--green)}

.sb-mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.sb-mini a{display:grid;grid-template-columns:3.5rem 1fr;gap:.55rem .6rem;align-items:start}
.sb-mini img{grid-row:span 3;width:3.5rem;border-radius:4px;background:#f5f5f7;object-fit:cover}
.sb-mini-t{font-size:.79rem;font-weight:500;color:#1a1a1a;line-height:1.4}
.sb-mini a:hover .sb-mini-t{color:var(--green)}
.sb-mini-m{font-size:.72rem;color:#888}
.sb-mini-p{font-size:.78rem;font-weight:600;color:var(--green)}

/* ---------- 商品区（3 列） ---------- */
/* 404 页搜索条 */
.nf-search{display:flex;gap:.6rem;flex-wrap:wrap;max-width:38rem}
.nf-search input{flex:1 1 16rem;min-width:0;padding:.7rem .9rem;border:1px solid var(--green-line);border-radius:8px;
  font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink)}
.nf-search input:focus{outline:2px solid var(--green);outline-offset:1px}
.nf-search .btn{white-space:nowrap}

/* 排序条（/shop/ 与栏目页）：链接式服务端排序，无 JS 依赖 */
.cat-sort{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.1rem;padding:.6rem .8rem;
  background:#fff;border:1px solid var(--green-line);border-radius:8px}
.cat-sort-count{font-size:.85rem;font-weight:700;color:var(--ink)}
.cat-sort-by{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8a92;margin-left:auto}
.cat-sort-link{display:inline-flex;align-items:center;padding:.32rem .72rem;border:1px solid var(--green-line);
  border-radius:999px;background:#fff;color:#3a3a42;font-size:.79rem;text-decoration:none;line-height:1.2}
.cat-sort-link:hover{border-color:var(--green);color:var(--green)}
.cat-sort-link.is-on{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.cat-sort-hint{font-size:.75rem;color:#8a8a92;flex-basis:100%}
@media (max-width:640px){.cat-sort{padding:.55rem .65rem;gap:.42rem}.cat-sort-by{margin-left:0}}
.cat-active{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.1rem}
.cat-active-label{font-size:.8rem;color:#666}
.cat-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--green);
  border-radius:999px;background:#fff;color:var(--green);font-size:.79rem;font-weight:500}
.cat-tag:hover{background:var(--green);color:#fff}
.cat-tag.is-clear{border-color:var(--card-border);color:#666}
.cat-tag.is-clear:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}
.cat-count{font-size:.79rem;color:#666;margin-left:.15rem}

.cat-grid-products{grid-template-columns:repeat(3,1fr)}
.cat-empty{font-size:.9rem;color:#666;padding:1rem 0 2rem}
.cat-empty a{color:var(--green);text-decoration:underline}

@media (max-width:1100px){
  .cat-grid-products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .cat-layout{grid-template-columns:1fr;gap:1rem;padding:1.25rem 0 2.5rem}
  .cat-sidebar{position:static}
  .sb-toggle{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.9rem;padding:.6rem .9rem;
    border:1px solid var(--card-border);border-radius:6px;background:#fff;font-size:.9rem;font-weight:600;cursor:pointer}
  .sb-toggle .sb-caret{margin-left:auto;transition:transform .2s}
  .cat-sidebar.is-open .sb-toggle .sb-caret{transform:rotate(180deg)}
  .sb-badge{background:var(--green);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:.05rem .45rem}
  .sb-body{display:none;border:1px solid var(--card-border);border-top:0;border-radius:0 0 6px 6px;padding:.9rem .9rem .3rem;margin-top:-1px}
  .cat-sidebar.is-open .sb-body{display:block}
}
@media (max-width:560px){
  .cat-banner h1{font-size:1.45rem}
  .cat-banner .cat-lede{font-size:.87rem}
  .cat-banner.has-img{padding:2.2rem 0 2.4rem}          /* 移动端别让 banner 占掉一整屏 */
  .cat-banner-img{object-position:center 45%}
  .cat-grid-products{grid-template-columns:repeat(2,1fr)}
}

/* ---------- 产品页买盒：元信息行 / 选项组 / 合计 ---------- */
.pd-metainfo{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);margin:0 0 1.25rem;padding:.3rem 0}
.pd-mi-row{display:flex;gap:.75rem;font-size:.82rem;padding:.32rem 0}
.pd-mi-label{color:#666;min-width:5.75rem}
.pd-mi-value{color:#1a1a1a;font-weight:500;overflow-wrap:anywhere}
.pd-opts{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:1rem}
.pd-opt{border:0;padding:0;margin:0;min-width:0}
.pd-opt legend{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#555;padding:0 0 .5rem}
.pd-opt-row{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem .7rem;
  border:1px solid var(--card-border);border-radius:6px;cursor:pointer;font-size:.85rem;margin-bottom:.4rem}
.pd-opt-row:hover{border-color:var(--green)}
.pd-opt-row:focus-within{border-color:var(--green)}
.pd-opt-row:has(input:checked){border-color:var(--green);background:#f2f7f4}
.pd-opt-row input{accent-color:var(--green);flex-shrink:0;width:1.05rem;height:1.05rem}
.pd-opt-name{flex:1;color:#1a1a1a;line-height:1.4}
.pd-opt-price{font-size:.82rem;font-weight:600;color:var(--green);font-style:normal;white-space:nowrap}
.pd-totals{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:.6rem 0;margin-bottom:1rem}
.pd-total-row{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;padding:.3rem 0;color:#555}
.pd-total-row strong{color:#1a1a1a;font-weight:600}
.pd-total-grand{border-top:1px solid var(--divider);margin-top:.35rem;padding-top:.6rem;font-size:.9rem}
.pd-total-grand strong{font-size:1.05rem}

/* ---------- 购物车里的选项显示 ---------- */
.cart-opts{display:flex;flex-direction:column;gap:.15rem;margin-top:.3rem}
.cart-opts span{font-size:.74rem;color:#666;line-height:1.4}
.cart-optline{font-size:.74rem;color:var(--green);margin-top:.2rem}

@media (max-width:560px){
  .pd-mi-label{min-width:4.75rem}
  .pd-opt-row{font-size:.82rem}
}

/* ---------- 规格出买盒后的独立区块 ---------- */
.pd-sec-specs .pd-spec-table{max-width:34rem;margin:0 auto}

/* ---- Learn 文章页（/movements/ 等）---- */
.ln-body{max-width:44rem;margin:0 auto}
.ln-body h2{font-family:'Bodoni Moda',serif;font-size:1.35rem;line-height:1.3;color:#1a1a1a;margin:2.2rem 0 .7rem}
.ln-body p{font-size:1rem;color:#333;line-height:1.78;margin-bottom:1.1rem}
.ln-h2{font-family:'Bodoni Moda',serif;font-size:1.35rem;line-height:1.3;text-align:center;color:#1a1a1a;margin:2.6rem 0 .5rem}
.ln-note{text-align:center;font-size:.9rem;color:var(--muted-2);max-width:48rem;margin:0 auto 1.4rem;line-height:1.7}
/* 文章开头的"一眼看数字"卡条 */
.ln-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:58rem;margin:0 auto 1.2rem}
.ln-fact{background:#fff;border:1px solid var(--green-line);border-top:3px solid var(--green);border-radius:8px;
  padding:.9rem .8rem;text-align:center}
.ln-fact-n{display:block;font-family:'Bodoni Moda',serif;font-size:1.3rem;line-height:1.15;color:var(--ink)}
.ln-fact-l{display:block;margin-top:.3rem;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2)}
@media (max-width:640px){.ln-facts{grid-template-columns:repeat(2,1fr);gap:.55rem}.ln-fact-n{font-size:1.1rem}}
.ln-table-wrap{overflow-x:auto;max-width:58rem;margin:0 auto 2rem;background:#fff;border:1px solid var(--card-border);
  border-top:3px solid var(--green);border-radius:8px}
.ln-table{width:100%;border-collapse:collapse;min-width:42rem}
.ln-table th,.ln-table td{padding:.78rem 1rem;text-align:left;font-size:.86rem;line-height:1.6;
  border-bottom:1px solid var(--divider);vertical-align:top}
.ln-table thead th{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-2);
  font-weight:600;background:#fafafa;white-space:nowrap}
.ln-table tbody th{font-weight:600;color:#1a1a1a;white-space:nowrap}
.ln-table tbody tr:last-child th,.ln-table tbody tr:last-child td{border-bottom:0}
.ln-table a{color:var(--green)}
.ln-num{font-variant-numeric:tabular-nums;color:#666;white-space:nowrap}
.ln-dim{color:var(--muted-2);font-size:.78rem}
.ln-note-box{max-width:44rem;margin:2.4rem auto 0;padding:1.1rem 1.25rem;background:var(--panel);
  border:1px solid var(--card-border);border-left:3px solid var(--green);border-radius:8px;
  font-size:.9rem;color:#444;line-height:1.72}
@media (max-width:640px){
  .ln-table{min-width:36rem}
  .ln-table th,.ln-table td{padding:.65rem .8rem;font-size:.82rem}
  .ln-body h2,.ln-h2{font-size:1.2rem}
  .ln-note-box{font-size:.86rem;padding:.95rem 1rem}
}

/* ---------- Buy now ---------- */
.pd-buynow{width:100%;margin-top:.6rem;padding:1rem;background:#fff;color:var(--green);
  border:2px solid var(--green);border-radius:6px;font-size:.94rem;font-weight:600;letter-spacing:1px;
  text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.pd-buynow:hover{background:var(--green);color:#fff}

/* ---------- 加购 / 立即购买 / 心愿单：同一行（grid 保证等宽） ---------- */
.pd-cta-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem}
.pd-cta-row .pd-add,.pd-cta-row .pd-buynow{width:auto;min-width:0;margin-top:0;padding:1rem .5rem}
.pd-wish-btn{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;padding:0;
  background:#fff;color:#1a1a1a;border:2px solid var(--card-border);border-radius:6px;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s,transform .2s}
.pd-wish-btn svg{display:block}
.pd-wish-btn:hover{border-color:var(--green);color:var(--green)}
.pd-wish-btn.is-on{border-color:var(--green);color:var(--green);background:#f2f9f5}
.pd-wish-btn.is-on svg{fill:currentColor}
.pd-wish-btn.is-pop{transform:scale(.9)}
@media (max-width:560px){
  .pd-cta-row{gap:.45rem}
  .pd-cta-row .pd-add,.pd-cta-row .pd-buynow{padding:.85rem .3rem;font-size:.82rem;letter-spacing:.4px}
  .pd-wish-btn{width:2.85rem}
}

/* ---------- 分享行 ---------- */
.pd-share{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--divider)}
.pd-share-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#555;margin-bottom:.6rem}
.pd-share-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.pd-share-btn{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;padding:0;
  border:1px solid var(--card-border);border-radius:6px;background:#fff;color:#1a1a1a;
  cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.pd-share-btn svg{display:block}
.pd-share-btn:hover{border-color:var(--green);color:var(--green)}
.pd-share-btn.is-done{border-color:var(--green);background:var(--green);color:#fff}
@media (max-width:560px){
  .pd-share-btn{width:2.5rem;height:2.5rem}
}

/* ---------- 产品页排版优化（2026-09-11：Mark 要求与结算页统一，走苹果/RICH 那套） ----------
   参考 RICH 的 /product/：浅灰面包屑细条 + 两栏（图|信息）+ 60px 节律 + 细线分隔 + 苹果色值。
   ⚠️ 只调排版/字号/控件观感；**卡片语言保持不动**（价格块、信任三卡、About 两张卡是他之前
   明确要过的形态："这个做成卡片""一行两个按钮"），别顺手推翻。 */
/* 1) 面包屑：浅灰细条（RICH 原值：padding 12px / 13px 灰字 / 当前项加深） */
.pd-crumbs{background:#f8f8f8;border-bottom:1px solid #e8e8ed;padding:.8rem 0}
.pd-crumbs,.pd-crumbs a{font-size:.8rem;color:#6e6e73}
.pd-crumbs a:hover{color:#1d1d1f}
.pd-crumbs [aria-current]{color:#1d1d1f;font-weight:500}
/* 2) 主区留白 + 标题字号（大一号、紧一点） */
.pd-layout{padding:2.25rem 0 3.5rem;gap:3.5rem}
.pd-title{font-size:1.95rem;line-height:1.2;letter-spacing:-.01em}
.pd-sub,.pd-price-note{color:#6e6e73}
.pd-factory{font-size:.72rem;letter-spacing:.14em}
/* 3) 价格与合计：放大 + 灰字标签 */
.pd-price{font-size:1.95rem;letter-spacing:-.01em;color:#1d1d1f}
.pd-price-note{line-height:1.65}
.pd-total-row{color:#6e6e73}
.pd-total-row strong{color:#1d1d1f}
.pd-total-grand strong{font-size:1.12rem}
/* 4) 选项/数量控件：细边 + 8px 圆角 + 浅灰 hover（苹果观感） */
.pd-qty{border-color:#d2d2d7;border-radius:8px}
.pd-qty-btn{background:#fff}
.pd-qty-btn:hover{background:#f5f5f7}
.pd-opt-row{border-color:#d2d2d7;border-radius:8px}
.pd-opt legend{color:#6e6e73}
/* 5) 行动按钮：去掉全大写与字距（苹果不做全大写）、圆角 10px；次按钮 1px 细描边 */
.pd-add,.pd-buynow{font-size:.97rem;font-weight:600;letter-spacing:0;text-transform:none;border-radius:10px}
.pd-buynow{border-width:1px;border-color:#1d1d1f;color:#1d1d1f}
.pd-buynow:hover{background:#1d1d1f;color:#fff}
.pd-wish-btn{border-width:1px;border-color:#d2d2d7;border-radius:10px}
.pd-cta-row{gap:.55rem}
/* 6) 分享行 / 规格表：细线与灰字对齐苹果色值 */
.pd-share{border-top-color:#e8e8ed}
.pd-share-label{color:#6e6e73}
.pd-spec-table tr{border-bottom-color:#e8e8ed}
.pd-spec-table th{color:#6e6e73;font-size:.82rem}
.pd-spec-table td{color:#1d1d1f;font-size:.88rem}
/* 7) 内容节：60px 节律 + 苹果浅灰底 + 正文 15px/1.9（RICH 数值） */
.pd-sec{padding:3.75rem 0}
.pd-sec.alt{background:#f8f8f8}
.pd-sec h2{letter-spacing:-.01em}
.pd-sec .sub{color:#6e6e73}
.pd-desc p,.pd-about .pd-desc p{font-size:.94rem;color:#555;line-height:1.9}
.pd-about .pd-desc p:first-child{font-size:1rem;color:#1d1d1f}
.pd-honest p,.pd-honest li{color:#6e6e73}
@media (max-width:560px){
  .pd-layout{padding:1.5rem 0 2.5rem;gap:2rem}
  .pd-title{font-size:1.5rem}
  .pd-price{font-size:1.6rem}
  .pd-sec{padding:2.75rem 0}
}

/* ---------- 客户评价（2026-09-11 新增，从 RICH 移植；只显示已发布的真实评价） ----------
   ⚠️ 空态就是空态：没有已发布评价时**绝不填样例数据**；星数/平均分只由 approved 里的真实评价算出 */
.rv-summary{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap;margin:0 0 1.4rem}
.rv-stars{color:#d99020;letter-spacing:.12em}
.rv-stars-lg{font-size:1.15rem}
.rv-summary strong{font-size:1.1rem;color:#1d1d1f}
.rv-count{font-size:.85rem;color:#6e6e73}
.rv-list{max-width:44rem;margin:0 auto}
.rv-card{margin:0 0 .75rem;padding:1.1rem 1.2rem;background:#fff;border:1px solid #e8e8ed;border-radius:10px}
.rv-card .rv-stars{font-size:.95rem}
.rv-title{font-weight:600;color:#1d1d1f;margin:.35rem 0 .3rem;font-size:.95rem}
.rv-text{margin:0 0 .6rem;font-size:.92rem;line-height:1.75;color:#3d3d3d}
.rv-meta{font-size:.79rem;color:#6e6e73}
.rv-meta strong{color:#1d1d1f}
.rv-verified{display:inline-block;margin-left:.35rem;padding:.05rem .45rem;border-radius:999px;background:#e8f5ec;color:#1b7f3b;font-size:.72rem;font-weight:600}
.rv-empty{max-width:36rem;margin:0 auto 1.1rem;padding:1.6rem 1.4rem;text-align:center;background:#f8f8f8;border:1px dashed #d5d5db;border-radius:10px}
.rv-empty-mark{font-size:1.4rem;margin-bottom:.4rem}
.rv-empty-title{font-weight:600;color:#1d1d1f;margin-bottom:.4rem}
.rv-empty p{margin:0;font-size:.88rem;line-height:1.7;color:#6e6e73}
.rv-cta{text-align:center}
.rv-open{padding:.85rem 1.9rem;border:0;border-radius:10px;background:#1d1d1f;color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}
.rv-open:hover{background:#000}
.rv-note{margin:.65rem 0 0;font-size:.78rem;color:#8e8e93;line-height:1.6}
.rv-form{max-width:36rem;margin:1.3rem auto 0;padding:1.2rem 1.25rem;border:1px solid #e8e8ed;border-radius:10px;background:#fff}
.rv-form-grid{display:grid;gap:0 1rem}
@media (min-width:560px){.rv-form-grid{grid-template-columns:1fr 1fr}}
.rv-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}
.rv-field>span{font-size:.75rem;font-weight:600;color:#6e6e73}
.rv-field>span em{font-weight:400;font-style:normal;color:#9a9aa0}
.rv-field input,.rv-field textarea{width:100%;padding:.7rem .8rem;border:1px solid #d2d2d7;border-radius:8px;font-size:.9rem;font-family:inherit;color:#1d1d1f;background:#fff}
.rv-field input:focus,.rv-field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(0,96,57,.14)}
.rv-star-pick{display:flex;gap:.15rem}
.rv-star-pick button{padding:0 .1rem;border:0;background:transparent;color:#d5d5db;font-size:1.45rem;line-height:1;cursor:pointer}
.rv-star-pick button.is-on{color:#d99020}
.rv-star-pick button:hover{color:#e8b25c}
.rv-submit{width:100%;padding:1rem;border:0;border-radius:10px;background:var(--green);color:#fff;font-family:inherit;font-size:.97rem;font-weight:600;cursor:pointer}
.rv-submit:hover{background:#00502f}
.rv-submit[disabled]{opacity:.65;cursor:default}
.rv-status{margin:.7rem 0 0;font-size:.82rem;color:#6e6e73;line-height:1.6;min-height:1.2rem}
.rv-status.is-ok{color:#1b7f3b;font-weight:500}
.rv-status.is-bad{color:#c62828}
@media (max-width:560px){
  .rv-list,.rv-empty,.rv-form{max-width:none}
  .rv-open{width:100%}
}

/* 正文改成 RICH 那种「加粗小标题 + 段落 + 细线分隔」的展示（2026-09-11 Mark：「文字的还是没有修改成 RICH 的那种展示方式」）
   数值照 RICH /product/ 的 Product Details：限宽 760px 居中 / h3 15px/700 #1d1d1f / p 14px/1.8 #555 / 1px #f0f0f0 分隔 + 24px 间距 */
.pd-about{display:block;max-width:47.5rem;margin:0 auto}
.pd-blocks{margin:0}
.pd-block{margin:0 0 1.5rem;padding:0 0 1rem;border-bottom:1px solid #f0f0f0}
.pd-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.pd-block h3{margin:0 0 .4rem;font-size:.94rem;font-weight:700;color:#1d1d1f;letter-spacing:0}
.pd-block p{margin:0;font-size:.88rem;line-height:1.8;color:#555}
.pd-about .pd-honest{margin:2rem 0 0;padding:1.4rem 0 0;max-width:none;background:transparent;border:0;border-top:1px solid #e8e8ed;border-radius:0}
.pd-about .pd-honest h3{margin:0 0 .5rem;font-size:.94rem;font-weight:700}
.pd-about .pd-honest ul{margin:0;padding-left:1.1rem}
.pd-about .pd-honest li{font-size:.86rem;line-height:1.75;color:#6e6e73}
@media (max-width:560px){
  .pd-block{margin-bottom:1.15rem;padding-bottom:.9rem}
  .pd-about .pd-honest{margin-top:1.5rem;padding-top:1.1rem}
}

/* 评价照片（2026-09-11 加图片上传入口）：选择器 + 预览 + 卡片里的缩略图 */
.rv-field input[type=file]{width:100%;padding:.55rem .6rem;border:1px dashed #d2d2d7;border-radius:8px;
  background:#fff;font-size:.82rem;font-family:inherit;color:#3d3d3d;cursor:pointer}
.rv-field input[type=file]:hover{border-color:var(--green)}
.rv-previews{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.rv-prev{position:relative;width:4.5rem;height:4.5rem;margin:0;border:1px solid #e8e8ed;border-radius:8px;overflow:hidden;background:#f8f8f8}
.rv-prev img{width:100%;height:100%;object-fit:cover;display:block}
.rv-prev-x{position:absolute;top:2px;right:2px;width:1.15rem;height:1.15rem;padding:0;border:0;border-radius:50%;
  background:rgba(0,0,0,.62);color:#fff;font-size:.85rem;line-height:1;cursor:pointer}
.rv-prev-x:hover{background:rgba(0,0,0,.85)}
.rv-photo-note{margin:.45rem 0 0;font-size:.75rem;color:#8e8e93;line-height:1.55}
.rv-photos{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .7rem}
.rv-photo{display:block;width:4.5rem;height:4.5rem;border:1px solid #e8e8ed;border-radius:8px;overflow:hidden;background:#f8f8f8}
.rv-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s}
.rv-photo:hover img{transform:scale(1.04)}

/* ---------- 滚动固定购物条（2026-09-11，参考 apswatches.net / Woodmart 的 sticky add-to-cart） ----------
   桌面：缩略图 + 标题 + 合计 + 加购（底部固定、滑出动画）；手机：整条只有一个全宽加购按钮（照参考站）。
   ⚠️ 出现时 body 加 .has-atcbar：① 聊天悬浮球上移（否则被压在条下面）② 桌面补 padding-bottom（内容不被遮） */
.pd-atcbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid #e8e8ed;
  box-shadow:0 -2px 12px rgba(0,0,0,.08);transform:translate3d(0,110%,0);visibility:hidden;
  transition:transform .32s cubic-bezier(.19,1,.22,1),visibility .32s}
.pd-atcbar.is-on{transform:translate3d(0,0,0);visibility:visible}
.pd-atcbar-in{display:flex;align-items:center;gap:.9rem;padding:.6rem 0}
.pd-atcbar-thumb{flex:0 0 auto;width:2.6rem;height:3.45rem;border:1px solid #e8e8ed;border-radius:6px;overflow:hidden;background:#f5f5f7}
.pd-atcbar-thumb img{width:100%;height:100%;object-fit:contain;display:block}   /* 整只表都要看见：49/231 首图非 3:4 */
.pd-atcbar-info{flex:1 1 auto;min-width:0}
.pd-atcbar-title{font-size:.86rem;font-weight:600;color:#1d1d1f;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-atcbar-meta{font-size:.74rem;color:#6e6e73;margin-top:.15rem}
.pd-atcbar-price{flex:0 0 auto;text-align:right;margin-right:.3rem}
.pd-atcbar-price span{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#8e8e93}
.pd-atcbar-price strong{font-size:1rem;color:#1d1d1f}
.pd-atcbar-btn{flex:0 0 auto;padding:.85rem 1.6rem;border:0;border-radius:10px;background:var(--green);color:#fff;
  font-family:inherit;font-size:.94rem;font-weight:600;cursor:pointer;white-space:nowrap}
.pd-atcbar-btn:hover{background:#00502f}
/* 次按钮：直接去买（加进车并跳结算/购物车）——与主区块 pd-buynow 同一套配色（白底细描边） */
.pd-atcbar-buy{flex:0 0 auto;margin-left:.5rem;padding:.85rem 1.4rem;border:1px solid #1d1d1f;border-radius:10px;
  background:#fff;color:#1d1d1f;font-family:inherit;font-size:.94rem;font-weight:600;cursor:pointer;white-space:nowrap}
.pd-atcbar-buy:hover{background:#1d1d1f;color:#fff}
@media (min-width:901px){ body.has-atcbar{padding-bottom:4.7rem} }
@media (max-width:900px){
  .pd-atcbar-in{gap:.5rem;padding:.55rem .8rem}
  .pd-atcbar-thumb,.pd-atcbar-info,.pd-atcbar-price{display:none}   /* 手机：只留两个按钮 */
  .pd-atcbar-btn,.pd-atcbar-buy{flex:1 1 0;width:auto;min-width:0;padding:1rem .5rem;font-size:.92rem;border-radius:10px}
  .pd-atcbar-buy{margin-left:0}
  body.has-atcbar{padding-bottom:4.4rem}
}
body.has-atcbar .ai-chat{bottom:calc(1.1rem + 4.4rem)}
@media (prefers-reduced-motion:reduce){ .pd-atcbar{transition:none} }
/* 悬停放大（2026-09-11 第二轮）：照参考站 WooCommerce 原生 zoom ——
   裁切框严格贴住图片绘制框，里面一张原图按 ≥2× 渲染、随光标偏移，超出部分裁掉 → 图"在原地整体放大" */
.pd-zoombox{position:absolute;overflow:hidden;pointer-events:none;z-index:3;opacity:0;transition:opacity .1s ease}
.pd-zoombox.is-on{opacity:1}
.pd-zoomimg{position:absolute;top:0;left:0;display:block;max-width:none;max-height:none;border:0}
@media (hover:none),(pointer:coarse),(max-width:900px){ .pd-zoombox{display:none !important} }

/* ---------- 顶部导航大菜单（2026-09-11，Mark：「下拉框，参考 RICH 的展示方式」）----------
   照 RICH 的形态：680px 面板 / 左列 200px 系列列表 / 右列该系列真实产品 2 列网格（40px 缩略图 + 名字）。
   ⚠️ 与 RICH 的唯一差异：面板**对齐整条导航居中**（.nav-group.mega{position:static}），不是对齐单个菜单项 ——
      680px 面板若挂在最右侧那一项下面，1024px 屏会溢出视口右侧；对齐导航条则任何宽度都不会溢出。 */
.nav-row{position:relative}
.nav-group.mega{position:static}
.nav-dropdown.mega-menu{width:min(1040px,calc(100vw - 2rem));padding:0;overflow:hidden}
.nav-group:hover .nav-dropdown.mega-menu,
.nav-group:focus-within .nav-dropdown.mega-menu,
.nav-group.open .nav-dropdown.mega-menu{display:flex}
.mega-cats{flex:0 0 186px;width:186px;padding:.55rem 0;border-right:1px solid #3a3a3a;background:#242424}
.mega-cats a{display:flex;justify-content:space-between;gap:.5rem;padding:.38rem 1rem;font-size:.78rem;color:#b9b9b9;border-left:3px solid transparent;transition:none}
.mega-cats a:hover,.mega-cats a.is-on{background:rgba(0,96,57,.30);color:#fff;border-left-color:var(--green)}
.mega-cats a span{color:#8a8a8a;font-size:.7rem;font-variant-numeric:tabular-nums}
.mega-cats .mega-divider{height:1px;background:#3a3a3a;margin:.4rem .75rem}
.mega-cats .mega-featured{color:#e6e6e6;font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.mega-products{flex:1;min-width:0;padding:.65rem .8rem}
.mega-series{display:none}
.mega-series.is-on{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:.1rem .3rem;min-height:5rem}
.mega-series.is-on:empty::after{content:'Loading references…';color:#8a8a8a;font-size:.76rem;padding:.5rem .25rem}
.mega-item{display:flex;align-items:center;gap:.42rem;padding:.16rem .35rem;border-radius:6px;color:#d5d5d5;font-size:.75rem;line-height:1.22}
.mega-item:hover{background:rgba(255,255,255,.09);color:#fff}
.mega-item img{width:30px;height:30px;border-radius:4px;object-fit:cover;background:#f5f5f7;flex:0 0 30px}
.mega-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:768px){
  /* 手机抽屉：大菜单退化成静态系列列表（不塞缩略图网格，抽屉里太挤；RICH 手机也是收起的） */
  .nav-dropdown.mega-menu{display:none;width:auto;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
  .nav-group.open .nav-dropdown.mega-menu{display:block}
  .mega-cats{width:auto;flex:none;padding:0;border:0;background:transparent;max-height:none;overflow:visible}
  .mega-cats a{padding:.875rem 1rem .875rem 2rem;font-size:.91rem;min-height:2.9rem;align-items:center;border-left:0;color:#d5d5d5}
  .mega-cats a:hover,.mega-cats a.is-on{background:rgba(255,255,255,.1);color:#fff}
  .mega-products{display:none}
}

/* ================= 2026-09-11 第①②③项 =================
   ② 系列页 BANNER 修正：条带压低 + 右侧遮罩加深（原来最右只有 .30，浅色图透出来读成一块白板；
      配色同时换成 Mark 认可的"选图打分"图，见 build_banners.py / data/banners.json）
   ③ 首页 + 列表页统一到"苹果/RICH 那套"：浅灰节律带 + 细线分隔 + 更大留白 + 标题层级。
      只动字号/间距/分隔线/卡片描边，**不推翻已确认的卡片语言**（绿色顶条保留），文案与内容一字不动。 */
.cat-banner.has-img{padding:2.45rem 0 2.65rem}
.cat-banner.has-img::before{background:linear-gradient(90deg,rgba(0,22,13,.92) 0%,rgba(0,22,13,.81) 36%,rgba(0,22,13,.63) 70%,rgba(0,22,13,.52) 100%)}
.cat-banner h1{font-size:1.78rem}
.cat-banner .cat-lede{font-size:.89rem;line-height:1.68}

.section{padding:5.5rem 0}
.section-dark{background:#f5f5f7}
.section-title{margin-bottom:3.25rem}
.section-title h2{font-size:2.05rem}
.section-title p{font-size:.98rem;color:#6e6e73}
.section-divider{width:2.5rem;height:1px;background:#d2d2d7;margin-top:1.1rem}

.cat-card,.faq-card,.note-card{box-shadow:none;border-color:#e8e8ed;border-top-color:var(--green)}   /* 只去投影，保留了已确认的绿顶条 */
.tech-card{box-shadow:none}
.cat-card:hover,.faq-card:hover{box-shadow:none}

.faq-grid{grid-template-columns:1fr;max-width:52rem;margin:0 auto;gap:1rem}

.tech-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.85rem}
.tech-card{background:transparent;border:0;border-top:1px solid #d2d2d7;border-radius:0;padding:1.3rem .2rem 0}
.tech-card-icon{background:transparent;color:var(--green);font-weight:700;font-size:1.05rem;width:auto;height:auto;margin-bottom:.55rem}

.cat-sidebar .sb-group{border:0;border-bottom:1px solid #e8e8ed;border-radius:0;padding:0 0 1.1rem;margin-bottom:1.1rem;background:transparent}
.cat-sidebar .sb-title{font-size:.74rem;letter-spacing:.1em;color:#6e6e73}
.cat-active{padding:.2rem 0 1rem;border-bottom:1px solid #e8e8ed;margin-bottom:1.25rem}

@media (max-width:768px){
  .section{padding:3.25rem 0}
  .section-title{margin-bottom:2.25rem}
  .section-title h2{font-size:1.58rem}
  .cat-banner h1{font-size:1.42rem}
  .tech-grid{gap:1.35rem}
}

/* ---------- 结算页 P0/P1 修复（2026-09-11，Mark「一起做」） ---------- */
.co-hint{margin:.4rem 0 0;font-size:.76rem;color:#6e6e73;line-height:1.5}
.co-timing{margin:.95rem 0 0;font-size:.82rem;color:#6e6e73;line-height:1.7}
.co-payline{margin:0 0 .9rem;font-size:.98rem;font-weight:600;color:#1d1d1f;text-align:center}
.co-payline b{font-size:1.06rem}
.co-pay-free{color:var(--green);font-weight:600}
.co-coupon-block{margin-top:1rem;padding-top:.9rem;border-top:1px solid #e8e8ed}
.co-coupon-block .co-coupon-note{margin-top:.5rem;font-size:.78rem}
.co-thumb img.is-broken{width:100%;height:100%;background:#f5f5f7}
@media (max-width:560px){
  /* 价格滑块：手机上把手放大到 28px、整条命中高度 48px，手指才拖得住 */
  .sb-range{height:3rem}
  .sb-range input[type=range]{height:3rem}
  .sb-range input[type=range]::-webkit-slider-thumb{width:1.75rem;height:1.75rem}
  .sb-range input[type=range]::-moz-range-thumb{width:1.75rem;height:1.75rem}
  /* 触摸目标 ≥44px：原来输入框 40px 偏小 */
  .co-field input,.co-field textarea{min-height:46px;padding:.72rem .85rem;font-size:1rem}
  .co-field textarea{min-height:5.5rem}
  .co-payline{text-align:left;margin:.95rem 0 .8rem}
}
