/* OligoDirect —— 版面语言：西式科研供应商 / 编辑排版。
 *
 * 刻意避开的东西（这些组合起来就是"中国 B2B 模板"的味道）：
 *   ✗ 圆角卡片铺满页面      → 用细横线分隔的条目列表，卡片只在必要处
 *   ✗ 渐变光晕 hero         → 纯纸底，靠字体层级立标题
 *   ✗ 饱和的科技青/科技蓝   → 暖白纸 + 近黑墨 + 一个哑光深海军蓝
 *   ✗ 胶囊标签 + 悬停上浮   → 小字 + 细线，hover 只变色不位移
 *   ✗ 等宽大写宽字距小标题  → 小型大写字母（small-caps）标签
 * 该有的西式味道：衬线标题、暖白纸、细发丝线、信息密度、真表格、左对齐不居中。 */

:root{
  --paper:#fdfcfa; --paper2:#f7f5f1; --paper3:#f1eee8;
  --ink:#15181b; --ink2:#4c5359; --ink3:#7d858c;
  --rule:#e2ddd4; --rule2:#eeebe4;
  --accent:#1b3a63; --accent-h:#0d2544;
  --flag:#9c3a12; --flag-bg:#fbf2ea;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Charter,"Bitstream Charter",Cambria,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --w:1060px;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#131619; --paper2:#181c20; --paper3:#1e2328;
    --ink:#e9e6e0; --ink2:#a8aeb5; --ink3:#7b838a;
    --rule:#2a3037; --rule2:#20262b;
    --accent:#9dbde8; --accent-h:#c2d6f2;
    --flag:#dd9268; --flag-bg:#221913;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:17px/1.62 var(--sans);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--accent);text-decoration:none;text-underline-offset:2px}
a:hover{color:var(--accent-h);text-decoration:underline}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;color:var(--ink)}
code{font-family:var(--mono);font-size:.87em;background:var(--paper3);padding:1px 5px;
  border:1px solid var(--rule2);word-break:break-all}
.wrap{max-width:var(--w);margin:0 auto;padding:0 26px}
body.wide{--w:1200px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--ink);color:var(--paper);padding:9px 14px}

/* 小型大写字母标签 —— 替代等宽大写宽字距的那种"科技感"小标题 */
.label{font:600 12.5px/1.5 var(--sans);letter-spacing:.055em;text-transform:uppercase;
  color:var(--ink3);margin:0 0 12px}

/* ---------------- 顶栏：一条发丝线，没有毛玻璃没有阴影 ---------------- */
.top{border-bottom:1px solid var(--rule);background:var(--paper)}
.bar{max-width:var(--w);margin:0 auto;padding:0 26px;display:flex;align-items:center;
  gap:26px;min-height:70px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--serif);
  font-size:22px;font-weight:600;letter-spacing:-.02em}
.logo:hover{text-decoration:none;color:var(--ink)}
.logo b{font-weight:600}
.logo svg{flex:none;color:var(--ink)}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav a{font-size:15px;color:var(--ink2);padding:3px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);text-decoration:none;border-bottom-color:var(--rule)}
.nav a.on{color:var(--ink);border-bottom-color:var(--ink)}
.nav a.cta{border:1px solid var(--ink);border-bottom-width:1px;padding:7px 15px;color:var(--ink);
  font-weight:500;margin-left:4px}
.nav a.cta:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--rule);
  width:42px;height:38px;cursor:pointer;padding:10px 10px;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:1.5px;background:var(--ink2)}
@media(max-width:960px){
  .burger{display:flex}
  .nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;
    padding:6px 0 16px;border-top:1px solid var(--rule2)}
  .nav.open{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--rule2)}
  .nav a.cta{margin:12px 0 0;text-align:center;border:1px solid var(--ink);padding:11px}
  .bar{flex-wrap:wrap;padding-bottom:0;min-height:62px}
}

/* ---------------- 版块：靠发丝线分隔，不靠底色块 ----------------
   带页边栏的两栏：左窄栏放 §节号 + 短标签，右宽栏是正文。
   这是全站唯一反复出现的签名细节，别拉平成居中堆叠。 */
