/* ==========================================================================
   武汉茂皓善清商贸有限公司 — 站点样式表
   主色:深墨绿 #12695a / 辅色:琥珀金 #c8873a / 中性:岩灰
   ========================================================================== */
:root{
  --brand:#12695a;
  --brand-dk:#0c4a3f;
  --brand-lt:#e6f2ef;
  --brand-ghost:#f3faf8;
  --gold:#c8873a;
  --gold-lt:#fdf6ec;
  --ink:#1a1f1e;
  --ink-2:#3d4745;
  --muted:#6b7a77;
  --line:#e2e8e6;
  --bg:#ffffff;
  --bg-2:#f7f9f9;
  --warn:#b3541e;
  --radius:10px;
  --radius-lg:16px;
  --shadow-sm:0 1px 3px rgba(18,105,90,.07),0 4px 14px rgba(18,105,90,.05);
  --shadow:0 4px 10px rgba(18,105,90,.07),0 14px 38px rgba(18,105,90,.08);
  --shadow-lg:0 10px 24px rgba(18,105,90,.10),0 28px 70px rgba(18,105,90,.12);
  --maxw:1240px;
  --font:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.75;font-size:15px;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--brand);text-decoration:none;transition:color .18s ease;}
a:hover{color:var(--brand-dk);}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5{margin:0;font-weight:700;line-height:1.35;letter-spacing:-.01em;}
p{margin:0 0 1em;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
button{cursor:pointer;border:none;background:none;}
table{border-collapse:collapse;width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ---------- 顶部条 ---------- */
.topbar{background:var(--brand-dk);color:#cfe6e0;font-size:12.5px;line-height:1.6;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:36px;flex-wrap:wrap;}
.topbar a{color:#e6f5f1;}
.topbar a:hover{color:#fff;}
.topbar-txt b{color:#fff;font-weight:600;}
.topbar-links{display:flex;gap:18px;align-items:center;}

/* ---------- 头部 ---------- */
.header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--line);}
.header .wrap{display:flex;align-items:center;gap:26px;min-height:74px;}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(140deg,var(--brand),#1c8a76);display:grid;place-items:center;color:#fff;font-weight:800;font-size:17px;letter-spacing:-1px;box-shadow:0 4px 12px rgba(18,105,90,.28);}
.logo-txt b{display:block;font-size:17.5px;color:var(--brand);font-weight:800;letter-spacing:-.02em;line-height:1.2;}
.logo-txt span{display:block;font-size:11px;color:var(--muted);letter-spacing:.06em;}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center;}
.nav a{padding:9px 13px;border-radius:8px;color:var(--ink-2);font-size:14.5px;font-weight:500;white-space:nowrap;}
.nav a:hover{background:var(--brand-lt);color:var(--brand);}
.nav a.on{color:var(--brand);background:var(--brand-lt);font-weight:600;}
.hd-cart{position:relative;display:flex;align-items:center;gap:7px;padding:9px 15px;border-radius:9px;background:var(--brand);color:#fff;font-weight:600;font-size:14px;white-space:nowrap;transition:background .18s;}
.hd-cart:hover{background:var(--brand-dk);color:#fff;}
.cart-badge{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;}
.burger{display:none;width:40px;height:40px;border-radius:9px;border:1px solid var(--line);color:var(--brand);font-size:20px;}

/* ---------- 搜索条 ---------- */
.searchbar{border-bottom:1px solid var(--line);background:var(--bg-2);}
.searchbar .wrap{display:flex;align-items:center;gap:12px;min-height:56px;flex-wrap:wrap;}
.search-form{display:flex;flex:1;min-width:240px;max-width:520px;border:1.5px solid var(--brand);border-radius:9px;overflow:hidden;background:#fff;}
.search-form input{flex:1;border:none;padding:0 14px;height:42px;outline:none;min-width:0;}
.search-form button{background:var(--brand);color:#fff;padding:0 22px;font-weight:600;white-space:nowrap;}
.search-form button:hover{background:var(--brand-dk);}
.search-hot{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap;}
.search-hot a{padding:3px 10px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font-size:12.5px;}
.search-hot a:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-lt);}

/* ---------- 页头 banner ---------- */
.pagehead{background:linear-gradient(135deg,var(--brand-dk),var(--brand) 55%,#1a8070);color:#fff;padding:44px 0;}
.pagehead h1{font-size:30px;margin-bottom:8px;}
.pagehead p{color:#cfe6e0;margin:0;font-size:14.5px;max-width:760px;}
.crumb{font-size:12.5px;color:#a9cfc7;margin-bottom:12px;}
.crumb a{color:#dff0ec;}
.crumb a:hover{color:#fff;}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 26px;border-radius:9px;font-weight:600;font-size:15px;transition:all .2s ease;border:1.5px solid transparent;line-height:1.4;}
.btn-primary{background:var(--brand);color:#fff;}
.btn-primary:hover{background:var(--brand-dk);color:#fff;box-shadow:0 6px 18px rgba(18,105,90,.28);}
.btn-gold{background:var(--gold);color:#fff;}
.btn-gold:hover{background:#ab6f2c;color:#fff;box-shadow:0 6px 18px rgba(200,135,58,.32);}
.btn-ghost{border-color:var(--brand);color:var(--brand);background:#fff;}
.btn-ghost:hover{background:var(--brand);color:#fff;}
.btn-lg{padding:15px 38px;font-size:16.5px;}
.btn-sm{padding:8px 16px;font-size:13.5px;}
.btn-block{display:flex;width:100%;}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}

/* ---------- 区块标题 ---------- */
.sec{padding:56px 0;}
.sec-alt{background:var(--bg-2);}
.sec-head{margin-bottom:34px;}
.sec-head.center{text-align:center;}
.sec-head .eyebrow{display:inline-block;font-size:12px;letter-spacing:.16em;color:var(--gold);font-weight:700;text-transform:uppercase;margin-bottom:8px;}
.sec-head h2{font-size:27px;color:var(--brand-dk);}
.sec-head .sub{color:var(--muted);margin-top:9px;font-size:14.5px;max-width:720px;}
.sec-head.center .sub{margin-left:auto;margin-right:auto;}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}

/* ---------- 统计带 ---------- */
.statband{background:linear-gradient(120deg,var(--brand-dk),var(--brand) 60%,#1a8070);color:#fff;padding:30px 0;}
.statband .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.stat{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-left:2px solid rgba(255,255,255,.22);}
.stat:first-child{border-left:none;}
.stat b{font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.stat span{font-size:13px;color:#c3e0da;}

/* ---------- 首页 hero ---------- */
.hero{position:relative;background:var(--brand-dk);overflow:hidden;}
.hero-bg{position:absolute;inset:0;opacity:.26;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-in{position:relative;padding:82px 0 92px;max-width:660px;}
.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 15px;border-radius:30px;background:rgba(255,255,255,.14);color:#dff0ec;font-size:13px;font-weight:600;margin-bottom:18px;border:1px solid rgba(255,255,255,.2);}
.hero h1{font-size:41px;color:#fff;line-height:1.24;letter-spacing:-.025em;margin-bottom:16px;}
.hero h1 em{font-style:normal;color:#ffd79a;}
.hero p{color:#d3e8e3;font-size:16px;margin-bottom:28px;}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;}
.hero-badges{display:flex;gap:22px;margin-top:34px;flex-wrap:wrap;}
.hero-badge{display:flex;align-items:center;gap:8px;color:#cfe6e0;font-size:13.5px;}
.hero-badge i{width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:700;flex-shrink:0;}

/* ---------- 分类卡 ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:18px;}
.cat-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-2);border:1px solid var(--line);transition:transform .3s ease,box-shadow .3s ease;display:block;}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);color:var(--ink);}
.cat-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--bg-2);}
.cat-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-card:hover .cat-thumb img{transform:scale(1.05);}
.cat-body{padding:16px 18px 18px;}
.cat-body h3{font-size:16.5px;margin-bottom:6px;color:var(--brand-dk);}
.cat-body p{color:var(--muted);font-size:13px;margin:0;line-height:1.6;}
.cat-count{display:inline-block;margin-top:10px;font-size:12px;color:var(--gold);font-weight:700;}

/* ---------- 商品卡 ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:20px;}
.prod-card{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.prod-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(18,105,90,.3);}
.prod-img{position:relative;aspect-ratio:1;background:var(--bg-2);overflow:hidden;}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.prod-card:hover .prod-img img{transform:scale(1.06);}
.prod-tags{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;}
.prod-tag{background:var(--brand);color:#fff;font-size:11px;padding:3px 9px;border-radius:5px;font-weight:600;}
.prod-tag.gold{background:var(--gold);}
.prod-body{padding:15px 16px 17px;display:flex;flex-direction:column;flex:1;gap:7px;}
.prod-cat{font-size:11.5px;color:var(--gold);font-weight:700;letter-spacing:.03em;}
.prod-name{font-size:15px;font-weight:600;color:var(--ink);line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px;}
.prod-name:hover{color:var(--brand);}
.prod-sub{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;}
.prod-price{display:flex;align-items:baseline;gap:7px;margin-top:auto;padding-top:9px;}
.prod-price b{font-size:22px;color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.prod-price s{color:#a9b5b2;font-size:13px;}
.prod-price em{font-style:normal;color:var(--muted);font-size:12px;margin-left:auto;}
.prod-foot{display:flex;gap:8px;margin-top:11px;}
.prod-foot .btn{flex:1;padding:9px 10px;font-size:13.5px;}
.prod-views{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 8px;border-radius:20px;}

/* ---------- 商品列表页 ---------- */
.shop{display:grid;grid-template-columns:236px 1fr;gap:28px;align-items:start;}
.filters{border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;position:sticky;top:90px;background:#fff;}
.filters h3{font-size:15px;padding-bottom:11px;border-bottom:1px solid var(--line);margin-bottom:13px;color:var(--brand-dk);}
.filter-group{margin-bottom:20px;}
.filter-group:last-child{margin-bottom:0;}
.filter-group h4{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:9px;}
.filter-list li{margin-bottom:2px;}
.filter-list a{display:flex;justify-content:space-between;padding:7px 11px;border-radius:7px;color:var(--ink-2);font-size:13.5px;gap:8px;}
.filter-list a:hover{background:var(--brand-lt);color:var(--brand);}
.filter-list a.on{background:var(--brand);color:#fff;font-weight:600;}
.filter-list a i{font-style:normal;color:var(--muted);font-size:12px;}
.filter-list a.on i{color:#c8e4de;}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:12px 16px;background:var(--bg-2);border-radius:10px;border:1px solid var(--line);}
.toolbar .count{font-size:13.5px;color:var(--muted);}
.toolbar .count b{color:var(--brand);}
.sorttabs{display:flex;gap:4px;flex-wrap:wrap;}
.sorttabs a{padding:6px 13px;border-radius:7px;font-size:13.5px;color:var(--ink-2);background:#fff;border:1px solid var(--line);}
.sorttabs a:hover{border-color:var(--brand);color:var(--brand);}
.sorttabs a.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600;}
.price-moq{font-size:12px;color:var(--gold);font-weight:600;}

/* ---------- 商品详情 ---------- */
.pd{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:38px;align-items:start;}
.pd-gallery{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-2);}
.pd-gallery .main{aspect-ratio:1;}
.pd-gallery .main img{width:100%;height:100%;object-fit:cover;}
.pd-thumbs{display:flex;gap:10px;padding:12px;background:#fff;border-top:1px solid var(--line);}
.pd-thumbs button{width:66px;height:66px;border-radius:9px;overflow:hidden;border:2px solid var(--line);padding:0;}
.pd-thumbs button.on{border-color:var(--brand);}
.pd-thumbs img{width:100%;height:100%;object-fit:cover;}
.pd-info h1{font-size:25px;margin-bottom:10px;line-height:1.4;}
.pd-sub{color:var(--muted);font-size:14.5px;margin-bottom:18px;}
.pd-price-box{background:linear-gradient(120deg,var(--gold-lt),#fff);border:1px solid #f0dfc4;border-radius:var(--radius);padding:17px 19px;margin-bottom:20px;}
.pd-price-now{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.pd-price-now b{font-size:34px;color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;}
.pd-price-now s{color:#b3aaa0;font-size:15px;}
.pd-price-now span{color:var(--muted);font-size:13px;}
.price-ladder{margin-top:13px;border-top:1px dashed #e0cfae;padding-top:12px;}
.price-ladder h4{font-size:13px;color:var(--ink-2);margin-bottom:9px;font-weight:600;}
.ladder-row{display:flex;flex-wrap:wrap;gap:8px;}
.ladder-item{border:1px solid #e5d4b4;border-radius:8px;padding:7px 13px;background:#fff;font-size:13px;transition:all .18s;}
.ladder-item b{color:var(--warn);font-weight:700;}
.ladder-item.hit{border-color:var(--gold);background:var(--gold);color:#fff;}
.ladder-item.hit b{color:#fff;}
.spec-row{margin-bottom:19px;}
.spec-row>label{display:block;font-size:13.5px;font-weight:600;margin-bottom:9px;color:var(--ink-2);}
.spec-opts{display:flex;gap:9px;flex-wrap:wrap;}
.spec-opt{padding:8px 16px;border:1.5px solid var(--line);border-radius:8px;font-size:13.5px;color:var(--ink-2);background:#fff;transition:all .18s;}
.spec-opt:hover{border-color:var(--brand);}
.spec-opt.on{border-color:var(--brand);background:var(--brand-lt);color:var(--brand);font-weight:600;}
.qty-box{display:flex;align-items:center;gap:0;border:1.5px solid var(--line);border-radius:9px;overflow:hidden;width:fit-content;}
.qty-box button{width:38px;height:42px;font-size:19px;color:var(--brand);background:var(--bg-2);transition:background .15s;}
.qty-box button:hover{background:var(--brand-lt);}
.qty-box input{width:66px;height:42px;border:none;text-align:center;font-weight:600;outline:none;font-size:15px;-moz-appearance:textfield;}
.qty-box input::-webkit-outer-spin-button,.qty-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pd-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}
.pd-actions .btn{flex:1;min-width:140px;}
.pd-assure{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:11px;margin-top:20px;}
.assure-item{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-2);}
.assure-item i{width:19px;height:19px;border-radius:50%;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:700;flex-shrink:0;margin-top:2px;}
.assure-item b{display:block;font-weight:600;}
.assure-item span{color:var(--muted);font-size:12px;}
.pd-tabs{margin-top:44px;}
.tab-nav{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:24px;flex-wrap:wrap;}
.tab-nav button{padding:12px 22px;font-size:15px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;}
.tab-nav button.on{color:var(--brand);border-bottom-color:var(--brand);}
.tab-panel{display:none;}
.tab-panel.on{display:block;}
.desc-text{font-size:15px;line-height:1.95;color:var(--ink-2);}
.param-table th,.param-table td{border:1px solid var(--line);padding:11px 14px;font-size:13.5px;text-align:left;}
.param-table th{background:var(--brand-ghost);color:var(--brand-dk);font-weight:600;width:132px;}

/* ---------- 购物车 ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 348px;gap:28px;align-items:start;}
.cart-table{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;}
.cart-th,.cart-td{padding:14px 15px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle;}
.cart-th{background:var(--bg-2);font-weight:600;color:var(--brand-dk);font-size:13.5px;}
.cart-td:last-child{border-bottom:none;}
.cart-goods{display:flex;gap:13px;align-items:center;}
.cart-goods img{width:66px;height:66px;border-radius:9px;object-fit:cover;background:var(--bg-2);flex-shrink:0;}
.cart-goods b{display:block;font-size:14px;font-weight:600;color:var(--ink);line-height:1.45;}
.cart-goods span{font-size:12px;color:var(--muted);}
.cart-price{color:var(--warn);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cart-del{color:var(--muted);font-size:13px;}
.cart-del:hover{color:#c0392b;}
.cart-sum{border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;position:sticky;top:90px;background:#fff;}
.cart-sum h3{font-size:17px;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:15px;color:var(--brand-dk);}
.sum-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:14px;color:var(--ink-2);}
.sum-row.total{border-top:1px dashed var(--line);margin-top:11px;padding-top:15px;font-size:16px;font-weight:700;color:var(--ink);}
.sum-row.total b{color:var(--warn);font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.sum-note{font-size:12px;color:var(--muted);margin-top:13px;line-height:1.7;}
.empty{padding:70px 20px;text-align:center;}
.empty-ico{width:78px;height:78px;border-radius:50%;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;margin:0 auto 18px;font-size:32px;}
.empty h3{font-size:18px;margin-bottom:9px;color:var(--brand-dk);}
.empty p{color:var(--muted);margin-bottom:22px;}

/* ---------- 结算 ---------- */
.checkout{display:grid;grid-template-columns:1fr 348px;gap:28px;align-items:start;}
.co-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;margin-bottom:20px;background:#fff;}
.co-card h3{font-size:17px;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:17px;color:var(--brand-dk);display:flex;align-items:center;gap:9px;}
.co-card h3 .step-no{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--ink-2);}
.field label em{color:#c0392b;font-style:normal;margin-left:3px;}
.field input,.field select,.field textarea{width:100%;height:44px;border:1px solid var(--line);border-radius:8px;padding:0 13px;outline:none;transition:border-color .18s,box-shadow .18s;background:#fff;}
.field textarea{height:auto;padding:11px 13px;resize:vertical;min-height:88px;line-height:1.7;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-lt);}
.field.err input,.field.err select,.field.err textarea{border-color:#d9534f;}
.field .msg{color:#c0392b;font-size:12px;margin-top:5px;display:none;}
.field.err .msg{display:block;}
.pay-opts{display:grid;gap:11px;}
.pay-opt{border:1.5px solid var(--line);border-radius:10px;padding:15px 17px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;transition:all .18s;}
.pay-opt:hover{border-color:var(--brand);}
.pay-opt.on{border-color:var(--brand);background:var(--brand-ghost);}
.pay-opt input{margin-top:4px;accent-color:var(--brand);width:16px;height:16px;flex-shrink:0;}
.pay-opt b{display:block;font-size:14.5px;margin-bottom:3px;}
.pay-opt span{font-size:12.5px;color:var(--muted);line-height:1.6;}
.co-goods{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);}
.co-goods img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--bg-2);flex-shrink:0;}
.co-goods .g-name{flex:1;min-width:0;}
.co-goods b{font-size:13.5px;font-weight:600;display:block;line-height:1.45;}
.co-goods span{font-size:12px;color:var(--muted);}
.co-goods .g-price{color:var(--warn);font-weight:700;font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums;}

/* ---------- 订单成功 ---------- */
.order-ok{max-width:760px;margin:0 auto;text-align:center;}
.order-ok .ok-ico{width:88px;height:88px;border-radius:50%;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;margin:0 auto 22px;font-size:40px;}
.order-no{background:var(--bg-2);border:1px dashed var(--brand);border-radius:10px;padding:17px;margin:24px 0;}
.order-no b{display:block;font-size:25px;color:var(--brand);letter-spacing:.05em;font-variant-numeric:tabular-nums;margin-top:5px;}
.order-tbl{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;text-align:left;margin:24px 0;}
.order-tbl th,.order-tbl td{padding:12px 15px;border-bottom:1px solid var(--line);font-size:14px;}
.order-tbl th{background:var(--bg-2);color:var(--brand-dk);font-weight:600;width:130px;text-align:left;}

/* ---------- 内容页 ---------- */
.prose{max-width:900px;}
.prose h2{font-size:22px;color:var(--brand-dk);margin:32px 0 14px;padding-left:13px;border-left:4px solid var(--brand);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:17px;color:var(--brand);margin:22px 0 10px;}
.prose p{color:var(--ink-2);line-height:1.95;}
.prose ul{margin:0 0 16px;}
.prose ul li{position:relative;padding-left:19px;margin-bottom:8px;color:var(--ink-2);line-height:1.85;}
.prose ul li::before{content:"";position:absolute;left:3px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--gold);}

/* ---------- 公司信息卡 ---------- */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:26px 0;}
.info-card{border:1px solid var(--line);border-radius:var(--radius);padding:19px;background:#fff;}
.info-card h4{font-size:14.5px;color:var(--brand-dk);margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.info-card dl{margin:0;font-size:13.5px;}
.info-card dt{color:var(--muted);margin-bottom:3px;font-size:12.5px;}
.info-card dd{margin:0 0 11px;color:var(--ink);font-weight:500;line-height:1.65;}
.info-card dd:last-child{margin-bottom:0;}
.info-card a{word-break:break-all;}

/* ---------- 优势 / 时间轴 ---------- */
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;}
.adv-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 22px;background:#fff;position:relative;overflow:hidden;}
.adv-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--gold));}
.adv-ico{width:44px;height:44px;border-radius:11px;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-size:20px;font-weight:800;margin-bottom:14px;}
.adv-card h3{font-size:16.5px;margin-bottom:9px;color:var(--brand-dk);}
.adv-card p{color:var(--muted);font-size:13.5px;margin:0;line-height:1.8;}

.timeline{position:relative;padding-left:32px;max-width:760px;}
.timeline::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line);}
.tl-item{position:relative;padding-bottom:28px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:"";position:absolute;left:-29px;top:6px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--brand);}
.tl-item h4{font-size:16px;color:var(--brand-dk);margin-bottom:6px;}
.tl-item .tl-date{font-size:12.5px;color:var(--gold);font-weight:700;margin-bottom:5px;}
.tl-item p{color:var(--muted);font-size:13.5px;margin:0;line-height:1.8;}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:last-child{border-bottom:none;}
.faq-q{width:100%;text-align:left;padding:17px 52px 17px 20px;font-size:15px;font-weight:600;color:var(--ink);position:relative;line-height:1.6;}
.faq-q::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--brand);font-weight:300;transition:transform .25s;}
.faq-item.on .faq-q::after{transform:translateY(-50%) rotate(45deg);}
.faq-q:hover{color:var(--brand);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.on .faq-a{max-height:640px;}
.faq-a-in{padding:0 20px 19px;color:var(--ink-2);font-size:14px;line-height:1.9;border-top:1px dashed var(--line);padding-top:15px;margin:0 20px 0 0;}

/* ---------- 联系 ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start;}
.contact-list li{display:flex;gap:13px;padding:15px 0;border-bottom:1px dashed var(--line);}
.contact-list li:last-child{border-bottom:none;}
.contact-list .ci-ico{width:38px;height:38px;border-radius:10px;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-weight:800;flex-shrink:0;font-size:14px;}
.contact-list b{display:block;font-size:14.5px;margin-bottom:2px;}
.contact-list span{color:var(--muted);font-size:13.5px;line-height:1.7;word-break:break-all;}
.contact-form{border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;background:#fff;}

/* ---------- 页脚 ---------- */
.footer{background:var(--brand-dk);color:#a9cfc7;padding:52px 0 0;font-size:13.5px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:34px;padding-bottom:38px;}
.footer h4{color:#fff;font-size:15px;margin-bottom:15px;font-weight:600;}
.footer a{color:#a9cfc7;}
.footer a:hover{color:#fff;}
.footer li{margin-bottom:8px;line-height:1.7;}
.footer-contact li{margin-bottom:11px;line-height:1.75;}
.footer-contact b{color:#fff;font-weight:600;display:block;font-size:13px;}
.footer-logo{display:flex;align-items:center;gap:11px;margin-bottom:14px;}
.footer-logo .logo-mark{background:var(--gold);}
.footer-logo b{color:#fff;font-size:16.5px;font-weight:800;}
.footer-desc{line-height:1.85;margin-bottom:16px;}
.footer-hot{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border-radius:10px;padding:12px 15px;margin-top:14px;}
.footer-hot .num{font-size:20px;color:#ffd79a;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;}
.footer-hot .lb{font-size:11.5px;color:#8fbdb4;}
.footer-bot{border-top:1px solid rgba(255,255,255,.11);padding:19px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:#7faaa1;}
.footer-bot a{color:#7faaa1;}
.footer-bot a:hover{color:#fff;}

/* ---------- 浮动件 ---------- */
.floatbar{position:fixed;right:16px;bottom:16px;z-index:300;display:flex;flex-direction:column;gap:10px;}
.float-btn{width:52px;height:52px;border-radius:13px;background:#fff;box-shadow:var(--shadow-lg);display:grid;place-items:center;font-size:11px;color:var(--brand);text-align:center;line-height:1.25;font-weight:600;border:1px solid var(--line);}
.float-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
.float-btn .fi{font-size:19px;line-height:1;margin-bottom:1px;}
.float-btn .fc{position:absolute;top:6px;right:6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c0392b;color:#fff;font-size:10px;display:grid;place-items:center;}
.float-btn{position:relative;}
.backtop{opacity:0;visibility:hidden;transition:.25s;}
.backtop.on{opacity:1;visibility:visible;}

/* ---------- 弹窗 ---------- */
.modal{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(12,32,28,.55);backdrop-filter:blur(3px);}
.modal.on{display:flex;}
.modal-box{background:#fff;border-radius:var(--radius-lg);max-width:520px;width:100%;max-height:88vh;overflow:auto;box-shadow:var(--shadow-lg);animation:mup .25s ease;}
@keyframes mup{from{transform:translateY(20px);opacity:0;}to{transform:none;opacity:1;}}
.modal-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;position:sticky;top:0;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
.modal-head h3{font-size:17px;color:var(--brand-dk);}
.modal-close{width:32px;height:32px;border-radius:8px;font-size:20px;color:var(--muted);display:grid;place-items:center;}
.modal-close:hover{background:var(--bg-2);color:var(--ink);}
.modal-body{padding:22px;}

/* 购物车抽屉 */
.drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:#fff;z-index:410;box-shadow:-8px 0 40px rgba(0,0,0,.16);transform:translateX(102%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;}
.drawer.on{transform:none;}
.drawer-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.drawer-head h3{font-size:17px;color:var(--brand-dk);}
.drawer-body{flex:1;overflow:auto;padding:6px 22px;}
.drawer-foot{padding:19px 22px;border-top:1px solid var(--line);background:var(--bg-2);}
.drawer-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line);}
.drawer-item img{width:60px;height:60px;border-radius:9px;object-fit:cover;background:var(--bg-2);flex-shrink:0;}
.drawer-item .di-b{flex:1;min-width:0;}
.drawer-item b{font-size:13.5px;display:block;line-height:1.45;font-weight:600;}
.drawer-item .di-s{font-size:12px;color:var(--muted);margin:3px 0 7px;}
.drawer-item .di-f{display:flex;justify-content:space-between;align-items:center;}
.drawer-sum{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
.drawer-sum span{font-size:14px;color:var(--ink-2);}
.drawer-sum b{font-size:25px;color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums;}
.mask{position:fixed;inset:0;background:rgba(12,32,28,.5);z-index:405;display:none;}
.mask.on{display:block;}

/* 确认弹窗内容 */
.cf-list{margin-bottom:16px;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:12px 15px;}
.cf-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13.5px;}
.cf-row:last-child{border-bottom:none;}
.cf-row b{color:var(--warn);font-variant-numeric:tabular-nums;white-space:nowrap;}
.cf-tip{background:var(--gold-lt);border:1px solid #f0dfc4;border-radius:9px;padding:13px 15px;font-size:13px;color:#8a5d20;line-height:1.8;margin-bottom:16px;}
.cf-total{display:flex;justify-content:space-between;align-items:baseline;padding:15px 0;margin-bottom:6px;border-top:1px solid var(--line);}
.cf-total span{font-size:15px;font-weight:600;}
.cf-total b{font-size:28px;color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.cf-save{font-size:13px;color:var(--brand);background:var(--brand-lt);border-radius:7px;padding:8px 12px;margin-bottom:14px;line-height:1.7;}

/* toast */
.toast-wrap{position:fixed;left:50%;top:24px;transform:translateX(-50%);z-index:500;display:flex;flex-direction:column;gap:9px;pointer-events:none;}
.toast{background:var(--brand-dk);color:#fff;padding:12px 22px;border-radius:9px;box-shadow:var(--shadow-lg);font-size:14px;display:flex;align-items:center;gap:9px;animation:tin .25s ease;max-width:90vw;}
.toast.warn{background:#b3541e;}
.toast.err{background:#c0392b;}
@keyframes tin{from{transform:translateY(-14px);opacity:0;}to{transform:none;opacity:1;}}

/* ---------- 自研差异化组件 ---------- */
/* 1. 阶梯报价计算器 */
.quoter{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden;}
.quoter-head{background:var(--brand);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:10px;}
.quoter-head .qi{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:14px;font-weight:800;}
.quoter-head b{font-size:15.5px;}
.quoter-head span{font-size:12px;color:#bfe0d8;margin-left:auto;}
.quoter-body{padding:20px;}
.q-field{margin-bottom:16px;}
.q-field>label{display:block;font-size:13.5px;font-weight:600;margin-bottom:8px;color:var(--ink-2);}
.q-field>label span{color:var(--muted);font-weight:400;font-size:12px;}
.q-select{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;outline:none;background:#fff;}
.q-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-lt);}
.q-slider-wrap{display:flex;align-items:center;gap:13px;}
.q-slider{flex:1;-webkit-appearance:none;height:5px;border-radius:3px;background:var(--line);outline:none;}
.q-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25);}
.q-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gold);cursor:pointer;border:3px solid #fff;}
.q-val{min-width:88px;text-align:center;font-weight:700;color:var(--brand);font-size:15px;font-variant-numeric:tabular-nums;background:var(--brand-lt);border-radius:7px;padding:7px 8px;}
.q-result{background:linear-gradient(120deg,var(--gold-lt),#fff);border:1px solid #f0dfc4;border-radius:10px;padding:16px;margin-top:6px;}
.q-result .qr-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:13.5px;color:var(--ink-2);}
.q-result .qr-row b{font-variant-numeric:tabular-nums;font-weight:700;color:var(--brand-dk);}
.q-result .qr-main{padding-top:11px;margin-top:7px;border-top:1px dashed #e0cfae;}
.q-result .qr-main span{font-size:14.5px;font-weight:600;color:var(--ink);}
.q-result .qr-main b{font-size:29px;color:var(--warn);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.q-badge{display:inline-block;background:var(--gold);color:#fff;font-size:11.5px;padding:3px 10px;border-radius:20px;font-weight:600;margin-top:9px;}

/* 2. 仓储时效计算器 */
.shipcalc{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden;}
.shipcalc .quoter-head{background:linear-gradient(120deg,#8a5d20,#c8873a);}
.ship-city{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;outline:none;background:#fff;}
.ship-city:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-lt);}
.ship-out{margin-top:15px;display:grid;gap:11px;}
.ship-line{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:var(--bg-2);border-radius:9px;font-size:13.5px;}
.ship-line b{color:var(--brand-dk);font-variant-numeric:tabular-nums;}
.ship-line.hl{background:var(--brand-lt);}
.ship-line.hl b{color:var(--brand);}

/* 3. 采购清单导出 */
.paneltitle{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.paneltitle .pi{width:30px;height:30px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:800;}
.paneltitle b{font-size:16.5px;color:var(--brand-dk);}

/* 4. 快捷询价条 */
.quickbar{background:var(--brand-ghost);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:24px 0;}
.quickbar .qb-t{font-size:15px;font-weight:700;color:var(--brand-dk);margin-bottom:6px;}
.quickbar .qb-d{font-size:13.5px;color:var(--muted);margin-bottom:14px;line-height:1.75;}
.quickbar-form{display:flex;gap:10px;flex-wrap:wrap;}
.quickbar-form input{height:44px;border:1px solid var(--line);border-radius:9px;padding:0 14px;outline:none;flex:1;min-width:150px;background:#fff;}
.quickbar-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-lt);}

/* 5. 核验码 */
.verify-box{background:linear-gradient(120deg,#1a3d36,#0c4a3f);border-radius:var(--radius-lg);padding:26px;color:#cfe6e0;}
.verify-box h3{color:#fff;font-size:19px;margin-bottom:8px;}
.verify-box p{font-size:13.5px;color:#a9cfc7;line-height:1.85;margin-bottom:18px;}
.verify-code{display:inline-flex;align-items:center;gap:11px;background:rgba(255,255,255,.09);border:1px dashed rgba(255,255,255,.28);border-radius:10px;padding:13px 20px;font-family:"Consolas","Monaco",monospace;font-size:19px;letter-spacing:.14em;color:#ffd79a;font-weight:700;}
.verify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:22px;}
.vg-item{background:rgba(255,255,255,.07);border-radius:9px;padding:14px 16px;}
.vg-item b{display:block;color:#fff;font-size:14px;margin-bottom:4px;}
.vg-item span{font-size:12.5px;color:#a9cfc7;line-height:1.7;}

/* 6. 数字滚动 */
.count-up{font-variant-numeric:tabular-nums;}

/* 7. 服务承诺条 */
.promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin:26px 0;}
.promise-item{background:#fff;padding:20px 18px;display:flex;gap:12px;align-items:flex-start;}
.promise-item .pi2{width:34px;height:34px;border-radius:9px;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-weight:800;flex-shrink:0;font-size:14px;}
.promise-item b{display:block;font-size:14px;color:var(--brand-dk);margin-bottom:3px;}
.promise-item span{font-size:12.5px;color:var(--muted);line-height:1.7;}

/* 8. 采购清单复制面板 */
.listbox{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:15px;font-size:13px;color:var(--ink-2);line-height:1.9;max-height:280px;overflow:auto;font-family:"Consolas","Microsoft YaHei",monospace;}
.listbox div{padding:2px 0;border-bottom:1px dashed #e6e6e6;}
.listbox div:last-child{border-bottom:none;}

/* ---------- 页面间距工具 ---------- */
.mb0{margin-bottom:0;}
.mt40{margin-top:40px;}
.mb24{margin-bottom:24px;}
.center{text-align:center;}
.hide{display:none !important;}

/* ---------- 响应式 ---------- */
@media(max-width:1080px){
  .pd{grid-template-columns:1fr;}
  .cart-layout,.checkout{grid-template-columns:1fr;}
  .cart-sum{position:static;}
  .filters{position:static;}
  .shop{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .topbar .wrap{justify-content:center;text-align:center;}
  .topbar-links{display:none;}
  .header .wrap{min-height:64px;}
  .burger{display:grid;place-items:center;}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px;box-shadow:var(--shadow);gap:1px;}
  .nav.on{display:flex;}
  .nav a{padding:12px 16px;}
  .hd-cart{margin-left:auto;}
  .hero-in{padding:52px 0 58px;}
  .hero h1{font-size:29px;}
  .hero p{font-size:14.5px;}
  .pagehead h1{font-size:23px;}
  .sec{padding:40px 0;}
  .sec-head h2{font-size:22px;}
  .statband .wrap{grid-template-columns:1fr 1fr;}
  .stat b{font-size:25px;}
  .prod-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:13px;}
  .prod-body{padding:12px 13px 14px;}
  .prod-name{font-size:13.5px;min-height:39px;}
  .prod-sub{font-size:11.5px;min-height:33px;}
  .prod-price b{font-size:18px;}
  .pd-actions .btn{min-width:100%;}
  .pd-price-now b{font-size:28px;}
  .toolbar{flex-direction:column;align-items:stretch;}
  .footer-grid{grid-template-columns:1fr;gap:26px;}
  .cart-th.hide-m,.cart-td.hide-m{display:none;}
  .floatbar{right:10px;bottom:10px;}
  .float-btn{width:46px;height:46px;font-size:10px;}
  .btn-lg{padding:13px 26px;font-size:15px;}
}
@media(max-width:420px){
  .prod-grid{grid-template-columns:1fr 1fr;}
  .statband .wrap{grid-template-columns:1fr;}
  .ladder-item{padding:6px 10px;font-size:12px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
/* ---------- 货币符号（纯文本可见，爬虫/审核可读） ---------- */
.cur{font-size:.66em;font-weight:700;margin-right:1px;vertical-align:baseline;}
.prod-price .cur{color:var(--warn);}
.prod-price s .cur{color:#a9b5b2;}
.pd-price-now .cur{font-size:.6em;}
.ladder-item .cur{font-size:.62em;}
.prod-views{font-variant-numeric:tabular-nums;}

/* ---------- 下单流程指引条 ---------- */
.flowbar{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:14px;
  margin-top:34px;padding:24px 26px;background:linear-gradient(120deg,var(--brand-lt),#fff 62%);
  border:1.5px solid var(--line);border-radius:var(--radius-lg);}
.flow-step{display:flex;flex-direction:column;gap:3px;}
.flow-step b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--brand);color:#fff;font-size:14px;font-weight:700;margin-bottom:5px;}
.flow-step span{font-size:15px;font-weight:700;color:var(--brand-dk);}
.flow-step i{font-style:normal;font-size:12.5px;color:var(--muted);line-height:1.55;}
.flow-arrow{font-size:20px;color:var(--brand);opacity:.45;}
.flow-cta{white-space:nowrap;}
.flow-note{margin:16px 2px 0;font-size:13px;color:var(--muted);line-height:1.9;}
.flow-note a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.flow-note a:hover{color:var(--brand-dk);}

@media(max-width:1080px){
  .flowbar{grid-template-columns:1fr 1fr;gap:18px;}
  .flow-arrow{display:none;}
  .flow-cta{grid-column:1/-1;width:100%;}
}
@media(max-width:560px){
  .flowbar{grid-template-columns:1fr;padding:18px;}
  .flow-step{flex-direction:row;align-items:flex-start;gap:12px;flex-wrap:wrap;}
  .flow-step b{margin-bottom:0;}
}

/* ---------- 窄屏头部防溢出（390px 实测溢出 31px 修复） ---------- */
@media(max-width:820px){
  .header .wrap{gap:10px;}
  .logo-mark{width:38px;height:38px;border-radius:10px;font-size:15px;}
  .logo-txt b{font-size:16px;}
  .logo-txt span{font-size:10px;}
  .logo{gap:9px;min-width:0;}
  .burger{flex-shrink:0;}
  .hd-cart{padding:9px 12px;font-size:13px;gap:5px;flex-shrink:0;}
}
@media(max-width:420px){
  .wrap{padding:0 14px;}
  .header .wrap{gap:8px;}
  .logo-txt{display:none;}
  .hd-cart{padding:8px 11px;font-size:12.5px;}
  .floatbar{right:8px;bottom:12px;}
}

/* ---------- 正文 + 侧栏网格（从内联样式提取，响应式可覆盖） ---------- */
.co-about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:start;}
.co-about-grid-alt{grid-template-columns:1.1fr .9fr;align-items:center;}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:22px;}
@media(max-width:1080px){
  .co-about-grid,.co-about-grid-alt{grid-template-columns:1fr;gap:26px;}
  .co-about-grid>div[style*="sticky"]{position:static !important;}
}
/* ==========================================================================
   视觉改造层 v3 — 去纯色 / 去 AI 模板感 / 重排版节奏
   设计取向：纸感印刷 + 印章标识 + 发丝线 + 编辑式留白
   ========================================================================== */

/* ---------- 1. 纸感底纹：全站铺一层极淡纸纹，替代死白 ---------- */
body{
  background-color:#FBFAF7;
  background-image:
    radial-gradient(circle at 18% 12%,rgba(200,135,58,.045),transparent 42%),
    radial-gradient(circle at 88% 8%,rgba(18,105,90,.05),transparent 46%),
    radial-gradient(circle at 50% 96%,rgba(18,105,90,.035),transparent 50%);
  background-attachment:fixed;
}
.sec,.sec-alt{position:relative;}
.sec::before,.sec-alt::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:repeating-linear-gradient(0deg,rgba(18,40,36,.016) 0 1px,transparent 1px 4px);
}
.sec-alt{
  background-color:#F5F4EF;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0) 40%),
    radial-gradient(circle at 12% 0%,rgba(200,135,58,.05),transparent 40%);
}

/* ---------- 2. 头部：印章标 + 纸感横线 ---------- */
.logo-mark{
  width:44px;height:44px;flex-shrink:0;
  display:grid;place-items:center;
  background:linear-gradient(160deg,#FAF7F0,#F1EDE2);
  border-radius:7px;
  box-shadow:inset 0 0 0 1px rgba(18,105,90,.22),0 2px 6px rgba(18,40,36,.09);
}
.logo-mark img{width:34px;height:34px;object-fit:contain;}
.logo-txt b{font-family:"Songti SC","STSong","SimSun","Noto Serif SC",serif;letter-spacing:.06em;}
.header{background:rgba(255,255,255,.93);backdrop-filter:saturate(180%) blur(12px);}
.header .wrap{min-height:78px;}

/* ---------- 3. 顶栏：细纹底替代纯色 ---------- */
.topbar{
  background-color:#0c4a3f;
  background-image:
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 7px),
    linear-gradient(96deg,#0c4a3f,#134f43 55%,#123f36);
}

/* ---------- 4. Hero / pagehead：多层次渐层 + 细网格 ---------- */
.hero{
  background-color:#0c4a3f;
  background-image:
    linear-gradient(178deg,rgba(12,74,63,.62) 0%,rgba(12,74,63,.90) 46%,rgba(9,58,50,.97) 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 56px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 56px);
}
.pagehead{
  background-color:#0c4a3f;
  background-image:
    linear-gradient(122deg,#0c4a3f,#15584c 48%,#1a6d5d),
    repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 48px);
}

/* ---------- 5. 数据带 / 页脚：斜纹 + 铜色发丝线 ---------- */
.statband{
  background-color:#0f5449;
  background-image:
    repeating-linear-gradient(115deg,rgba(255,255,255,.026) 0 2px,transparent 2px 9px),
    linear-gradient(118deg,#0c4a3f,#155a4f 55%,#123f37);
  border-top:2px solid var(--gold);
  border-bottom:1px solid rgba(200,135,58,.28);
  padding:34px 0;
}
.stat{padding:10px 16px;border-left:1px solid rgba(255,255,255,.16);}
.stat b{color:#ffd79a;}
.footer{
  background-color:#0a3f36;
  background-image:
    radial-gradient(ellipse at 18% 0%,rgba(200,135,58,.09),transparent 52%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.016) 0 1px,transparent 1px 60px);
  border-top:3px double rgba(200,135,58,.42);
}

/* ---------- 6. 卡片：纸面质感 + 细边框，替代白底+重投影 ---------- */
.prod-card,.cat-card,.info-card,.adv-card,
.quoter,.shipcalc,.cart-sum,.contact-card,.tool-card{
  background-color:#FBFAF7;
  background-image:linear-gradient(160deg,#FDFDFB 0%,#FBFAF6 100%);
  border-color:#E3E0D6;
}
.prod-card,.cat-card,.info-card,.adv-card{
  box-shadow:0 1px 2px rgba(30,45,40,.045),0 10px 26px rgba(30,45,40,.055);
  transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease;
}
.prod-card:hover,.cat-card:hover,.adv-card:hover{
  transform:translateY(-3px);
  box-shadow:0 2px 4px rgba(30,45,40,.06),0 20px 46px rgba(30,45,40,.12);
  border-color:#C9C3B4;
}

/* ---------- 7. 去 AI 感：色块图标 → 印章式文字标 ---------- */
.adv-ico{
  width:auto;height:auto;border-radius:0;background:none;
  color:var(--brand);font-size:12.5px;font-weight:700;
  letter-spacing:.16em;margin-bottom:12px;
  padding:0 0 7px;
  border-bottom:1.5px solid var(--gold);
  display:inline-block;min-width:38px;
  font-family:"Songti SC","STSong","SimSun",serif;
}
.adv-card:hover .adv-ico{color:var(--brand-dk);border-bottom-color:var(--brand);}

/* ---------- 8. 去 AI 感：实心胶囊标签 → 发丝线文字标 ---------- */
.prod-tag{
  background:rgba(255,255,255,.94)!important;color:var(--brand)!important;
  border:1px solid rgba(18,105,90,.34);
  border-radius:0;font-size:10.5px;letter-spacing:.05em;font-weight:600;
  padding:2px 8px;box-shadow:0 1px 3px rgba(30,45,40,.08);
}
.prod-tag.gold{
  color:#8a5d20!important;
  border-color:rgba(200,135,58,.55);
  background:rgba(253,246,236,.96)!important;
}
.hero-kicker{
  border-radius:0;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.26);
  letter-spacing:.09em;font-weight:600;
}
.prod-cat{letter-spacing:.1em;font-size:11px;color:#8a5d20;}
.cat-count{
  background:none;border-radius:0;letter-spacing:.06em;
  border-bottom:1px solid rgba(200,135,58,.4);padding-bottom:2px;
}

/* ---------- 9. 编辑式排版：衬线标题 + 字距 + 铜色标尺 ---------- */
.sec-head{margin-bottom:40px;position:relative;}
.sec-head h2{
  font-family:"Songti SC","STSong","SimSun","Noto Serif SC",serif;
  font-size:30px;letter-spacing:.045em;line-height:1.42;
}
.sec-head .eyebrow{
  font-family:"Songti SC","STSong","SimSun",serif;
  letter-spacing:.26em;font-size:11.5px;color:#8a5d20;font-weight:600;
  margin-bottom:11px;position:relative;padding-left:15px;
}
.sec-head .eyebrow::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:7px;height:1px;background:var(--gold);
}
.sec-head.center .eyebrow{padding-left:0;}
.sec-head.center .eyebrow::before{display:none;}
.sec-head h2::after{
  content:"";display:block;width:46px;height:2px;background:var(--gold);
  margin-top:16px;opacity:.85;
}
.sec-head.center h2::after{margin-left:auto;margin-right:auto;}
.hero h1{font-family:"Songti SC","STSong","SimSun","Noto Serif SC",serif;letter-spacing:.02em;}
.pagehead h1{font-family:"Songti SC","STSong","SimSun",serif;letter-spacing:.04em;}
h3,h4{letter-spacing:.01em;}

/* ---------- 10. 按钮：微渐层 + 细边，替代死平色 ---------- */
.btn-primary{
  background-image:linear-gradient(168deg,#177468,#0f5a4d);
  border-color:#0c4a3f;
  box-shadow:0 1px 2px rgba(18,105,90,.2);
}
.btn-primary:hover{
  background-image:linear-gradient(168deg,#0f5a4d,#0b463c);
  box-shadow:0 6px 18px rgba(18,105,90,.28);
}
.btn-gold{background-image:linear-gradient(168deg,#d0913f,#b3762c);border-color:#a96c25;}
.btn-ghost{background-image:linear-gradient(180deg,#fff,#FBFAF6);border-color:var(--brand);}
.btn-ghost:hover{background-image:linear-gradient(180deg,#12695a,#0c4a3f);}
.hd-cart{background-image:linear-gradient(168deg,#177468,#0f5a4d);}
.burger{background-image:linear-gradient(180deg,#fff,#FAF9F5);}

/* ---------- 11. 发丝线体系 ---------- */
.sec-head-row{padding-bottom:18px;border-bottom:1px solid #E3E0D6;}
.crumb{border-bottom:1px solid rgba(255,255,255,.1);}
.filter-list a.on{background-image:linear-gradient(100deg,#12695a,#0e5648);}
.sorttabs a.on{background-image:linear-gradient(100deg,#12695a,#0e5648);}
.timeline{border-left:1px solid #DDD9CC;}

/* ---------- 12. 排版节奏：统一纵向韵律 ---------- */
.sec{padding:70px 0;}
.prod-grid{gap:24px;}
.cat-grid{gap:22px;}
.adv-grid{gap:26px;}
.prose h2{
  font-family:"Songti SC","STSong","SimSun",serif;
  letter-spacing:.05em;font-size:23px;margin:44px 0 18px;
  padding-bottom:11px;border-bottom:1px solid #E3E0D6;
}
.prose h2:first-child{margin-top:0;}
.prose p{margin-bottom:1.15em;line-height:1.95;color:var(--ink-2);}
.ladder-item{background-image:linear-gradient(180deg,#fff,#FBFAF6);border-color:#DEDACF;border-radius:4px;}
.ladder-item:hover,.ladder-item.on{
  background-image:linear-gradient(168deg,#177468,#0f5a4d);border-color:#0c4a3f;
}

/* ---------- 13. 图片：暖调贴合纸感 + 悬停微推 ---------- */
.prod-img,.cat-thumb{background-color:#F2F0E9;}
.prod-img img,.cat-thumb img{transition:transform .5s cubic-bezier(.2,.7,.3,1);}
.prod-card:hover .prod-img img{transform:scale(1.035);}

/* ---------- 14. 工具区/表单：纸面化 ---------- */
.quoter-head{background-image:linear-gradient(120deg,#8a5d20,#c8873a);}
.quickbar{background-color:#F7F5EE;background-image:linear-gradient(160deg,#FBFAF6,#F5F2E9);}
.empty-ico{border-radius:50%;background-image:linear-gradient(160deg,#EFF5F2,#E4EFEA);}

/* ---------- 15. 焦点可见性 ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;
}
/* ==========================================================================
   视觉打磨层 v4 — 消除残余 AI 卡片语言，细化排版间距
   ========================================================================== */

/* ---------- 1. 去掉彩虹渐变顶边条（AI 卡片语言） ---------- */
.adv-card::before{display:none;}
.adv-card{
  border-radius:3px;
  border-left:2.5px solid var(--brand);
  background-image:linear-gradient(150deg,#FDFDFB 0%,#F8F6F0 100%);
}
.adv-card:hover{border-left-color:var(--gold);}
.adv-card h3{
  font-family:"Songti SC","STSong","SimSun",serif;
  font-size:18px;letter-spacing:.04em;line-height:1.55;
}
.adv-ico{
  display:flex;align-items:center;gap:8px;
  letter-spacing:.22em;
}
.adv-ico::after{
  content:"";flex:1;height:1px;background:#D8D3C4;
}

/* ---------- 2. 卡片圆角收敛：少用大圆角 ---------- */
.prod-card,.cat-card,.info-card,.quoter,.shipcalc,.cart-sum{
  border-radius:4px;
}

/* ---------- 3. 商品卡：图片区用暖白衬底 + 细内衬 ---------- */
.prod-img{border-bottom:1px solid #E6E2D7;}
.prod-body{padding:16px 17px 17px;}
.prod-name{font-size:14.5px;line-height:1.55;letter-spacing:.005em;}
.prod-sub{
  font-size:12.5px;line-height:1.7;color:var(--muted);
  border-bottom:1px dashed #E6E2D7;padding-bottom:11px;margin-bottom:11px;
}
.prod-price b{letter-spacing:-.01em;}

/* ---------- 4. 分类卡：底部信息带替代居中按钮感 ---------- */
.cat-card{border-radius:4px;}
.cat-body{padding:15px 17px 17px;}
.cat-body h3{font-family:"Songti SC","STSong","SimSun",serif;letter-spacing:.05em;font-size:17.5px;}
.cat-count{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11.5px;letter-spacing:.08em;
}
.cat-count::before{
  content:"";width:14px;height:1px;background:var(--gold);flex-shrink:0;
}

/* ---------- 5. 排版间距：正文行高与段距更透气 ---------- */
body{line-height:1.85;}
.adv-card p{line-height:1.95;font-size:13.5px;}
.cat-body p{line-height:1.8;font-size:13px;}

/* ---------- 6. 表单控件：纸面化 + 内阴影 ---------- */
input,select,textarea{
  background-image:linear-gradient(180deg,#fff,#FDFCF9);
  border-color:#DEDACE;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(18,105,90,.1),inset 0 1px 2px rgba(30,45,40,.04);
}

/* ---------- 7. 抽屉/弹窗：纸感 + 细边 ---------- */
.drawer,.modal{
  background-image:linear-gradient(170deg,#FDFDFB,#F8F6F0);
}
.drawer-head,.modal-head{border-bottom:1px solid #E3E0D6;}
.drawer-foot{background-image:linear-gradient(180deg,#FAF9F4,#F4F2EA);border-top:1px solid #E3E0D6;}

/* ---------- 8. 数据带数字：等宽衬线，避免圆润卡通感 ---------- */
.stat b{
  font-family:"Songti SC","STSong","SimSun",serif;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.stat span{letter-spacing:.09em;font-size:12px;opacity:.82;}

/* ---------- 9. 悬浮按钮：方形印章感 ---------- */
.float-btn{
  border-radius:4px;
  background-color:#fff;
  background-image:linear-gradient(170deg,#FDFDFB,#F5F3EC);
  border:1px solid #DDD8CA;
  color:var(--brand);
  box-shadow:0 1px 2px rgba(30,45,40,.05),0 8px 22px rgba(30,45,40,.10);
}
.float-btn:hover{
  background-image:linear-gradient(170deg,#177468,#0f5a4d);
  border-color:#0c4a3f;color:#fff;
}

/* ---------- 10. 时间线：节点用小方块，与整体方角语言一致 ---------- */
.tl-item{position:relative;padding-left:26px;}
.tl-item::before{
  content:"";position:absolute;left:-4px;top:9px;
  width:7px;height:7px;background:var(--gold);transform:rotate(45deg);
}
.timeline{border-left:1px solid #D8D3C4;}

/* ---------- 11. 面包屑与页脚微调 ---------- */
.pagehead{padding:52px 0;}
.pagehead p{line-height:1.85;letter-spacing:.01em;}

/* ---------- 12. 分隔符：使用细线而非色块 ---------- */
.footer h4{
  padding-bottom:9px;margin-bottom:13px;
  border-bottom:1px solid rgba(255,255,255,.13);
  letter-spacing:.09em;font-size:14.5px;
}
.footer-grid .footer-contact li{margin-bottom:9px;}
/* ============================================================
   visual_v5 · 线条图标层
   把站内残留的符号字符（☎ ✉ ☰ ✓ 🛒）全部换成手绘线性图标，
   并统一描边参数与纸感底色，去掉「填充圆点图标」的模板语言。
   ============================================================ */

/* ---------- 1. 图标基础：全局描边语言 ---------- */
.floaticon,
.burger svg,
.ci-ico svg,
.assure-item i svg,
.ok-ico svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}

/* ---------- 2. 汉堡菜单：三条不等长细线，右端留白呼吸 ---------- */
.burger{
  background-image:none;
  background-color:transparent;
  border-color:#DCD7C8;
  border-radius:3px;
}
.burger svg{width:21px;height:21px;stroke-width:1.5;}
.burger:hover{background-color:#F5F2EA;}

/* ---------- 3. 联系页信息图标：细线方章，去掉圆形底 ---------- */
.contact-list .ci-ico,
.ci-ico{
  width:34px;height:34px;border-radius:3px;
  background-color:#FBFAF6;
  background-image:linear-gradient(168deg,#FDFDFB,#F4F1E9);
  border:1px solid #E0DBCC;
  color:var(--brand);
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 3px #FBFAF6,inset 0 0 0 4px rgba(200,135,58,.22);
  flex-shrink:0;font-weight:400;font-size:normal;
}
.ci-ico svg{width:18px;height:18px;stroke-width:1.45;}

/* ---------- 4. 商品保障项：菱形节点 + 勾线，取代实心圆点 ---------- */
.assure-item{align-items:flex-start;}
.assure-item i{
  width:18px;height:18px;border-radius:0;background:transparent;
  color:var(--brand);border:0;
  transform:rotate(45deg);
  margin-top:5px;
  box-shadow:none;
}
.assure-item i svg{
  width:12px;height:12px;stroke-width:2.4;
  transform:rotate(-45deg);transform-origin:50% 50%;
}

/* ---------- 5. 订单成功印章：双环 + 勾，去掉大色圆 ---------- */
.order-ok .ok-ico{
  width:104px;height:104px;border-radius:0;background:transparent;
  color:var(--brand);margin:0 auto 24px;
}
.order-ok .ok-ico svg{width:104px;height:104px;stroke-width:1.7;}
.order-ok .ok-ico svg circle:first-child{stroke:rgba(18,105,90,.28);}
.order-ok .ok-ico svg path{stroke-width:2.2;stroke:var(--gold);}
.order-ok h1{letter-spacing:.06em;}

/* ---------- 6. 订单号：改为印章式框线（发丝边 + 内衬） ---------- */
.order-no{
  background-color:#FBFAF6;
  background-image:linear-gradient(170deg,#FDFDFB,#F6F3EB);
  border:1px solid #D9D3C2;
  border-left:2.5px solid var(--brand);
  border-radius:3px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}

/* ---------- 7. 排序/筛选等原生控件：贴合纸面 ---------- */
select,input[type="text"],input[type="tel"],input[type="email"],input[type="number"],textarea{
  background-color:#fff;
  background-image:linear-gradient(180deg,#FDFDFB,#FAF8F2);
  border-color:#DED9CA;border-radius:3px;
  color:#26332F;
}
select:focus,input:focus,textarea:focus{
  border-color:var(--brand);background-color:#fff;
  box-shadow:0 0 0 3px rgba(18,105,90,.08);
}
::placeholder{color:#A8A496;}

/* ---------- 8. 面包屑当前项：不用色块，用字重与铜色标点 ---------- */
.crumb span{color:var(--gold);}

/* ---------- 9. 图片缺省底：纸感占位，杜绝纯白空洞 ---------- */
img{background-color:#F1EEE5;}

/* ---------- 10. 焦点可见性统一 ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(200,135,58,.75);outline-offset:2px;border-radius:2px;
}
/* ---------- 11. 空状态：方角双线框 + 描边图标，替代圆形色底 ---------- */
.empty-ico{
  width:74px;height:74px;border-radius:3px;
  background-color:#FBFAF6;
  background-image:linear-gradient(168deg,#FDFDFB,#F4F1E9);
  border:1px solid #E0DBCC;
  color:var(--brand);
  display:grid;place-items:center;
  margin:0 auto 20px;
  font-size:0;letter-spacing:0;font-weight:400;
  box-shadow:inset 0 0 0 4px #FBFAF6,inset 0 0 0 5px rgba(200,135,58,.20);
}
.empty-ico svg{
  width:38px;height:38px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.empty h3{font-family:"Songti SC","STSong","SimSun",serif;letter-spacing:.04em;}

/* ---------- 12. 数量步进器：方角发丝线，符号降字号避免卡通 ---------- */
.qty-box{border-radius:3px;border:1px solid #DED9CA;background:#fff;}
.qty-box button{
  width:40px;height:44px;font-size:17px;line-height:1;
  color:var(--brand);background:transparent;font-family:"Songti SC","SimSun",serif;
  border-right:1px solid #EFEBE0;
}
.qty-box button:hover{background:#F5F2EA;}
.qty-box button:first-child{border-right:1px solid #EFEBE0;border-left:0;}
.qty-box button:last-child{border-right:0;border-left:1px solid #EFEBE0;}
.qty-box input{height:44px;font-variant-numeric:tabular-nums;font-family:"Songti SC","SimSun",serif;letter-spacing:.02em;}

/* ---------- 13. 图片骨架：懒加载/未完成时也有纸感与细纹，不出现死白空洞 ---------- */
.prod-img,.cat-img,.pd-gallery img,.about-gallery img,.storefront-photo{
  background-color:#F1EEE5;
  background-image:
    repeating-linear-gradient(45deg,rgba(18,40,36,.022) 0 1px,transparent 1px 7px),
    radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.7),transparent 70%);
  color:#A8A496;font-size:13px;
}
.prod-img img,.cat-img img{transition:opacity .28s ease;}
