/* ===== 三基石供应链 网上商城（电脑网页版，NIUSHOP web 风格） ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Segoe UI", Arial, sans-serif; font-size: 14px; color: #333; background: #f5f6f8; }
a { text-decoration: none; color: inherit; cursor: pointer; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea { outline: none; font-family: inherit; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* ========== 顶部（NIUSHOP 风格） ========== */
.site-head { background: #fff; border-bottom: 1px solid #eee; }
.topline { display: flex; justify-content: space-between; align-items: center; height: 38px; }
.tnav { display: flex; gap: 4px; }
.tnav a { padding: 4px 12px; font-size: 13px; color: #333; }
.tnav a:hover, .tnav a.on { color: #e1251b; }
.tuser { display: flex; align-items: center; gap: 4px; font-size: 13px; color: #333; }
.tuser a { padding: 4px 12px; }
.tuser a:hover { color: #e1251b; }
.drop-wrap { position: relative; }
.drop-trigger { cursor: pointer; padding: 4px 12px; }
.drop-menu { display: none; position: absolute; top: 30px; right: 0; background: #fff; border: 1px solid #eee;
  border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.12); min-width: 120px; z-index: 60; padding: 6px 0; }
.drop-menu a { display: block; padding: 9px 18px; font-size: 13px; color: #333; }
.drop-menu a:hover { background: #f7f8fa; color: #e1251b; }
.drop-wrap:hover .drop-menu, .drop-wrap.open .drop-menu { display: block; }

.midline { display: flex; align-items: center; gap: 20px; padding: 12px 16px; }
.brand { font-size: 22px; font-weight: 700; color: #e1251b; letter-spacing: 1px; flex-shrink: 0; }
.brand small { font-size: 12px; color: #999; font-weight: 400; margin-left: 8px; }
.searchbox { flex: 1; max-width: 560px; display: flex; height: 38px; border: 2px solid #e1251b; border-radius: 6px; overflow: hidden; background: #fff; }
.scat { display: flex; align-items: center; gap: 4px; padding: 0 14px; background: #f7f8fa; color: #555; font-size: 13px; border-right: 1px solid #eee; cursor: pointer; }
.searchbox input { flex: 1; border: none; padding: 0 14px; font-size: 14px; }
.searchbox button { width: 80px; background: #e1251b; color: #fff; font-size: 14px; font-weight: 600; }
.searchbox button:hover { background: #c71f16; }
.cart-link { font-size: 13px; color: #333; flex-shrink: 0; padding: 6px 10px; }
.cart-link:hover { color: #e1251b; }
.caret { font-size: 10px; margin-left: 2px; }

.botline { display: flex; gap: 6px; padding: 0 16px 0; }
.botline a { padding: 9px 16px; font-size: 14px; color: #333; border-bottom: 2px solid transparent; }
.botline a:hover { color: #e1251b; }
.botline a.on { color: #e1251b; border-bottom-color: #e1251b; font-weight: 600; }

/* ========== 店铺信息条（单店页） ========== */
#shopbar { background: linear-gradient(135deg, #1c5d9e, #2f86d6); color: #fff; display: none; }
#shopbar .bar { max-width: 1200px; margin: 0 auto; padding: 14px 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
#shopbar .shop-logo { width: 52px; height: 52px; border-radius: 10px; background: rgba(255,255,255,.25); object-fit: cover; }
#shopbar .sname { font-size: 19px; font-weight: 700; }
#shopbar .sopen { font-size: 11px; background: rgba(255,255,255,.22); border-radius: 12px; padding: 2px 10px; margin-left: 6px; }
#shopbar .sopen.closed { background: rgba(0,0,0,.3); }
#shopbar .smeta { font-size: 12px; opacity: .88; margin-top: 4px; }
#shopbar .sstats { display: flex; gap: 22px; margin-left: auto; text-align: center; }
#shopbar .sstats b { font-size: 17px; display: block; }
#shopbar .sstats span { font-size: 11px; opacity: .85; }

.body { padding: 18px 16px 60px; }

/* ========== 平台首页（店铺街） ========== */
.plat-cats { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.plat-cats a { padding: 8px 20px; border-radius: 20px; background: #fff; color: #555; font-size: 13px; border: 1px solid #e6e9ef; }
.plat-cats a.on { background: #e1251b; color: #fff; border-color: #e1251b; }
.shop-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.shop-card { background: #fff; border-radius: 12px; padding: 16px 18px; cursor: pointer; border: 1px solid #eef0f4; transition: box-shadow .15s; }
.shop-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.sc-head { display: flex; align-items: center; gap: 12px; }
.sc-logo { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; background: #f2f4f7; flex-shrink: 0; }
.sc-name { font-size: 16px; font-weight: 700; }
.sc-badges { margin-top: 4px; display: flex; gap: 6px; }
.sc-badge { font-size: 10px; padding: 1px 8px; border-radius: 8px; background: #f0f2f5; color: #666; }
.sc-badge.red { background: #e1251b; color: #fff; }
.sc-row { display: flex; align-items: center; gap: 12px; margin-top: 10px; font-size: 12px; color: #888; }
.sc-rating { color: #ff8f1f; font-weight: 600; }
.sc-row .sp { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-hot { display: flex; gap: 8px; margin-top: 12px; }
.sc-hot-item { flex: 1; min-width: 0; }
.sc-hot-item img { width: 100%; height: 72px; object-fit: cover; border-radius: 6px; background: #f2f4f7; }
.sc-hot-item .nm { font-size: 11px; color: #666; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-hot-item .pr { font-size: 12px; color: #e1251b; font-weight: 600; }

/* 跨店商品网格 */
.plat-goods { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.goods-card { background: #fff; border-radius: 12px; overflow: hidden; cursor: pointer; border: 1px solid #eef0f4; transition: box-shadow .15s; }
.goods-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.goods-cover { width: 100%; height: 180px; object-fit: cover; background: #f2f4f7; display: block; }
.goods-info { padding: 12px 14px 14px; }
.goods-name { font-size: 14px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 39px; }
.goods-sub { font-size: 12px; color: #aaa; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.goods-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.price { color: #e1251b; font-size: 18px; font-weight: 700; }
.price small { font-size: 12px; }
.goods-sales { font-size: 12px; color: #999; }
.btn-cart { width: 34px; height: 34px; border-radius: 50%; background: #1c5d9e; color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.btn-cart:hover { background: #154a80; }
.shop-tag { font-size: 11px; color: #999; margin-top: 6px; }
.shop-tag b { color: #1c5d9e; font-weight: 600; }
.empty { text-align: center; color: #aaa; padding: 60px 0; }

/* ========== 详情页 ========== */
.detail-layout { display: flex; gap: 24px; align-items: flex-start; flex-wrap: wrap; }
.detail-gallery { flex: 0 0 420px; max-width: 100%; }
.detail-main-img { width: 100%; height: 420px; object-fit: cover; border-radius: 12px; background: #fff; }
.detail-info { flex: 1; min-width: 300px; background: #fff; border-radius: 12px; padding: 22px 24px; }
.detail-name { font-size: 20px; font-weight: 700; line-height: 1.4; }
.detail-sub { color: #888; font-size: 13px; margin-top: 6px; }
.detail-price-row { display: flex; align-items: baseline; gap: 12px; margin: 14px 0; }
.detail-price { color: #e1251b; font-size: 28px; font-weight: 700; }
.detail-orig { color: #bbb; text-decoration: line-through; font-size: 14px; }
.detail-spec { border-top: 1px solid #f0f2f5; padding-top: 14px; }
.spec-group { margin-bottom: 14px; }
.spec-title { font-size: 13px; color: #666; margin-bottom: 8px; }
.spec-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.spec-opt { padding: 8px 18px; border: 1px solid #d9dde3; border-radius: 6px; background: #fff; font-size: 13px; position: relative; cursor: pointer; }
.spec-opt.on { border-color: #1c5d9e; color: #1c5d9e; background: #eef5fc; }
.spec-opt img { width: 30px; height: 30px; object-fit: cover; border-radius: 4px; vertical-align: middle; margin-right: 6px; }
.qty-row { display: flex; align-items: center; gap: 10px; border-top: 1px solid #f0f2f5; padding: 14px 0; }
.qty-row .k { color: #666; font-size: 13px; }
.qty-btn { width: 32px; height: 32px; border: 1px solid #d9dde3; border-radius: 6px; background: #fff; font-size: 16px; }
.qty-val { width: 46px; text-align: center; font-size: 15px; }
.detail-actions { display: flex; gap: 12px; margin-top: 8px; }
.btn-addcart { flex: 1; height: 44px; background: #ff8f1f; color: #fff; font-size: 15px; border-radius: 8px; font-weight: 600; }
.btn-buy { flex: 1; height: 44px; background: #e1251b; color: #fff; font-size: 15px; border-radius: 8px; font-weight: 600; }
.btn-addcart:hover { background: #e67e12; }
.btn-buy:hover { background: #c71f16; }
.detail-below { margin-top: 24px; }
.detail-tabs { display: flex; gap: 4px; border-bottom: 2px solid #e6e9ef; }
.detail-tabs a { padding: 10px 22px; font-size: 14px; color: #555; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; }
.detail-tabs a.on { color: #1c5d9e; border-bottom-color: #1c5d9e; font-weight: 600; }
.detail-panel { background: #fff; border-radius: 0 0 12px 12px; padding: 20px 24px; min-height: 120px; }
.detail-panel img { max-width: 100%; }
.detail-panel table { border-collapse: collapse; width: 100%; }
.detail-panel th, .detail-panel td { border: 1px solid #e6e9ef; padding: 8px 12px; text-align: left; font-size: 13px; }
.series-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.series-item { width: 110px; text-align: center; cursor: pointer; border: 1px solid #eef0f4; border-radius: 8px; padding: 8px; background: #fff; }
.series-item.on { border-color: #1c5d9e; }
.series-item img { width: 90px; height: 90px; object-fit: cover; border-radius: 6px; }
.series-item .nm { font-size: 12px; color: #666; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ========== 购物车 / 结算 / 订单 ========== */
.cart-list { background: #fff; border-radius: 12px; overflow: hidden; }
.cart-item { display: flex; align-items: center; gap: 14px; padding: 14px 20px; border-bottom: 1px solid #f0f2f5; }
.cart-item img { width: 70px; height: 70px; border-radius: 8px; object-fit: cover; background: #f2f4f7; }
.cart-item .nm { font-size: 14px; font-weight: 600; }
.cart-item .sp { font-size: 12px; color: #999; margin-top: 4px; }
.cart-item .pr { color: #e1251b; font-weight: 700; font-size: 15px; }
.cart-sum { display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 16px 20px; background: #fff; border-radius: 0 0 12px 12px; }
.cart-total { font-size: 15px; color: #333; }
.cart-total b { color: #e1251b; font-size: 20px; }
.btn-checkout { height: 42px; padding: 0 30px; background: #e1251b; color: #fff; border-radius: 8px; font-size: 15px; font-weight: 600; }
.btn-checkout:hover { background: #c71f16; }
.form-row { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.form-row > label { width: 84px; text-align: right; color: #555; flex-shrink: 0; }
.form-row input, .form-row textarea { flex: 1; max-width: 420px; height: 36px; border: 1px solid #d9dde3; border-radius: 6px; padding: 0 12px; font-size: 14px; }
.form-row textarea { height: auto; min-height: 60px; padding: 8px 12px; resize: vertical; }
.form-row input:focus, .form-row textarea:focus { border-color: #e1251b; }
.order-card { background: #fff; border-radius: 10px; padding: 16px 20px; margin-bottom: 12px; }
.order-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 13px; color: #888; }
.order-status { color: #1c5d9e; font-weight: 600; }
.order-item-row { display: flex; justify-content: space-between; font-size: 13px; color: #555; padding: 3px 0; }
.order-total { text-align: right; margin-top: 10px; font-size: 14px; }
.order-total b { color: #e1251b; font-size: 17px; }

/* ========== 登录/注册/入驻 弹窗 ========== */
#mask { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 90; }
.modal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #fff;
  border-radius: 14px; z-index: 100; width: 430px; max-width: 92vw; box-shadow: 0 18px 48px rgba(0,0,0,.25); overflow: visible; }
.modal .m-head { display: flex; align-items: center; justify-content: flex-end; padding: 10px 14px 0; }
.modal .m-close { position: absolute; top: -12px; right: -10px; width: 28px; height: 28px; background: #fff; color: #666;
  font-size: 15px; display: flex; align-items: center; justify-content: center; border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0,0,0,.18); cursor: pointer; line-height: 1; }
.modal .m-close:hover { color: #e1251b; }
.m-tabs { display: flex; justify-content: center; gap: 64px; margin: 8px 24px 0; }
.m-tabs a { padding: 12px 4px; font-size: 16px; color: #555; cursor: pointer; position: relative; }
.m-tabs a.on { color: #e1251b; font-weight: 600; }
.m-tabs a.on::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); bottom: 4px; width: 24px; height: 3px; border-radius: 2px; background: #e1251b; }
.m-body { padding: 26px 42px 30px; }
.f-field { position: relative; margin-bottom: 14px; }
.f-prefix { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; z-index: 1; }
.f-prefix svg { width: 20px; height: 20px; }
.f-field input { width: 100%; height: 50px; border: 1px solid #ccc; border-radius: 8px; padding: 0 12px 0 46px; font-size: 14px; background: #fff; box-sizing: border-box; }
.f-field input:focus { border-color: #e1251b; }
.f-code { display: flex; gap: 10px; }
.f-code input { flex: 1; }
.f-code button { width: 110px; height: 50px; border: 1px solid #ccc; border-radius: 8px; background: #fff; color: #e1251b; font-size: 13px; }
.f-code button:hover { border-color: #e1251b; }
.m-switch { text-align: center; margin: 12px 0 18px; font-size: 14px; color: #e1251b; cursor: pointer; }
.m-switch a { color: #e1251b; font-weight: 600; }
.m-submit { display: block; width: auto; margin: 0 auto; padding: 0 48px; height: 40px; background: #e1251b; color: #fff;
  border-radius: 4px; font-size: 15px; font-weight: 600; }
.m-submit:hover { background: #c71f16; }
.m-agree { font-size: 12px; color: #999; display: flex; align-items: center; justify-content: center; gap: 6px; margin: 18px 0 0; }
.m-agree input { width: auto; height: auto; accent-color: #e1251b; }
.m-agree a { color: #1c5d9e; }
.m-hint { font-size: 12px; color: #aaa; margin-top: 10px; text-align: center; line-height: 1.6; }
.m-hint b { color: #e1251b; }

/* 二维码登录（NIUSHOP 微信扫码弹窗同款结构） */
.qr-icon { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; cursor: pointer;
  border-radius: 8px; margin-right: 6px; }
.qr-icon:hover { background: #f5f6f8; }
.qr-ico { width: 22px; height: 22px; }
.acct-icon { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer;
  border-radius: 50%; }
.acct-icon:hover { background: #f5f6f8; }
.acct-ico { width: 30px; height: 30px; }
.qr-login { padding: 18px 30px 44px; text-align: center; }
.qr-title { font-size: 20px; font-weight: 700; color: #333; }
.qrcode { display: inline-block; margin-top: 30px; padding: 10px; border: 1px solid #e0e2e6; border-radius: 8px; background: #fff; line-height: 0; }
.qr-svg { width: 200px; height: 200px; display: block; }
.qr-tip { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 16px; font-size: 14px; color: #999; }
.wx-ico { width: 18px; height: 18px; }
.qr-login .m-hint { text-align: center; margin-top: 12px; }

/* 右侧悬浮工具条（NIUSHOP 同款） */
.float-tools { position: fixed; right: 18px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column;
  gap: 10px; z-index: 50; }
.float-tools a { width: 52px; height: 52px; background: #fff; border: 1px solid #eee; border-radius: 8px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 10px; color: #555;
  box-shadow: 0 2px 8px rgba(0,0,0,.06); cursor: pointer; position: relative; }
.float-tools a:hover { color: #e1251b; border-color: #e1251b; }
.float-tools .ic { font-size: 19px; margin-bottom: 2px; }
.cart-badge { position: absolute; top: 2px; right: 2px; background: #e1251b; color: #fff; font-size: 10px;
  border-radius: 10px; padding: 0 5px; min-width: 16px; text-align: center; line-height: 16px; }

.toast { position: fixed; top: 80px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,.78);
  color: #fff; padding: 10px 22px; border-radius: 8px; font-size: 14px; z-index: 200; display: none; }

/* ========== 手机商城下拉 ========== */
.mobile-menu { width: 290px; padding: 14px; display: none; }
.drop-wrap:hover .mobile-menu, .drop-wrap.open .mobile-menu { display: flex; gap: 12px; }
.mcell { flex: 1; text-align: center; }
.mcell-t { font-size: 13px; color: #333; font-weight: 600; margin-bottom: 8px; }
.qr-box { width: 100%; aspect-ratio: 1; border: 1px dashed #ccc; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #fafbfc; }
.qr-in { font-size: 11px; color: #999; text-align: center; line-height: 1.7; }
.mcell-d { font-size: 11px; color: #999; margin-top: 6px; }

/* ========== 平台首页 hero 三栏 ========== */
.hero { display: flex; gap: 14px; margin-bottom: 18px; }
.hero-left { width: 210px; flex-shrink: 0; background: #fff; border-radius: 12px; padding: 10px 0; border: 1px solid #eef0f4; }
.hero-left .cat-title { font-size: 14px; font-weight: 700; color: #333; padding: 6px 16px 10px; border-bottom: 1px solid #f2f4f7; }
.hero-left .cat-item { padding: 8px 14px; font-size: 13px; color: #555; cursor: pointer; display: flex; align-items: center; justify-content: space-between; }
.hero-left .cat-item:hover, .hero-left .cat-item.on { background: #fff7f5; color: #e1251b; }
.hero-left .cat-item .caret { color: #ccc; font-size: 15px; }
.hero-left .ci-main { flex: 1; min-width: 0; }
.hero-left .ci-name { font-size: 13px; }
.hero-left .ci-sub { font-size: 11px; color: #999; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero-left .cat-item:hover .ci-sub, .hero-left .cat-item.on .ci-sub { color: #e08a82; }
.cat-promo { margin: 10px 12px 4px; border-top: 1px dashed #eee; padding-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.promo-card { border-radius: 8px; padding: 10px 12px; color: #fff; cursor: pointer; }
.promo-card .pc-t { font-size: 13px; font-weight: 700; }
.promo-card .pc-d { font-size: 11px; opacity: .95; margin-top: 2px; }
.promo-card:hover { filter: brightness(1.08); }
.promo-1 { background: linear-gradient(135deg, #ff8f1f, #e1251b); }
.promo-2 { background: linear-gradient(135deg, #1c5d9e, #2f86d6); }
.hero-middle { flex: 1; min-width: 0; position: relative; border-radius: 12px; overflow: hidden; height: 300px; }
.banner { position: absolute; inset: 0; display: none; padding: 28px 32px; color: #fff; }
.banner.on { display: block; }
.banner.b1 { background: linear-gradient(135deg, #e1251b, #ff8f1f); }
.banner.b2 { background: linear-gradient(135deg, #1c5d9e, #2f86d6); }
.banner.b3 { background: linear-gradient(135deg, #2a8c5a, #7bc98c); }
.banner .bt { font-size: 26px; font-weight: 700; }
.banner .bd { font-size: 14px; opacity: .92; margin-top: 12px; line-height: 1.8; }
.banner .bb { display: inline-block; margin-top: 18px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.5);
  padding: 8px 22px; border-radius: 20px; font-size: 13px; }
.banner .bdec { position: absolute; right: 40px; top: 50%; transform: translateY(-50%); font-size: 90px; opacity: .18; font-weight: 800; }
.banner-dots { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.banner-dots i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; }
.banner-dots i.on { background: #fff; width: 18px; border-radius: 4px; }
.hero-right { width: 250px; flex-shrink: 0; display: flex; flex-direction: column; gap: 14px; }
.hero-login { background: #fff; border-radius: 12px; padding: 16px 18px; border: 1px solid #eef0f4; }
.hl-hi { font-size: 14px; color: #666; }
.hl-user { font-size: 17px; font-weight: 700; margin-top: 2px; }
.hl-btns { display: flex; gap: 10px; margin-top: 12px; }
.hl-btns .b1 { flex: 1; height: 34px; background: #e1251b; color: #fff; border-radius: 6px; font-size: 13px; }
.hl-btns .b2 { flex: 1; height: 34px; background: #fff; color: #e1251b; border: 1px solid #e1251b; border-radius: 6px; font-size: 13px; }
.hero-news { background: #fff; border-radius: 12px; padding: 14px 16px; flex: 1; border: 1px solid #eef0f4; }
.hn-title { font-size: 13px; font-weight: 700; color: #333; margin-bottom: 10px; }
.hn-item { font-size: 12px; color: #777; padding: 7px 0; border-bottom: 1px dashed #f0f2f5; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hn-item:last-child { border-bottom: none; }
.hn-item:hover { color: #e1251b; }
.hn-item .date { color: #bbb; font-size: 11px; margin-left: 6px; }
.hero-links { display: flex; gap: 8px; }
.hero-links a { flex: 1; text-align: center; background: #fff; border-radius: 8px; padding: 12px 4px; font-size: 12px; color: #555; border: 1px solid #eef0f4; }
.hero-links a:hover { color: #e1251b; border-color: #e1251b; }

/* 悬停联动商品面板（右侧下方） */
.hover-panel { background: #fff; border-radius: 12px; padding: 16px 18px; border: 1px solid #eef0f4; }
.hp-title { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.hp-title b { color: #e1251b; }
.hp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.hp-item { cursor: pointer; }
.hp-item img { width: 100%; height: 120px; object-fit: cover; border-radius: 8px; background: #f2f4f7; }
.hp-item .nm { font-size: 12px; color: #555; margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hp-item .pr { font-size: 14px; color: #e1251b; font-weight: 700; margin-top: 3px; }
.hp-item .shop { font-size: 11px; color: #999; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ========== footer ========== */
.site-foot { background: #fff; border-top: 1px solid #eee; margin-top: 30px; }
.foot-sec { display: flex; gap: 34px; justify-content: center; padding: 22px 0 10px; font-size: 13px; color: #666; flex-wrap: wrap; }
.foot-sec span::before { content: '✓ '; color: #e1251b; font-weight: 700; }
.foot-copy { text-align: center; padding: 6px 0 22px; font-size: 12px; color: #aaa; }
