/* ==================================================================
   mall-pages.css · PC 商城子页样式（依赖 mall-home.css 的设计令牌与公共壳样式）
   ================================================================== */

/* ---------- 面包屑 / 页头 ---------- */
.crumb{padding:16px 0 2px;font-size:13px;color:var(--t3);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.crumb a:hover{color:var(--primary)}
.crumb .sep{color:#D5D5DA}
.crumb .cur{color:var(--t1);font-weight:600}
.pt-bar{margin-top:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pt-bar h1{font-size:24px;font-weight:800;letter-spacing:1px;display:flex;align-items:center;gap:10px}
.pt-bar h1 .fh-ic{color:var(--primary);font-size:22px;display:flex}
.pt-bar .pt-sub{font-size:12px;color:var(--t3);font-weight:400}

/* ---------- 通用空态 / 按钮 / 徽标 ---------- */
.empty{background:var(--card);border-radius:var(--r);padding:64px 20px;text-align:center;color:var(--t3)}
.empty .ico{font-size:46px;color:#D5D5DA}
.empty p{margin-top:10px;font-size:14px}
.empty .btn-grad{margin-top:16px}
.btn-grad{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 26px;border-radius:999px;background:var(--grad-brand);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.btn-grad:active{opacity:.9}
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 24px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--t2);font-size:14px;cursor:pointer}
.btn-line:hover{border-color:var(--primary);color:var(--primary)}
.chip{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.chip--green{background:#ECFDF5;color:#059669}
.chip--amber{background:#FFFBEB;color:#B45309}
.chip--blue{background:#EFF6FF;color:#2563EB}
.chip--red{background:#FEF2F2;color:#DC2626}
.chip--gray{background:#F4F4F5;color:var(--t3)}

/* ---------- 分类页：左侧类目 + 商品网格 ---------- */
.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;margin-top:16px;align-items:start}
.side-cat{background:var(--card);border-radius:var(--r);padding:10px;position:sticky;top:12px}
.sc-item{border-radius:10px;padding:4px 6px}
.sc-item+.sc-item{margin-top:2px}
.sc-main{display:flex;align-items:center;gap:9px;padding:9px 8px;border-radius:8px;font-size:14px;font-weight:700;color:var(--t1);cursor:pointer}
.sc-main .ico{font-size:17px;color:var(--t3)}
.sc-item:hover .sc-main{background:#FFF5F4;color:var(--primary)}
.sc-item:hover .sc-main .ico{color:var(--primary)}
.sc-item.on .sc-main{background:var(--primary-light);color:var(--primary)}
.sc-item.on .sc-main .ico{color:var(--primary)}
.sc-subs{display:none;padding:2px 8px 8px 34px;flex-direction:column;gap:2px}
.sc-item.on .sc-subs{display:flex}
.sc-subs a{font-size:12px;color:var(--t2);padding:9px 8px;border-radius:6px;white-space:nowrap;border-bottom:1px solid var(--border)}
.sc-subs a:hover,.sc-subs a.on{color:var(--primary);background:#FFF5F4}
/* 三级分类扩展（商城公告页 nt-layout）：二级行可再展开第三级列表 */
.sc-l2{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:6px;font-size:13px;color:var(--t2);cursor:pointer;white-space:nowrap}
.sc-l2:hover{color:var(--primary);background:#FFF5F4}
.sc-l2.on{color:var(--primary);font-weight:700}
.sc-l2 .nt-cnt{margin-left:auto;font-size:11px;color:var(--t3);font-weight:400}
.sc-main .nt-cnt{margin-left:auto;font-size:11px;color:var(--t3);font-weight:400}
.sc-l3{display:none;flex-direction:column;gap:2px;margin-top:2px}
.sc-l2.on .sc-l3{display:flex}
.sc-l3 a{font-size:12px;color:var(--t2);padding:6px 8px;border-radius:6px;white-space:nowrap;cursor:pointer}
.sc-l3 a:hover,.sc-l3 a.on{color:var(--primary);background:#FFF5F4}
/* 三级缩进树（手风琴）：带 children 的二级行=名称(点击过滤)+箭头(点击展开)，三级行再缩进一层；二级无 children 仍走上面的平铺链接 */
.sc-s2{display:flex;align-items:center;gap:6px;padding:8px;border-radius:6px;font-size:12px;color:var(--t2);cursor:pointer}
.sc-s2:hover{background:#FFF5F4;color:var(--primary)}
.sc-s2.on{color:var(--primary);font-weight:700}
.sc-s2 .s2-nm{color:inherit;font-size:12px;padding:0;border-bottom:0}
.sc-s2 .s2-nm:hover{color:inherit;background:none}
.sc-s2 .ar{margin-left:auto;display:flex;font-size:12px;color:var(--t3);transition:.2s}
.sc-s2.open .ar{transform:rotate(90deg);color:var(--primary)}
.sc-s3s{display:none;flex-direction:column;gap:2px}
.sc-s3s.open{display:flex}
.sc-s3{font-size:12px;color:var(--t2);padding:6px 8px 6px 14px;border-radius:6px;white-space:nowrap;border-bottom:0}
.sc-s3:hover,.sc-s3.on{color:var(--primary);background:#FFF5F4}
.pl-panel{background:var(--card);border-radius:var(--r);padding:16px}
.pl-toolbar{display:flex;align-items:center;gap:18px;border:1px solid var(--border);border-radius:8px;padding:12px 16px}
.pl-toolbar .tl-item{font-size:13px;color:var(--t3);cursor:pointer;background:none;display:inline-flex;align-items:center}
.pl-toolbar .tl-item.on{color:var(--primary);font-weight:700}
/* 排序双向箭头：可点击（上=升序 / 下=降序），选中方向高亮主色 */
.tl-arrows{display:inline-flex;flex-direction:column;gap:2px;margin-left:5px}
.tl-arrows i{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;cursor:pointer}
.tl-arrows .tl-up{border-bottom:4px solid #C9C9CF}
.tl-arrows .tl-down{border-top:4px solid #C9C9CF}
.tl-item.on.asc .tl-up{border-bottom-color:var(--primary)}
.tl-item.on.desc .tl-down{border-top-color:var(--primary)}
.pl-count{margin-left:auto;font-size:12px;color:var(--t3)}
.pl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}

/* ---------- 通用分页条（列表/面板共用） ---------- */
.pg-bar{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.pg-bar button{min-width:32px;height:32px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;color:var(--t2);cursor:pointer;font-variant-numeric:tabular-nums}
.pg-bar button:hover:not(:disabled):not(.on){border-color:var(--primary);color:var(--primary)}
.pg-bar button.on{background:var(--grad-brand);border-color:transparent;color:#fff;font-weight:700}
.pg-bar button:disabled{opacity:.4;cursor:not-allowed}
.pg-bar .pg-dots{font-size:13px;color:var(--t3)}
.pg-info{font-size:12px;color:var(--t3);margin-left:6px}
.pg-hint{margin-top:12px;font-size:12px;color:var(--t3);text-align:center}

/* ---------- 商品卡（PC） ---------- */
.pd-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:.2s;position:relative}
.pd-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.pd-card.off{opacity:.62}
.pd-img{aspect-ratio:1/1;background:#F7F7F9;position:relative}
.pd-img img{width:100%;height:100%;object-fit:cover}
.pd-imgtags{position:absolute;left:8px;bottom:8px;display:flex;gap:5px}
.pd-imgtags span{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;border:1px solid transparent}
.pd-body{padding:10px 12px 12px}
.pd-name{font-size:13px;line-height:1.45;height:2.9em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pd-tags{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap}
.pd-tags .tg{font-size:10px;padding:1px 6px;border-radius:4px}
.pd-tags .tg--virtual{background:#CCFBF1;color:#0D9488}
.pd-foot{margin-top:8px;display:flex;align-items:flex-end;gap:8px}
.pd-p{color:var(--primary);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.pd-p em{font-style:normal;font-size:12px;font-weight:700;margin-right:1px}
.pd-o{color:var(--t3);font-size:12px;text-decoration:line-through;font-variant-numeric:tabular-nums}
.pd-sold{margin-left:auto;font-size:11px;color:var(--t3)}
.pd-buy{margin-top:8px;display:flex;justify-content:flex-end}
.pd-buy button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 14px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700;cursor:pointer}
.pd-buy button:hover{background:var(--grad-brand);color:#fff}

/* ---------- 商品详情 ---------- */
.gd-layout{display:grid;grid-template-columns:440px 1fr;gap:26px;background:var(--card);border-radius:var(--r);padding:22px;margin-top:16px}
.gd-visual{position:relative}
.gd-main{border-radius:12px;overflow:hidden;background:#F7F7F9;aspect-ratio:1/1;position:relative}
.gd-lens{position:absolute;display:none;background:rgba(250,31,18,.12);border:1px solid rgba(250,31,18,.35);pointer-events:none;z-index:5}
/* 鼠标经过放大预览（锚定主图右侧，2.2 倍） */
.gd-zoom{position:absolute;left:calc(100% + 18px);top:0;width:100%;aspect-ratio:1/1;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow-lift);background:#fff no-repeat;z-index:30;display:none;pointer-events:none;overflow:hidden}
.gd-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
/* 视频缩略图（首帧 + 播放角标） */
.gd-thumbs .gd-thumb{position:relative;display:block;width:64px;height:64px;border-radius:8px;border:2px solid transparent;overflow:hidden;cursor:pointer;background:#F7F7F9;flex-shrink:0}
.gd-thumbs .gd-thumb.on{border-color:var(--primary)}
.gd-thumbs .gd-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.gd-vd-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:rgba(17,17,17,.55);display:flex;align-items:center;justify-content:center;pointer-events:none}
.gd-vd-badge::after{content:'';border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #fff;margin-left:2px}
.gd-main img{width:100%;height:100%;object-fit:cover}
.gd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.gd-thumbs img{width:64px;height:64px;border-radius:8px;object-fit:cover;border:2px solid transparent;cursor:pointer;background:#F7F7F9}
.gd-thumbs img.on{border-color:var(--primary)}
.gd-name{font-size:20px;font-weight:800;line-height:1.4}
.gd-brandtag{display:inline-flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.gd-pricebox{margin-top:14px;background:#FFF5F4;border-radius:10px;padding:14px 16px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.gd-price{color:var(--primary);font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.gd-price em{font-style:normal;font-size:15px;font-weight:800;margin-right:2px}
.gd-o{color:var(--t3);font-size:13px;text-decoration:line-through;font-variant-numeric:tabular-nums}
.gd-meta{margin-left:auto;font-size:12px;color:var(--t3);display:flex;gap:14px}
.gd-prop{margin-top:16px;display:flex;gap:14px;align-items:flex-start}
.gd-prop .lab{font-size:13px;color:var(--t3);line-height:34px;flex-shrink:0}
.spec-opts{display:flex;gap:8px;flex-wrap:wrap}
.spec-opts button{height:34px;padding:0 16px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;color:var(--t2);cursor:pointer}
.spec-opts button.on{border-color:var(--primary);color:var(--primary);background:var(--primary-light);font-weight:700}
.spec-opts button:disabled{opacity:.45;cursor:not-allowed}
.gd-qtybox{display:flex;align-items:center;gap:10px}
.stepper-pc{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.stepper-pc button{width:32px;height:34px;font-size:16px;color:var(--t2);background:#fff;cursor:pointer}
.stepper-pc button:disabled{opacity:.4;cursor:not-allowed}
.stepper-pc span{width:44px;text-align:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.gd-btns{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.gd-btns .btn-line,.gd-btns .btn-grad{min-width:160px;height:46px;font-size:15px}
.gd-svcs{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--t3)}
.gd-svcs span{display:inline-flex;align-items:center;gap:5px}
.gd-svcs .ico{color:var(--primary);font-size:14px}
.gd-vtip{margin-top:14px;background:#FFFBEB;border:1px solid #FDE68A;color:#B45309;font-size:12px;border-radius:8px;padding:8px 12px}
.gd-fxtip{margin-top:10px;background:#F0FDF4;border:1px solid #BBF7D0;color:#16A34A;font-size:12px;border-radius:8px;padding:8px 12px}
.gd-sec{background:var(--card);border-radius:var(--r);padding:20px 22px;margin-top:16px}
.gd-sec h3{font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}
.gd-sec h3::before{content:'';width:4px;height:16px;border-radius:2px;background:var(--primary)}
.gd-desc{margin-top:12px;font-size:14px;color:var(--t2);line-height:1.9;white-space:pre-line}

/* ---------- 购物车 ---------- */
.cart-list{background:var(--card);border-radius:var(--r);padding:6px 18px;margin-top:16px}
.ci-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.ci-row:last-child{border-bottom:0}
.ci-img{width:84px;height:84px;border-radius:10px;object-fit:cover;background:#F7F7F9;flex-shrink:0;cursor:pointer}
.ci-info{flex:1;min-width:0}
.ci-name{font-size:14px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.ci-name:hover{color:var(--primary)}
.ci-spec{margin-top:4px;font-size:12px;color:var(--t3)}
.ci-virtual{margin-top:6px}
.ci-price{color:var(--primary);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;min-width:90px;text-align:right}
.ci-del{color:var(--t3);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:4px;background:none}
.ci-del:hover{color:#DC2626}
.cart-foot{margin-top:16px;background:var(--card);border-radius:var(--r);padding:14px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cart-foot .cf-info{margin-left:auto;display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--t3)}
.cart-foot .sum{color:var(--primary);font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}
.cart-foot .sum em{font-style:normal;font-size:13px;font-weight:800;margin-right:2px}

/* ---------- Tabs（订单 / 分销等） ---------- */
.tabs{display:flex;gap:4px;background:var(--card);border-radius:var(--r);padding:6px;margin-top:16px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding:9px 20px;border-radius:8px;font-size:14px;color:var(--t2);background:none;white-space:nowrap;cursor:pointer}
.tabs button.on{background:#FFF5F4;color:var(--primary);font-weight:700}
.tabs button .chip{margin-left:4px}

/* ---------- 订单 ---------- */
.od-card{background:var(--card);border-radius:var(--r);padding:16px 18px;margin-top:14px}
.od-head{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--t3);flex-wrap:wrap}
.od-head .no{color:var(--t1);font-weight:600}
.od-head .st{margin-left:auto;font-weight:700}
.od-items{margin-top:12px;border-top:1px solid var(--border);padding-top:6px}
.oi-row{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer}
.oi-row img{width:60px;height:60px;border-radius:8px;object-fit:cover;background:#F7F7F9;flex-shrink:0}
.oi-nm{font-size:13px;color:var(--t1)}
.oi-spec{margin-top:3px;font-size:11px;color:var(--t3)}
.oi-right{margin-left:auto;text-align:right;flex-shrink:0}
.oi-price{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.oi-qty{margin-top:3px;font-size:11px;color:var(--t3)}
.od-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);margin-top:8px;padding-top:12px;flex-wrap:wrap}
.od-pay{font-size:13px;color:var(--t3)}
.od-pay b{color:var(--t1);font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.obtn{height:32px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:12px;color:var(--t2);cursor:pointer}
.obtn:hover{border-color:var(--primary);color:var(--primary)}
.obtn.primary{background:var(--grad-brand);border-color:transparent;color:#fff;font-weight:700}
.obtn.primary:hover{opacity:.9;color:#fff}
.obtn.danger{color:#DC2626;border-color:#FCA5A5}
.obtn.danger:hover{background:#FEF2F2}

/* ---------- 优惠券 · 锯齿票券卡（对齐小程序端 cc-it：左值区+虚线撕裂线+上下圆孔+右内容+胶囊按钮/斜章+卡外说明；减免=橙 / 打折=珊瑚红） ---------- */
.cpn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:12px}
.cpn-cell{min-width:0}
.cpn-card{position:relative;display:flex;align-items:center;gap:14px;background:#FFF4ED;border:1px solid #FED7AA;border-radius:13px;padding:10px}
.cpn-card.discount{background:#FFEDEC;border-color:#FECACA}
/* 撕裂线两端打孔（孔色=页面底色） */
.cpn-card::before,.cpn-card::after{content:'';position:absolute;left:99px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--bg)}
.cpn-card::before{top:-8px}
.cpn-card::after{bottom:-8px}
.cpn-left{flex:none;width:88px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border-right:1px dashed rgba(234,88,12,.45);padding:6px 0;color:#E8570A}
.cpn-card.discount .cpn-left{color:var(--primary);border-right-color:rgba(250,31,18,.45)}
.cpn-val{line-height:1;white-space:nowrap;font-weight:800;font-size:26px;font-variant-numeric:tabular-nums}
.cpn-val em{font-style:normal;font-size:14px;font-weight:800;margin-right:2px}
.cpn-val i{font-style:normal;font-size:13px;font-weight:700;margin-left:2px}
.cpn-cond{font-size:11px;font-weight:600;white-space:nowrap}
.cpn-type{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;line-height:1.4;background:#FFEDD5;color:#E8570A}
.cpn-card.discount .cpn-type{background:#FEE2E2;color:var(--primary)}
/* 已使用/已过期/已领取：整卡置灰 + 右上斜章 */
.cpn-card.done{background:#fff;border-color:#E5E5EB}
.cpn-card.done .cpn-left{color:var(--t3);border-right-color:rgba(120,120,135,.35)}
.cpn-card.done .cpn-type{background:#EBEBEF;color:var(--t3)}
.cpn-card.done .cpn-name{color:var(--t2)}
.cpn-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cpn-name{font-size:14px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpn-meta{font-size:11px;color:var(--t3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpn-tg{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:0;border:0;background:none;font-size:12px;color:var(--t3);cursor:pointer;text-align:left}
.cpn-tg .ar{font-style:normal;font-size:13px;transition:transform .25s;transform-origin:center}
.cpn-tg.on .ar{transform:rotate(180deg)}
.cpn-desc{margin-top:8px;background:#fff;border-radius:10px;padding:10px 14px}
.cpn-desc p{margin:0;font-size:12px;color:var(--t2);line-height:1.8}
.cpn-claim{flex:none;height:34px;padding:0 18px;border:0;border-radius:999px;background:#E8570A;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.cpn-card.discount .cpn-claim{background:var(--primary)}
.cpn-claim:active{opacity:.85}
.cpn-stamp{position:absolute;top:8px;right:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;border:1px solid var(--t3);border-radius:50%;transform:rotate(12deg);font-size:12px;font-style:normal;color:var(--t3);opacity:.8;pointer-events:none}
.cpn-foot{display:flex;align-items:center;gap:10px;padding-top:6px}
.cpn-pct{font-size:11px;color:var(--t3)}

/* ---------- 积分商城 ---------- */
.pt-hero{margin-top:16px;background:var(--grad-brand);border-radius:var(--r);color:#fff;padding:22px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.pt-hero .big{font-size:36px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.pt-hero .lab{font-size:12px;opacity:.9;margin-top:6px}
.pt-hero .rule{margin-left:auto;font-size:12px;opacity:.92;max-width:420px;line-height:1.8}
.pl-delta{font-weight:800;font-variant-numeric:tabular-nums}
.pl-delta.plus{color:#059669}
.pl-delta.minus{color:#DC2626}

/* ---------- 余额充值 ---------- */
.rc-hero{margin-top:16px;background:var(--grad-brand);border-radius:var(--r);color:#fff;padding:24px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.rc-hero .big{font-size:38px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.rc-hero .big em{font-style:normal;font-size:16px;font-weight:800;margin-right:2px}
.rc-hero .lab{font-size:12px;opacity:.9;margin-top:6px}
.rc-hero .first{margin-left:auto;text-align:right;font-size:12px;opacity:.92;line-height:1.8}
.rc-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.rc-tier{background:var(--card);border:2px solid var(--border);border-radius:12px;padding:20px 16px;text-align:center;cursor:pointer;position:relative;transition:.2s}
.rc-tier:hover{border-color:#FCA5A5}
.rc-tier.on{border-color:var(--primary);background:#FFF5F4}
.rc-tier .t-amt{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums}
.rc-tier .t-amt em{font-style:normal;font-size:13px;margin-right:2px}
.rc-tier .t-gift{margin-top:6px;color:#E8570A;font-size:13px;font-weight:700}
.rc-tier .t-meta{margin-top:6px;font-size:11px;color:var(--t3)}
.rc-tier .t-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--grad-brand);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}
.rc-custom{margin-top:14px;background:var(--card);border-radius:var(--r);padding:16px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rc-custom input{flex:1;min-width:200px;height:42px;border:1px solid var(--border);border-radius:10px;padding:0 14px;font-size:15px;outline:none}
.rc-custom input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(250,31,18,.08)}
.rc-note{margin-top:14px}
.rc-note li{font-size:12px;color:var(--t3);line-height:1.9;list-style:none;display:flex;gap:10px}
.rc-note li b{color:var(--t2);flex-shrink:0}
.tbl{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden;margin-top:12px;font-size:12px}
.tbl th{background:#FAFAFB;color:var(--t3);font-weight:600;text-align:left;padding:11px 14px;white-space:nowrap}
.tbl td{padding:12px 14px;border-top:1px solid var(--border);color:var(--t2);white-space:nowrap}
.tbl-wrap{background:var(--card);border-radius:var(--r);margin-top:12px;padding:4px 14px 8px;overflow-x:auto}
.tbl .plus{color:#059669}.tbl .minus{color:#DC2626}

/* ---------- 分销中心 ---------- */
.fx-hero{margin-top:16px;background:linear-gradient(160deg,#FA6B5F,#D9170C);border-radius:var(--r);color:#fff;padding:24px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.fx-hero .big{font-size:38px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.fx-hero .big em{font-style:normal;font-size:16px;font-weight:800;margin-right:2px}
.fx-hero .lab{font-size:12px;opacity:.9;margin-top:6px}
.fx-hero .ops{margin-left:auto;display:flex;gap:10px}
.fx-hero .ops button{height:38px;padding:0 22px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer}
.fx-hero .ops .w{background:#fff;color:var(--primary);border:0}
.fx-hero .ops .l{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);color:#fff}
.fx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.fx-stat{background:var(--card);border-radius:var(--r);padding:18px;text-align:center}
.fx-stat .v{font-size:20px;font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}
.fx-stat .v em{font-style:normal;font-size:12px;margin-right:1px}
.fx-stat .k{margin-top:6px;font-size:12px;color:var(--t3)}
.fx-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.fx-tool{background:var(--card);border-radius:var(--r);padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:.2s}
.fx-tool:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.fx-tool .ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}
.fx-tool span{font-size:13px;color:var(--t2);font-weight:600}
.fx-sec-t{margin-top:20px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px}
.fx-sec-t::before{content:'';width:4px;height:16px;border-radius:2px;background:var(--primary)}
.fx-row{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:10px;padding:13px 16px;font-size:13px}
.fx-row+.fx-row{margin-top:8px}
.fx-row .fr-main{flex:1;min-width:0}

/* ---------- 会员中心（左菜单 + 右内容，参考 niucloud member） ---------- */
.mc-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;margin-top:16px;align-items:start}
.mc-side{background:var(--card);border-radius:var(--r);overflow:hidden;position:sticky;top:12px}
.mc-user{background:var(--grad-brand);color:#fff;padding:22px 16px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.mc-ava{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;flex-shrink:0}
.mc-ava--guest{background:var(--bg);color:var(--t3)}
.mc-user__bd{min-width:0;display:flex;flex-direction:column;align-items:center}
.mc-user__nm{font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.mc-user__lv{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);font-weight:400}
.mc-user__ph{margin-top:4px;font-size:11px;opacity:.85}
.mc-user__btns{margin-top:4px;display:flex;gap:8px;width:100%}
.mc-user__btns button{flex:1;height:30px;border-radius:999px;font-size:12px;cursor:pointer}
.mc-user__btns .go{background:#fff;color:var(--primary);font-weight:700}
.mc-user__btns .go:active{opacity:.9}
.mc-user__btns .out{border:1px solid rgba(255,255,255,.55);background:none;color:#fff}
.mc-user__btns .out:hover{background:rgba(255,255,255,.14)}
.mc-grp{padding:12px 10px 6px}
.mc-grp-t{font-size:11px;color:var(--t3);padding:0 10px 6px;letter-spacing:1px}
.mc-it{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;font-size:13px;color:var(--t2);cursor:pointer}
.mc-it .ico{font-size:15px;color:var(--t3);flex-shrink:0}
.mc-it:hover{background:#FFF5F4;color:var(--primary)}
.mc-it:hover .ico{color:var(--primary)}
.mc-it.on{background:var(--primary-light);color:var(--primary);font-weight:700}
.mc-it.on .ico{color:var(--primary)}
.mc-main{background:var(--card);border-radius:var(--r);min-height:520px;padding:20px 22px}
/* 会员中心白卡内的分类 Tab 条：改浅灰底与页面 Tab 视觉对齐 */
.mc-main .tabs{background:var(--bg);margin-top:12px}
/* Tab 行尾筛选下拉（我的余额：充值状态/消费类型） */
.mc-sel{margin-left:auto;height:30px;border:1px solid var(--border);border-radius:8px;padding:0 10px;font-size:12px;color:var(--t2);background:#fff;outline:none;cursor:pointer}
.mc-sel:focus{border-color:var(--primary)}
.mc-hd{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.mc-hd b{font-size:16px;font-weight:800}
.mc-hd .sub{margin-left:auto;font-size:12px;color:var(--t3)}
.mc-stat{display:flex;align-items:center;gap:24px;background:#FFF5F4;border-radius:12px;padding:18px 22px;flex-wrap:wrap;margin-top:16px}
.mc-stat .big{font-size:30px;font-weight:900;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1}
.mc-stat .big em{font-style:normal;font-size:14px;font-weight:800;margin-right:2px}
.mc-stat .lab{font-size:12px;color:var(--t3);margin-top:6px}
.mc-stat .ops{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.mc-sec-t{margin-top:22px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.mc-sec-t::before{content:'';width:4px;height:15px;border-radius:2px;background:var(--primary)}
.mc-doc{margin-top:16px;font-size:13px;color:var(--t2);line-height:2}
.mc-doc h4{margin:14px 0 4px;font-size:14px;font-weight:700;color:var(--t1)}
.mc-doc p{margin-top:4px}
/* 我的等级（会员中心面板：等级规则卡，当前等级主色描边） */
.lv-list{margin-top:16px;display:flex;flex-direction:column;gap:14px}
.lv-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:16px 20px}
.lv-card.on{border-color:var(--primary)}
.lv-hd{display:flex;align-items:center;gap:8px}
.lv-hd .ico{color:var(--primary);font-size:18px}
.lv-hd b{font-size:15px;font-weight:800}
.lv-hd .chip{margin-left:auto}
.lv-row{margin-top:8px;font-size:13px;color:var(--t2);line-height:1.7}
.lv-note{margin-top:14px;background:var(--bg);border-radius:10px;padding:14px 16px;font-size:12px;color:var(--t3);line-height:1.9}

/* ---------- 收货地址 ---------- */
.adr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.adr-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:16px 18px}
.adr-card.default{border-color:var(--primary)}
.adr-top{display:flex;align-items:center;gap:10px}
.adr-top .nm{font-size:15px;font-weight:800}
.adr-top .tel{font-size:12px;color:var(--t3)}
.adr-top .chip{margin-left:auto}
.adr-addr{margin-top:10px;font-size:13px;color:var(--t2);line-height:1.7}
.adr-ops{margin-top:12px;display:flex;gap:16px;border-top:1px solid var(--border);padding-top:10px}
.adr-ops button{background:none;font-size:12px;color:var(--t3);cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.adr-ops button:hover{color:var(--primary)}
.adr-ops button.del:hover{color:#DC2626}
.adr-form{background:var(--card);border-radius:var(--r);padding:20px;margin-top:16px}
/* 地址编辑弹窗（交互对齐登录弹层 lg-mask/lg-dlg） */
.adr-mask{position:fixed;inset:0;background:rgba(17,17,17,.5);z-index:100;display:none}
.adr-mask.show{display:block}
.adr-dlg{position:fixed;left:50%;top:50%;transform:translate(-50%,-52%);width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:auto;background:#fff;border-radius:16px;z-index:101;display:none}
.adr-dlg.show{display:block}
.adr-hd{padding:20px 24px 0;font-size:17px;font-weight:800;display:flex;align-items:center;gap:8px}
.adr-hd .fh-ic{color:var(--primary);font-size:18px;display:flex}
.adr-dlg .adr-form{background:none;border-radius:0;padding:18px 24px 24px;margin-top:0}
.af-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.fld-pc label{display:block;font-size:12px;color:var(--t3);margin-bottom:6px}
.fld-pc input,.fld-pc select{width:100%;height:40px;border:1px solid var(--border);border-radius:10px;padding:0 12px;font-size:14px;outline:none;background:#fff;color:var(--t1)}
.fld-pc .fld-static{width:100%;height:40px;border:1px solid var(--border);border-radius:10px;padding:0 12px;font-size:14px;background:#fff;color:var(--t1);display:flex;align-items:center}
.fld-pc input:focus,.fld-pc select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(250,31,18,.08)}
.fld-pc--full{grid-column:1/-1}
.af-btns{margin-top:16px;display:flex;gap:12px;justify-content:flex-end}

/* ---------- 确认订单（结算页，信息对齐小程序 checkout，样式走 PC 网站形式） ---------- */
.ck-addr{display:flex;align-items:center;gap:14px;cursor:pointer}
.ck-addr__ic{width:40px;height:40px;border-radius:12px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.ck-addr__bd{flex:1;min-width:0}
.ck-addr__r1{display:flex;align-items:baseline;gap:10px}
.ck-addr__r1 b{font-size:15px;font-weight:800}
.ck-addr__r1 span{font-size:12px;color:var(--t3)}
.ck-addr__dt{margin-top:4px;font-size:13px;color:var(--t2);line-height:1.6}
.ck-addr__go{font-size:12px;color:var(--t3);flex-shrink:0}
.ck-addr:hover .ck-addr__go{color:var(--primary)}
.ck-kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--t2);padding:7px 0}
.ck-kv[hidden]{display:none}
.ck-kv .num{color:var(--t1);font-weight:600}
.ck-kv--save .num{color:var(--primary)}
.ck-kv--pts .num{color:#059669}
.ck-kv--total{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-size:14px;font-weight:700;color:var(--t1)}
.ck-kv--total .num{font-size:18px;font-weight:800;color:var(--primary)}
.ck-gd{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.ck-gd__img{width:64px;height:64px;border-radius:10px;object-fit:cover;background:#F7F7F9;flex-shrink:0}
.ck-gd__bd{flex:1;min-width:0}
.ck-gd__nm{font-size:13px;font-weight:600;line-height:1.5}
.ck-gd__spec{margin-top:2px;font-size:12px;color:var(--t3)}
.ck-gd__pts{margin-top:4px;font-size:11px;color:#0D9488}
.ck-gd__rt{text-align:right;flex-shrink:0}
.ck-gd__price{color:var(--primary);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.ck-gd__qty{display:block;margin-top:2px;font-size:11px;color:var(--t3)}
.ck-gd__del{margin-top:6px;font-size:12px;color:var(--t3);display:inline-flex;align-items:center;gap:3px}
.ck-gd__del:hover{color:#DC2626}
.ck-gd--sub{justify-content:space-between;align-items:center;border-bottom:0;font-size:13px;color:var(--t2)}
.ck-gd--sub b{color:var(--primary);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.ck-coup-row{display:flex;align-items:center;gap:10px;padding:10px 0 2px;cursor:pointer;font-size:13px;color:var(--t2)}
.ck-coup-row .ico{color:var(--primary);font-size:16px}
.ck-coup-row__v{margin-left:auto;color:var(--t3);font-size:13px}
.ck-coup-row__v.save{color:var(--primary);font-weight:700}
.ck-pay{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--border)}
.ck-pay[hidden]{display:none}
.ck-qr[hidden]{display:none}
.ck-pay:last-child{border-bottom:0;padding-bottom:2px}
.ck-pay__ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}
.ck-pay__ic--bal{background:var(--primary-light);color:var(--primary)}
.ck-pay__ic--wx{background:#F0FDF4;color:#16A34A}
.ck-pay__ic--ali{background:#E8F1FF;color:#1677FF}
.ck-pay__bd{flex:1;min-width:0}
.ck-pay__nm{font-size:14px;font-weight:600}
.ck-pay__sub{margin-top:2px;font-size:12px;color:var(--t3)}
.ck-pay__amt{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.ck-switch{width:44px;height:24px;border-radius:999px;background:#E5E5EA;position:relative;cursor:pointer;transition:.2s;flex-shrink:0}
.ck-switch::after{content:'';position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}
.ck-switch.on{background:var(--primary)}
.ck-switch.on::after{left:22px}
.ck-msg{width:100%;height:40px;border:1px solid var(--border);border-radius:10px;padding:0 14px;font-size:13px;outline:none;margin-top:4px}
.ck-msg:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(250,31,18,.08)}
.ck-save{color:var(--primary);font-weight:700;font-variant-numeric:tabular-nums}
/* 券包选择弹层（复用地址弹窗 adr-mask/adr-dlg 骨架） */
.ck-sheet-bd{padding:16px 24px 24px}
.ck-none{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border-radius:10px;padding:14px 16px;cursor:pointer;font-size:14px}
.ck-none__sub{margin-top:2px;font-size:12px;color:var(--t3);font-weight:400}
.ck-radio{color:#D5D5DA;display:flex;font-size:18px}
.ck-radio.on{color:var(--primary)}
.ck-cpn-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.ck-cpn-list .cpn-card{cursor:pointer}
.ck-cpn-list .cpn-card.ck-on{outline:2px solid var(--primary);outline-offset:-2px}
/* 我的足迹（会员中心面板，行样式复用 ck-gd） */
.fp-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--t3);padding-bottom:10px;border-bottom:1px solid var(--border)}
.fp-bar .ck-gd__del{margin-top:0}
.fp-list{margin-top:4px}
.fp-it{cursor:pointer}
/* 微信支付可选中 + 扫码二维码（选中且储值抵扣后仍有剩余应付时展开） */
.ck-pay--sel{cursor:pointer;border-radius:10px;margin:0 -10px;padding-left:10px;padding-right:10px}
.ck-pay--sel:hover{background:#FAFAFB}
.ck-pay--off{opacity:.55}
.ck-pay__sub--warn{color:#DC2626}
.ck-qr{display:flex;align-items:center;gap:18px;background:#FAFAFB;border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin:12px 0 2px}
.ck-qr__box{width:148px;height:148px;flex-shrink:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px;display:flex;align-items:center;justify-content:center}
.ck-qr__box canvas{width:132px;height:132px;display:block;image-rendering:pixelated}
.ck-qr__bd{min-width:0}
.ck-qr__t{font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px}
.ck-qr__t .ico{color:#16A34A;font-size:17px}
.ck-qr__amt{margin-top:6px;font-size:24px;font-weight:900;color:var(--primary);font-variant-numeric:tabular-nums}
.ck-qr__amt em{font-style:normal;font-size:13px;font-weight:800;margin-right:2px}
.ck-qr__hint{margin-top:6px;font-size:12px;color:var(--t3);line-height:1.8}
.ck-qr__cd{margin-top:4px;font-size:12px;color:var(--t3)}
.ck-qr__cd b{color:var(--t1);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:1px}

/* ---------- mpConfirm 确认弹窗（core.js 配套，PC 样式） ---------- */
.mp-dlg-mask{position:fixed;inset:0;background:rgba(17,17,17,.5);z-index:110}
.mp-dlg{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:360px;max-width:calc(100vw - 48px);background:#fff;border-radius:14px;z-index:111;padding:22px 20px 16px;text-align:center}
.mp-dlg__t{font-size:16px;font-weight:800}
.mp-dlg__m{margin-top:10px;font-size:13px;color:var(--t2);line-height:1.7}
.mp-dlg__btns{margin-top:18px;display:flex;gap:10px}
.mp-dlg__btn{flex:1;height:40px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--t2);font-size:14px;cursor:pointer}
.mp-dlg__btn--ok{background:var(--grad-brand);border-color:transparent;color:#fff;font-weight:700}
.mp-dlg__btn--ok:active{opacity:.9}
.mp-dlg__btn--danger{background:#DC2626;border-color:transparent;color:#fff}

/* ---------- 公告（列表卡点击跳独立详情页 mall-notice-detail.html） ---------- */
.nt-card{background:var(--card);border-radius:var(--r);padding:18px 20px;margin-top:14px;cursor:pointer;border-bottom:1px solid var(--border);padding-bottom:16px}
.nt-card:last-child{border-bottom:0}
.nt-card:hover{box-shadow:var(--shadow)}
.nt-card:hover .tt{color:var(--primary)}
.nt-t{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nt-t .tt{font-size:15px;font-weight:700;transition:.15s}
.nt-top{background:#FEF2F2;color:#DC2626;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;flex-shrink:0}
.nt-meta{margin-left:auto;font-size:11px;color:var(--t3);display:flex;gap:12px}
.nt-cat{margin-top:6px;font-size:11px;color:var(--t3)}
/* 公告详情页 */
.ntd-card{background:var(--card);border-radius:var(--r);padding:26px 30px;margin-top:16px}
.ntd-card h1{font-size:22px;font-weight:800;line-height:1.5;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ntd-meta{margin-top:12px;font-size:12px;color:var(--t3);display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--border)}
.ntd-body{margin-top:16px;font-size:14px;color:var(--t2);line-height:2;white-space:pre-line}

/* ---------- 订单详情（内容口径对齐小程序端 order-detail：状态头›收货信息›商品清单›金额明细›订单信息›操作） ---------- */
.odt-hero{margin-top:16px;background:var(--grad-brand);border-radius:var(--r);color:#fff;padding:22px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.odt-hero .big{font-size:30px;font-weight:900;line-height:1;display:flex;align-items:center;gap:12px}
.odt-hero .lab{font-size:12px;opacity:.9;margin-top:8px}
.odt-hero .cd{margin-left:auto;font-size:13px;opacity:.95;text-align:right}
.odt-hero .cd b{display:block;font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;margin-top:4px;letter-spacing:1px}
.odt-kv{display:flex;align-items:flex-start;gap:12px;padding:9px 0;font-size:13px;border-bottom:1px dashed var(--border)}
.odt-kv:last-child{border-bottom:0;padding-bottom:0}
.odt-kv>span:first-child{color:var(--t3);flex-shrink:0;width:96px}
.odt-kv b{font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums;word-break:break-all;line-height:1.7}
.odt-kv .minus{color:#DC2626}
.odt-kv--pay b{color:var(--primary);font-weight:800}
.odt-goods{margin-top:4px}
.odt-goods .oi-row{cursor:default;padding:12px 0}
.odt-goods .oi-row+.oi-row{border-top:1px dashed var(--border)}
.odt-goods .oi-price{color:var(--primary);font-size:15px}
.odt-sub{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);margin-top:4px;padding-top:12px;font-size:13px;color:var(--t3)}
.odt-sub b{color:var(--t1);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.odt-sum{border-top:1px solid var(--border);margin-top:6px;padding-top:4px}
.odt-ops{background:var(--card);border-radius:var(--r);padding:14px 20px;margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.odt-ops .sp{flex:1}
.rf-box{margin-top:14px;background:#FAFAFB;border:1px solid var(--border);border-radius:12px;padding:18px}
.rf-box .fld-pc--full label i{color:#DC2626;font-style:normal;margin-right:2px}
.rf-box textarea{width:100%;min-height:88px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;outline:none;resize:vertical;font-family:inherit}
.rf-box textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(250,31,18,.08)}

/* ---------- 物流跟踪（内容口径对齐小程序端 logistics.html，样式走 PC 网站形式） ---------- */
.lt-hero{margin-top:16px;background:var(--grad-brand);border-radius:var(--r);color:#fff;padding:20px 24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lt-ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.lt-hd{font-size:18px;font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lt-hd .st{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5)}
.lt-copy{margin-left:auto;height:30px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);color:#fff;font-size:12px;cursor:pointer}
.lt-copy:active{background:rgba(255,255,255,.28)}
.lt-no{flex-basis:100%;font-size:12px;opacity:.92;margin-top:2px}
.lt-no b{font-weight:700;letter-spacing:.5px}
.lt-tl{margin-top:14px;padding-left:4px}
.lt-node{position:relative;display:flex;gap:14px;padding-bottom:22px}
.lt-node:last-child{padding-bottom:0}
.lt-dot{flex:none;width:10px;height:10px;border-radius:50%;border:2px solid #D5D5DA;background:#fff;margin-top:4px;box-sizing:content-box;position:relative;z-index:1}
.lt-node--on .lt-dot{border-color:var(--primary);background:var(--primary)}
.lt-node::before{content:'';position:absolute;left:6px;top:20px;bottom:-3px;width:2px;background:var(--border)}
.lt-node:last-child::before{display:none}
.lt-d{font-size:13px;color:var(--t2);line-height:1.6}
.lt-node--on .lt-d{color:var(--t1);font-weight:600}
.lt-meta{margin-top:3px;font-size:12px;color:var(--t3);display:flex;gap:12px}

/* ---------- 响应式 ---------- */
@media (max-width:1023px){
  .pl-grid{grid-template-columns:repeat(3,1fr)}
  .gd-layout{grid-template-columns:1fr}
  .cat-layout{grid-template-columns:1fr}
  .side-cat{position:static;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .side-cat::-webkit-scrollbar{display:none}
  .sc-item{flex-shrink:0}
  .sc-subs{display:none !important}
  /* 公告页三级导航：H5 保持纵向多级展开（覆盖横滑与二级隐藏） */
  .nt-layout .side-cat{display:block}
  .nt-layout .sc-item{flex-shrink:1}
  .nt-layout .sc-subs{display:flex !important;flex-direction:column;gap:2px}
  .nt-layout .sc-subs a{border-bottom:0}
  .fx-tools{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){
  .pl-grid{grid-template-columns:repeat(2,1fr)}
  .cpn-grid{grid-template-columns:1fr}
  .rc-tiers{grid-template-columns:1fr}
  .fx-stats{grid-template-columns:repeat(3,1fr)}
  .adr-grid{grid-template-columns:1fr}
  .af-grid{grid-template-columns:1fr}
  .mc-layout{grid-template-columns:1fr}
  .mc-side{position:static}
  .mc-user{padding:14px 16px}
  .mc-nav{display:flex;overflow-x:auto;gap:4px;padding:10px;scrollbar-width:none}
  .mc-nav::-webkit-scrollbar{display:none}
  .mc-grp{display:flex;gap:4px;padding:0;flex-shrink:0}
  .mc-grp-t{display:none}
  .mc-it{white-space:nowrap;padding:8px 14px;border:1px solid var(--border)}
  .mc-it.on{border-color:var(--primary)}
  .mc-main{padding:16px;min-height:0}
  .gd-layout{padding:14px}
  .ci-img{width:64px;height:64px}
  .pt-hero .rule{max-width:none}
  .ck-qr{flex-direction:column;align-items:center;text-align:center}
}