.sec{padding:56px 0;border-top:1px solid var(--rule)}
.sec:first-of-type{border-top:none}
.sec.soft{background:var(--paper2)}
.wrap.split{display:grid;grid-template-columns:126px minmax(0,1fr);gap:0 46px;align-items:start}
.wrap.split>.col{min-width:0}          /* 不加这条，宽表会把栅格列撑破手机屏 */
.mark{padding-top:6px;position:sticky;top:24px}
.mark .sn{display:block;font:400 12.5px/1 var(--mono);color:var(--ink3);letter-spacing:.02em}
.mark .kk{display:block;margin-top:9px;font:600 11.5px/1.45 var(--sans);letter-spacing:.075em;
  text-transform:uppercase;color:var(--ink3)}
@media(max-width:840px){
  .wrap.split{grid-template-columns:minmax(0,1fr);gap:0}   /* 1fr 不等于 minmax(0,1fr)，会被宽表撑破 */
  .mark{position:static;padding:0 0 14px;display:flex;gap:12px;align-items:baseline}
  .mark .kk{margin-top:0}
}
.sec h2{margin:0 0 14px;font-size:clamp(25px,3.4vw,33px);line-height:1.2;max-width:22ch}
.lede{margin:0 0 28px;font-size:19px;line-height:1.55;color:var(--ink2);max-width:58ch;font-family:var(--serif)}
.wide-p{max-width:68ch;margin:0 0 16px;color:var(--ink2)}
.wide-p:last-child{margin-bottom:0}
.small{font-size:14px;color:var(--ink3)}
.btn{display:inline-block;border:1px solid var(--ink);color:var(--ink);padding:11px 22px;
  margin:8px 10px 0 0;font-size:15.5px;font-weight:500}
.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}
.btn.ghost{border-color:var(--rule);color:var(--ink2)}
.btn.ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}

/* ---------------- Hero：纯纸底，标题挑大梁 ---------------- */
.hero{padding:78px 0 62px}
.hero h1{margin:0 0 20px;font-size:clamp(34px,5.6vw,58px);line-height:1.08;
  letter-spacing:-.025em;max-width:19ch}
.hero .sub{margin:0;font-size:20px;line-height:1.55;color:var(--ink2);
  max-width:56ch;font-family:var(--serif)}
.hero .rule{border:0;border-top:1px solid var(--rule);margin:46px 0 0}

/* 四个入口：编号 + 细线的编辑式索引，不是四个卡片 */
.entry{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:0;margin-top:38px}
.entry a{display:block;padding:22px 26px 24px 0;border-top:1px solid var(--ink);
  margin-right:26px;color:var(--ink)}
.entry a:hover{text-decoration:none}
.entry a:hover .et{text-decoration:underline}
.entry .en{display:block;font:500 12px/1 var(--mono);color:var(--ink3);margin-bottom:12px}
.entry .et{display:block;font-family:var(--serif);font-size:20px;font-weight:600;margin-bottom:7px}
.entry .ed{display:block;font-size:14.8px;line-height:1.55;color:var(--ink2)}
@media(max-width:620px){.entry a{margin-right:0}}

/* ---------------- 目录索引：一行一个产品族，右侧起价 ---------------- */
.catalog{border-top:1px solid var(--ink)}
.crow{display:grid;grid-template-columns:1fr auto;gap:14px 40px;
  padding:24px 0;border-bottom:1px solid var(--rule);align-items:start;color:var(--ink)}
.crow:hover{text-decoration:none}
.crow:hover .cname{text-decoration:underline}
.cnum{font:500 12px/1 var(--mono);color:var(--ink3);margin-bottom:9px;display:block}
.cname{font-family:var(--serif);font-size:23px;font-weight:600;margin:0 0 7px;letter-spacing:-.015em}
.cdesc{margin:0;font-size:15.4px;color:var(--ink2);max-width:56ch}
.cstock{display:block;margin-top:9px;font-size:13.2px;color:var(--flag);letter-spacing:.02em}
.cprice{text-align:right;font-size:15px;color:var(--ink2);white-space:nowrap;
  font-variant-numeric:tabular-nums;line-height:1.85}
