
*{box-sizing:border-box;margin:0;padding:0}
body{font:16px/1.6 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f5f6f8;color:#222}
a{color:inherit;text-decoration:none}
.wrap{max-width:1698px;margin:0 auto;padding:0 16px}
header{background:#fff;border-bottom:1px solid #ececec;position:sticky;top:0;z-index:9}
header .bar{display:flex;align-items:center;gap:14px;height:62px}
.logo{font-weight:700;font-size:19px;color:#ff4000;white-space:nowrap}
.logo small{color:#999;font-weight:400;font-size:13px;margin-left:6px}
.search{flex:1;display:flex;gap:8px}
input,select,textarea{border:1px solid #dcdfe6;border-radius:6px;padding:8px 10px;font-size:16px;background:#fff;outline:none;width:100%}
input:focus,select:focus{border-color:#ff4000}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#ff4000;color:#fff;
 border:none;border-radius:6px;padding:9px 18px;font-size:16px;cursor:pointer;white-space:nowrap}
.btn:hover{background:#d93600}
.btn.ghost{background:#fff;color:#ff4000;border:1px solid #f0b4b6}
.btn.gray{background:#f2f3f5;color:#444;border:1px solid #dcdfe6}
.btn.gray:hover{background:#e6e7e9}
.btn.sm{padding:4px 10px;font-size:14px}
.ubar{display:flex;align-items:center;gap:10px;font-size:15px;white-space:nowrap}
.ubar a:hover{color:#ff4000}
.balwrap{display:inline-flex;align-items:center;gap:6px}
.balwrap .lb{color:#999;font-size:14px}
.bal{color:#ff4000;font-weight:600}
.czbtn{display:inline-flex;align-items:center;background:#ff4000;color:#fff;border-radius:4px;
 padding:1px 9px;font-size:14px;line-height:20px;font-weight:600}
.czbtn:hover{background:#d93600;color:#fff}
.chips{display:flex;gap:10px;overflow:auto;padding:12px 0 6px;scrollbar-width:none;-ms-overflow-style:none}
.chips::-webkit-scrollbar{height:0;width:0;display:none}
.chip{background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:19px;height:38px;display:inline-flex;align-items:center;padding:0 18px;font-size:15px;white-space:nowrap;cursor:pointer;transition:.15s}
.chip.on{border-color:#ff4000;color:#ff4000;background:#fff2e8;font-weight:600}
.amtwrap{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 10px}
.ptbl td{white-space:nowrap}
.ptbl td:nth-child(3){white-space:nowrap}
.amtrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px}
.flow .fs{display:inline-flex;align-items:center;gap:6px;background:#fafafa;border:1px solid #f0f0f0;
  border-radius:18px;padding:4px 11px 4px 4px;font-size:14px;color:#333;white-space:nowrap}
.flow .fs i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;
  border-radius:50%;background:#ff6a00;color:#fff;font-size:13px;font-style:normal;font-weight:600}
.flow .fs.end i{background:#389e0d}
.flow .gap{color:#d9d9d9;font-size:14px}
.flexhead{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px}
@media(max-width:640px){.amtwrap .chip{flex:1;text-align:center;min-width:64px}.amtrow input{flex:1}
 .ptbl th:nth-child(4),.ptbl td:nth-child(4){display:none}}
.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:16px 0}
@media(max-width:1320px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:880px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{position:relative;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #f0f0f0;
  display:flex;flex-direction:column;transition:.15s}
.card:hover{box-shadow:0 8px 22px rgba(0,0,0,.09);transform:translateY(-2px)}
.card .hit{position:absolute;inset:0;z-index:1}
.card .thumb{aspect-ratio:1/1;background:#f6f7f9;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid #f2f3f5;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.card .body{padding:7px 9px 9px;display:flex;flex-direction:column;gap:2px;flex:1}
.card .t{font-size:13.5px;font-weight:600;line-height:19px;color:#1a1a1a;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  min-height:38px;word-break:break-all}
.card .tsub{font-size:11.5px;line-height:16px;color:#9aa0a6;
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .brow{display:flex;align-items:center;justify-content:space-between;gap:4px;
  margin-top:auto;padding-top:5px}
.card .price{display:flex;align-items:baseline;gap:2px;color:#ff4000;font-weight:700;line-height:1;white-space:nowrap}
.card .price .cu{font-size:12px;font-weight:600}
.card .price .pn{font-size:20px;letter-spacing:-.5px}
.card .price .pn small{font-size:13px;font-weight:600;letter-spacing:0}
.card .price .cut{margin-left:3px;font-size:11.5px}
.card .buy{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;
  height:27px;margin-top:6px;border-radius:14px;background:#ff4000;border:1px solid #ff4000;
  color:#fff;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;
  letter-spacing:.5px;transition:.15s}
.card .buy:hover{background:#d93600;border-color:#d93600;color:#fff}
.card .pfc{display:flex;align-items:center;margin:0;flex:0 1 auto;min-width:0}
.card .pfc .pfi{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;overflow:hidden}
.card .pfc img{width:15px;height:15px;border-radius:3px;display:block;flex:0 0 auto}
.card .pfc i{font-style:normal;font-size:11px;line-height:14px;padding:0 3px;border-radius:3px;
  color:#fff;white-space:nowrap;font-weight:400;flex:0 0 auto}
.card .pfc i.more{background:#c4c4c4}
/* 旧模板遗留（详情页等仍在用 .pf 那套） */
.card .pf{display:flex;align-items:center;gap:6px;margin-top:auto;padding:6px 10px 9px}
.card .pf .pfk{flex:0 0 auto;font-size:13px;line-height:1;color:#333;font-weight:600;white-space:nowrap;letter-spacing:.2px}
.card .pf .pfi{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:2px;row-gap:3px;margin-left:auto}
.card .pf i{font-style:normal;font-size:12px;line-height:14px;padding:0 3px;border-radius:3px;color:#fff;white-space:nowrap;font-weight:400}
.card .pf i.more{background:#c4c4c4}
.card .pf img{width:17px;height:17px;border-radius:4px;display:block}
/* 仓名里写死"不支持天猫"的货：淘宝天猫共用同一个面单编码，筛选摘不掉，只能明写一句 */
.pfnt{display:inline-block;margin:0 10px 2px;padding:2px 7px 2px 8px;border-radius:4px;
  background:#fff2e8;border:1px solid #ffc59e;border-left:3px solid #ff4000;
  color:#d93600;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.2px}
.pfnt b{font-weight:700;color:#ff4000}
.pfbrow .pfnt{margin:0;padding:1px 7px;font-size:13px}
.tags .pfnt{margin:0 0 0 6px;vertical-align:middle}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.card .body{padding:8px 8px 9px;gap:3px}
.card .t{font-size:14px;line-height:20px}
.card .tsub{font-size:12px;line-height:17px}
.card .price .pn{font-size:22px}
.card .price .cu{font-size:13px}
.card .price .pn small{font-size:13px}
.card .pfc img{width:15px;height:15px}
.card .pfc .pfi{gap:2px}
.card .pfc .pfi img:nth-child(n+5){display:none}
.card .pfc i{font-size:12px;line-height:13px;padding:0 2px}
.card .pf{padding:4px 6px 6px;gap:4px}
 .card .pf .pfk{font-size:12px;color:#333}
 .card .pf .pfi{gap:1px;row-gap:2px}
.card .pf img{width:14px;height:14px;border-radius:3px}
.card .pf i{font-size:12px;line-height:13px;padding:0 3px}
.card .pfnt{font-size:12px;margin:0 6px 3px;padding:1px 5px 1px 6px;line-height:1.45;
 border-left-width:3px}}
@media(max-width:380px){.card .pf .pfk{font-size:0}.card .pf .pfk::before{content:"支持";font-size:12px;color:#333;font-weight:600}.card .pf img{width:13px;height:13px}}
.pfb{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-start;margin:0}
.pfb .pfi{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pfbrow{display:flex;align-items:center;justify-content:flex-end;gap:6px;
padding:0 14px 8px;flex-wrap:wrap}
.pfbrow .pflab{font-size:14px;color:#333;font-weight:600;white-space:nowrap}
.pfb img{width:18px;height:18px;border-radius:4px;display:block}
.pfb i{font-style:normal;font-size:12px;line-height:15px;padding:0 4px;border-radius:3px;
color:#fff;white-space:nowrap;font-weight:400}
.tag{font-size:13px;color:#888;background:#f5f6f8;border-radius:4px;padding:2px 6px;display:inline-block}
.tag.on{background:#fff2e8;color:#ff4000;font-weight:600}
.price{color:#ff4000;font-weight:700;font-size:22px}
.price small{font-size:14px;font-weight:400}
.cut{color:#aaa;font-size:14px;text-decoration:line-through;margin-left:6px}
.pager{display:flex;gap:8px;justify-content:center;padding:18px 0 40px}
.pager a,.pager span{background:#fff;border:1px solid #e6e7e9;border-radius:6px;padding:6px 12px;font-size:15px}
.pager .cur{background:#ff4000;color:#fff;border-color:#ff4000}
.panel{background:#fff;border-radius:10px;padding:18px;margin:14px 0;border:1px solid #f0f0f0}
.row{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center;margin-bottom:12px}
.row>label{color:#666;font-size:15px;text-align:right}
.row.top{align-items:start}
.row.top>label{padding-top:8px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.tips{background:#fffbf0;border:1px solid #ffe4a8;color:#8a6d3b;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.7}
.err{background:#fff2f0;border:1px solid #ffd8c2;color:#cf1322;border-radius:8px;padding:10px 12px;font-size:15px}
.ok{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d;border-radius:8px;padding:10px 12px;font-size:15px}
.warn{background:#fffbf0;border:1px solid #ffe4a8;color:#8a6d3b;border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.7}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:9px 8px;border-bottom:1px solid #f0f0f0;text-align:left;vertical-align:top}
th{color:#888;font-weight:500;background:#fafafa}
/* 手机端：订单表转成卡片，避免 6 列在 390 宽被挤成竖条 */
@media(max-width:560px){
.ordtbl tr{display:block;border:1px solid #eef0f2;border-radius:10px;padding:8px 10px;margin-bottom:9px;background:#fff}
.ordtbl tr:first-child{display:none}
.ordtbl td{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border:0;padding:3px 0;text-align:right;word-break:break-all}
.ordtbl td::before{content:attr(data-l);color:#999;font-size:14px;flex:0 0 60px;text-align:left}
.ordtbl td[data-l="订单号"] a{font-weight:600}
.ordtbl td[data-l="快递单号"]{margin-top:5px;padding-top:8px;border-top:1px dashed #f0f0f0}
.ordtbl td[data-l="快递单号"] b{color:#cf1322;font-size:16px}
}
.steps{display:flex;gap:6px;margin:16px 0}
.step{flex:1;text-align:center;font-size:14px;color:#bbb;position:relative}
.step b{display:block;width:22px;height:22px;line-height:22px;border-radius:50%;background:#eee;color:#fff;margin:0 auto 5px;font-size:13px}
.step.on{color:#ff4000}.step.on b{background:#ff4000}
.big{font-size:24px;font-weight:700;letter-spacing:.5px;color:#111}
.mono{font-family:ui-monospace,Consolas,monospace}
.muted{color:#999;font-size:14px}
.footer{text-align:center;color:#bbb;font-size:14px;padding:30px 0}
.auth{max-width:390px;margin:40px auto}
.auth h3{font-size:20px;margin-bottom:4px}
.auth .sub{color:#999;font-size:14px;margin-bottom:18px}
.auth input{margin-bottom:12px}
.auth .btn{width:100%}
.auth .foot{text-align:center;font-size:15px;color:#666;margin-top:14px}
.auth .vrow{display:flex;gap:8px;margin-bottom:12px}
.auth .vrow input{margin-bottom:0;flex:1;min-width:0}
.auth .vrow .btn{width:auto;flex:0 0 auto;padding:0 14px;white-space:nowrap}
.amt{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.amt button{background:#fff;border:1px solid #dcdfe6;border-radius:8px;padding:12px 18px;cursor:pointer;font-size:17px}
.amt button.on{border-color:#ff4000;color:#ff4000;background:#fff2e8}
.sidekf{position:fixed;right:0;top:50%;transform:translateY(-50%);background:#fff;
 border:1px solid #ececec;border-right:none;border-radius:12px 0 0 12px;box-shadow:0 6px 22px rgba(0,0,0,.09);
 z-index:30;overflow:hidden}
.sidekf .kfi{display:flex;flex-direction:column;align-items:center;gap:5px;width:66px;padding:11px 6px;
 font-size:13px;color:#ff4000;border-bottom:1px solid #f2f3f5;cursor:pointer;background:#fff;line-height:1.2}
.sidekf .kfi:last-child{border-bottom:none}
.sidekf .kfi:hover{background:#f4f7ff}
.sidekf svg{width:26px;height:26px;fill:none;stroke:#ff4000;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kfmask{position:fixed;inset:0;background:rgba(0,0,0,.38);display:none;z-index:80;align-items:center;justify-content:center;padding:18px}
.kfmask.on{display:flex}
.kfbox{background:#fff;border-radius:14px;padding:22px 20px;max-width:330px;width:100%;text-align:center}
.kfbox h4{font-size:18px;margin-bottom:6px;color:#111}
.kfbox .kfnum{font-size:24px;font-weight:700;color:#ff4000;letter-spacing:.6px;margin:10px 0;word-break:break-all}
.kfbox .kfnum:empty{display:none}
.kfbox .muted{margin-bottom:14px}
.kfbox .kfbtns{display:flex;gap:8px}
.kfbox .kfbtns .btn{flex:1}
.kfqr{display:block;width:210px;height:210px;margin:6px auto 10px;border:1px solid #f0f0f0;border-radius:8px}
/* ---- 商品购买卡（对齐上游「一件代发」右侧卡） ---- */
.buy2{display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start}
.buy2 .main{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:16px}
.buy2 .aside{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:0;overflow:hidden}
.buy2 .aside h4{text-align:center;font-size:16px;font-weight:600;padding:12px 0;border-bottom:1px solid #f5f6f8}
.buy2 .aside .in{padding:14px}
.buy2 .kv{margin-bottom:14px}
.buy2 .kv .k{font-size:14px;color:#666;margin-bottom:7px}
.buy2 .kv .k em{font-style:normal;color:#ff4000;margin-left:2px}
.sp{display:flex;flex-wrap:wrap;gap:8px}
.sp button{background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:6px 12px;font-size:15px;cursor:pointer;color:#333}
.sp button.on{border-color:#ff6a00;color:#ff6a00;background:#fff8f3;font-weight:600}
.sp button em{font-style:normal;color:#999;font-size:13px;margin-left:4px}
.sp button.on em{color:#ff6a00}
.buy2 .cta{display:flex;gap:10px;padding:0 14px 14px}
.buy2 .cta .btn{flex:1}
.buy2 .cta .btn.orange{background:#ff6a00}
.buy2 .cta .btn.orange:hover{background:#e85f00}
.buy2 .cta .btn.soft{background:#fff4ec;color:#ff6a00;border:1px solid #ffd6b8}
.shopline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:#666;margin-bottom:10px}
.shopline b{color:#111;font-size:15px}
.attr{font-size:14px}
.attr th{width:110px;color:#888;background:#fafafa;font-weight:400}
/* ---- 批量下单页（对齐上游「提交下单」页） ---- */
.sum{display:grid;grid-template-columns:1fr 300px;gap:14px}
.sum .card2{background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px;display:flex;gap:12px}
.sum img{width:76px;height:76px;object-fit:contain;background:#fafafa;border-radius:6px;flex:0 0 auto}
.sum .t{font-size:15px;line-height:1.45;font-weight:600}
.sum .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:#666;margin-top:6px}
.sum .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.tabbar{display:flex;gap:0;border-bottom:1px solid #f0f0f0;margin-bottom:0;overflow-x:auto;white-space:nowrap}
.tabbar::-webkit-scrollbar{height:0}
.tabbar span{padding:10px 16px;font-size:15px;color:#666;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;flex:0 0 auto}
.tabbar span.on{color:#1890ff;border-bottom-color:#1890ff;font-weight:600}
.tabbar span.dis{color:#ccc;cursor:not-allowed}
#addrbox{min-height:190px;font-size:15px;line-height:1.8}
#sbox{min-height:130px;font-size:14px;line-height:1.7}
.smap{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding:10px;background:#fafafa;border-radius:8px}
.smap label{font-size:14px;color:#666;display:flex;align-items:center;gap:5px;white-space:nowrap;flex:0 0 auto}
.smap select{padding:4px 6px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;max-width:140px;width:auto}
.addrbar select{width:auto;min-width:132px;padding:6px 8px;font-size:14px}
.sfile{font-size:14px;color:#666}
.flist .fmsg{color:#cf1322;font-size:14px;line-height:1.5}
.flist td.ck{width:30px}
.onlym{display:none}
@media(max-width:640px){.onlym{display:inline}
 .flist th:nth-child(5),.flist td:nth-child(5),
 .flist th:nth-child(4),.flist td:nth-child(4){display:none}
 .flist th:nth-child(2),.flist td:nth-child(2){width:auto!important;min-width:140px}
 .flist td.fmsg{min-width:120px}}
.addrbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.addrbar .btn.sm{padding:6px 14px}
.paybar{position:sticky;bottom:0;background:#fff;border:1px solid #f0f0f0;border-radius:10px;padding:12px 14px;
 display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 -4px 14px rgba(0,0,0,.04);z-index:8}
.paybar .det{font-size:14px;color:#666;line-height:1.8}
.paybar .det b{color:#111}
.paybar .right{margin-left:auto;display:flex;align-items:center;gap:14px}
.paybar .sum2{font-size:15px;color:#666;white-space:nowrap}
.paybar .sum2 b{color:#ff4000;font-size:21px}
.paybar .btn{background:#ff6a00;padding:11px 22px;font-size:17px}
.paybar .btn:hover{background:#e85f00}
.tblwrap{overflow:auto;border:1px solid #f0f0f0;border-radius:8px}
.tblwrap table{font-size:14px}
.tblwrap th{font-size:14px;white-space:nowrap}
.resbox{max-height:340px;overflow:auto}
@media(max-width:820px){.buy2,.sum{grid-template-columns:1fr}.buy2 .aside{order:-1}}
@media(max-width:640px){.row{grid-template-columns:1fr}.row>label{text-align:left}.row3{grid-template-columns:1fr}
 .search{display:none}.ubar{font-size:14px;gap:6px}.sidekf{display:none}
 header .bar{gap:8px}.logo small{display:none}.czbtn{padding:1px 7px}
 .paybar{gap:8px}.paybar .right{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap;gap:8px}
 .paybar .det{font-size:14px}.paybar .sdneed{flex:0 0 100%;white-space:nowrap;font-size:13px}
 .tabbar span{padding:9px 12px;font-size:14px}
 .paybar .btn{flex:1}}

/* ===== 顶部深色导航 ===== */
header.topnav{background:#fff;border-bottom:1px solid #ececec;color:#333}
header.topnav .bar{height:62px;gap:18px}
header.topnav .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:20px;color:#ff4000;white-space:nowrap}
header.topnav .brand i{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#ff8c3c,#ff4000);
 display:inline-block;position:relative;box-shadow:0 2px 8px rgba(255,64,0,.35)}
header.topnav .brand i:after{content:"";position:absolute;left:7px;right:7px;top:8px;bottom:8px;border:2px solid #fff;border-radius:3px;opacity:.92}
header.topnav nav{display:flex;gap:22px;font-size:16px;white-space:nowrap}
header.topnav nav a{color:#555;padding:20px 0;position:relative}
header.topnav nav a:hover{color:#ff4000}
header.topnav nav a.on{color:#ff4000;font-weight:600}
header.topnav nav a.on:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:3px;border-radius:2px;background:#ff4000}
/* 首页与商品中心是同一个长页：商品区是页面下半段的锚点，滚上来时给吸顶导航留出 64px */
#gsec{scroll-margin-top:66px}
header.topnav .ubar{color:#666;margin-left:auto}
header.topnav .ubar a:hover{color:#ff4000}
header.topnav .ubar .lb{color:#999}
header.topnav .ubar .bal{color:#ff4000;font-weight:700}
header.topnav .avt{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#ff9f43,#ff4000);color:#fff;
 display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;margin-right:6px}

/* ===== 首页 banner（蓝色渐变通栏） ===== */
html{overflow-x:clip}
.hero{position:relative;color:#fff;overflow:hidden;isolation:isolate;
 background:linear-gradient(112deg,#0a2170 0%,#1442b8 44%,#2b7bff 100%);
 margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-bottom:0}
.hero:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
 radial-gradient(760px 300px at 80% 4%,rgba(130,190,255,.40),transparent 70%),
 radial-gradient(560px 320px at 4% 98%,rgba(255,170,50,.22),transparent 72%)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;z-index:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(4,14,48,0),rgba(4,14,48,.26))}
.hero .hin{position:relative;z-index:1;display:flex;align-items:center;gap:32px;
 padding-top:46px;padding-bottom:28px}
.hero .hleft{flex:1 1 auto;min-width:0}
.hero .htag{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.15);
 border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:4px 13px;font-size:14px}
.hero .htag:before{content:"";width:6px;height:6px;border-radius:50%;background:#5ce08d;
 box-shadow:0 0 0 3px rgba(92,224,141,.22)}
.hero .hclaim{margin-top:12px;font-size:28px;font-weight:900;letter-spacing:2px;color:#fff;line-height:1.2;
 text-shadow:0 2px 6px rgba(0,0,0,.25)}
.hero .hclaim em{font-style:normal;color:#ff5b5b}
.hero h1{margin-top:8px;font-size:50px;line-height:1.16;font-weight:800;letter-spacing:.5px;
 text-shadow:0 6px 22px rgba(3,12,44,.32)}
.hero h1 em{font-style:normal;color:#ffd23f}
.hero .hsub{margin-top:12px;min-height:28px;display:flex;align-items:center}
.hero .hsub .hsl{position:relative;padding-left:14px;font-size:21px;font-weight:700;color:#eaf1ff;
 display:inline-block;line-height:1.45}
.hero .hsub .hsl:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:2px;
 background:#ffd23f}
.hero .hstat{display:flex;margin-top:18px;max-width:100%;background:rgba(6,22,70,.34);
 border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 2px}
.hero .hstat div{flex:1;text-align:center;padding:0 10px}
.hero .hstat div+div{border-left:1px solid rgba(255,255,255,.14)}
.hero .hstat b{display:block;font-size:25px;font-weight:800;color:#ffd23f;line-height:1.25}
.hero .hstat span{font-size:14px;color:#c9d8ff}
.hero .hbtns{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.hero .hbtn{background:#ffb400;color:#241a00;font-weight:700;border-radius:9px;padding:12px 26px;font-size:16px;
 box-shadow:0 10px 24px rgba(255,180,0,.32);transition:.15s}
.hero .hbtn:hover{background:#ffc22e;transform:translateY(-1px);color:#241a00}
.hero .hbtn.gh{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.38);
 box-shadow:none;font-weight:600}
.hero .hbtn.gh:hover{background:rgba(255,255,255,.2);color:#fff}
.hero .hart{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center}
.hero .hart:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;
 background:radial-gradient(circle,rgba(255,255,255,.24),rgba(255,255,255,0) 68%)}
.hero .himg{position:relative;width:380px;filter:drop-shadow(0 16px 24px rgba(2,10,40,.38))}
/* 底部服务承诺：一行描边小字，作为 banner 的收边，不另起一块 */
.hero .htrust{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;
 gap:0;border-top:1px solid rgba(255,255,255,.18);padding:16px 2px 26px;flex-wrap:wrap}
.hero .htrust span{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:#dbe6ff;
 padding:0 16px;position:relative;white-space:nowrap}
.hero .htrust span+span:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:1px;
 background:rgba(255,255,255,.16)}
.hero .htrust b{color:#ffd23f;font-weight:800}
.hero .htrust svg{width:17px;height:17px;flex:none;stroke:#ffd23f;fill:none;stroke-width:1.9;
 stroke-linecap:round;stroke-linejoin:round}
/* banner 右侧用户卡 */
.ucard{width:250px;flex:none;background:#fff;color:#222;border-radius:12px;
 box-shadow:0 16px 40px rgba(8,24,70,.28);padding:13px 13px 11px}
.ucard .uhead{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px dashed #eceff3}
.ucard .uavt{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#ffb04a,#ff6a3c);
 color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.ucard .uname{font-weight:700;font-size:16px;line-height:1.2}
.ucard .uph{color:#98a0aa;font-size:13px}
.ucard .uout{margin-left:auto;background:#f04b4b;color:#fff;border-radius:5px;padding:4px 8px;font-size:13px}
.ucard .uout:hover{background:#d93a3a;color:#fff}
.ucard .ttl{font-size:14px;color:#8a919b;margin:11px 0 8px}
.ucard .qg{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ucard .qg a{display:flex;align-items:center;justify-content:center;height:34px;border-radius:6px;
 background:#2b3442;color:#fff;font-size:14px}
.ucard .qg a:hover{background:#3f7bff;color:#fff}
.ucard .qg a.wide{grid-column:1/-1;background:#ff4000}
.ucard .qg a.wide:hover{background:#d93600}
.ucard .ubal{display:flex;align-items:baseline;gap:6px;margin-top:10px;font-size:13px;color:#8a919b}
.ucard .ubal b{font-size:21px;color:#ff4000;font-weight:800}
@media(max-width:1080px){.hero h1{font-size:38px}.hero .himg{width:236px}
 .hero .hart:before{width:236px;height:236px}}
@media(max-width:980px){.hero .hart{display:none}}
@media(max-width:900px){.hero .hin{padding-top:28px;padding-bottom:24px;gap:14px}
 .hero h1{font-size:30px}.hero .hsub .hsl{font-size:17px}.hero .hstat{max-width:560px}
 .ucard{display:none}.hero .htrust{justify-content:flex-start}
 .hero .htrust span{font-size:14px;padding:0 14px}
 .hero .htrust span:nth-child(4),.hero .htrust span:nth-child(5){display:none}}
@media(max-width:560px){.hero .hclaim{font-size:19px;letter-spacing:1px}.hero h1{font-size:26px}
 .hero .hsub .hsl{font-size:16px}.hero .hstat b{font-size:19px}.hero .hstat span{font-size:12px}
 .hero .hbtn{padding:10px 18px;font-size:15px}
 .hero .htrust{display:grid;grid-template-columns:1fr;gap:8px;padding:13px 4px 16px}
 .hero .htrust span{font-size:13px;padding:0;white-space:normal;line-height:1.35}
 .hero .htrust span+span:before{display:none}
 .hero .htrust span:nth-child(4),.hero .htrust span:nth-child(5){display:none}}
@media(max-width:1180px){header.topnav nav{display:none}}
@media(max-width:640px){header.topnav .bar{height:52px}
 header.topnav .brand{font-size:18px}header.topnav .brand i{width:26px;height:26px}
 header.topnav .ubar .unick,header.topnav .ubar .balwrap,
 header.topnav .ubar>a[href="/logout"]{display:none}
 header.topnav .ubar{gap:10px}
 header.topnav .ubar .avt{width:26px;height:26px;font-size:13px}}
/* 导航进度条：跨境那 200-600ms 的等待，给个"在动"的反馈，别让客户对着白屏以为卡死 */
#navprog{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#ffb400,#ff5a00);
 z-index:9999;opacity:0;transition:width .25s ease,opacity .3s}
#navprog.on{opacity:1;width:72%;transition:width 1.4s cubic-bezier(.08,.72,.24,1),opacity .1s}
/* 局部换页的"下滑"转场：以顶部为轴位移，页面像被纵向推走/推上来。
   SPA 换页（首页⇄商品中心）由 BROWSE_JS 用 inline transition 驱动；
   整页跳转（商品详情、发货页）由 NAVPT_JS 做上移淡出 + 这里的入场动画接上台。 */
#pg{transform-origin:50% 0;animation:pgIn .3s cubic-bezier(.22,.61,.36,1)}
@keyframes pgIn{from{opacity:0;transform:translate3d(0,34px,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#pg{animation:none}}

/* ===== 会员中心 ===== */
.mewrap{display:flex;gap:16px;align-items:flex-start;margin:12px 0}
.meside{flex:0 0 210px;position:sticky;top:74px;background:#fff;border:1px solid #e8eaed;
 border-radius:10px;padding:8px 6px}
.megrp{display:flex;align-items:center;gap:7px;font-size:15px;color:#1f2a3a;
 padding:13px 8px 8px;font-weight:800;letter-spacing:.3px}
.megrp svg{flex:none;color:#4a5a72}
.megrid{display:grid;grid-template-columns:1fr 1fr;gap:2px 4px;padding:0 2px 2px}
.mesi{display:block;padding:8px 6px;border-radius:7px;font-size:15px;color:#3c4654;
 line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mesi:hover{background:#fff3ee;color:#ff4000}
.mesi.on{background:#fff1eb;color:#ff4000;font-weight:700}
.memain{flex:1;min-width:0}
.mecards{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;margin-bottom:14px}
.mecard{background:#fff;border:1px solid #e8eaed;border-radius:10px;padding:14px 16px;min-width:0}
.mect{font-size:15px;color:#666;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.mect:before{content:"";width:3px;height:13px;background:#ff4000;border-radius:2px;flex:none}
.ostat{display:flex;gap:26px;align-items:center;padding:8px 4px}
.ostat-i{position:relative;color:#5b6b84;line-height:0}
.ostat-i .badge{position:absolute;top:-9px;right:-13px;background:#ff4000;color:#fff;
 font-size:13px;font-weight:700;line-height:17px;min-width:17px;height:17px;border-radius:9px;
 display:flex;align-items:center;justify-content:center;padding:0 4px}
.ostat-i .badge.gray{background:#8c9bb0}
.kfrow{display:flex;gap:12px;align-items:center}
.kfqr{border:1px solid #eee;border-radius:8px;flex:none;display:block;width:92px;height:92px}
.kftx{font-size:14px;line-height:1.75;min-width:0;word-break:break-all}
.walbal{font-size:32px;font-weight:800;color:#1a1a1a;line-height:1.15}
.walsub{font-size:14px;color:#888;margin-top:3px}
.walbtn{margin-top:12px}

/* ===== 订单管理（独立页） ===== */
.odpanel{background:#fff;border:1px solid #e8eaed;border-radius:10px;padding:16px 18px 18px;margin-bottom:14px;min-width:0}
.odh{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;color:#1f2a3a;margin-bottom:15px}
.odh:before{content:"";width:4px;height:16px;background:#ff4000;border-radius:2px;flex:none}
.odgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;align-items:center}
.odf{display:flex;align-items:center;gap:8px;min-width:0}
.odf>span{flex:none;font-size:15px;color:#5b6b84;white-space:nowrap}
.odf input,.odf select{height:40px;width:100%;min-width:0;border:1px solid #dcdfe6;border-radius:6px;
 padding:0 10px;font-size:15px;background:#fff;color:#1f2a3a}
.odf input:focus,.odf select:focus{outline:none;border-color:#ff4000;box-shadow:0 0 0 2px rgba(255,64,0,.12)}
.odacts{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.odacts .btn{height:40px;padding:0 22px;border-radius:6px;display:inline-flex;align-items:center}
.odacts .btn.dark{background:#1f2a3a}
.odacts .btn.dark:hover{background:#2f3f57}
.odacts .btn.gh{border:1px solid #dcdfe6;color:#1f2a3a;background:#fff}
.odacts .btn.gh:hover{border-color:#ff4000;color:#ff4000}
.odscroll{overflow-x:auto;max-width:100%;margin:0 -2px}
table.odtbl{width:100%;border-collapse:collapse;font-size:15px;min-width:900px}
table.odtbl th{background:#fafbfc;color:#3c4654;font-weight:700;white-space:nowrap;
 padding:13px 10px;border-bottom:1px solid #eef0f3;text-align:left}
table.odtbl td{padding:14px 10px;border-bottom:1px solid #f2f4f7;color:#3c4654;vertical-align:middle}
table.odtbl tr:hover td{background:#fffaf7}
table.odtbl .ono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;color:#1f2a3a}
table.odtbl .pkgc{white-space:nowrap}
table.odtbl .pkgc b{color:#1f2a3a;font-size:16px}
table.odtbl .pkgc i{color:#ccd2da;font-style:normal;margin:0 8px}
table.odtbl .wh{color:#5b6b84;font-size:14px;line-height:1.55;max-width:430px}
.odop{white-space:nowrap}
.odop a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:5px;font-size:14px}
.odop a.v{background:#1f2a3a;color:#fff}
.odop a.v:hover{background:#2f3f57;color:#fff}
.odop a.x{margin-left:10px;color:#ff4000;border:1px solid #ffd7c7;background:#fff8f5}
.odop a.x:hover{background:#ffefe7;color:#e63900}
.odempty{padding:44px 0;text-align:center;color:#9aa3af;font-size:15px}
.odpager{display:flex;align-items:center;gap:8px;padding:16px 0 2px;flex-wrap:wrap}
.odpager .odcnt{font-size:15px;color:#8a919b;margin-right:4px}
.odpager .odline{flex:1;min-width:10px}
.odpager a,.odpager .cur{display:inline-flex;align-items:center;justify-content:center;
 min-width:36px;height:34px;padding:0 10px;border:1px solid #e6e7e9;border-radius:6px;
 font-size:15px;color:#3c4654;background:#fff}
.odpager a:hover{border-color:#ff4000;color:#ff4000}
.odpager .cur{background:#ff4000;border-color:#ff4000;color:#fff;font-weight:700}
.odpager select{height:34px;border:1px solid #dcdfe6;border-radius:6px;padding:0 8px;font-size:14px;
 color:#3c4654;background:#fff;width:auto;flex:none;min-width:116px}
/* ===== 寄件人管理（独立页） ===== */
.sdbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sdbar .sdfind{display:flex;gap:8px;min-width:0;flex:1 1 auto}
.sdbar .sdfind input{height:38px;width:230px;max-width:100%;border:1px solid #dcdfe6;border-radius:6px;
 padding:0 12px;font-size:15px;color:#1f2a3a;background:#fff}
.sdbar .sdfind input:focus{outline:none;border-color:#ff4000;box-shadow:0 0 0 2px rgba(255,64,0,.12)}
.sdbar .btn{height:38px;padding:0 20px;border-radius:6px;display:inline-flex;align-items:center;
 font-size:15px;flex:none}
.sdbar .btn.dark{background:#1f2a3a;color:#fff}
.sdbar .btn.dark:hover{background:#2f3f57}
.sdbar .sdadd{margin-left:auto}
.sdform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;align-items:center;
 background:#fafbfc;border:1px solid #eef0f3;border-radius:8px;padding:14px 16px;margin-bottom:14px}
.sdform .odacts{grid-column:span 2}
.sdform .btn{height:38px;padding:0 20px;border-radius:6px;display:inline-flex;align-items:center}
.sdform .btn.dark{background:#1f2a3a;color:#fff}
.sdform .btn.dark:hover{background:#2f3f57}
.sdform .btn.gh{border:1px solid #dcdfe6;color:#1f2a3a;background:#fff}
.sdform .btn.gh:hover{border-color:#ff4000;color:#ff4000}
.sdtip{display:block;background:#fff8f2;border:1px solid #ffe2d2;
 border-radius:7px;padding:9px 12px;font-size:14px;color:#8a6a52;line-height:1.6;margin-bottom:14px}
.sdtip b{color:#ff4000;white-space:nowrap}
table.sdtbl{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
table.sdtbl th{background:#fafbfc;color:#3c4654;font-weight:700;white-space:nowrap;
 padding:13px 10px;border-bottom:1px solid #eef0f3;text-align:left}
table.sdtbl td{padding:14px 10px;border-bottom:1px solid #f2f4f7;color:#3c4654;vertical-align:middle}
table.sdtbl tr:hover td{background:#fffaf7}
table.sdtbl .sdc1{width:120px}
table.sdtbl .sdc3{width:200px}
table.sdtbl .sdc4{width:252px}
.sdcode{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;color:#5b6b84}
.sdname{font-weight:600;color:#1f2a3a}
.sdmob{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;color:#1f2a3a}
.sddef{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;
 background:#fff1eb;color:#ff4000;font-size:12px;font-weight:700;margin-left:8px;vertical-align:middle}
.sdunv{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;
 background:#f5f5f5;color:#999;font-size:12px;font-weight:600;margin-left:8px;vertical-align:middle}
.sdops{white-space:nowrap}
.sdops a,.sdops button{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:5px;
 font-size:14px;background:#fff;border:1px solid #e6e7e9;color:#3c4654;cursor:pointer;
 font-family:inherit;line-height:1}
.sdops a:hover,.sdops button:hover{border-color:#ff4000;color:#ff4000}
.sdops .sddel{color:#cf1322;border-color:#f7d9d9;margin-left:8px}
.sdops .sddel:hover{color:#a8071a;border-color:#a8071a;background:#fff5f5}
.sdops form{display:inline}
.sdops .sdset{margin-left:8px}
/* 包裹详情 */
.pkhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.pkno{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:21px;font-weight:800;color:#1f2a3a;letter-spacing:.5px}
.pkst{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:13px;font-size:14px}
.pkst.ok{background:#e8f8ee;color:#0f9d58}
.pkst.wait{background:#fff7e6;color:#d48806}
.pkst.bad{background:#fdecec;color:#cf1322}
.pkbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}
.pkrow{display:flex;gap:10px;font-size:15px;line-height:1.85;min-width:0;padding:5px 0;
 border-bottom:1px dashed #f0f2f5}
.pkrow>span{flex:none;color:#8a919b;width:82px}
.pkrow>b{font-weight:600;color:#1f2a3a;word-break:break-all}
@media(max-width:1100px){.odgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .odacts{grid-column:span 2;justify-content:flex-end}}
@media(max-width:640px){.odgrid{grid-template-columns:1fr}.odacts{grid-column:span 1;
 justify-content:flex-start}
 .sdbar .sdfind{flex:1 1 100%}
 .sdbar .sdfind input{width:100%}
 .sdbar .sdadd{margin-left:0;width:100%;justify-content:center}
 .sdform{grid-template-columns:1fr}
 .sdform .odacts{grid-column:span 1}
 .sdops a,.sdops button{height:30px;padding:0 9px;font-size:13px}
 /* 手机端：四列表格塞不下，改成「姓名 / 电话」竖排 + 右侧操作按钮竖排 */
 table.sdtbl{display:block;min-width:0;font-size:14px}
 table.sdtbl tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;
  padding:11px 4px;border-bottom:1px solid #f2f4f7}
 table.sdtbl tr:first-child{display:none}
 table.sdtbl th{display:none}
 table.sdtbl td{display:block;border:none;padding:0;background:none!important}
 table.sdtbl td:nth-child(1){display:none}
 table.sdtbl td:nth-child(2){grid-column:1;grid-row:1}
 table.sdtbl td:nth-child(3){grid-column:1;grid-row:2;font-size:14px;color:#5b6b84}
 table.sdtbl td:nth-child(4){grid-column:2;grid-row:1/3;align-self:center}
 .sdops{display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}
 .sdops form{margin:0}
 .sdops a,.sdops button{height:28px;padding:0 9px;font-size:13px;margin:0;min-width:56px;
  justify-content:center}
 .sdops .sdset,.sdops .sddel{margin-left:0}
 table.odtbl{min-width:600px;font-size:14px}
 table.odtbl th:nth-child(3),table.odtbl td:nth-child(3){display:none}
 table.odtbl .wh{max-width:150px}
 .odpanel{padding:14px 12px}
 .pkbox{grid-template-columns:1fr}}
@media(max-width:900px){.mewrap{flex-direction:column;gap:12px}
 .memain{width:100%;max-width:100%;overflow-x:clip}
 .meside{position:static;flex:none;width:100%;display:flex;flex-wrap:wrap;gap:0;padding:4px 10px 8px}
 .meside .megrp{flex:0 0 100%;padding:10px 2px 4px}
 .meside .megrid{flex:0 0 100%;padding:0}
 .mesi{padding:7px 6px;font-size:15px}
 .mecards{grid-template-columns:1fr}
 .walbal{font-size:28px}}

/* ===== 方案A 精简首页（/v2 测试页）===== */
.v2{background:#FFF8F6;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
 padding:26px 0 44px;min-height:62vh}
.v2 .v2in{max-width:1440px;margin:0 auto;padding:0 22px}
.v2tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v2tier{background:#fff;border-radius:12px;border:1px solid #ffe4e0;padding:22px 22px 20px;
 display:flex;flex-direction:column;gap:10px;transition:.18s;box-shadow:0 3px 14px rgba(255,107,107,.07)}
.v2tier:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(255,107,107,.16)}
.v2tier .vic{width:46px;height:46px;border-radius:12px;background:#FFF1EE;color:#FF6B6B;
 display:flex;align-items:center;justify-content:center;flex:none}
.v2tier h3{margin:0;font-size:22px;font-weight:700;color:#2b2b2b;letter-spacing:.5px}
.v2tier p{margin:0;font-size:15px;line-height:1.65;color:#9a9a9a;flex:1}
.v2tier .go{height:42px;border-radius:21px;background:#FF6B6B;color:#fff;font-size:16px;font-weight:600;
 display:flex;align-items:center;justify-content:center;gap:6px;transition:.15s}
.v2tier .go:hover{background:#f25555}
.v2head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:28px 0 14px}
.v2head b{font-size:22px;color:#2b2b2b}
.v2head span{font-size:15px;color:#a8a8a8}
.v2head a{margin-left:auto;font-size:15px;color:#FF6B6B}
.v2grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v2card{background:#fff;border-radius:12px;border:1px solid #f6eae7;overflow:hidden;
 display:flex;flex-direction:column;transition:.16s}
.v2card:hover{box-shadow:0 10px 24px rgba(0,0,0,.08);border-color:#ffd9d3}
.v2card .th{display:block;aspect-ratio:1/1;background:#faf6f4;overflow:hidden}
.v2card .th img{width:100%;height:100%;object-fit:cover;display:block}
.v2card .bd{padding:11px 12px 13px;display:flex;flex-direction:column;gap:8px;flex:1}
.v2card .tt{font-size:15px;line-height:1.45;color:#2b2b2b;text-decoration:none;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
 min-height:44px;word-break:break-all}
.v2card .tt:hover{color:#FF6B6B}
.v2tags{display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden}
.v2tag{font-size:12px;color:#8c8c8c;background:#F7F3F1;border-radius:4px;padding:2px 6px;
 line-height:1.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;flex:0 1 auto}
.v2pr{margin-top:auto;display:flex;align-items:baseline;gap:2px;color:#FF6B6B;font-weight:700}
.v2pr .cu{font-size:14px}
.v2pr .pn{font-size:22px;letter-spacing:-.3px}
.v2pr .cut{font-size:13px;font-weight:400;color:#c0c0c0;text-decoration:line-through;margin-left:4px}
.v2empty{background:#fff;border-radius:12px;padding:40px;text-align:center;color:#a8a8a8;font-size:16px}
.v2pg{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:24px;flex-wrap:wrap}
.v2pg a,.v2pg .cur,.v2pg .gap{min-width:36px;height:36px;padding:0 10px;border-radius:8px;background:#fff;
 border:1px solid #f0e2de;display:inline-flex;align-items:center;justify-content:center;
 font-size:15px;color:#666}
.v2pg .cur{background:#FF6B6B;border-color:#FF6B6B;color:#fff;font-weight:600}
.v2pg .gap{background:transparent;border:none;color:#bbb}
.v2pg a:hover{border-color:#FF6B6B;color:#FF6B6B}
@media(max-width:1100px){.v2grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.v2tiers{grid-template-columns:1fr;gap:12px}
 .v2 .v2in{padding:0 16px}}
@media(max-width:640px){.v2{padding:14px 0 30px}
 .v2 .v2in{padding:0 12px}
 .v2tiers{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:6px;-webkit-overflow-scrolling:touch}
 .v2tiers::-webkit-scrollbar{height:0}
 .v2tier{flex:0 0 78%;scroll-snap-align:start;padding:16px 16px 15px;gap:8px}
 .v2tier h3{font-size:19px}
 .v2tier p{font-size:14px;line-height:1.55}
 .v2tier .go{height:38px;font-size:15px}
 .v2head{margin:18px 0 10px}
 .v2head b{font-size:19px}
 .v2grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .v2card .bd{padding:9px 10px 11px;gap:6px}
 .v2card .tt{font-size:14px;min-height:41px}
 .v2pr .pn{font-size:20px}
 .v2tag{font-size:11px;padding:1px 5px;max-width:96px}
 .v2tag:nth-child(n+3){display:none}
 .v2pg a,.v2pg .cur{min-width:32px;height:32px;font-size:14px}}

/* ===== 顶栏：sticky + 手机汉堡 ===== */
header.topnav{position:sticky;top:0;z-index:60}
header.topnav .nburger{display:none;width:38px;height:38px;border:1px solid #ececec;border-radius:9px;
 background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:4px;
 cursor:pointer;padding:0;flex:none;margin-left:auto}
header.topnav .nburger i{display:block;width:18px;height:2px;border-radius:1px;background:#666;
 transition:.2s}
header.topnav .nmobi{display:none;border-top:1px solid #f2f2f2;background:#fff;
 padding:6px 0 10px;box-shadow:0 12px 20px rgba(0,0,0,.08)}
header.topnav .nmobi.show{display:block}
header.topnav .nmobi a{display:block;padding:12px 4px;font-size:16px;color:#444;
 border-bottom:1px solid #f7f7f7}
header.topnav .nmobi a.on{color:#ff4000;font-weight:600}
header.topnav .nmobi .nmfoot{display:flex;gap:10px;padding:12px 4px 4px}
header.topnav .nmobi .nmfoot a{border:none;padding:0;font-size:15px;color:#ff4000}
@media(max-width:640px){header.topnav .nburger{display:flex}
 header.topnav .bar{gap:10px}}

/* 方案A 主色 #FF6B6B：只在 /v2 页面生效，正式首页仍是原橙红 */
.pA header.topnav .brand{color:#FF6B6B}
.pA header.topnav .brand i{background:linear-gradient(135deg,#ff9a9a,#FF6B6B);
 box-shadow:0 2px 8px rgba(255,107,107,.35)}
.pA header.topnav nav a:hover,.pA header.topnav nav a.on{color:#FF6B6B}
.pA header.topnav nav a.on:after{background:#FF6B6B}
.pA header.topnav .nmobi a.on{color:#FF6B6B}
.pA header.topnav .nburger{border-color:#ffe0dc}
.pA header.topnav .nburger i{background:#FF6B6B}
.pA .footer b{color:#FF6B6B}

/* ===== 首页美化版 pB（/v3 测试页），全部作用域在 body.pB，不影响正式首页 ===== */
body.pB{background:#F7F8FA}
body.pB .wrap{max-width:1400px}
/* 1) 顶栏：更干净；1180 以下不再把导航藏死，改汉堡下拉（导航 4 项 + 登录/注册） */
body.pB header.topnav{border-bottom:1px solid #eef0f3;box-shadow:0 1px 2px rgba(16,24,40,.03)}
body.pB header.topnav .bar{gap:26px;height:60px}
body.pB header.topnav nav{gap:26px;font-size:16px}
body.pB header.topnav nav a{color:#4b5563;font-weight:500}
body.pB header.topnav nav a:hover,body.pB header.topnav nav a.on{color:#ff4000}
body.pB header.topnav nav a.on:after{bottom:12px;height:2px;border-radius:2px}
body.pB header.topnav .ubar{gap:12px;margin-left:auto}
body.pB header.topnav .ubar>a[href="/login"]{padding:6px 14px;border-radius:999px;color:#4b5563}
body.pB header.topnav .ubar>a[href="/reg"]{padding:6px 16px;border-radius:999px;background:#ff4000;
 color:#fff;font-weight:600}
body.pB header.topnav .ubar>a[href="/reg"]:hover{background:#d93600;color:#fff}
body.pB header.topnav .nmobi a{font-size:16px}
@media(max-width:1180px){
 body.pB header.topnav .nburger{display:flex;order:9;margin-left:8px;margin-right:0}
 body.pB header.topnav .bar{gap:14px}
}
/* 2) Hero：内容宽跟着 .wrap 收到 1400；标题降一档；统计条与按钮左对齐成一条 */
body.pB .hero .hin{gap:34px;padding-top:40px;padding-bottom:26px;align-items:center}
body.pB .hero h1{font-size:40px;letter-spacing:0}
body.pB .hero .hclaim{font-size:24px;letter-spacing:1px}
body.pB .hero .hsub{margin-top:10px;min-height:26px}
body.pB .hero .hsub .hsl{font-size:19px}
body.pB .hero .hstat{margin-top:16px;padding:11px 2px;border-radius:12px}
body.pB .hero .hstat b{font-size:23px}
body.pB .hero .hstat span{font-size:14px}
body.pB .hero .hbtns{margin-top:16px;align-items:center;gap:12px}
body.pB .hero .hbtn{padding:11px 26px;font-size:16px;border-radius:10px}
body.pB .ucard{width:272px;border-radius:14px;box-shadow:0 10px 28px rgba(8,24,70,.16);
 border:1px solid rgba(255,255,255,.55)}
body.pB .hero .htrust{padding:14px 0 22px}
body.pB .hero .htrust span{font-size:14px;padding:0 14px}
@media(max-width:1240px){body.pB .hero h1{font-size:35px}
 body.pB .hero .himg{width:300px}body.pB .hero .hart:before{width:300px;height:300px}}
@media(max-width:1024px){body.pB .hero .hart{display:none}
 body.pB .hero .hleft{flex:1 1 100%}body.pB .hero h1{font-size:32px}}
/* 手机：上下堆叠 —— 登录卡不再直接消失，压到文案下方整宽 */
@media(max-width:900px){
 body.pB .hero .hin{flex-wrap:wrap;gap:18px;padding-top:30px;padding-bottom:22px}
 body.pB .hero .hleft{flex:1 1 100%}
 body.pB .hero .ucard{display:block;width:100%;flex:1 1 100%;margin-top:2px}
 body.pB .hero .hstat{max-width:none}
 body.pB .hero h1{font-size:28px}
 body.pB .hero .hclaim{font-size:20px}
 body.pB .hero .hsub .hsl{font-size:17px}
 body.pB .hero .htrust span:nth-child(4),body.pB .hero .htrust span:nth-child(5){display:none}
}
/* 3) 筛选 chip：矮一点、短名 + 数量，长文案走 title 悬停 */
body.pB .chips{gap:8px;padding:10px 0 2px}
body.pB .chips::-webkit-scrollbar{height:5px}
body.pB .chips::-webkit-scrollbar-thumb{background:#dcdfe4;border-radius:3px}
body.pB .chips::-webkit-scrollbar-track{background:transparent}
body.pB .chip{height:34px;border-radius:17px;padding:0 14px;font-size:14px;
 border:1px solid #e6e8ec;color:#4b5563;background:#fff}
body.pB .chip:hover{border-color:#ffc3aa;color:#ff4000}
body.pB .chip.on{border-color:#ff4000;background:#fff3ed;color:#ff4000}
body.pB .chip .muted{font-size:13px;margin-left:2px}
/* 4) 商品卡：标题 2 行、圆角 14、标签收紧；5 / 4 / 3 / 2 列 */
body.pB .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:14px 0}
body.pB .card{border-radius:14px;border:1px solid #eef0f3;box-shadow:0 1px 2px rgba(16,24,40,.04)}
body.pB .card:hover{box-shadow:0 10px 24px rgba(16,24,40,.10);transform:translateY(-2px)}
body.pB .card .thumb{border-bottom:1px solid #f2f4f7}
body.pB .card .body{padding:11px 12px 12px;gap:5px}
body.pB .card .t{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;
 -webkit-line-clamp:2;overflow:hidden;text-overflow:clip;min-height:44px;line-height:22px;font-size:15px}
body.pB .card .tsub{color:#98a0aa;font-size:12px}
body.pB .card .pfc i{font-size:11px;line-height:14px;padding:0 4px;border-radius:4px}
body.pB .card .pfc img{width:16px;height:16px}
body.pB .card .price .pn{font-size:25px}
body.pB .pager{padding:20px 0 44px;gap:6px}
body.pB .pager a,body.pB .pager span{border-radius:9px;border-color:#e8eaee;font-size:14px;padding:7px 12px}
@media(max-width:1320px){body.pB .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1080px){body.pB .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){body.pB .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body.pB .card .body{padding:9px 10px 10px}
 body.pB .card .t{font-size:15px;line-height:21px;min-height:42px}
 body.pB .card .pfc i:nth-child(n+3){display:none}
 body.pB .card .price .pn{font-size:21px}}
@media(max-width:560px){
 body.pB .hero .hsub .hsl{font-size:16px;line-height:1.45;padding-left:12px}
 body.pB .hero h1{font-size:26px}
 body.pB .hero .hclaim{font-size:19px;letter-spacing:0}
}
/* 5) 页脚三行 */
body.pB .footer{padding:26px 0 34px;line-height:1.95;color:#98a0aa;font-size:13px}
body.pB .footer .ft1{font-size:15px;color:#6b7280;font-weight:600;letter-spacing:.3px}
body.pB .footer .ft2{color:#a0a7b1}
body.pB .footer .ft3{color:#8b93a1}
body.pB .footer b{color:#ff4000;font-weight:600}
