/* ===== 未尔儿童成长 · 暖橘儿童系 ===== */
:root{
  --blue:#FF7A1A;        /* 主橘 */
  --blue-2:#FF9F43;      /* 辅助橘 */
  --blue-soft:#FFF1E8;   /* 浅橘底 */
  --blue-line:#FFD9C2;   /* 浅橘线 */
  --ink:#3D332E;         /* 暖墨字 */
  --ink-soft:#8A7B72;    /* 次要字 */
  --card:#FFFFFF;
  --bg:#FFF8F3;          /* 暖白底 */
  --shadow:0 2px 10px rgba(255,122,26,.07);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,sans-serif;
  color:var(--ink);background:var(--bg);
  max-width:540px;margin:0 auto;padding-bottom:118px;line-height:1.5;
}
main{min-height:calc(100vh - 122px)}

/* 顶栏 */
.topbar{
  position:sticky;top:0;z-index:20;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-2) 100%);
  color:#fff;height:50px;
  display:flex;align-items:center;justify-content:space-between;padding:0 16px;
}
.logo{font-weight:700;font-size:17px;display:flex;align-items:center;gap:6px}
.me{font-size:13px;font-weight:600;background:rgba(255,255,255,.22);padding:5px 14px;border-radius:16px;cursor:pointer}

/* ===== 顶部大图轮动 ===== */
.banner{margin:12px 12px 2px;border-radius:18px;overflow:hidden;position:relative;box-shadow:var(--shadow)}
.banner .track{display:flex;transition:transform .5s ease}
.banner .slide{min-width:100%;height:150px;display:flex;align-items:center;justify-content:center;position:relative;color:#fff;flex-direction:column;gap:6px}
.slide .emoji{font-size:46px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}
.slide .t1{font-size:19px;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.12)}
.slide .t2{font-size:12px;opacity:.95;font-weight:600}
.banner .dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.banner .dot{width:7px;height:7px;border-radius:5px;background:rgba(255,255,255,.5);transition:.2s}
.banner .dot.on{width:18px;background:#fff}

/* 店铺公告栏 */
.notice-bar{margin:10px 12px 0;padding:10px 14px;background:#FFF7E8;border:1px solid #F3E2BE;border-radius:12px;color:#8a6d3b;font-size:13px;line-height:1.6;box-shadow:var(--shadow)}

/* 首页 Hero（暖橘素净） */
.hero{
  margin:14px 12px 2px;padding:18px 18px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#FFFFFF 0%,var(--blue-soft) 100%);
  border:1px solid var(--blue-line);border-radius:16px;box-shadow:var(--shadow);
}
.hero .mascot{font-size:32px;float:right}
.hero .title{font-size:23px;font-weight:800;color:var(--blue);letter-spacing:.5px}
.hero .slogan{margin-top:6px;font-size:13px;color:var(--ink-soft)}
/* 儿童点缀：仅 Hero 内少量 emoji，不占大面 */
.hero .deco{position:absolute;font-size:14px;opacity:.9;line-height:1}
.hero .deco.d1{top:10px;right:54px}
.hero .deco.d2{bottom:10px;left:18px;font-size:13px}
.hero .deco.d3{top:42px;left:40%;font-size:12px}

/* 搜索框 */
.search{margin:14px 12px 6px;display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--blue-line);border-radius:20px;padding:10px 16px;box-shadow:var(--shadow)}
.search input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:var(--ink)}
.search .ic{font-size:15px;color:var(--blue-2)}

/* 分类 chips */
.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 12px 4px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:7px 16px;border-radius:18px;font-size:13px;font-weight:600;cursor:pointer;
  background:#fff;color:var(--ink-soft);border:1px solid var(--blue-line);transition:.15s}
.chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* 区块标题（带小星点缀） */
.section-title{display:flex;align-items:center;gap:8px;padding:16px 16px 6px;font-size:16px;font-weight:700;color:var(--ink)}
.section-title .star{font-size:14px}
.empty{text-align:center;color:var(--ink-soft);margin-top:60px;font-size:14px}

