/* ===== 商城端样式 v2（重构版）===== */
* { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body { font-family:-apple-system,BlinkMacSystemFont,"Microsoft YaHei","Segoe UI",sans-serif; color:#0f172a; }

/* 海洋气泡背景 */
.shop-body {
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 8%,rgba(125,211,252,.32),transparent 45%),
    radial-gradient(circle at 82% 92%,rgba(34,199,188,.22),transparent 50%),
    radial-gradient(circle at 50% 50%,rgba(191,219,254,.15),transparent 60%),
    linear-gradient(180deg,#eff6ff 0%,#f0fdfa 100%);
  position:relative;
  overflow-x:hidden;
  font-variant-numeric:tabular-nums;
}
.shop-body::before {
  content:'';position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.4) 0,transparent 8%),
             radial-gradient(circle at 80% 70%,rgba(255,255,255,.3) 0,transparent 10%),
             radial-gradient(circle at 50% 80%,rgba(255,255,255,.25) 0,transparent 6%);
  animation:shopBubbles 16s linear infinite;
}
@keyframes shopBubbles {
  0%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-30px) scale(1.05);}
  100%{transform:translateY(0) scale(1);}
}

/* 顶部导航 */
.shop-header {
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(147,197,253,.2);
  padding:12px 20px;
  display:flex;align-items:center;justify-content:center;
}
.shop-logo { font-size:18px;font-weight:900;color:#1e40af;display:flex;align-items:center;gap:8px; }
.shop-logo span { font-size:24px; }
.shop-nav { display:flex;gap:16px; }
.shop-nav a { color:#64748b;font-size:14px;font-weight:600;text-decoration:none;padding:6px 12px;border-radius:999px;transition:all .2s; }
.shop-nav a:hover,.shop-nav a.active { color:#1e40af;background:rgba(59,130,246,.1); }

/* 代理专属横幅 */
.shop-agent-banner {
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(90deg,#eef2ff,#dbeafe);
  padding:10px 14px;border-radius:14px;margin:14px 0 4px;
  font-size:13px;color:#1e3a8a;border:1px solid rgba(99,102,241,.15);
}

/* 轮播图 */
.shop-banner-swiper { position:relative;width:100%;border-radius:18px;overflow:hidden;margin-top:14px;box-shadow:0 10px 28px rgba(15,23,42,.10); }
.shop-banner-track { display:flex;transition:transform .5s ease; }
.shop-banner-slide { min-width:100%;width:100%; }
.shop-banner-slide a { display:block; }
.shop-banner-slide img { width:100%;display:block;height:auto; }
.shop-banner-dots { position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px; }
.shop-banner-dots span { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:all .25s;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.15); }
.shop-banner-dots span.active { background:#fff;width:20px;border-radius:3px; }

/* 主容器 */
.shop-container { max-width:480px;margin:0 auto;padding:16px;position:relative;z-index:1; }

/* 区域标题 */
.shop-section-head { display:flex;align-items:baseline;justify-content:space-between;margin:18px 2px 10px; }
.shop-section-title { font-size:16px;font-weight:900;color:#0f172a;display:flex;align-items:center;gap:6px; }
.shop-section-title::before { content:'';width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,#2563eb,#22c7bc); }
.shop-section-sub { font-size:11px;color:#94a3b8;font-weight:600; }

/* 商品列表 */
.shop-list { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.shop-card {
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  border:1px solid rgba(147,197,253,.22);
  border-radius:18px;overflow:hidden;
  cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  display:flex;flex-direction:column;
  box-shadow:0 4px 14px rgba(15,23,42,.05);
}
.shop-card:hover { transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.12);border-color:rgba(125,211,252,.6); }
.shop-card:active { transform:scale(.97); }
.shop-card-img { width:100%;aspect-ratio:1;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative; }
.shop-card-img img { width:100%;height:100%;object-fit:cover;transition:transform .4s ease; }
.shop-card:hover .shop-card-img img { transform:scale(1.06); }
.shop-card-img-placeholder { font-size:38px;color:#cbd5e1; }
.shop-card-badge {
  position:absolute;top:8px;left:8px;
  padding:3px 9px;border-radius:999px;
  background:linear-gradient(135deg,#f43f5e,#fb7185);
  color:#fff;font-size:10px;font-weight:800;letter-spacing:.5px;
  box-shadow:0 3px 8px rgba(244,63,94,.35);
}
.shop-card-badge.new { background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 3px 8px rgba(139,92,246,.35); }
.shop-card-badge.hot { background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 3px 8px rgba(245,158,11,.35); }
.shop-card-badge.soldout { background:#94a3b8;box-shadow:none; }
.shop-card-body { padding:10px 12px 12px;flex:1;display:flex;flex-direction:column;gap:5px; }
.shop-card-name { font-size:13px;font-weight:800;color:#1e293b;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:37px; }
.shop-card-price { display:flex;align-items:baseline;gap:6px;flex-wrap:wrap; }
.shop-card-price .now { font-size:19px;font-weight:900;color:#ef4444;letter-spacing:-.3px; }
.shop-card-price .now::before { content:'￥';font-size:12px;font-weight:800; }
.shop-card-price .old { font-size:11px;color:#94a3b8;text-decoration:line-through; }
.shop-card-price .old::before { content:'￥'; }
.shop-card-foot { display:flex;justify-content:space-between;align-items:center;margin-top:auto; }
.shop-card-sales { font-size:10px;color:#94a3b8; }
.shop-card-buy {
  font-size:10px;font-weight:800;color:#2563eb;
  border:1px solid rgba(37,99,235,.4);border-radius:999px;
  padding:3px 10px;background:rgba(37,99,235,.06);
}
.shop-card.soldout { opacity:.62; }

/* 商品详情 */
.shop-detail-img { width:100%;aspect-ratio:1;border-radius:20px;overflow:hidden;background:#f1f5f9;margin-bottom:14px;box-shadow:0 10px 28px rgba(15,23,42,.08);position:relative; }
.shop-detail-img img { width:100%;height:100%;object-fit:cover; }
.shop-detail-img-placeholder { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:64px;color:#cbd5e1; }
.shop-detail-badge {
  position:absolute;top:12px;left:12px;
  padding:4px 12px;border-radius:999px;
  background:linear-gradient(135deg,#f43f5e,#fb7185);
  color:#fff;font-size:11px;font-weight:800;
}
.shop-detail-info { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:18px;margin-bottom:14px; }
.shop-detail-name { font-size:18px;font-weight:900;color:#0f172a;line-height:1.45;margin-bottom:8px; }
/* 商品标签（名称旁渐变徽标：三套配色轮换 + 微光效） */
.shop-tag-row { display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px; }
.shop-tag {
  position:relative;
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 12px 4px 9px;border-radius:999px;
  font-size:11px;font-weight:900;letter-spacing:.5px;
  color:#fff;overflow:hidden;
  box-shadow:0 3px 10px rgba(15,23,42,.14);
  transition:transform .18s ease,box-shadow .18s ease;
}
.shop-tag::before { content:'';margin-right:1px; }
.shop-tag::after { content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:tagShine 3.2s ease-in-out infinite; }
@keyframes tagShine { 0%,55%{left:-60%} 85%,100%{left:130%} }
.shop-tag.t1 { background:linear-gradient(135deg,#f43f5e,#fb7185);box-shadow:0 3px 10px rgba(244,63,94,.3); }
.shop-tag.t2 { background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 3px 10px rgba(245,158,11,.3); }
.shop-tag.t3 { background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 3px 10px rgba(37,99,235,.3); }
.shop-tag.t1::before { content:'⚡';font-size:10px; }
.shop-tag.t2::before { content:'📦';font-size:10px; }
.shop-tag.t3::before { content:'✅';font-size:10px; }
@media(max-width:480px) {
  .shop-tag { padding:3px 10px 3px 7px;font-size:10px; }
}
.shop-detail-price { display:flex;align-items:baseline;gap:8px;margin-bottom:10px; }
.shop-detail-price .now { font-size:30px;font-weight:900;color:#ef4444;letter-spacing:-.5px; }
.shop-detail-price .now::before { content:'￥';font-size:16px;font-weight:800; }
.shop-detail-price .old { font-size:15px;color:#94a3b8;text-decoration:line-through; }
.shop-detail-price .old::before { content:'￥'; }
.shop-detail-meta { display:flex;gap:14px;font-size:12px;color:#64748b; }
.shop-detail-meta span { display:inline-flex;align-items:center;gap:4px; }
.shop-detail-svc { display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #e2e8f0;flex-wrap:wrap; }
.shop-detail-svc span { font-size:11px;color:#2563eb;background:rgba(37,99,235,.07);border-radius:999px;padding:4px 10px;font-weight:700; }
.shop-detail-desc { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:18px;margin-bottom:84px; }
.shop-detail-desc h3 { font-size:15px;font-weight:900;color:#0f172a;margin-bottom:10px;display:flex;align-items:center;gap:6px; }
.shop-detail-desc h3::before { content:'';width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#2563eb,#22c7bc); }
.shop-detail-desc p { font-size:14px;color:#475569;line-height:1.9;white-space:pre-wrap; }
/* 商品介绍（纯文字卖点） */
.shop-detail-intro { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:18px;margin-bottom:14px; }
.shop-detail-intro h3 { font-size:15px;font-weight:900;color:#0f172a;margin-bottom:10px;display:flex;align-items:center;gap:6px; }
.shop-detail-intro h3::before { content:'';width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#2563eb,#22c7bc); }
.shop-intro-list { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px; }
.shop-intro-list li { position:relative;padding-left:22px;font-size:13px;color:#334155;line-height:1.7; }
.shop-intro-list li::before { content:'✓';position:absolute;left:0;top:0;color:#059669;font-weight:900; }
/* 商品详情（纯图片长图） */
.shop-detail-desc--images { padding:14px; }
.shop-desc-img { display:block;width:100%;border-radius:12px;margin-bottom:10px; }
.shop-desc-img:last-child { margin-bottom:0; }

/* 底部购买栏 */
.shop-buy-bar {
  position:fixed;bottom:0;left:0;width:100%;z-index:200;
  background:rgba(255,255,255,.95);backdrop-filter:blur(16px);
  border-top:1px solid rgba(147,197,253,.2);
  padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
  display:flex;gap:12px;align-items:center;justify-content:center;
  max-width:480px;margin:0 auto;left:50%;transform:translateX(-50%);
}
.shop-buy-price { display:flex;flex-direction:column;line-height:1.2; }
.shop-buy-price b { font-size:20px;font-weight:900;color:#ef4444; }
.shop-buy-price b::before { content:'￥';font-size:12px; }
.shop-buy-price span { font-size:10px;color:#94a3b8;text-decoration:line-through; }
.shop-buy-btn {
  flex:1;height:46px;border:none;border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#06b6d4);
  color:#fff;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;
  box-shadow:0 8px 20px rgba(37,99,235,.22);
  transition:all .2s;
}
.shop-buy-btn:hover { transform:translateY(-1px);box-shadow:0 10px 24px rgba(37,99,235,.3); }
.shop-buy-btn:active { transform:translateY(0) scale(.98); }
.shop-buy-btn:disabled { background:#cbd5e1;box-shadow:none;cursor:not-allowed; }

/* 表单 */
.shop-form { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:20px;margin-bottom:14px;box-shadow:0 4px 14px rgba(15,23,42,.05); }
.shop-form h2 { font-size:16px;font-weight:900;color:#0f172a;margin-bottom:16px; }
.shop-form-group { margin-bottom:16px; }
.shop-form-label { display:block;font-size:13px;font-weight:700;color:#64748b;margin-bottom:6px; }
.shop-form-input {
  width:100%;height:46px;padding:0 14px;
  border:1px solid #e2e8f0;border-radius:12px;
  font-size:15px;color:#0f172a;background:rgba(255,255,255,.92);
  transition:all .2s;outline:none;font-family:inherit;
}
.shop-form-input:focus { border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.1); }
.shop-form-textarea { min-height:80px;padding:12px 14px;resize:vertical;line-height:1.6; }
.shop-form-row { display:flex;gap:12px; }
.shop-form-row > div { flex:1; }

/* 数量选择器 */
.shop-qty { display:flex;align-items:center;gap:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;width:fit-content; }
.shop-qty button { width:40px;height:42px;border:none;background:#f1f5f9;font-size:18px;font-weight:700;color:#475569;cursor:pointer;font-family:inherit; }
.shop-qty button:active { background:#e2e8f0; }
.shop-qty input { width:60px;height:42px;border:none;text-align:center;font-size:16px;font-weight:800;color:#0f172a;outline:none;background:transparent; }

/* 支付方式选择 */
.shop-pay-methods { display:flex;gap:12px;flex-wrap:wrap; }
.shop-pay-opt {
  flex:1;min-width:140px;padding:14px;border:2px solid #e2e8f0;border-radius:14px;
  display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .2s;
}
.shop-pay-opt.active { border-color:#2563eb;background:rgba(37,99,235,.05); }
.shop-pay-opt input { display:none; }
.shop-pay-opt-icon { font-size:24px; }
.shop-pay-opt-text { font-size:14px;font-weight:700;color:#0f172a; }

/* 订单卡片 */
.shop-order-card { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 4px 14px rgba(15,23,42,.05); }
.shop-order-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f1f5f9; }
.shop-order-no { font-size:12px;color:#94a3b8;font-weight:600; }
.shop-order-status { font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px; }
.shop-order-status.pending { background:#fef3c7;color:#d97706; }
.shop-order-status.paid { background:#dbeafe;color:#2563eb; }
.shop-order-status.shipped { background:#ede9fe;color:#7c3aed; }
.shop-order-status.completed { background:#d1fae5;color:#059669; }
.shop-order-status.cancelled { background:#fee2e2;color:#dc2626; }
.shop-order-product { display:flex;gap:12px;margin-bottom:10px; }
.shop-order-product-img { width:60px;height:60px;border-radius:12px;overflow:hidden;background:#f1f5f9;flex-shrink:0; }
.shop-order-product-img img { width:100%;height:100%;object-fit:cover; }
.shop-order-product-info { flex:1;display:flex;flex-direction:column;gap:2px; }
.shop-order-product-name { font-size:13px;font-weight:800;color:#0f172a;line-height:1.4; }
.shop-order-product-qty { font-size:12px;color:#94a3b8; }
.shop-order-product-price { font-size:15px;font-weight:900;color:#ef4444; }
.shop-order-info { font-size:13px;color:#64748b;line-height:1.7; }
.shop-order-info span { color:#0f172a;font-weight:600; }

/* 商品分类宫格（轮播图与商品列表之间，一行4个） */
.shop-cat-wrap { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:14px 10px 8px;margin-top:14px;box-shadow:0 4px 14px rgba(15,23,42,.05); }
.shop-cat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px; }
.shop-cat-item { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:6px 2px;text-decoration:none;border-radius:12px;transition:transform .2s ease,background .2s ease; }
.shop-cat-item:active { transform:scale(.94);background:rgba(37,99,235,.06); }
.shop-cat-icon {
  width:52px;height:52px;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,#e0f2fe,#cffafe);
  display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:900;color:#2563eb;
  box-shadow:inset 0 0 0 1px rgba(147,197,253,.35);
}
.shop-cat-icon img { width:100%;height:100%;object-fit:cover; }
.shop-cat-icon.is-active { background:linear-gradient(90deg,#2563eb,#06b6d4);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.35),inset 0 0 0 1px rgba(255,255,255,.25); }
.shop-cat-item .shop-cat-name { transition:color .2s; }
.shop-cat-icon.is-active + .shop-cat-name { color:#2563eb; }
.shop-cat-name { font-size:11px;font-weight:800;color:#334155;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.shop-cat-toggle {
  display:flex;align-items:center;justify-content:center;gap:4px;
  width:100%;border:none;background:transparent;cursor:pointer;font-family:inherit;
  padding:8px 0 6px;margin-top:2px;
  font-size:11px;font-weight:800;color:#64748b;
}
.shop-cat-toggle i { font-style:normal;font-size:10px;transition:transform .2s; }
.shop-cat-toggle:active { color:#2563eb; }

/* 快捷功能宫格（首页） */
.shop-quick-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px; }
.shop-quick-item {
  background:rgba(255,255,255,.86);backdrop-filter:blur(10px);
  border:1px solid rgba(147,197,253,.22);border-radius:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:14px 4px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;
  box-shadow:0 4px 14px rgba(15,23,42,.05);
}
.shop-quick-item:active { transform:scale(.94); }
.shop-quick-item i { font-size:22px;font-style:normal;line-height:1; }
.shop-quick-item span { font-size:11px;font-weight:800;color:#334155; }
.shop-quick-item em { font-size:9px;color:#94a3b8;font-style:normal;font-weight:600; }

/* 服务保障条 */
.shop-svc-bar { display:flex;justify-content:space-around;align-items:center;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);border:1px solid rgba(147,197,253,.2);border-radius:14px;padding:10px 8px;margin-top:14px; }
.shop-svc-bar span { font-size:10px;color:#64748b;font-weight:700;display:flex;align-items:center;gap:4px; }
.shop-svc-bar b { font-size:13px; }

/* Toast */
.shop-toast {
  position:fixed;top:20px;left:50%;transform:translateX(-50%);
  padding:12px 24px;border-radius:999px;font-size:14px;font-weight:700;
  z-index:9999;animation:shopSlideDown .3s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}
.shop-toast.ok { background:rgba(16,185,129,.96);color:#fff; }
.shop-toast.err { background:rgba(239,68,68,.96);color:#fff; }
@keyframes shopSlideDown { from{opacity:0;transform:translate(-50%,-20px);} to{opacity:1;transform:translate(-50%,0);} }

/* 空状态 */
.shop-empty { text-align:center;padding:60px 20px;color:#94a3b8; }
.shop-empty-icon { font-size:52px;margin-bottom:12px; }
.shop-empty-text { font-size:14px; }
.shop-empty .shop-success-btn { margin-top:18px; }

/* 成功页 */
.shop-success { text-align:center;padding:40px 20px; }
.shop-success-icon { font-size:64px;margin-bottom:16px; }
.shop-success-title { font-size:22px;font-weight:900;color:#059669;margin-bottom:8px; }
.shop-success-sub { font-size:14px;color:#64748b;margin-bottom:16px; }
.shop-success-amount { font-size:24px;font-weight:900;color:#ef4444;margin-bottom:20px; }
.shop-success-btn { display:inline-block;padding:12px 32px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4);color:#fff;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 8px 20px rgba(34,199,188,.3); }

/* 搜索栏 */
.shop-search { display:flex;gap:10px;margin-bottom:16px; }
.shop-search input { flex:1; }
.shop-search button { white-space:nowrap; }

/* 底部 tab 栏 */
.shop-tabbar {
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:480px;z-index:200;
  background:rgba(255,255,255,.97);backdrop-filter:blur(16px);
  border-top:1px solid rgba(147,197,253,.25);
  display:flex;padding:6px 0 env(safe-area-inset-bottom,6px);
}
.shop-tab { flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:#94a3b8;text-decoration:none;font-size:11px;font-weight:600;transition:color .2s; }
.shop-tab-icon { font-size:20px;line-height:1;transition:transform .2s; }
.shop-tab-label { font-size:11px; }
.shop-tab.active { color:#2563eb; }
.shop-tab.active .shop-tab-icon { transform:scale(1.12) translateY(-1px); }
/* 有 tab 栏的页面底部留出空间 */
body.has-tabbar .shop-container { padding-bottom:84px; }

/* 已购买客户评价（展示层）：简洁购买动态风格 */
.shop-detail-reviews { background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid rgba(147,197,253,.22);border-radius:18px;padding:18px;margin-bottom:84px; }
.shop-detail-reviews h3 { font-size:15px;font-weight:900;color:#0f172a;margin-bottom:12px;display:flex;align-items:center;gap:6px; }
.shop-detail-reviews h3::before { content:'';width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,#2563eb,#22c7bc); }
.shop-review-list { display:flex;flex-direction:column;gap:0; }
.shop-review-item { display:flex;align-items:baseline;gap:8px;padding:10px 2px;border-bottom:1px solid #f1f5f9;font-size:12px;line-height:1.6; }
.shop-review-item:last-child { border-bottom:none; }
.shop-review-nick { color:#334155;font-weight:800;flex-shrink:0; }
.shop-review-text { color:#475569;flex:1;min-width:0; }
.shop-review-date { color:#94a3b8;font-size:10px;flex-shrink:0;white-space:nowrap; }
@media(max-width:480px) {
  .shop-detail-reviews { padding:16px; }
  .shop-review-item { flex-wrap:wrap;gap:4px 8px; }
}

/* 响应式 */
@media(max-width:480px) {
  .shop-container { padding:12px; }
  .shop-list { grid-template-columns:1fr 1fr;gap:10px; }
  .shop-card-body { padding:8px 10px 10px; }
  .shop-card-name { font-size:12px;min-height:34px; }
  .shop-card-price .now { font-size:17px; }
  .shop-detail-info,.shop-detail-desc,.shop-form { padding:16px; }
  .shop-detail-name { font-size:16px; }
  .shop-detail-price .now { font-size:26px; }
  .shop-quick-grid { gap:8px; }
}

/* ===== mz-tabbar：底部四 tab（全商城页面统一，与首页一致） ===== */
.mz-tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:60;
  max-width:520px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
  background:rgba(255,255,255,.96); backdrop-filter:blur(14px);
  border-top:1px solid #EDF0F5;
  padding:6px 0 calc(6px + env(safe-area-inset-bottom));
}
.mz-tab{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  text-decoration:none; color:#9AA3B5;
  transition:color .15s;
}
.mz-tab span{ font-size:11px; font-weight:600; }
.mz-tab.active{ color:#1F7BFF; }
.mz-tab:active{ transform:scale(.92); }