.cprice b{color:var(--ink);font-weight:600}
.cprice .from{color:var(--ink3);font-size:13.5px}
.cmore{grid-column:1/-1;font-size:14.5px;color:var(--accent)}
@media(max-width:640px){
  .crow{grid-template-columns:1fr}
  .cprice{text-align:left;padding-top:6px;border-top:1px solid var(--rule2)}
}

/* ---------------- 两栏定义式清单（应用场景 / 承诺 / 工具） ---------------- */
.deflist{border-top:1px solid var(--rule)}
.defrow{display:grid;grid-template-columns:minmax(170px,.85fr) 2fr;gap:10px 42px;
  padding:18px 0;border-bottom:1px solid var(--rule2)}
.defrow dt,.defrow .dt{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);margin:0}
.defrow dd,.defrow .dd{margin:0;font-size:15.4px;color:var(--ink2)}
.defrow a.dt:hover{text-decoration:underline}
@media(max-width:680px){.defrow{grid-template-columns:1fr;gap:5px}}

/* ---------------- 价格表：细线、表格数字对齐 ---------------- */
.tblock{margin:32px 0 0}
.tblock h3{margin:0 0 12px;font-size:19px}
.tscroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table.ptab{width:100%;border-collapse:collapse;font-size:15.2px;min-width:440px;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
table.ptab th{text-align:left;font:600 12.5px/1.5 var(--sans);letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink3);padding:10px 18px 10px 0;
  border-bottom:1px solid var(--rule);white-space:nowrap}
table.ptab td{padding:12px 18px 12px 0;border-bottom:1px solid var(--rule2);
  vertical-align:top;color:var(--ink2)}
table.ptab tbody tr:last-child td{border-bottom:none}
table.ptab td:first-child{color:var(--ink)}
table.ptab td.num,table.ptab th:last-child{text-align:right;padding-right:0}
table.ptab td.num{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-weight:600}
.tnote{margin:11px 0 0;font-size:14px;color:var(--ink3);max-width:70ch}
.pblock{padding-top:14px}
.pfam{margin:44px 0 2px;font-size:14px;color:var(--ink3);font:600 12.5px/1.5 var(--sans);
  letter-spacing:.055em;text-transform:uppercase}
table.ptab.inbox{min-width:900px;font-size:14px}
table.ptab.inbox td.detail{white-space:pre-wrap;max-width:460px}

/* ---------------- 旁注：左侧一条竖线，不是填充色块 ---------------- */
.note{border-left:2px solid var(--rule);padding:2px 0 2px 20px;margin:28px 0 0;
  font-size:15.4px;color:var(--ink2);max-width:70ch}
.note b{color:var(--ink);font-weight:600}
.note.warn{border-left-color:var(--flag)}
.note.err{border-left-color:var(--flag);color:var(--flag)}
.inline-ul{margin:9px 0 0;padding-left:19px}
.inline-ul li{margin-bottom:4px}

/* ---------------- 长文：衬线正文，报纸感 ---------------- */
.longblock{padding:30px 0;border-top:1px solid var(--rule2)}
.longblock:first-of-type{border-top:none;padding-top:4px}
.longblock h3{margin:0 0 12px;font-size:23px}
.longblock p{margin:0 0 14px;color:var(--ink2);max-width:68ch;
  font-family:var(--serif);font-size:17.5px;line-height:1.68}
.longblock p:last-child{margin-bottom:0}
.prose p{font-family:var(--serif);font-size:17.5px;line-height:1.68;color:var(--ink2);max-width:68ch}
.honest{margin:0;padding-left:0;list-style:none;max-width:70ch;border-top:1px solid var(--rule)}
.honest li{padding:16px 0;border-bottom:1px solid var(--rule2);color:var(--ink2);
  font-family:var(--serif);font-size:17px;line-height:1.65}