/* ===== 主推大卡 ===== */
.feat{margin:10px 12px 2px;background:var(--card);border:1px solid var(--blue-line);border-radius:16px;
  overflow:hidden;display:flex;box-shadow:var(--shadow);cursor:pointer}
.feat .f-thumb{width:130px;height:130px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:50px;color:#fff;font-weight:700;overflow:hidden}
.feat .f-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.feat .f-body{flex:1;padding:14px 14px 12px;display:flex;flex-direction:column;min-width:0}
.feat .f-tag{display:inline-block;align-self:flex-start;background:var(--blue);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px;margin-bottom:7px}
.feat .f-name{font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}
.feat .f-desc{font-size:12px;color:var(--ink-soft);margin-top:5px;line-height:1.5;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.feat .f-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.feat .f-price{color:var(--blue);font-weight:800;font-size:18px}
.feat .f-btn{background:var(--blue);color:#fff;border:none;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:600}

/* 商品网格 */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.card{background:var(--card);border:1px solid var(--blue-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s}
.card:active{transform:scale(.98);box-shadow:var(--shadow)}
.thumb{height:140px;display:flex;align-items:center;justify-content:center;font-size:46px;color:#fff;font-weight:700;position:relative}
.thumb .badge{position:absolute;top:8px;left:8px;background:rgba(255,255,255,.92);color:var(--blue);font-size:11px;font-weight:700;padding:2px 8px;border-radius:9px}
.card .body{padding:11px;display:flex;flex-direction:column;flex:1}
.name{font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.price{color:var(--blue);font-weight:700;margin-top:6px;font-size:15px}
.price small{font-size:11px;font-weight:700}
.stock{color:var(--ink-soft);font-size:11px;margin-top:2px}
.add{margin-top:auto;background:var(--blue);color:#fff;border:none;border-radius:10px;padding:8px 0;width:100%;font-size:13px;font-weight:600}
.add:active{background:var(--blue-2)}

/* 详情页 */
.detail .thumb{height:220px;font-size:78px;border-radius:0}
/* 详情页图集（主图 + 附图切换） */
.gallery{margin:12px 12px 0}
.gallery .g-main{width:100%;height:260px;border-radius:16px;overflow:hidden;background:var(--blue-soft);box-shadow:var(--shadow)}
.gallery .g-main img{width:100%;height:100%;object-fit:cover;display:block}
.gallery .g-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.gallery .g-thumbs::-webkit-scrollbar{display:none}
.gallery .g-thumbs img{width:72px;height:72px;border-radius:12px;object-fit:cover;border:2px solid transparent;cursor:pointer;flex:0 0 auto}
.gallery .g-thumbs img.on{border-color:var(--blue)}
.detail .info{background:#fff;padding:16px;margin-top:12px;border-radius:14px;border:1px solid var(--blue-line);box-shadow:var(--shadow)}
.detail .desc{color:var(--ink-soft);font-size:14px;margin:10px 0;line-height:1.7}
/* 结构化详情 */
.d-sub{display:inline-block;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:700;padding:4px 10px;border-radius:10px;margin-top:8px}
.d-spec{font-size:13px;color:var(--ink-soft);margin-top:8px;font-weight:600}
.d-concept{font-size:13px;color:var(--ink-soft);line-height:1.7;margin-top:10px;background:var(--bg);border-radius:10px;padding:10px}
.d-block{margin-top:16px;border-top:1px solid var(--blue-soft);padding-top:12px}
.d-h{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:10px}
.comp{display:flex;flex-direction:column;gap:10px}
.comp-row{background:var(--bg);border-radius:12px;padding:10px 12px}
.comp-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.comp-name{font-size:13px;font-weight:700;color:var(--ink)}
.comp-dose{font-size:12px;font-weight:700;color:var(--blue);background:#fff;border:1px solid var(--blue-line);border-radius:8px;padding:3px 8px;white-space:nowrap}
.comp-note{font-size:12px;color:var(--ink-soft);line-height:1.6;margin-top:6px}
.adv{display:flex;flex-direction:column;gap:8px}
.adv-row{font-size:13px;color:var(--ink);background:var(--bg);border-radius:10px;padding:9px 12px;font-weight:600}
.d-usage{font-size:13px;color:var(--ink);line-height:1.7;background:var(--blue-soft);border-radius:10px;padding:10px 12px}
.d-notice{font-size:12px;color:#8a6d3b;line-height:1.7;background:#FFF7E8;border:1px solid #F3E2BE;border-radius:10px;padding:10px 12px;margin-top:14px}
.ing-list{font-size:13px;color:var(--ink-soft);line-height:1.8;background:var(--bg);border-radius:10px;padding:10px 12px}
.nutr{width:100%;border-collapse:collapse;font-size:13px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.nutr thead th{background:var(--blue);color:#fff;font-weight:700;padding:8px 12px;text-align:left}
.nutr thead th:last-child{text-align:right}
.nutr td{padding:7px 12px;border-bottom:1px solid var(--blue-soft)}
.nutr tr:nth-child(odd){background:var(--bg)}
.nutr tr:nth-child(even){background:#fff}
.nutr td:first-child{color:var(--ink-soft);font-weight:600}
.nutr td:last-child{text-align:right;color:var(--ink);font-weight:700}
.nutr-sub{font-size:11px;color:var(--ink-soft);font-weight:500;margin-left:6px}
.pinfo{background:var(--bg);border-radius:10px;padding:6px 12px}
.pi-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--blue-line)}
.pi-row:last-child{border-bottom:none}
.pi-k{color:var(--ink-soft);font-weight:600;white-space:nowrap}
.pi-v{color:var(--ink);text-align:right;line-height:1.5}
.qty{display:flex;align-items:center;gap:16px;margin:16px 0}
.qty button{width:44px;height:44px;border-radius:12px;border:1px solid var(--blue-line);background:#fff;color:var(--blue);font-size:24px;font-weight:700;
  line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;
  transition:transform .08s ease,background .15s ease}
.qty button:active{background:var(--blue-soft);transform:scale(.92)}
.qty button.dim{opacity:.35}
.qty .num{min-width:34px;text-align:center;font-size:18px;font-weight:700}
.btn-primary{background:var(--blue);color:#fff;border:none;border-radius:12px;padding:13px;width:100%;font-size:15px;font-weight:700}

/* 购物车 / 订单列表 */
.list{padding:12px}
.item{display:flex;align-items:center;background:#fff;border:1px solid var(--blue-line);border-radius:14px;padding:12px;margin-bottom:12px;gap:12px;box-shadow:var(--shadow)}
.item .t{width:50px;height:50px;background:var(--blue-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--blue);flex:0 0 auto}
.item .mid{flex:1;min-width:0}
/* 注意：购物车行容器是 .swipe（不是 .item）——原先只写 .item .ctrl 从未命中，
   导致「+/-」一直是浏览器默认的迷你按钮（实测 11.8×19）。两个前缀都保留以兼容旧结构。 */
.item .ctrl,.swipe .ctrl{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.item .ctrl button,.swipe .ctrl button{width:40px;height:40px;border-radius:12px;border:1px solid var(--blue-line);background:#fff;color:var(--blue);font-size:22px;font-weight:700;
  line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;
  transition:transform .08s ease,background .15s ease}
.item .ctrl button:active,.swipe .ctrl button:active{background:var(--blue-soft);transform:scale(.92)}
.item .ctrl button.dim,.swipe .ctrl button.dim{opacity:.35}
.item .ctrl .num,.swipe .ctrl .num{min-width:30px;text-align:center;font-size:16px;font-weight:700;color:var(--ink);flex:0 0 auto}
.footer-bar{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);width:100%;max-width:540px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:11px 18px;border-top:1px solid var(--blue-line);box-shadow:0 -2px 10px rgba(255,122,26,.07)}
.footer-bar .total{color:var(--blue);font-weight:700;font-size:19px}

/* 结算表单 */
.field{background:#fff;border:1px solid var(--blue-line);border-radius:14px;padding:14px;margin:12px}
.field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:6px;font-weight:600}
.field input{width:100%;border:1px solid var(--blue-line);border-radius:10px;padding:11px;font-size:14px;outline:none;color:var(--ink)}
.field input:focus{border-color:var(--blue)}
.pay-opts{display:flex;gap:16px;padding:6px 0}
.pay-opt{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;cursor:pointer}
.row2{display:flex;gap:10px}
.row2>div{flex:1}

/* 我的 */
.panel{background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin:12px;padding:16px;box-shadow:var(--shadow)}
.panel h3{font-size:15px;margin-bottom:10px;font-weight:700;color:var(--blue)}
.kv{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;color:var(--ink)}
.menu{background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin:12px;overflow:hidden;box-shadow:var(--shadow)}
.menu .li{padding:14px 16px;border-bottom:1px solid var(--blue-soft);font-size:14px;font-weight:600;display:flex;justify-content:space-between;color:var(--ink)}
.menu .li:last-child{border-bottom:none}

/* 个人中心头部 */
.pc-head{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-2) 100%);color:#fff;padding:24px 18px 22px;display:flex;align-items:center;gap:14px;position:relative}
.pc-avatar-wrap{width:62px;height:62px;flex:0 0 auto;border-radius:50%;border:2px solid rgba(255,255,255,.6);overflow:hidden;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}
.pc-avatar{width:100%;height:100%;object-fit:cover;display:block}
.pc-avatar.ph{display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;font-weight:700}
.pc-info{flex:1;min-width:0}
.pc-name{font-size:19px;font-weight:800;line-height:1.2}
.pc-sub{font-size:12px;opacity:.9;margin-top:5px;line-height:1.5}
.pc-edit{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.22);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer}

/* 区块次级标题 */
.sec-title{font-size:15px;font-weight:700;color:var(--ink);padding:16px 16px 8px;display:flex;align-items:center;gap:6px}
.sec-title::before{content:"";width:4px;height:15px;background:var(--blue);border-radius:3px;display:inline-block}

/* 我的订单子标签（首页「我的」页内） */
.ord-tabs{display:flex;background:#fff;margin:0 12px;padding:14px 4px;border:1px solid var(--blue-line);border-radius:14px;box-shadow:var(--shadow)}
.ord-tabs .otab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;cursor:pointer}
.ord-tabs .otab .oc{font-size:12px;font-weight:600;color:var(--ink-soft)}
.ord-tabs .otab .badge{position:absolute;top:-6px;right:14px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#FF4B4B;color:#fff;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1}
.ord-tabs .otab .badge:empty{display:none}

/* 订单列表内的分状态横条 */
.otab-bar{display:flex;gap:0;overflow-x:auto;padding:10px 12px 2px;scrollbar-width:none;background:var(--bg)}
.otab-bar::-webkit-scrollbar{display:none}
.otab-bar .ot{flex:0 0 auto;padding:7px 14px;margin-right:8px;border-radius:16px;font-size:13px;font-weight:600;color:var(--ink-soft);background:#fff;border:1px solid var(--blue-line);cursor:pointer}
.otab-bar .ot.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.otab-badge{display:inline-block;margin-left:5px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#FF4B4B;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;font-style:normal;vertical-align:middle}
.otab-bar .ot.on .otab-badge{background:#fff;color:var(--blue)}

/* 订单卡内操作 */
.o-btn{background:var(--blue);color:#fff;border:none;border-radius:10px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer}
.o-btn.ghost{background:#fff;color:var(--blue);border:1px solid var(--blue-line)}
.o-done{font-size:13px;color:var(--blue);font-weight:600}
.o-review{font-size:12px;color:var(--ink-soft);margin-top:6px;background:var(--bg);border-radius:8px;padding:7px 10px;line-height:1.5}
/* 订单物流：商家发货后客户可见（快递公司 / 运单号 / 发货时间 / 备注） */
.logi-box{margin-top:8px;background:var(--blue-soft);border:1px solid var(--blue-line);border-radius:10px;padding:9px 12px}
.logi-row{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.9;color:var(--ink)}
.logi-k{color:var(--ink-soft);flex:0 0 56px}
.logi-v{flex:1;min-width:0;word-break:break-all}
.logi-no{font-weight:700;color:var(--blue);letter-spacing:.3px}
.logi-copy{width:auto;flex:0 0 auto;padding:3px 10px;border-radius:8px;border:1px solid var(--blue-line);background:#fff;color:var(--blue);font-size:11px;font-weight:600;cursor:pointer}
.logi-copy:active{background:var(--blue-soft)}

/* 评价 */
.stars{display:flex;gap:6px;font-size:30px;cursor:pointer;padding:6px 0}
.stars .star{transition:.15s}
.stars .star[style]{}
textarea.input-line{width:100%;border:1px solid var(--blue-line);border-radius:10px;padding:11px;font-size:14px;margin-top:6px;outline:none;color:var(--ink);resize:vertical;font-family:inherit}

/* 收货地址 */
.addr{background:#fff;border:1px solid var(--blue-line);border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}
.addr-top{display:flex;align-items:center;gap:8px}
.addr-name{font-size:15px;font-weight:700;color:var(--ink)}
.addr-phone{font-size:13px;color:var(--ink-soft)}
.addr-def{font-size:11px;font-weight:700;background:var(--blue-soft);color:var(--blue);padding:2px 8px;border-radius:9px}
.addr-text{font-size:13px;color:var(--ink-soft);line-height:1.6;margin:8px 0 10px}
.addr-acts{display:flex;gap:18px;font-size:13px;color:var(--blue);font-weight:600}
.addr-acts .del{color:#d63031}

/* 分销中心 */
.promo-qr{text-align:center}
.promo-qr img{width:220px;height:220px;border:1px solid var(--blue-line);border-radius:12px}
.promo-link{word-break:break-all;font-size:12px;color:var(--blue);background:var(--blue-soft);padding:9px;border-radius:10px;margin-top:8px;font-weight:600}
.dist-tag{display:inline-block;font-size:11px;padding:3px 9px;border-radius:10px;font-weight:600}
.b-ok{background:#E3F3EA;color:#2E9E63}
.b-wait{background:#FFF3DA;color:#C8961A}
.dist-card{background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin:12px;padding:16px;box-shadow:var(--shadow)}
.dist-card h4{font-size:14px;margin-bottom:10px;font-weight:700;color:var(--blue)}
.dist-row{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--blue-soft);color:var(--ink)}
.dist-row:last-child{border-bottom:none}
.sub-dist{margin-top:10px}
.sub-dist .sub-item{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--blue-soft);border-radius:10px;margin-bottom:6px;font-size:13px;font-weight:600}
.sub-dist .n{color:var(--blue);font-weight:700}
.qr-wrap{text-align:center;background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin:12px;padding:18px;box-shadow:var(--shadow)}
.qr-wrap img{width:220px;height:220px;border:1px solid var(--blue-line);border-radius:12px}
.qr-actions{display:flex;gap:10px;margin-top:12px}
.qr-actions button{flex:1}
.btn-ghost{background:var(--blue-2);color:#fff;border:none;border-radius:12px;padding:13px;width:100%;font-size:15px;font-weight:700}
.input-line{width:100%;border:1px solid var(--blue-line);border-radius:10px;padding:11px;font-size:14px;margin-top:6px;outline:none;color:var(--ink)}
.tip{font-size:12px;color:var(--ink-soft);line-height:1.7}

/* 商品图：真实封面或占位渐变 */
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb.ph{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-2) 100%)}

/* 商品橱窗头部（保留兼容） */
.shop-head{background:var(--blue);color:#fff;padding:18px 16px}
.shop-head .title{font-size:18px;font-weight:700}
.shop-head .sub{font-size:12px;opacity:.9;margin-top:4px}

/* 加载态 */
.loading{text-align:center;color:var(--ink-soft);padding:44px 0;font-size:14px}
.toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:rgba(61,51,46,.92);color:#fff;padding:11px 20px;border-radius:20px;opacity:0;transition:.3s;z-index:60;font-size:14px;font-weight:500}

/* 底部 tab */
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;height:60px;background:#fff;border-top:1px solid var(--blue-line);display:flex}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--ink-soft);gap:3px;font-weight:600}
.tab span{font-size:21px}
.tab.active{color:var(--blue)}

/* ===== 网站级备案 footer ===== */
.site-footer{margin-top:14px;padding:16px 12px 4px;text-align:center;color:var(--ink-soft);font-size:12px;line-height:1.9;border-top:1px solid var(--blue-line)}
.site-footer .f-line{opacity:.85}
.site-footer .f-sub{font-size:11px;opacity:.6}

/* ===== 底部 tab 增强（固定常驻 + 大热区 + 角标 + 按压反馈） ===== */
.tabbar{z-index:50;box-shadow:0 -2px 12px rgba(255,122,26,.08)}
.tab{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:60px;position:relative;transition:color .15s,background .15s}
.tab:active{background:var(--blue-soft)}
.tab .tab-ico{position:relative;display:inline-flex;font-size:21px;line-height:1}
.tab-badge{position:absolute;top:-6px;right:-11px;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#FF4B4B;color:#fff;font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;line-height:1;font-style:normal;box-shadow:0 1px 4px rgba(255,75,75,.5)}
.tab-badge.show{display:inline-flex}
.tab-badge.bump{animation:badgeBump .45s ease}
@keyframes badgeBump{0%{transform:scale(1)}35%{transform:scale(1.55)}70%{transform:scale(.85)}100%{transform:scale(1)}}

/* ===== 加购反馈动画 ===== */
@keyframes popIn{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}
.add.pop{animation:popIn .35s ease}
.f-btn.pop{animation:popIn .35s ease}
.added-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(61,51,46,.94);color:#fff;padding:14px 24px;border-radius:16px;z-index:80;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .25s;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.added-toast.show{opacity:1}
.added-toast .ico{display:inline-block;font-size:18px;animation:popIn .4s ease}

/* ===== 收货地址表单（三级联动） ===== */
.addr-form{padding-bottom:12px}
.picker-row{display:flex;gap:8px}
.picker-row select{flex:1;min-width:0;border:1px solid var(--blue-line);border-radius:10px;padding:11px 8px;font-size:13px;outline:none;color:var(--ink);background:#fff}
.picker-row select:focus{border-color:var(--blue)}
.switch-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.switch-label input{width:auto}

/* ===== 微信绑定 ===== */
.wx-bound{display:flex;align-items:center;justify-content:space-between}
.wx-info{display:flex;align-items:center;gap:12px;min-width:0}
.wx-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 auto;border:1px solid var(--blue-line)}
.wx-txt{min-width:0}
.wx-name{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wx-sub{font-size:12px;color:var(--ink-soft);margin-top:2px}
.unbind-btn{font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--bg);border:1px solid var(--blue-line);padding:6px 14px;border-radius:16px;cursor:pointer;flex:0 0 auto}
.unbind-btn:active{background:var(--blue-soft)}

/* ===== 空触治理：全站可点元素统一手型 + 按压反馈 ===== */
.chip,.card,.feat,.add,.f-btn,.qty button,.item .ctrl button,.o-btn,.tab,.menu .li,
.addr-acts span,.stars,.btn-primary,.btn-ghost,.otab,.otab-bar .ot,.pc-edit,.me,
.promo-link,.pay-opt,.gallery .g-thumbs img,.unbind-btn,.switch-label{cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu .li:active{background:var(--blue-soft)}
.chip:active,.otab-bar .ot:active,.o-btn:active,.btn-primary:active,.btn-ghost:active{opacity:.85}
.addr-acts span:active,.pc-edit:active,.me:active{opacity:.7}

/* ===== 结算页地址选择器 ===== */
.addr-selector{background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin:12px;overflow:hidden;box-shadow:var(--shadow)}
.as-title{font-size:13px;font-weight:700;color:var(--ink-soft);padding:12px 14px 4px}
.as-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--blue-soft);cursor:pointer}
.as-item:last-of-type{border-bottom:none}
.as-item.on{background:var(--blue-soft)}
.as-radio{font-size:16px;color:var(--blue);line-height:1.4;flex:0 0 auto;padding-top:2px}
.as-item:not(.on) .as-radio{color:#ddd}
.as-body{flex:1;min-width:0}
.as-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.as-name{font-size:14px;font-weight:700;color:var(--ink)}
.as-phone{font-size:13px;color:var(--ink-soft)}
.as-def{font-size:10px;font-weight:700;background:var(--blue);color:#fff;padding:2px 7px;border-radius:8px}
.as-text{font-size:13px;color:var(--ink-soft);line-height:1.5;margin-top:4px}
.as-add{text-align:center;padding:12px;font-size:13px;font-weight:700;color:var(--blue);border-top:1px solid var(--blue-soft);cursor:pointer}
.as-add:active{background:var(--blue-soft)}
.as-empty{text-align:center;padding:20px;font-size:14px;font-weight:600;color:var(--blue);cursor:pointer}

/* 订单摘要 */
.order-summary{display:flex;flex-direction:column;gap:6px}
.os-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft)}
.os-total{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--ink);margin-top:4px;border-top:1px dashed var(--blue-line);padding-top:8px}

/* ===== 优惠券 ===== */
.coupon-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--blue-line);border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow)}
.coupon-card.used{opacity:.55}
.cc-left{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;border-right:1px dashed var(--blue-line);padding-right:12px}
.cc-amount{font-size:22px;font-weight:800;color:var(--blue)}
.cc-cond{font-size:11px;color:var(--ink-soft);margin-top:2px}
.cc-mid{flex:1;min-width:0}
.cc-name{font-size:14px;font-weight:700;color:var(--ink)}
.cc-tip{font-size:11px;color:var(--ink-soft);margin-top:3px}
.cc-btn{flex:0 0 auto;background:var(--blue);color:#fff;border:none;border-radius:16px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer}
.cc-btn:active{opacity:.85}
.cc-state{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--ink-soft)}
.coupon-pick{display:flex;flex-direction:column;gap:6px}
.cp-opt{padding:10px 12px;border:1px solid var(--blue-line);border-radius:10px;font-size:13px;color:var(--ink);cursor:pointer}
.cp-opt.on{background:var(--blue-soft);border-color:var(--blue);color:var(--blue);font-weight:700}

/* ---- 购物车：勾选 + 左滑删除 ---- */
.cart-hint{font-size:11px;font-weight:400;color:var(--ink-soft);margin-left:auto}
.swipe{position:relative;overflow:hidden;background:#fff;border:1px solid var(--blue-line);border-radius:14px;margin-bottom:12px;box-shadow:var(--shadow)}
.swipe .swipe-body{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;position:relative;z-index:1;transform:translateX(0);transition:transform .24s cubic-bezier(.22,.61,.36,1);touch-action:pan-y}
.swipe.dragging .swipe-body{transition:none}
.swipe.open .swipe-body{transform:translateX(-78px)}
.swipe .swipe-del{position:absolute;top:0;right:0;bottom:0;width:78px;border:none;background:#d63031;color:#fff;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer}
.cbox{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--blue-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box}
.cbox.on{background:var(--blue);border-color:var(--blue)}
.cbox.on::after{content:'';width:5px;height:9px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg);margin-top:-2px}
.cart-bar{gap:10px;padding:10px 14px}
.cart-bar .cb-all{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);flex:0 0 auto}
.cart-bar .cart-del-sel{flex:0 0 auto;border:1px solid #f3c6c6;background:#fff;color:#d63031;border-radius:9px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer}
.cart-bar .fb-sum{flex:1;text-align:right;font-size:12px;color:var(--ink-soft);white-space:nowrap}
.cart-bar .fb-sum .total{font-size:16px}
.cart-bar .cart-co{width:auto;padding:9px 14px;flex:0 0 auto;font-size:14px}
/* 老内核不支持 Pointer Events 时的降级：删除按钮常显（保证仍可删除） */
.no-swipe .swipe{display:flex;align-items:stretch}
.no-swipe .swipe-body{flex:1;min-width:0}
.no-swipe .swipe-del{position:static;width:auto;padding:0 12px;border-radius:0 13px 13px 0}
