/* 初映实物商城：商品购买盒 / 购物车 / 结算 */
:root { --lx-shop-primary: var(--lx-primary, #6c5ce7); }

/* ---------- 商品页购买盒（[lx_shop_buy]） ---------- */
.lx-shop-buy {
  border: 1px solid #eee; border-radius: 12px; padding: 16px;
  background: linear-gradient(135deg, #faf9ff, #f4f2ff); margin: 16px 0;
}
.lx-sb-price { font-size: 22px; color: #e17055; margin-bottom: 10px; }
.lx-sb-price b { font-size: 28px; }
.lx-sb-meta { font-size: 13px; color: #888; margin-left: 12px; }
.lx-sb-acts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lx-sb-qty { width: 70px; padding: 8px; border: 1px solid #ddd; border-radius: 8px; }
.lx-sb-note { margin: 10px 0 0; font-size: 13px; color: #888; }

/* ---------- 购物车页 ---------- */
.lx-cart-page { padding: 20px 0 40px; }
.lx-cart-title { font-size: 22px; margin: 0 0 16px; }
.lx-cart-grid { display: grid; grid-template-columns: 1fr 340px; gap: 18px; align-items: start; }
@media (max-width: 860px) { .lx-cart-grid { grid-template-columns: 1fr; } }

.lx-cart-rows { background: #fff; border: 1px solid #eee; border-radius: 12px; overflow: hidden; }
.lx-cart-row {
  display: grid; grid-template-columns: 32px 72px 1fr 90px 110px 90px 34px;
  gap: 10px; align-items: center; padding: 14px 16px; border-bottom: 1px solid #f2f2f2;
}
.lx-cart-row:last-child { border-bottom: 0; }
.lx-cart-row.invalid { opacity: .55; }
.lx-cart-row .lx-cr-thumb img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; display: block; }
.lx-cart-row .lx-noimg { width: 72px; height: 72px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #fff; }
.lx-cr-info a { color: #333; text-decoration: none; font-weight: 600; display: block; }
.lx-cr-info a:hover { color: var(--lx-shop-primary); }
.lx-cr-meta { font-size: 12px; color: #999; }
.lx-cr-price { color: #e17055; font-weight: 600; }
.lx-cr-sub { color: #e17055; font-weight: 700; text-align: right; }
.lx-qty-inp { width: 70px; padding: 6px 8px; border: 1px solid #ddd; border-radius: 8px; }
.lx-cr-del {
  border: 0; background: transparent; color: #bbb; font-size: 20px; cursor: pointer; line-height: 1;
}
.lx-cr-del:hover { color: #d63638; }
.lx-ck { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.lx-ck input { width: 16px; height: 16px; accent-color: var(--lx-shop-primary); }

.lx-cart-bar {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 12px 16px; margin-top: 12px;
  position: sticky; bottom: 70px;
}
.lx-cart-cnt { color: #888; font-size: 13px; }
.lx-cart-free { color: #e17055; font-size: 13px; }
.lx-cart-total { margin-left: auto; font-size: 15px; }
.lx-cart-total b { color: #e17055; font-size: 20px; }
.lx-cart-empty { text-align: center; padding: 60px 0; color: #999; background: #fff; border: 1px solid #eee; border-radius: 12px; }
.lx-cart-empty p { font-size: 16px; margin: 0 0 16px; }

/* ---------- 结算区 ---------- */
.lx-cart-checkout {
  background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 18px;
  position: sticky; top: 80px;
}
.lx-cart-checkout h3 { margin: 0 0 12px; font-size: 17px; }
.lx-co-sec { margin-bottom: 14px; }
.lx-co-sec h4 { margin: 0 0 8px; font-size: 14px; color: #555; }
.lx-co-rows { display: flex; gap: 8px; }
.lx-co-rows input { flex: 1; }
.lx-cart-checkout input[type="text"], .lx-cart-checkout input[type="tel"] {
  width: 100%; padding: 9px 12px; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 8px; box-sizing: border-box;
}
.lx-co-coupon-msg { font-size: 12px; color: #999; margin: 0; }
.lx-co-note { font-size: 13px; color: #888; background: #fafafa; border-radius: 8px; padding: 8px 10px; }
.lx-co-sum { border-top: 1px dashed #eee; padding-top: 10px; margin: 10px 0; }
.lx-co-sum p { display: flex; justify-content: space-between; margin: 6px 0; font-size: 14px; color: #666; }
.lx-co-sum .lx-sum-pay { font-size: 16px; color: #333; }
.lx-co-sum .lx-sum-pay b { color: #e17055; font-size: 22px; }
.lx-co-sum .lx-down { color: #2bc386; }
.lx-co-freeship { color: #e17055; font-size: 12px; }
.lx-cart-login { color: #888; font-size: 14px; }

/* 收银弹窗二维码 */
#lx-co-pay-body { text-align: center; padding: 10px 0; }
#lx-co-pay-body img { width: 220px; height: 220px; }
#lx-co-pay-body .lx-qr-tip { color: #888; font-size: 13px; }

/* 用户中心 myshop pane 内售后弹窗复用 .lx-modal 基础样式 */
#lx-as-modal select, #lx-as-modal textarea {
  width: 100%; padding: 9px 12px; border: 1px solid #ddd; border-radius: 8px; box-sizing: border-box;
}

/* ---------- 头部购物车图标 ---------- */
.lx-cart-icon { position: relative; display: inline-flex; align-items: center; color: inherit; padding: 4px; }
.lx-cart-icon:hover { color: var(--lx-shop-primary); }
.lx-cart-icon .lx-badge { position: absolute; top: -4px; right: -6px; }

/* ---------- 商品列表页（商城设置驱动） ---------- */
.lx-layout.lx-no-side { grid-template-columns: 1fr; }
.lx-shop-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.lx-shop-top .lx-page-title { margin: 0; }
.lx-shop-acts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lx-vendor-state { font-size: 13px; color: #888; background: #f5f5f7; border-radius: 8px; padding: 7px 14px; }
.lx-vendor-state.ok { color: #2bc386; background: #eafaf2; }

.lx-shop-grid { display: grid; grid-template-columns: repeat(var(--cd, 4), 1fr); gap: 14px; }
@media (max-width: 767px) { .lx-shop-grid { grid-template-columns: repeat(var(--cm, 2), 1fr); gap: 10px; } }

.lx-pcard {
  background: #fff; border: 1px solid #eee; border-radius: 12px; overflow: hidden;
  display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s;
}
.lx-pcard:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.lx-pcard .lx-pc-thumb { display: block; position: relative; line-height: 0; width: 100%; }
.lx-pcard .lx-pc-thumb img, .lx-pcard .lx-pc-thumb .lx-noimg {
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
.lx-pcard .lx-pc-thumb .lx-noimg { display: flex; align-items: center; justify-content: center; color: #fff; font-size: 18px; }
.lx-pc-mask {
  position: absolute; inset: 0; background: rgba(0, 0, 0, .45); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 16px; letter-spacing: 4px;
}
.lx-pc-body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.lx-pc-title { font-size: 14px; margin: 0; line-height: 1.45; font-weight: 600; }
.lx-pc-title a { color: #333; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lx-pc-title a:hover { color: var(--lx-shop-primary); }
.lx-pc-meta { display: flex; gap: 8px; font-size: 12px; color: #999; flex-wrap: wrap; align-items: center; }
.lx-pc-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.lx-pc-price { color: #e17055; font-weight: 600; font-size: 13px; }
.lx-pc-price b { font-size: 18px; }
.lx-pc-btns { display: flex; gap: 6px; align-items: center; }
.lx-pc-sold { font-size: 12px; color: #bbb; }

/* 卡片样式：图左文右 / 图右文左 / 文字列表 */
.lx-cs-left .lx-pcard, .lx-cs-right .lx-pcard { flex-direction: row; }
.lx-cs-left .lx-pc-thumb, .lx-cs-right .lx-pc-thumb { width: 110px; flex: none; max-width: 110px !important; }
.lx-cs-right .lx-pcard { flex-direction: row-reverse; }
.lx-cs-none .lx-pcard { flex-direction: row; align-items: center; padding: 4px 14px; }
.lx-cs-none .lx-pc-body { flex-direction: row; align-items: center; gap: 14px; padding: 8px 0; }
.lx-cs-none .lx-pc-title { flex: 1; min-width: 0; }
.lx-cs-none .lx-pc-title a { -webkit-line-clamp: 1; }
.lx-cs-none .lx-pc-foot { margin-top: 0; flex: none; }
@media (max-width: 767px) {
  .lx-cs-left .lx-pc-thumb, .lx-cs-right .lx-pc-thumb { width: 84px; max-width: 84px !important; }
  .lx-cs-none .lx-pc-body { flex-direction: column; align-items: flex-start; }
}

#lx-shop-more { display: block; margin: 18px auto 0; padding: 9px 34px; }

/* ---------- 商城侧栏 ---------- */
.lx-shop-side .lx-hot li span { color: #999; font-size: 12px; flex: none; margin-left: 6px; }

/* ---------- 详情页购买盒补充 ---------- */
.lx-sb-sold { color: #bbb; font-size: 14px; padding: 8px 0; }
.lx-product-gallery .lx-pg-item { display: inline-block; max-width: 100%; }
.lx-product-gallery .lx-pg-item img { width: 100%; height: auto; border-radius: 10px; }

/* ---------- 购物车页补充 ---------- */
.lx-cart-back { font-size: 13px; font-weight: 400; color: #888; text-decoration: none; margin-left: 14px; }
.lx-cart-back:hover { color: var(--lx-shop-primary); }
.lx-co-tip { font-size: 12px; color: #999; margin: 8px 0 0; }
.lx-co-terms { margin: 10px 0; font-size: 13px; }
.lx-co-terms a { color: var(--lx-shop-primary); }
.lx-terms-body { font-size: 14px; line-height: 1.8; color: #555; max-height: 50vh; overflow: auto; }
.lx-terms-body p { margin: 6px 0; }

/* 深色模式 */
html.lx-dark .lx-pcard, html.lx-dark .lx-shop-side .lx-widget { background: var(--lx-card); border-color: #333; }
html.lx-dark .lx-pc-title a { color: var(--lx-text); }
html.lx-dark .lx-cart-back, html.lx-dark .lx-co-tip { color: #999; }