.modgroup{padding:22px 0;border-bottom:1px solid var(--rule2)}
.modgroup:first-of-type{border-top:1px solid var(--ink)}
.modgroup h3{margin:0 0 8px;font-size:18px}
.modgroup p{margin:0;font-size:15.4px;color:var(--ink2);max-width:76ch}

/* ---------------- 应用场景明细 ---------------- */
.appblock{padding:26px 0;border-bottom:1px solid var(--rule2)}
.appblock:first-of-type{border-top:1px solid var(--ink)}
.appblock h3{margin:0 0 6px;font-size:21px}
.appblock>p{margin:0 0 12px;color:var(--ink2);max-width:62ch}
.picks{margin:0;padding:0;list-style:none;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px 32px}
.picks li{font-size:15px;color:var(--ink2);padding:5px 0;border-top:1px solid var(--rule2)}

/* ---------------- 下单步骤 ---------------- */
.steps{border-top:1px solid var(--ink);max-width:76ch}
.step{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:22px 0;
  border-bottom:1px solid var(--rule2)}
.sn{font:500 13px/1.9 var(--mono);color:var(--ink3)}
.step h3{margin:0 0 6px;font-size:19px}
.step p{margin:0;color:var(--ink2);font-size:15.6px}

/* ---------------- 对比两栏 ---------------- */
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0 44px;
  border-top:1px solid var(--ink)}
.ccol{padding:24px 0 4px;border-bottom:1px solid var(--rule2)}
.ccol h3{margin:0 0 10px;font-size:19px}
.ccol h3 .mk{color:var(--ink3);font-family:var(--mono);font-size:13px;font-weight:400;margin-right:8px}
.ccol p{margin:0;color:var(--ink2);font-size:15.6px}

/* ---------------- 工具 ---------------- */
.tool{border-top:1px solid var(--ink);padding:30px 0 34px}
.tool h3{margin:0 0 8px;font-size:23px}
.tdesc{margin:0 0 20px;font-size:15.2px;color:var(--ink3);max-width:74ch}
.trow{margin-bottom:14px}
.trow label,.tinputs label{display:block;font:600 12.5px/1.5 var(--sans);letter-spacing:.045em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
textarea,input,select{width:100%;font:15.5px/1.5 var(--sans);color:var(--ink);
  background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:10px 12px}
textarea{font-family:var(--mono);font-size:14.4px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
.tinputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;margin-bottom:16px}
.tout{background:var(--paper2);border:1px solid var(--rule);padding:16px 18px;
  font-family:var(--mono);font-size:13.8px;color:var(--ink2);white-space:pre-wrap;
  overflow-wrap:anywhere;min-height:48px;line-height:1.8}
.tout b{color:var(--ink);font-weight:600}
.tout .good{color:var(--ink);font-weight:600;border-bottom:2px solid var(--ink)}
.tout .bad{color:var(--flag);font-weight:600}

/* ---------------- 表单 ---------------- */
.req{max-width:70ch;margin-top:26px;border-top:1px solid var(--ink);padding-top:24px}
.req label{display:block;font:600 12.5px/1.5 var(--sans);letter-spacing:.045em;
  text-transform:uppercase;color:var(--ink3);margin-bottom:18px}
.req label input,.req label textarea,.req label select{margin-top:6px}
.f2{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:0 20px}
.req-star{color:var(--flag)}
.req .chk{display:flex;gap:11px;align-items:flex-start;font:400 15px/1.55 var(--sans);
  text-transform:none;letter-spacing:0;color:var(--ink2)}
.req .chk input{width:auto;margin-top:4px;flex:none}
.req button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;
  padding:13px 30px;font:500 16px var(--sans);cursor:pointer;width:auto}
.req button:hover{background:transparent;color:var(--ink)}
.req .small{margin-top:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------------- 面包屑 ---------------- */
.crumbs{border-bottom:1px solid var(--rule2)}
.crumbs .wrap{padding-top:14px;padding-bottom:14px;font-size:13.5px;color:var(--ink3);
  display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--ink3)}
