:root {
  --primary: #e1251b;          /* 中国红 */
  --primary-deep: #b3000f;
  --primary-soft: #fdecea;
  --ink: #161616;              /* 近黑 */
  --ink-2: #2a2a2a;
  --bg: #f5f5f7;
  --card: #ffffff;
  --text: #1a1a1a;
  --text-2: #8a8f99;
  --line: #eeeef0;
  --gold: #c79a3a;             /* 金（高端点缀） */
  --green: #07c160;
  --radius: 14px;
  --shadow: 0 3px 14px rgba(0,0,0,.06);
  --nav-h: 54px;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;
  background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.5;
  max-width: 480px; margin: 0 auto; min-height: 100vh;
  padding-bottom: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
}
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; outline: none; }
a { color: inherit; text-decoration: none; }

/* ===== 顶部（黑金红）===== */
.topbar { background: linear-gradient(135deg,#1f1f1f,#000); color: #fff; padding: 16px 16px 12px; position: relative; }
.topbar::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background: linear-gradient(90deg,var(--primary),var(--gold)); }
.topbar h1 { font-size: 19px; margin: 0 0 12px; font-weight: 800; letter-spacing: 2px; display:flex; align-items:center; gap:8px; }
.topbar h1 .logo { width:26px; height:26px; border-radius:7px; background: linear-gradient(135deg,var(--primary),var(--primary-deep)); display:inline-flex; align-items:center; justify-content:center; font-size:15px; }
.search { display: flex; align-items: center; background: rgba(255,255,255,.96); border-radius: 20px; padding: 8px 14px; color: #999; font-size: 13px; }
.search input { border: none; outline: none; background: transparent; flex: 1; font-size: 13px; color: #333; }

/* ===== 分类横向滑动 ===== */
.catnav { display: flex; gap: 8px; overflow-x: auto; padding: 12px; background: var(--card); scrollbar-width: none; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.catnav::-webkit-scrollbar { display: none; }
.cat { flex: 0 0 auto; padding: 7px 16px; border-radius: 18px; background: #f2f2f4; color: #555; font-size: 13px; font-weight: 600; white-space: nowrap; }
.cat.active { background: var(--primary); color: #fff; }

/* ===== 区块 ===== */
.section { padding: 14px 12px 4px; }
.section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.section-head .t { font-size: 17px; font-weight: 800; display: flex; align-items: center; gap: 7px; }
.section-head .t .bar { width: 4px; height: 17px; background: linear-gradient(var(--primary),var(--gold)); border-radius: 2px; }
.section-head .more { color: var(--text-2); font-size: 12px; }

/* ===== 中广精选 - 横向轮播容器 ===== */
.pdd-feature { display:flex; gap:10px; overflow-x:auto; padding:2px 7% 6px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.pdd-feature::-webkit-scrollbar { display:none; }
.fcard { flex: 0 0 74%; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.fcard .pic { height: 150px; display: flex; align-items: center; justify-content: center; font-size: 64px; background: linear-gradient(135deg,#fff4f2,#ffe3df); }
.fcard .body { padding: 10px 12px 12px; }
.fcard .name { font-weight: 700; font-size: 15px; display:flex; align-items:center; gap:6px; }
.fcard .tag { display: inline-block; background: linear-gradient(135deg,var(--primary),var(--primary-deep)); color: #fff; font-size: 10px; padding: 1px 7px; border-radius: 4px; }
.fcard .desc { color: var(--text-2); font-size: 12px; margin: 4px 0 8px; height: 32px; overflow: hidden; }
.fcard .row { display: flex; align-items: baseline; justify-content: space-between; }
.price { color: var(--primary); font-weight: 800; }
.price .cur { font-size: 12px; } .price .num { font-size: 20px; }
.earn { background: var(--primary-soft); color: var(--primary); font-size: 11px; padding: 2px 8px; border-radius: 10px; font-weight: 700; }

/* ===== 商品网格 ===== */
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 12px 12px; }
.gcard { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.gcard .pic { height: 120px; display: flex; align-items: center; justify-content: center; font-size: 54px; background: #fafafa; }
.gcard .pic img, .fcard .pic img, .ord .ob .pic img, .pd-pics .slide img { width: 100%; height: 100%; object-fit: cover; }
.gcard .body { padding: 8px 10px 10px; }
.gcard .name { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gcard .desc { color: var(--text-2); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 2px 0 6px; }
.gcard .row { display: flex; align-items: center; justify-content: space-between; }
.gcard .sales { font-size: 10px; color: var(--text-2); }

/* ===== 底部导航 ===== */
.nav { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 480px; height: var(--nav-h);
  background: #fff; border-top: 1px solid var(--line); display: flex; z-index: 50; padding-bottom: env(safe-area-inset-bottom, 0); }
.nav a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--text-2); font-size: 11px; gap: 2px; }
.nav a .ni { font-size: 20px; }
.nav a.active { color: var(--primary); }

/* ===== 通用 ===== */
.wrap { padding: 12px; }
.card { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px; margin-bottom: 12px; }
.muted { color: var(--text-2); }
.center { text-align: center; }
.btn { display: block; width: 100%; background: linear-gradient(135deg,var(--primary),var(--primary-deep)); color: #fff; border-radius: 24px; padding: 12px; font-size: 15px; font-weight: 700; text-align: center; }
.btn.ghost { background: #fff; color: var(--primary); border: 1px solid var(--primary); }
.btn.gold { background: linear-gradient(135deg,#e7c66a,#c79a3a); color:#3a2c00; }
.btn:disabled { opacity: .5; }
.btn.block2 { display:inline-block; width:auto; padding:9px 18px; font-size:13px; border-radius:20px; }
.input { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; font-size: 14px; outline: none; margin-bottom: 10px; background: #fafafa; }
.input:focus { border-color: var(--primary); background:#fff; }
.label { font-size: 12px; color: var(--text-2); margin-bottom: 4px; }

/* ===== 我的 ===== */
.my-page { padding-top:0; display:flex; flex-direction:column; min-height: calc(100vh - var(--nav-h) - env(safe-area-inset-bottom, 0px)); }
/* 底部：切换账号/退出 + 合规文案，沉到页面最底端，上方留白以便继续开发功能 */
.my-footer { margin-top:auto; padding-top:48px; }
.my-footer .exit-block { margin-top:0; }
/* 黑色磨砂纹理信息条 */
.profile {
  position:relative; display:flex; align-items:center; gap:14px;
  padding:34px 16px 72px; color:#fff; overflow:hidden;
  background-color:#1c1c22;
  background-image:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.07), transparent 42%),
    radial-gradient(circle at 82% 6%, rgba(255,255,255,.05), transparent 38%),
    linear-gradient(155deg, #2a2a33 0%, #16161d 100%);
}
.profile::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:.10; mix-blend-mode:overlay;
}
.profile-avatar {
  position:relative; z-index:1; flex-shrink:0; width:62px; height:62px; border-radius:50%;
  background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  font-size:28px; color:#fff; overflow:hidden; border:2px solid rgba(255,255,255,.4); cursor:pointer;
}
.profile-avatar img { width:100%; height:100%; object-fit:cover; }
.avatar-wrap { position:relative; flex-shrink:0; }
.crown { position:absolute; right:-4px; top:-4px; font-size:22px; line-height:1; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)); pointer-events:none; z-index:3; }
.profile .pi { position:relative; z-index:1; }
.profile .pi .nm { font-size:19px; font-weight:800; }
.profile .pi .code { display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-size:12px; background:rgba(255,255,255,.15); padding:3px 10px; border-radius:12px; }
.profile .pi .code .copybtn { background:#fff; color:#1c1c22; font-size:11px; padding:1px 8px; border-radius:10px; font-weight:700; cursor:pointer; }
/* 红色余额大卡 */
.wallet {
  position:relative; z-index:2; margin:-46px 12px 0;
  background:linear-gradient(135deg,#e1251b,#b3000f); border-radius:16px; padding:16px;
  color:#fff; box-shadow:0 8px 22px rgba(225,37,27,.3);
}
.wallet-top { display:flex; align-items:center; justify-content:space-between; }
.wt-label { font-size:12px; opacity:.9; }
.wt-amount { font-size:30px; font-weight:800; line-height:1.1; margin-top:2px; }
.btn-withdraw { background:#fff; color:#e1251b; font-weight:800; font-size:14px; border:none; padding:8px 20px; border-radius:18px; cursor:pointer; }
.qr-upload { border:1px dashed var(--line); border-radius:10px; padding:10px; cursor:pointer; }
.qr-prev { font-size:13px; color:var(--text-2); text-align:center; padding:14px 0; }
.qr-prev img { max-width:160px; max-height:200px; display:block; margin:0 auto; border-radius:8px; }
.wallet-row { display:flex; margin-top:14px; border-top:1px solid rgba(255,255,255,.2); padding-top:12px; }
.wr { flex:1; text-align:center; cursor:pointer; }
.wr + .wr { border-left:1px solid rgba(255,255,255,.2); }
.wr-v { font-size:15px; font-weight:800; }
.wr-k { font-size:11px; opacity:.9; margin-top:3px; }
/* 明细弹窗 */
.sheet-mask { position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:flex-end; z-index:100; }
.sheet-box { background:#fff; width:100%; max-height:80vh; border-radius:16px 16px 0 0; display:flex; flex-direction:column; animation:slideUp .25s ease; }
@keyframes slideUp { from { transform:translateY(100%); } to { transform:translateY(0); } }
.sheet-head { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid var(--line); font-weight:800; }
.sheet-close { cursor:pointer; color:var(--text-2); font-size:18px; }
.sheet-body { padding:8px 16px 20px; overflow-y:auto; }
.dt-total { font-size:13px; color:var(--text-2); padding:10px 0; border-bottom:1px dashed var(--line); margin-bottom:6px; }
.dt-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); }
.dt-t { font-size:14px; font-weight:600; }
.dt-s { font-size:11px; color:var(--text-2); margin-top:3px; }
.dt-v { font-size:15px; font-weight:800; color:var(--primary); }

.order-card { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); margin:12px; padding:12px 14px; }
.order-card .oh { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.order-card .oh .ttl { font-weight:800; font-size:15px; }
.order-tabs { display:flex; }
.order-tab { flex:1; text-align:center; font-size:12px; color:var(--text-2); padding:6px 0; position:relative; }
.order-tab .n { display:block; font-weight:800; color:var(--text); font-size:15px; }
.order-tab.active { color:var(--primary); }
.order-tab.active .n { color:var(--primary); }
.order-tab.active::after { content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:-2px; width:22px; height:3px; border-radius:2px; background:var(--primary); }

.order-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; padding:8px 0 4px; }
.order-grid-item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:8px 0; cursor:pointer; }
.order-grid-icon { width:34px; height:34px; border-radius:50%; background:var(--primary-soft); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:18px; }
.order-grid-label { font-size:12px; color:var(--text); }

.menu-list { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); margin:12px; overflow:hidden; }
.menu-row { display:flex; align-items:center; justify-content:space-between; padding:14px; border-bottom:1px solid var(--line); }
.menu-row:last-child { border-bottom:none; }
.menu-row .l { display:flex; align-items:center; gap:10px; font-weight:600; }
.menu-row .l .ic { width:28px; height:28px; border-radius:8px; background:var(--primary-soft); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:15px; }
.menu-row .r { color:var(--text-2); font-size:13px; }

/* ===== 进度 / 状态 ===== */
.fin-hero { background: linear-gradient(135deg,#1f1f1f,#000); color:#fff; border-radius:var(--radius); padding:16px; margin-bottom:12px; }
.fin-hero .big { font-size:28px; font-weight:800; }
.fin-hero .sub { display:flex; gap:18px; margin-top:8px; font-size:12px; opacity:.85; }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.stat { background:var(--card); border-radius:12px; padding:12px 8px; text-align:center; box-shadow:var(--shadow); }
.stat .v { font-size:17px; font-weight:700; }
.stat .k { font-size:11px; color:var(--text-2); margin-top:2px; }
.progress { background:var(--line); border-radius:10px; height:10px; overflow:hidden; margin:8px 0; }
.progress > i { display:block; height:100%; background:linear-gradient(90deg,var(--primary),var(--gold)); border-radius:10px; transition:width .4s; }

/* ===== 列表 ===== */
.row-line { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); }
.row-line:last-child { border-bottom:none; }
.row-line .l { display:flex; align-items:center; gap:8px; }
.badge { font-size:10px; padding:1px 6px; border-radius:4px; background:#eef7ee; color:#07a34a; }
.badge.off { background:#f3f3f3; color:#999; }
.badge.gold { background:#fbf2dc; color:#a9812a; }
.badge.green { background:#e6f7ec; color:#0a9b48; border:1px solid #9fd9b4; }
.badge.gray { background:#f0f0f0; color:#999; border:1px solid #ddd; }

/* ===== 弹层 ===== */
.mask { position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:flex-end; z-index:100; }
.sheet { background:#fff; width:100%; max-width:480px; margin:0 auto; border-radius:18px 18px 0 0; padding:18px 16px calc(18px + env(safe-area-inset-bottom,0)); max-height:90vh; overflow-y:auto; }
.sheet h3 { margin:0 0 14px; font-size:17px; }
.close { float:right; color:#bbb; font-size:24px; line-height:1; }

/* 登录/注册切换 */
.auth-tabs { display:flex; gap:0; margin:-4px -16px 16px; border-bottom:1px solid var(--line); }
.auth-tabs .at { flex:1; text-align:center; padding:12px 0; font-size:15px; font-weight:700; color:var(--text-2); }
.auth-tabs .at.active { color:var(--primary); position:relative; }
.auth-tabs .at.active::after { content:""; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:30px; height:3px; border-radius:2px; background:var(--primary); }
.auth-close { text-align:center; margin-top:14px; font-size:13px; color:var(--text-2); padding:6px 0; cursor:pointer; }
.auth-close:active { opacity:.6; }

/* ===== 商品详情 ===== */
.pd-pics { position:relative; background:#000; }
.pd-pics .slides { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.pd-pics .slides::-webkit-scrollbar { display:none; }
.pd-pics .slide { flex:0 0 100%; height:300px; display:flex; align-items:center; justify-content:center; font-size:120px; scroll-snap-align:start; background:linear-gradient(135deg,#fff4f2,#ffe3df); }
.pd-dots { position:absolute; bottom:10px; left:0; right:0; display:flex; justify-content:center; gap:6px; }
.pd-dots i { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6); }
.pd-dots i.on { background:#fff; width:18px; border-radius:4px; }
.pd-info { background:#fff; padding:14px; }
.pd-info .name { font-size:19px; font-weight:800; }
.pd-price { display:flex; align-items:baseline; gap:10px; margin:8px 0; }
.pd-price .now { color:var(--primary); font-weight:800; font-size:24px; }
.pd-price .now .cur { font-size:14px; }
.pd-price .origin { color:var(--text-2); text-decoration:line-through; font-size:13px; }
.pd-meta { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:12px; color:var(--text-2); margin:6px 0 2px; }
.pd-meta b { color:var(--text); font-weight:600; }
.pd-sku { background:#fff; margin-top:10px; padding:14px; }
.sku-group { margin-bottom:12px; }
.sku-group .gl { font-size:13px; font-weight:700; margin-bottom:8px; }
.sku-opt { display:inline-block; padding:7px 14px; border:1px solid var(--line); border-radius:18px; font-size:13px; margin:0 8px 8px 0; background:#fafafa; }
.sku-opt.on { border-color:var(--primary); color:var(--primary); background:var(--primary-soft); font-weight:700; }
.pd-tags { display:flex; flex-wrap:wrap; gap:8px; padding:12px 14px; background:#fff; margin-top:10px; }
.tag-chip { font-size:12px; color:var(--primary-deep); background:var(--primary-soft); padding:5px 10px; border-radius:14px; }
.pd-detail { background:#fff; margin-top:10px; padding:14px; }
.pd-detail .dh { font-weight:800; font-size:15px; margin-bottom:8px; border-left:4px solid var(--primary); padding-left:8px; }
.pd-detail .dtext { white-space:pre-wrap; font-size:13px; color:#444; line-height:1.7; }
.buybar { position:fixed; bottom:var(--nav-h); left:50%; transform:translateX(-50%); width:100%; max-width:480px; display:flex; gap:10px; padding:8px 12px; background:#fff; border-top:1px solid var(--line); z-index:40; }
.buybar .price { align-self:center; }
.buybar .btn { flex:1; margin:0; }

/* 待付款 */
.pay-box { text-align:center; }
.pay-qr { width:210px; height:210px; margin:14px auto; border:1px solid var(--line); border-radius:12px; object-fit:contain; background:#fafafa; }
.pay-wechat { font-size:16px; font-weight:700; }
.copyrow { display:flex; gap:8px; margin-top:8px; }

/* 合规声明 */
.compliance { font-size:11px; color:var(--text-2); text-align:center; padding:14px 16px; line-height:1.6; }

/* ===== 分享推广页（仿营销海报） ===== */
.share-page { position:relative; min-height:100vh; padding:0 16px 90px; background:linear-gradient(160deg,#ff4d4f 0%,#ff7a45 100%); overflow:hidden; }
.share-deco { position:absolute; font-size:30px; opacity:.85; pointer-events:none; animation:floaty 3s ease-in-out infinite; z-index:1; }
.share-deco-1 { top:92px; left:14px; }
.share-deco-2 { top:158px; right:18px; font-size:26px; animation-delay:.6s; }
.share-deco-3 { top:250px; left:26px; font-size:22px; animation-delay:1.2s; }
@keyframes floaty { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
.share-title { position:relative; z-index:2; text-align:center; color:#fff; padding:30px 0 18px; }
.share-title .st-1 { font-size:26px; font-weight:800; letter-spacing:2px; text-shadow:0 2px 6px rgba(0,0,0,.18); }
.share-title .st-2 { font-size:22px; font-weight:700; opacity:.95; margin-top:2px; }
.share-poster { position:relative; z-index:2; background:linear-gradient(160deg,#e1251b,#ff5a3c); border-radius:18px; padding:22px 18px; margin:0 auto 16px; box-shadow:0 10px 30px rgba(180,20,10,.35); max-width:360px; }
.share-poster-head { text-align:center; color:#fff; }
.share-poster-head .sp-line1 { font-size:14px; font-weight:600; opacity:.95; }
.share-poster-head .sp-line2 { font-size:12px; opacity:.85; margin-top:10px; }
.share-poster-head .sp-code { font-size:34px; font-weight:900; color:#ffe08a; letter-spacing:3px; margin-top:4px; text-shadow:0 2px 0 rgba(0,0,0,.15); }
.sp-girl { position:absolute; right:12px; top:56px; font-size:34px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.share-qr { background:#fff; border-radius:14px; margin:18px auto 0; padding:14px 12px 10px; max-width:200px; text-align:center; box-shadow:0 6px 16px rgba(0,0,0,.12); }
.share-qr .sq-img { width:150px; height:150px; display:block; margin:0 auto; border-radius:6px; }
.share-qr .sq-text { font-size:13px; color:#e1251b; font-weight:700; margin-top:8px; }
.share-actions { position:relative; z-index:2; display:flex; gap:12px; max-width:360px; margin:0 auto; }
.sa-btn { flex:1; border:none; border-radius:26px; padding:13px 0; font-size:16px; font-weight:700; color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.18); }
.sa-share { background:linear-gradient(135deg,#ff8a3d,#ff5e3a); }
.sa-save { background:linear-gradient(135deg,#ffd24d,#ff9d2e); color:#7a3b00; }
.sa-btn:active { transform:translateY(1px); }
.save-wrap { position:relative; z-index:2; max-width:360px; margin:16px auto 0; text-align:center; }
.save-img { width:100%; max-width:320px; border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,.2); }
.save-tip { color:#fff; font-size:13px; margin-top:8px; opacity:.95; }
.share-compliance { position:relative; z-index:2; color:rgba(255,255,255,.8); font-size:11px; text-align:center; padding:16px; line-height:1.6; max-width:360px; margin:0 auto; }

/* ===== 会员中心区块（参考创作中心：左侧标题 + 右侧4图标）===== */
.mc-block { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); margin:12px; padding:12px 14px 14px; }
.mc-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.mc-title { font-weight:800; font-size:16px; display:flex; align-items:center; gap:8px; }
.mc-title::before { content:""; width:4px; height:16px; border-radius:2px; background:linear-gradient(var(--primary),var(--gold)); }
.mc-arrow { color:var(--text-2); font-size:18px; }
.mc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.mc-item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:10px 0; cursor:pointer; border-radius:10px; }
.mc-item:active { background:#f7f7f8; }
.mc-ic { width:42px; height:42px; border-radius:14px; background:linear-gradient(135deg,#fff,#fdecea); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 2px 8px rgba(225,37,27,.08); }
.mc-lb { font-size:12px; color:var(--text); font-weight:600; }

/* ===== 会员权益页（解锁彩色 / 未解锁灰色）===== */
.vip-item { display:flex; align-items:center; gap:12px; padding:14px 12px; border-bottom:1px solid var(--line); }
.vip-item:last-child { border-bottom:none; }
.vip-ic { width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; flex:0 0 auto; }
.vip-main { flex:1; }
.vip-name { font-size:15px; font-weight:800; }
.vip-desc { font-size:11px; color:var(--text-2); margin-top:3px; }
.vip-state { font-size:12px; font-weight:700; padding:3px 10px; border-radius:14px; }
.vip-item.on .vip-ic { background:linear-gradient(135deg,#fff3d6,#ffe0b3); box-shadow:0 3px 10px rgba(199,154,58,.25); }
.vip-item.on .vip-name { color:#a9812a; }
.vip-item.on .vip-state { background:#fbf2dc; color:#a9812a; }
.vip-item.off .vip-ic { background:#f2f2f4; }
.vip-item.off .vip-ic { filter:grayscale(1); opacity:.55; }
.vip-item.off .vip-name { color:#9a9a9a; }
.vip-item.off .vip-state { background:#f3f3f3; color:#999; }

/* ===== 退出 / 切换账号 ===== */
.exit-block { display:flex; gap:10px; margin:4px 12px 8px; }
.exit-btn { flex:1; padding:12px 0; border-radius:12px; background:#fff; box-shadow:var(--shadow); font-size:14px; font-weight:700; color:var(--text); cursor:pointer; }
.exit-btn.danger { color:var(--primary); }
.exit-btn:active { opacity:.7; }

/* toast */
.toast { position:fixed; top:40%; left:50%; transform:translateX(-50%); background:rgba(0,0,0,.82); color:#fff; padding:10px 18px; border-radius:8px; font-size:14px; z-index:200; opacity:0; transition:opacity .2s; pointer-events:none; }
.toast.show { opacity:1; }

/* 团队 */
.team-card { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--gold)); display:flex; align-items:center; justify-content:center; font-size:18px; color:#fff; overflow:hidden; }
.avatar img { width:100%; height:100%; object-fit:cover; }
.team-card .meta { flex:1; }
.team-card .meta .n { font-weight:600; }
.team-card .meta .s { font-size:11px; color:var(--text-2); }

/* 订单列表 */
.ord { background:#fff; border-radius:12px; box-shadow:var(--shadow); margin-bottom:10px; overflow:hidden; }
.ord .oh { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-bottom:1px solid var(--line); font-size:12px; color:var(--text-2); }
.ord .oh .st { color:var(--primary); font-weight:700; }
.ord .ob { display:flex; align-items:center; gap:10px; padding:12px; }
.ord .ob .pic { width:54px; height:54px; border-radius:8px; background:#fafafa; display:flex; align-items:center; justify-content:center; font-size:30px; flex:0 0 auto; }
.ord .ob .info { flex:1; }
.ord .ob .info .nm { font-weight:600; font-size:14px; }
.ord .ob .info .pr { color:var(--primary); font-weight:700; margin-top:4px; }
.ord .ob .act { text-align:right; }
.mini { display:inline-block; padding:6px 14px; border-radius:18px; font-size:12px; background:linear-gradient(135deg,var(--primary),var(--primary-deep)); color:#fff; margin-top:6px; }

/* 上传预览 */
.up-prev { width:90px; height:90px; border:1px dashed var(--primary); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--text-2); overflow:hidden; position:relative; }
.up-prev img { width:100%; height:100%; object-fit:cover; }
.up-add { position:absolute; right:-6px; bottom:-6px; width:22px; height:22px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; }
.img-row { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.img-row .up-prev { width:64px; height:64px; }

/* ===== 拼多多风格首页 ===== */
.pdd-topbar { background: linear-gradient(180deg, var(--primary) 0%, var(--primary-deep) 100%); color:#fff; position:sticky; top:0; z-index:30; padding-top:10px; }
.pdd-search { display:flex; align-items:center; background:#fff; border-radius:22px; margin:0 12px 8px; padding:8px 14px; box-shadow:0 2px 8px rgba(0,0,0,.12); cursor:pointer; }
.pdd-search input { border:none; outline:none; flex:1; font-size:14px; color:#333; background:transparent; }
.pdd-search-icon { font-size:15px; margin-right:8px; color:#999; }
.pdd-camera { font-size:16px; margin-left:8px; color:#999; }

.pdd-cats { display:flex; gap:6px; overflow-x:auto; padding:0 12px 10px; scrollbar-width:none; }
.pdd-cats::-webkit-scrollbar { display:none; }
.pdd-cat { flex:0 0 auto; padding:6px 14px; border-radius:16px; font-size:13px; font-weight:700; color:rgba(255,255,255,.85); white-space:nowrap; }
.pdd-cat.active { background:#fff; color:var(--primary); }

.pdd-page { background:#f2f2f4; min-height:calc(100vh - 110px); }
.pdd-section { background:#fff; margin-bottom:10px; padding:12px 0; }
.pdd-section-head { display:flex; align-items:center; justify-content:space-between; padding:0 12px 10px; }
.pdd-section-title { font-size:17px; font-weight:800; display:flex; align-items:center; gap:6px; }
.pdd-section-title::before { content:""; width:4px; height:16px; background:linear-gradient(var(--primary),var(--gold)); border-radius:2px; }
.pdd-more { color:var(--text-2); font-size:12px; }
.pdd-count { font-size:12px; color:var(--text-2); }

/* ===== 中广精选 - 黑金描边模块 ===== */
.feat-module {
  margin: 8px 8px;
  background: #fff;
  border: 1.5px solid #d4af37;
  border-radius: 14px;
  box-shadow: 0 3px 16px rgba(212,175,55,.20);
  overflow: hidden;
}
/* 红色标题条 */
.feat-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 10px;
  background: linear-gradient(90deg, #e1251b, #ff5a4d);
  color: #fff;
}
.feat-head-left { display: flex; align-items: center; gap: 5px; font-size: 15px; font-weight: 800; }
.feat-head-left .sep { opacity: .7; font-weight: 400; }
.feat-head-right { display: flex; align-items: center; gap: 7px; }
/* 滚动用户头像（占位/随机，最多显示3个，循环滚动） */
.feat-avatars {
  width: 66px; height: 22px; overflow: hidden; position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%);
  mask-image: linear-gradient(90deg, transparent, #000 35%);
}
.feat-avatars-track {
  display: flex; align-items: center; gap: 4px; position: absolute; white-space: nowrap;
  animation: featScroll 7s linear infinite;
}
.feat-avatars-track .av {
  width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 12px;
  background: #ffd9b3; border: 1.5px solid #fff; box-shadow: 0 1px 2px rgba(0,0,0,.18);
}
@keyframes featScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.feat-buying { font-size: 12px; font-weight: 700; letter-spacing: 1px; }

/* 横向轮播容器（覆盖文件顶部定义，加暖色背景） */
.pdd-feature { display: flex; gap: 8px; overflow-x: auto; padding: 8px 4% 8px; scroll-snap-type: x mandatory; scrollbar-width: none; background: linear-gradient(180deg, #fffdf6, #fff); }
.pdd-feature::-webkit-scrollbar { display: none; }

/* 横版商品卡：左图(1:1)右文 */
.feat-card { flex:0 0 100%; scroll-snap-align:center; display:flex; flex-direction:row; align-items:stretch; gap:11px; background:#fff; border-radius:12px; padding:10px; border:1px solid var(--line); box-shadow:0 2px 10px rgba(0,0,0,.05); }
.feat-pic { width:46%; aspect-ratio:1/1; flex-shrink:0; border-radius:10px; overflow:hidden; display:flex; align-items:center; justify-content:center; font-size:44px; background:linear-gradient(135deg,#fff4f2,#ffe3df); }
.feat-pic img { width:100%; height:100%; object-fit:cover; }
.feat-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.feat-name { font-size:14px; font-weight:700; line-height:1.35; color:#151515; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.feat-tag { align-self:flex-start; font-size:10px; font-weight:700; color:#7a5a12; background:linear-gradient(90deg,#f7e3b0,#e8c878); padding:2px 7px; border-radius:4px; }
.feat-price-box { display:flex; align-items:baseline; gap:6px; }
.feat-price { color:var(--primary); font-weight:800; }
.feat-price .cur { font-size:12px; } .feat-price .num { font-size:19px; }
.feat-origin { font-size:11px; color:var(--text-2); text-decoration:line-through; padding-bottom:1px; }
.feat-sales { font-size:11px; color:#999; }
.feat-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.feat-earn { font-size:11px; font-weight:700; color:#c8922a; }
.feat-buy { flex-shrink:0; background:linear-gradient(135deg,var(--primary),var(--primary-deep)); color:#fff; font-size:12px; font-weight:700; padding:6px 14px; border-radius:16px; box-shadow:0 3px 8px rgba(224,44,35,.28); }

/* ===== 首页「天天有低价」本地生活模块（2×2 四宫格，左图右字）===== */
.tdl-tag-title { display:inline-block; background:linear-gradient(135deg,#ff4d4f,#e1251b); color:#fff; font-size:14px; font-weight:800; padding:4px 13px; border-radius:14px; }
.tdl-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 12px; }
.tdl-card { position:relative; background:#fff; border-radius:12px; padding:8px; box-shadow:var(--shadow); overflow:hidden; cursor:pointer; display:flex; flex-direction:row; align-items:stretch; gap:8px; border:1px solid var(--line); }
.tdl-card:active { background:#fafafa; }
.tdl-pic { flex:0 0 42%; aspect-ratio:1/1; border-radius:8px; overflow:hidden; background:#f8f8f8; display:flex; align-items:center; justify-content:center; font-size:30px; }
.tdl-pic img { width:100%; height:100%; object-fit:cover; }
.tdl-info { flex:1; min-width:0; display:flex; flex-direction:column; }
.tdl-top { display:flex; align-items:center; gap:5px; }
.tdl-logo { width:20px; height:20px; border-radius:50%; overflow:hidden; flex:0 0 auto; background:linear-gradient(135deg,#fff4f2,#ffe3df); display:flex; align-items:center; justify-content:center; font-size:11px; }
.tdl-logo img { width:100%; height:100%; object-fit:cover; }
.tdl-shop { font-size:11px; font-weight:600; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; min-width:0; }
.tdl-sell { flex:0 0 auto; font-size:9px; color:#e1251b; background:var(--primary-soft); padding:1px 5px; border-radius:4px; font-weight:700; max-width:48%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tdl-title { font-size:12px; font-weight:600; color:#1a1a1a; line-height:1.3; margin:5px 0 auto; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tdl-bottom { display:flex; align-items:baseline; gap:5px; margin-top:5px; }
.tdl-price { color:var(--primary); font-weight:800; }
.tdl-price .cur { font-size:10px; } .tdl-price .num { font-size:16px; }
.tdl-disc { font-size:10px; color:#fff; background:linear-gradient(135deg,#ff7a45,#ff4d4f); padding:1px 6px; border-radius:9px; font-weight:700; }
.tdl-empty { grid-column:1/3; text-align:center; color:var(--text-2); font-size:13px; padding:24px 0; }

/* 搜索页 */
.search-page { min-height:100vh; background:#f2f2f4; padding-bottom:20px; }
.search-bar { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.search-back { font-size:22px; color:#333; padding:0 4px; cursor:pointer; }
.search-input-box { flex:1; display:flex; align-items:center; background:#f5f5f5; border-radius:18px; padding:8px 12px; }
.search-input-box input { border:none; outline:none; flex:1; font-size:14px; background:transparent; }
.search-cancel { font-size:14px; color:#666; cursor:pointer; white-space:nowrap; }

/* 欢迎页全屏覆盖（9:16 竖屏海报） */
.welcome { position:fixed; inset:0; z-index:9999; background:#000; display:flex; align-items:center; justify-content:center; }
.welcome img { width:100%; height:100%; object-fit:cover; }
.welcome video { width:100%; height:100%; object-fit:cover; background:#000; }

/* 登录 / 注册 整页 */
.login-page { min-height:100vh; background:linear-gradient(160deg,#fff,#fff6f4); padding:54px 22px 30px; box-sizing:border-box; }
.login-head { text-align:center; margin-bottom:26px; }
.login-logo { font-size:30px; font-weight:800; color:var(--primary); letter-spacing:1px; }
.login-sub { font-size:13px; color:var(--text-2); margin-top:8px; }
.login-box { background:#fff; border-radius:16px; padding:16px; box-shadow:0 6px 24px rgba(0,0,0,.06); border:1px solid var(--line); }
.login-skip { text-align:center; margin-top:18px; color:var(--text-2); font-size:14px; }

/* 商品瀑布流 */
.pdd-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:0 8px; }
.pdd-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.pdd-pic { aspect-ratio:1/1; background:#f8f8f8; display:flex; align-items:center; justify-content:center; font-size:64px; }
.pdd-pic img { width:100%; height:100%; object-fit:cover; }
.pdd-body { padding:9px 10px 11px; }
.pdd-name { font-size:14px; font-weight:600; line-height:1.45; height:40px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; color:#151515; }
.pdd-sp { display:inline-block; background:var(--primary); color:#fff; font-size:10px; padding:1px 5px; border-radius:4px; margin-right:4px; font-weight:700; }
.pdd-tags { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0 5px; }
.pdd-tags span { font-size:10px; color:#999; background:#f5f5f5; padding:2px 5px; border-radius:3px; }
.pdd-row { display:flex; align-items:flex-end; justify-content:space-between; margin-top:4px; }
.pdd-price { color:var(--primary); font-weight:800; }
.pdd-price .cur { font-size:11px; } .pdd-price .num { font-size:20px; }
.pdd-sales { font-size:11px; color:#999; }
.pdd-earn { display:inline-block; margin-top:6px; font-size:11px; color:var(--primary); background:var(--primary-soft); padding:2px 7px; border-radius:9px; font-weight:700; }
.pdd-earn-sp { background:#fff4e5; color:#e65c00; }

/* 首页加购按钮 + 已售行 */
.pdd-cartbtn { flex:0 0 auto; background:linear-gradient(135deg,var(--primary),var(--primary-deep)); color:#fff; font-size:12px; font-weight:700; padding:5px 12px; border-radius:14px; box-shadow:0 3px 8px rgba(224,44,35,.25); }
.pdd-buyrow { display:flex; align-items:center; justify-content:space-between; margin-top:4px; }
.pdd-buyrow .pdd-sales { font-size:11px; color:#999; }

/* 底部导航角标 */
.nav a { position:relative; }
.nav-badge { position:absolute; top:6px; right:50%; margin-right:-30px; min-width:16px; height:16px; line-height:16px; background:#fff; color:var(--primary); font-size:11px; font-weight:800; border-radius:9px; padding:0 4px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.2); }

/* 购物车页 */
.cart-wrap { padding-bottom:70px; }
.tb-edit { font-size:13px; color:#fff; font-weight:600; cursor:pointer; opacity:.95; }
.cart-item { display:flex; align-items:center; gap:8px; background:#fff; border-radius:12px; padding:10px; margin:0 12px 8px; box-shadow:0 1px 6px rgba(0,0,0,.04); }
.ck { flex:0 0 auto; width:20px; height:20px; border:2px solid #ddd; border-radius:50%; cursor:pointer; box-sizing:border-box; position:relative; }
.ck.on { background:var(--primary); border-color:var(--primary); }
.ck.on::after { content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.ci-pic { flex:0 0 auto; width:64px; height:64px; border-radius:8px; background:#f8f8f8; display:flex; align-items:center; justify-content:center; font-size:30px; overflow:hidden; }
.ci-pic img { width:100%; height:100%; object-fit:cover; }
.ci-info { flex:1; min-width:0; }
.ci-name { font-size:14px; font-weight:600; color:#151515; line-height:1.4; max-height:38px; overflow:hidden; }
.ci-price { color:var(--primary); font-weight:800; margin-top:4px; }
.ci-price .cur { font-size:11px; } .ci-price .num { font-size:17px; }
.ci-qty { display:flex; align-items:center; gap:10px; margin-top:6px; }
.ci-qty .minus, .ci-qty .plus { width:24px; height:24px; line-height:22px; text-align:center; border:1px solid #ddd; border-radius:6px; font-size:16px; color:#666; cursor:pointer; }
.ci-qty .q { min-width:20px; text-align:center; font-size:14px; }
.ci-del { margin-left:8px; color:#e65c00; font-size:12px; cursor:pointer; }
.cart-empty { text-align:center; padding:60px 0; color:#999; }
.cart-empty .ce-ic { font-size:54px; }
.cart-empty p { margin:14px 0 18px; }
.cart-bar { position:fixed; bottom:var(--nav-h); left:50%; transform:translateX(-50%); width:100%; max-width:480px; height:54px; background:#fff; box-shadow:0 -2px 10px rgba(0,0,0,.06); display:flex; align-items:center; padding:0 14px; box-sizing:border-box; z-index:45; }
.cart-bar .ck-all { display:flex; align-items:center; gap:6px; font-size:13px; color:#333; cursor:pointer; }
.cart-bar .ck { width:18px; height:18px; }
.cart-total { flex:1; text-align:right; padding-right:12px; font-size:13px; color:#333; }
.cart-total .cur { color:var(--primary); font-size:12px; }
.cart-total .num { color:var(--primary); font-size:18px; font-weight:800; }
.cart-bar .btn { border-radius:20px; padding:9px 22px; }
.cart-bar .btn:disabled { opacity:.5; }

/* 合并订单卡片 */
.ob-sum { font-size:12px; color:#999; padding:6px 0 2px; border-top:1px dashed #eee; margin-top:4px; }
.act-r { text-align:right; padding-top:6px; }

/* ===== 会员中心 - 收货地址整行入口 ===== */
.mc-row { display:flex; align-items:center; gap:10px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); cursor:pointer; }
.mc-row:active { opacity:.7; }
.mc-row-ic { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#fff,#eafaf0); color:#1aad5c; display:flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
.mc-row-lb { flex:1; font-size:14px; font-weight:600; }

/* ===== 收货地址页 ===== */
.addr-item { padding:14px 12px; border:1px solid var(--line); border-radius:12px; margin-bottom:10px; }
.addr-item.def { border-color:var(--primary); background:#fff8f7; }
.addr-top { display:flex; align-items:center; gap:8px; }
.addr-name { font-size:15px; font-weight:800; }
.addr-phone { font-size:13px; color:#666; }
.addr-badge { margin-left:auto; font-size:11px; color:#fff; background:var(--primary); padding:2px 8px; border-radius:10px; }
.addr-line { font-size:13px; color:#555; margin:6px 0 10px; line-height:1.4; }
.addr-actions { display:flex; gap:8px; }
.addr-btn { font-size:12px; color:#333; background:#f3f3f5; border:none; padding:6px 12px; border-radius:8px; cursor:pointer; }
.addr-btn.danger { color:#e1251b; background:#fdecea; }

/* ===== 结算页地址选择 ===== */
.addr-sel { display:flex; flex-direction:column; gap:8px; }
.addr-opt { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.addr-opt.on { border-color:var(--primary); background:#fff8f7; }
.addr-opt input { margin-top:3px; }
.ao-main { flex:1; }
.ao-top { display:flex; align-items:center; gap:8px; }
.ao-name { font-size:14px; font-weight:800; }
.ao-phone { font-size:13px; color:#666; }
.ao-line { font-size:13px; color:#555; margin-top:4px; line-height:1.4; }

/* ===== 省市区三级联动 ===== */
.region { display:flex; gap:8px; }
.region .input { flex:1; padding:9px 8px; font-size:13px; }
.ck-row { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:13px; color:#333; cursor:pointer; }
.ck-row input { width:16px; height:16px; }

/* 订单卡片收货信息 */
.ob-rcv { font-size:12px; color:#666; padding:6px 0; line-height:1.4; }
.ob-exp { font-size:12px; color:#666; padding:6px 0; line-height:1.4; border-top:1px dashed #eee; margin-top:4px; }
.ob-exp b { color:#333; }
.ob-exp a.mini { text-decoration:none; }
/* 提现页：金额输入 + 手续费明细 */
.wd-amt { display:flex; align-items:center; gap:8px; background:#f6f7fb; border:1px solid #e6e8ef; border-radius:12px; padding:10px 12px; margin-top:6px; }
.wd-cur { font-size:20px; font-weight:700; color:#333; }
.wd-input { flex:1; border:none; background:transparent; font-size:22px; font-weight:700; color:#222; padding:0; min-width:0; }
.wd-input:focus { outline:none; }
.wd-all { flex:none; border:none; background:linear-gradient(135deg,var(--primary),var(--primary-deep)); color:#fff; font-size:13px; padding:8px 14px; border-radius:18px; white-space:nowrap; }
.wd-all:disabled { background:#ccc; }
.wd-calc { margin-top:10px; background:#fafbff; border:1px solid #eef0f6; border-radius:12px; padding:10px 12px; }
.wd-row { display:flex; justify-content:space-between; align-items:center; font-size:13px; color:#666; padding:3px 0; }
.wd-row b { color:#333; font-weight:600; }
.wd-fee { color:#e1251b; }
.wd-net { border-top:1px dashed #eee; margin-top:4px; padding-top:7px; }
.wd-net b { color:var(--primary); font-size:15px; }

/* ===== 自提 / 配送 标记 ===== */
.tag-self, .tag-ship { display:inline-block; font-size:11px; padding:1px 7px; border-radius:4px; font-weight:700; margin-right:5px; vertical-align:middle; }
.tag-self { background:#e8f8ee; color:#07a34a; border:1px solid #b6e6c8; }   /* 自提=绿色 */
.tag-ship { background:#1a1a1a; color:#fff; }                               /* 配送=黑色 */

/* ===== 自提下单选点 ===== */
.pp-list { display:flex; flex-direction:column; gap:10px; }
.pp-opt { display:flex; gap:10px; align-items:flex-start; padding:12px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.pp-opt:active { background:#f7f7f8; }
.pp-opt input { margin-top:3px; }
.pp-main { flex:1; min-width:0; }
.pp-top { display:flex; align-items:center; gap:8px; }
.pp-name { font-size:15px; font-weight:800; }
.pp-cold { font-size:11px; color:#1aad5c; background:#e8f8ee; border:1px solid #b6e6c8; padding:1px 7px; border-radius:10px; }
.pp-photo { margin:8px 0; }
.pp-photo img { width:100%; max-width:200px; height:120px; object-fit:cover; border-radius:10px; background:#fafafa; }
.pp-line { font-size:13px; color:#555; line-height:1.4; }

/* ===== 我的自提点（C 端）===== */
.pp-detail-top { display:flex; gap:12px; align-items:center; }
.pp-detail-photo { width:64px; height:64px; border-radius:12px; overflow:hidden; flex:0 0 auto; background:#fafafa; display:flex; align-items:center; justify-content:center; font-size:30px; }
.pp-detail-photo img { width:100%; height:100%; object-fit:cover; }
.pp-detail-name { font-size:16px; font-weight:800; }
.pp-stat { display:flex; margin-top:14px; border-top:1px solid var(--line); padding-top:12px; }
.pp-stat-c { flex:1; text-align:center; }
.pp-stat-c + .pp-stat-c { border-left:1px solid var(--line); }
.pp-stat-c .v { font-size:17px; font-weight:800; color:var(--primary); }
.pp-stat-c .k { font-size:11px; color:var(--text-2); margin-top:3px; }
.pp-order { padding:12px 0; border-bottom:1px solid var(--line); }
.pp-order:last-child { border-bottom:none; }
.pp-filter { display:flex; gap:8px; margin:10px 0; }
.ppf { font-size:13px; padding:5px 14px; border-radius:20px; background:#f2f3f5; color:#667; cursor:pointer; user-select:none; }
.ppf.active { background:var(--primary); color:#fff; }
.ppo-top { display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:600; }
.ppo-top .pr { color:var(--primary); font-weight:700; }

/* ===== 后台自提点列表 ===== */
.pp-cell { display:flex; align-items:center; gap:8px; }
.pp-thumb { width:42px; height:42px; border-radius:8px; object-fit:cover; flex:0 0 auto; background:#fafafa; }
.pp-emoji { font-size:24px; flex:0 0 auto; }
.pp-act { display:flex; gap:6px; flex-wrap:wrap; }
.pp-act .mini-btn { white-space:nowrap; }

/* ===== 微信内引导浮层（提示用浏览器打开以添加桌面） ===== */
.wx-guide { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; }
.wx-guide-mask { position:absolute; inset:0; background:rgba(0,0,0,.72); }
.wx-guide-box { position:relative; width:86%; max-width:360px; background:#fff; border-radius:18px; padding:22px 20px 18px; text-align:center; box-shadow:0 14px 40px rgba(0,0,0,.25); }
.wx-guide-arrow { font-size:46px; line-height:1; transform:rotate(-20deg); margin:-50px 0 6px; filter:drop-shadow(0 3px 6px rgba(0,0,0,.25)); }
.wx-guide-box h3 { margin:0 0 10px; font-size:18px; color:var(--ink); }
.wx-guide-box p { margin:6px 0; color:#555; font-size:14px; }
.wx-guide-box ul { text-align:left; margin:12px 0 16px; padding-left:22px; color:#444; font-size:14px; line-height:1.8; }
.wx-guide-box li::marker { color:var(--primary); }
.wx-guide-btn { width:100%; padding:13px; border-radius:10px; background:var(--primary); color:#fff; font-size:15px; font-weight:700; }
.wx-guide-btn:active { background:var(--primary-deep); }