.crumbs a:hover{color:var(--ink2)}
.crumbs .here{color:var(--ink2)}

/* ---------------- 页脚 ---------------- */
.foot{border-top:1px solid var(--ink);margin-top:12px}
.fgrid{max-width:var(--w);margin:0 auto;padding:50px 26px 30px;display:grid;
  grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}}
.fbrand p{margin:14px 0 0;font-size:15px;color:var(--ink2);max-width:42ch;font-family:var(--serif)}
.fbrand .ent{font-size:14px;color:var(--ink3);margin-top:10px;font-family:var(--sans)}
.logo.static{cursor:default}
.fcol h3{margin:0 0 13px;font:600 12px/1.5 var(--sans);letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink3)}
.fcol a{display:block;font-size:14.8px;color:var(--ink2);padding:4px 0}
.fcol a:hover{color:var(--ink)}
.fbot{max-width:var(--w);margin:0 auto;padding:22px 26px 46px;border-top:1px solid var(--rule)}
.fbot .rui{margin:0 0 12px;font-size:13.5px;color:var(--ink2);letter-spacing:.02em}
.fbot .small{margin:0 0 9px;max-width:88ch;font-size:13.5px}
.fbot .sep{margin:0 9px;color:var(--rule)}

/* ================= 下单流程 ================= */
/* 导航里的订单入口 + 件数角标 */
.cartlink{display:inline-flex;align-items:center}
.cartlink a{font-size:15px;color:var(--ink2);padding:3px 0;border-bottom:2px solid transparent}
.cartlink a:hover{color:var(--ink);text-decoration:none;border-bottom-color:var(--rule)}
.cartlink [data-cart-count]:not(:empty){display:inline-block;margin-left:7px;min-width:19px;
  padding:0 5px;text-align:center;font:600 11.5px/19px var(--sans);
  background:var(--ink);color:var(--paper);vertical-align:1px}
.cartlink.bump [data-cart-count]{background:var(--flag)}
@media(max-width:960px){.cartlink{display:block}.cartlink a{display:block;padding:11px 0;border-bottom:1px solid var(--rule2)}}

/* 配置器 */
.cfg{border-top:1px solid var(--ink);padding:28px 0 30px}
.cfg h3{margin:0 0 7px;font-size:22px}
.cfg-d{margin:0 0 18px;font-size:15.2px;color:var(--ink3);max-width:72ch}
.cfg-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}
.cfg-row label{display:block;font:600 12.5px/1.5 var(--sans);letter-spacing:.045em;
  text-transform:uppercase;color:var(--ink3);margin:0;flex:1 1 150px;min-width:0}
.cfg-row label select,.cfg-row label input{margin-top:6px}
.cfg-price{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto}
.cfg-price span{font:600 22px/1 var(--serif);color:var(--ink3);font-variant-numeric:tabular-nums;min-width:74px;text-align:right}
.cfg-price span.ok{color:var(--ink)}
.cfg-note{margin:12px 0 0;font-size:14px;color:var(--ink3);min-height:1.2em}
.cfg-note.bad{color:var(--flag)}
button.add{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;
  padding:11px 20px;font:500 15px var(--sans);cursor:pointer;white-space:nowrap}
button.add:hover{background:transparent;color:var(--ink)}

/* 目录现货：一行一个 SKU */
.skugroup{margin-top:22px}
.skugroup h4{margin:0 0 4px;font:600 11.5px/1.5 var(--sans);letter-spacing:.075em;
  text-transform:uppercase;color:var(--ink3)}
.skurow{display:grid;grid-template-columns:1fr auto auto;gap:14px 22px;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--rule2)}
.skurow:first-of-type{border-top:1px solid var(--rule)}
.sk-n b{display:block;font-weight:600;font-size:16px}
.sk-s{display:block;font-size:13.6px;color:var(--ink3);margin-top:2px}
.sk-t{margin-top:8px;max-width:420px;font-size:14.5px}
.sk-err{display:block;margin-top:7px;font-size:13.5px;color:var(--flag)}
.sk-p{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.sk-a{display:flex;gap:10px;align-items:center}
.sk-q{width:64px}
@media(max-width:640px){
  .skurow{grid-template-columns:1fr auto}
  .sk-a{grid-column:1/-1;justify-content:flex-start}
  .cfg-price{margin-left:0;width:100%;justify-content:space-between}
}

/* 购物车表 */
table.ptab.cart td:first-child{color:var(--ink);font-weight:600}
.ln-d{display:block;font-weight:400;font-size:13.6px;color:var(--ink3);margin-top:3px}
.ln-s{font-family:var(--mono);font-size:12.6px;word-break:break-all}
table.ptab.cart tr.sum td{border-top:1px solid var(--ink);border-bottom:none;
  font-weight:600;color:var(--ink);padding-top:14px}
table.ptab.cart tr.bad td{color:var(--flag)}
button.lnk{background:none;border:0;padding:0;font:inherit;font-size:13.5px;color:var(--ink3);
  cursor:pointer;text-decoration:underline;text-underline-offset:2px}
button.lnk:hover{color:var(--flag)}
.btn.off{opacity:.4;pointer-events:none}
.cosum{margin-bottom:30px}

/* 结账表单里的分节 */
.req .fh{margin:30px 0 6px;font-size:18px;text-transform:none;letter-spacing:0;color:var(--ink)}
.req .fh:first-of-type{margin-top:0}
.req .fhint{margin:0 0 16px;font-size:14.2px;color:var(--ink3);text-transform:none;
  letter-spacing:0;font-weight:400;max-width:66ch}

/* 内部收件箱里的订单块 */
.ordblock{border-top:1px solid var(--ink);padding:22px 0 26px}
.ordblock h3{margin:0 0 4px;font-size:19px;font-family:var(--mono);font-weight:600}
.ordsum{font-family:var(--serif);font-size:17px;color:var(--ink3);margin-left:12px}

/* 购物车底部两条下单线（云舟模型：报价单 / 直接购买） */
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 44px;
  border-top:1px solid var(--ink);margin-top:30px}
.routes.off{opacity:.4;pointer-events:none}
.route{padding:24px 0 6px;border-bottom:1px solid var(--rule2)}
.route h3{margin:0 0 9px;font-size:20px}
.route p{margin:0 0 4px;font-size:15.2px;color:var(--ink2)}

/* 报价单文档 */
.quotedoc{padding:48px 0 60px}
.qhead{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap;
  border-bottom:2px solid var(--ink);padding-bottom:22px;margin-bottom:26px}
.qhead h1{margin:2px 0 10px;font-family:var(--mono);font-size:30px;font-weight:600;letter-spacing:-.01em}
.qmeta{margin:0;font-size:14.2px;color:var(--ink2);line-height:1.65}
.qfrom{text-align:right}
.qfrom p{margin:0;font-size:14.6px;color:var(--ink2);line-height:1.65}
.qto{margin-bottom:28px}
.qto p{margin:0;font-size:15.2px;color:var(--ink2);line-height:1.7}
table.ptab.quote td:nth-child(2){color:var(--ink)}
table.ptab.quote tr.sum td{border-top:1px solid var(--ink);font-weight:600;color:var(--ink)}
.qterms{margin-top:34px;border-top:1px solid var(--rule);padding-top:22px}
.qterms h3{margin:0 0 10px;font-size:17px}
.qterms ul{margin:0;padding-left:20px;font-size:14.8px;color:var(--ink2);max-width:80ch}
.qterms li{margin-bottom:6px}
.qterms p{font-size:14.8px;color:var(--ink2);margin-top:14px}
.qact{margin-top:30px}
@media(max-width:620px){.qfrom{text-align:left}}
@media print{
  .top,.foot,.crumbs,.qact,.skip{display:none !important}
  body{background:#fff;color:#000;font-size:12pt}
  .quotedoc{padding:0}
  .tscroll{overflow:visible}
  table.ptab{border-color:#000}
  a{color:#000;text-decoration:none}
}
