/* ===== RESET & BASE ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: #333; background: #f5f5f5; line-height: 1.6; }
a { color: #2563eb; text-decoration: none; }
a:hover { color: #1e40af; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* ===== HERO 主推横幅 ===== */
.hero-banner { position: relative; background: #1e3a5f; color: #fff; overflow: hidden; }
.hero-slides { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; animation: heroFade 18s infinite; }
.hero-slide:nth-child(1) { animation-delay: 0s; }
.hero-slide:nth-child(2) { animation-delay: 6s; }
.hero-slide:nth-child(3) { animation-delay: 12s; }
@keyframes heroFade {
  0% { opacity: 0; }
  6% { opacity: 1; }
  30% { opacity: 1; }
  38% { opacity: 0; }
  100% { opacity: 0; }
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(15,35,70,0.82) 0%, rgba(15,35,70,0.55) 45%, rgba(15,35,70,0.25) 100%); }
.hero-content { position: relative; padding: 72px 16px; }
.hero-content h1 { font-size: 38px; font-weight: 800; margin-bottom: 12px; letter-spacing: 0.5px; text-shadow: 0 2px 12px rgba(0,0,0,0.3); }
.hero-content p { font-size: 18px; opacity: 0.92; margin-bottom: 24px; max-width: 640px; text-shadow: 0 1px 8px rgba(0,0,0,0.3); }
.hero-cta { display: inline-block; background: #fff; color: #1e3a5f; font-weight: 700; padding: 12px 28px; border-radius: 999px; font-size: 16px; transition: transform 0.2s; }
.hero-cta:hover { transform: translateY(-2px); color: #1e40af; }
@media (max-width: 640px) { .hero-content { padding: 30px 16px 26px; } .hero-content h1 { font-size: 21px; margin-bottom: 6px; } .hero-content p { font-size: 13px; margin-bottom: 12px; } .hero-cta { padding: 8px 18px; font-size: 13px; } }

/* ===== 信任条 ===== */
.trust-bar { background: #fff; border-bottom: 1px solid #e5e7eb; }
.trust-inner { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
.trust-item { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #1e3a5f; }

/* ===== 悬浮 WhatsApp ===== */
.whatsapp-float { position: fixed; bottom: 24px; right: 24px; width: 60px; height: 60px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(37,211,102,0.4); z-index: 999; transition: transform 0.2s; }
.whatsapp-float:hover { transform: scale(1.1); color: #fff; }
@media (max-width: 640px) { .whatsapp-float { bottom: 16px; right: 16px; width: 54px; height: 54px; } }
/* 多账号弹层 */
.wa-float-wrapper { position: fixed; bottom: 24px; right: 24px; z-index: 999; }
.wa-float-wrapper .whatsapp-float { position: static; box-shadow: 0 6px 20px rgba(37,211,102,0.4); }
.wa-float-badge { position: absolute; top: -2px; right: -2px; background: #ef4444; color: #fff; font-size: 11px; font-weight: 700; min-width: 20px; height: 20px; border-radius: 999px; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.wa-panel { position: absolute; bottom: 72px; right: 0; width: 250px; background: #fff; border-radius: 14px; box-shadow: 0 10px 40px rgba(0,0,0,0.18); padding: 12px; opacity: 0; transform: translateY(12px) scale(0.96); pointer-events: none; transition: opacity 0.2s, transform 0.2s; }
.wa-panel.open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.wa-panel-title { font-size: 13px; font-weight: 700; color: #1e3a5f; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid #f0f0f0; }
.wa-panel-item { display: flex; align-items: center; gap: 10px; padding: 10px 8px; border-radius: 10px; font-size: 14px; font-weight: 600; color: #334155; }
.wa-panel-item:hover { background: #f0fdf4; color: #16a34a; }
@media (max-width: 640px) { .wa-float-wrapper { bottom: 16px; right: 16px; } }

/* ===== 详情页采购信息条 ===== */
.sourcing-info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.sourcing-item { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 12px; font-size: 13px; color: #475569; display: flex; align-items: center; gap: 6px; }
@media (max-width: 640px) { .sourcing-info { grid-template-columns: 1fr; } }

/* ===== HEADER ===== */
.site-header { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); position: sticky; top: 0; z-index: 100; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; flex-wrap: wrap; }
.logo { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: 700; color: #1e3a5f; }
.logo-icon { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; }
.search-bar { flex: 1; max-width: 500px; }
.search-form { display: flex; gap: 8px; }
.search-input { flex: 1; padding: 10px 16px; border: 2px solid #e0e0e0; border-radius: 24px; font-size: 14px; outline: none; transition: border-color 0.2s; }
.search-input:focus { border-color: #2563eb; }
.search-btn { padding: 8px 16px; background: #2563eb; color: #fff; border: none; border-radius: 24px; cursor: pointer; font-size: 16px; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.lang-switch { font-size: 14px; font-weight: 600; }
.lang-switch a { color: #666; }
.lang-switch a.active { color: #2563eb; }
.lang-divider { color: #ccc; margin: 0 4px; }
.cart-link { position: relative; font-size: 20px; }
.cart-badge { background: #ef4444; color: #fff; border-radius: 50%; padding: 2px 7px; font-size: 12px; font-weight: 700; }

/* ===== CATEGORY NAV ===== */
.category-nav { background: #f8f9fa; border-bottom: 1px solid #e0e0e0; }
.category-nav .container { display: flex; gap: 8px; padding-top: 8px; padding-bottom: 8px; overflow-x: auto; flex-wrap: wrap; }
.category-nav a { padding: 6px 14px; border-radius: 16px; font-size: 14px; color: #555; white-space: nowrap; transition: all 0.2s; }
.category-nav a:hover { background: #e0e0e0; }
.category-nav a.active { background: #2563eb; color: #fff; }

/* ===== 手机端压缩（让商品尽快上屏）===== */
@media (max-width: 640px) {
  .header-inner { padding: 8px 12px; gap: 8px; }
  .logo { font-size: 17px; gap: 6px; }
  .logo-icon { width: 40px; height: 40px; border-radius: 8px; }
  .search-input { padding: 8px 12px; font-size: 13px; }
  .search-btn { padding: 6px 12px; font-size: 14px; }
  .header-actions { gap: 10px; }
  .category-nav .container { flex-wrap: nowrap; padding-top: 6px; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .category-nav a { padding: 5px 12px; font-size: 13px; }
  /* 信任条压缩为 2x2 */
  .trust-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px 12px; }
  .trust-item { font-size: 12px; gap: 5px; justify-content: center; }
  /* 页面标题压缩 */
  .page-banner { padding: 10px 0 14px; }
  .page-banner h1 { font-size: 20px; }
  /* 商品网格 2 列紧凑 */
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .product-img { height: 130px; }
  .product-info { padding: 8px; }
  .product-name { font-size: 13px; height: 34px; margin-bottom: 4px; }
  .product-price { font-size: 15px; }
  .product-unit { font-size: 11px; }
  .product-moq { font-size: 11px; margin-bottom: 4px; }
}

/* ===== MAIN CONTENT ===== */
.main-content { min-height: 60vh; padding: 24px 16px; }
@media (max-width: 640px) { .main-content { padding: 12px 12px; } }

/* ===== PAGE BANNER ===== */
.page-banner { text-align: center; padding: 20px 0 32px; }
.page-banner h1 { font-size: 28px; color: #1e3a5f; }

/* ===== PRODUCT GRID ===== */
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.product-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.06); transition: transform 0.2s, box-shadow 0.2s; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); }
.product-img-link { display: block; position: relative; }
.product-img { width: 100%; height: 200px; object-fit: cover; background: #f5f5f5; }
.product-img-placeholder { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; background: #f0f0f0; font-size: 48px; }
.badge { position: absolute; top: 8px; left: 8px; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 600; color: #fff; }
.badge-out { background: #ef4444; }
.badge-pre { background: #f59e0b; }
.product-info { padding: 12px; }
.product-name { display: block; font-size: 14px; font-weight: 600; color: #333; margin-bottom: 8px; line-height: 1.4; height: 40px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-name:hover { color: #2563eb; }
.product-price-row { display: flex; align-items: baseline; gap: 4px; margin-bottom: 8px; }
.product-price { font-size: 18px; font-weight: 700; color: #e11d48; }
.product-unit { font-size: 12px; color: #999; }
.product-moq { font-size: 12px; color: #888; margin-bottom: 8px; }
.add-cart-form { display: flex; }
.btn-add-cart { width: 100%; padding: 8px; background: #2563eb; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; transition: background 0.2s; }
.btn-add-cart:hover { background: #1e40af; }
.btn-add-cart:disabled { background: #ccc; cursor: not-allowed; }

/* ===== PAGINATION ===== */
.pagination { display: flex; justify-content: center; gap: 8px; margin: 40px 0; flex-wrap: wrap; }
.page-btn { padding: 8px 14px; border: 1px solid #e0e0e0; border-radius: 8px; color: #555; background: #fff; transition: all 0.2s; }
.page-btn:hover { border-color: #2563eb; color: #2563eb; }
.page-btn.active { background: #2563eb; color: #fff; border-color: #2563eb; }

/* ===== EMPTY STATE ===== */
.empty-state { text-align: center; padding: 60px 20px; }
.empty-icon { font-size: 64px; margin-bottom: 16px; }
.empty-state h2 { color: #666; margin-bottom: 8px; }
.empty-state p { color: #999; margin-bottom: 24px; }

/* ===== PRODUCT DETAIL ===== */
.breadcrumb { font-size: 14px; color: #888; margin-bottom: 20px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.breadcrumb a { color: #2563eb; }
.product-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px; }
@media (max-width: 768px) { .product-detail-grid { grid-template-columns: 1fr; } }
.detail-img, .product-img-placeholder.large { width: 100%; max-height: 500px; object-fit: contain; border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
/* 多图浏览：缩略图 */
.gallery-main { margin-bottom: 12px; }
.gallery-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.gallery-thumb { width: 64px; height: 64px; border: 2px solid #e2e8f0; border-radius: 8px; overflow: hidden; cursor: pointer; background: #fff; }
.gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-thumb.active, .gallery-thumb:hover { border-color: #2563eb; }
.product-img-placeholder.large { height: 400px; font-size: 80px; }
.product-detail-info h1 { font-size: 24px; color: #1e3a5f; margin-bottom: 16px; }
.detail-price { margin-bottom: 20px; }
.price-big { font-size: 32px; font-weight: 700; color: #e11d48; }
.price-unit { font-size: 16px; color: #999; }
.detail-moq { background: #fffbeb; border: 1px solid #fcd34d; padding: 8px 12px; border-radius: 8px; margin-bottom: 20px; font-size: 14px; }
.detail-attr { background: #f0fdf4; border: 1px solid #86efac; padding: 8px 12px; border-radius: 8px; margin-bottom: 12px; font-size: 14px; }
.detail-attr strong { color: #059669; }
.detail-section { margin-bottom: 24px; }
.detail-section h3 { font-size: 16px; color: #1e3a5f; margin-bottom: 8px; border-bottom: 2px solid #e0e0e0; padding-bottom: 4px; }
/* 规格两栏表格：重量 + 尺寸 */
.spec-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.spec-table td { padding: 8px 12px; border-bottom: 1px solid #f0f0f0; }
.spec-table .spec-label { width: 90px; font-weight: 600; color: #475569; background: #f8fafc; }
.specs-content, .desc-content { color: #555; font-size: 14px; }
.detail-add-cart { background: #f9fafb; padding: 20px; border-radius: 12px; }
.form-row { margin-bottom: 16px; }
.form-row label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.form-row .optional { font-weight: 400; color: #999; font-size: 12px; }
.qty-control { display: flex; align-items: center; gap: 8px; }
.qty-control button { width: 36px; height: 36px; border: 1px solid #e0e0e0; background: #fff; border-radius: 8px; cursor: pointer; font-size: 18px; }
.qty-control input { width: 60px; height: 36px; text-align: center; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 16px; }
.text-input { width: 100%; padding: 10px 12px; border: 1px solid #e0e0e0; border-radius: 8px; font-size: 14px; outline: none; transition: border-color 0.2s; }
.text-input:focus { border-color: #2563eb; }
/* 颜色卡片选择（仿 1688） */
.color-option-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.color-option-card { width: 88px; border: 2px solid #e0e0e0; border-radius: 10px; overflow: hidden; cursor: pointer; text-align: center; background: #fff; transition: border-color 0.2s, box-shadow 0.2s; position: relative; }
.color-option-card:hover { border-color: #94a3b8; }
.color-option-card.selected { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2); }
.color-option-card.out-of-stock { opacity: 0.45; cursor: not-allowed; border-color: #e0e0e0; }
.color-option-img { width: 100%; height: 66px; object-fit: cover; display: block; background: #f1f5f9; }
.color-option-placeholder { display: flex; align-items: center; justify-content: center; font-size: 24px; }
.color-option-name { font-size: 11px; padding: 5px 2px; color: #475569; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.color-option-badge { position: absolute; top: 4px; right: 4px; background: #dc2626; color: #fff; font-size: 9px; padding: 1px 5px; border-radius: 4px; }
.color-option-stock { font-size: 9px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 4px; position: absolute; top: 4px; left: 4px; }
/* 颜色卡片内的数量输入框（1688 风格） */
.color-option-card .color-qty { width: calc(100% - 8px); margin: 0 4px 6px; height: 26px; border: 1px solid #cbd5e1; border-radius: 6px; text-align: center; font-size: 13px; outline: none; box-sizing: border-box; }
.color-option-card .color-qty:focus { border-color: #2563eb; }
.color-option-card .color-qty::placeholder { color: #94a3b8; font-size: 11px; }
.color-option-card .color-qty:disabled { background: #f1f5f9; }

/* ===== 1688 风格：颜色 + 规格双行筛选器 + SKU 表格 ===== */
.filter-label { display:block; font-weight:600; color:#1e3a5f; margin-bottom:8px; font-size:14px; }
.filter-pills { display:flex; flex-wrap:wrap; gap:8px; }
.filter-pill { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border:1.5px solid #e2e8f0; border-radius:18px; background:#fff; cursor:pointer; font-size:13px; font-weight:500; color:#475569; transition: all 0.15s; white-space:nowrap; }
.filter-pill:hover { border-color: #94a3b8; color:#1e3a5f; }
.filter-pill.active { border-color: #ea580c; background: #fff7ed; color: #c2410c; box-shadow: inset 0 0 0 1px #ea580c; }
.filter-pill.pill-all { background:#f8fafc; }
.filter-pill-thumb { display:inline-block; width:18px; height:18px; border-radius:50%; background-size:cover; background-position:center; border:1px solid #e2e8f0; flex-shrink:0; }
.filter-pill.no-thumb .filter-pill-thumb { display:none; }
.filter-pill-text { font-size:13px; }

/* ===== 颜色大卡片（1688 风格：大图 + 色号名） ===== */
.filter-cards { display:flex; flex-wrap:wrap; gap:10px; }
.filter-card { display:flex; flex-direction:column; align-items:center; gap:5px; width:84px; padding:7px 6px 5px; border:2px solid #e2e8f0; border-radius:12px; background:#fff; cursor:pointer; transition: border-color 0.15s, box-shadow 0.15s; }
.filter-card:hover { border-color: #94a3b8; }
.filter-card.active { border-color: #ea580c; box-shadow: 0 0 0 2px rgba(234,88,12,0.18); }
.filter-card-img { display:block; width:64px; height:64px; border-radius:8px; background-size:cover; background-position:center; border:1px solid #f1f5f9; overflow:hidden; }
.filter-card-placeholder { display:flex; align-items:center; justify-content:center; font-size:26px; background:#f8fafc; }
.filter-card-all { display:flex; align-items:center; justify-content:center; background:#f8fafc; color:#475569; font-size:13px; font-weight:600; border:1px dashed #cbd5e1; }
.filter-card-name { font-size:11px; color:#475569; max-width:76px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filter-card.active .filter-card-name { color:#c2410c; font-weight:600; }

.sku-section { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:14px; margin-top:4px; }
.sku-match-info { font-size:14px; color:#475569; margin-bottom:10px; }
.sku-match-info strong { color:#ea580c; font-size:18px; font-weight:700; }
.sku-empty { padding:18px; text-align:center; color:#94a3b8; font-size:14px; background:#fff; border-radius:8px; }

.sku-table { width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,0.06); font-size:14px; }
.sku-table thead { background:#f1f5f9; }
.sku-table th { text-align:left; padding:10px 12px; font-size:13px; color:#475569; font-weight:600; border-bottom:1px solid #e2e8f0; }
.sku-table td { padding:8px 12px; border-bottom:1px solid #f1f5f9; color:#334155; vertical-align:middle; }
.sku-table tbody tr:last-child td { border-bottom:none; }
.sku-table tbody tr:hover { background:#fffbf7; }
.sku-cell-id { min-width:150px; }
.sku-id-line { display:flex; align-items:center; gap:10px; }
.sku-color-chip { display:inline-block; width:42px; height:42px; border-radius:8px; background-size:cover; background-position:center; border:1px solid #e2e8f0; flex-shrink:0; }
.sku-color-chip-placeholder { background:#f1f5f9; color:#94a3b8; text-align:center; line-height:40px; font-size:18px; font-weight:700; }
.sku-id-text { font-weight:600; color:#1e3a5f; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size:14px; line-height:1.4; }

.qty-control.sm { display:inline-flex; align-items:stretch; height:32px; border:1px solid #cbd5e1; border-radius:8px; overflow:hidden; background:#fff; }
.qty-control.sm button { width:30px; height:32px; border:none; background:#f8fafc; cursor:pointer; font-size:16px; color:#475569; font-weight:600; transition: background 0.15s; }
.qty-control.sm button:hover { background:#e2e8f0; }
.qty-control.sm input { width:54px; height:32px; border:none; border-left:1px solid #e2e8f0; border-right:1px solid #e2e8f0; text-align:center; font-size:13px; outline:none; -moz-appearance:textfield; }
.qty-control.sm input::-webkit-outer-spin-button, .qty-control.sm input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

.sku-summary { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding:10px 14px; background:#fff; border:1px dashed #cbd5e1; border-radius:10px; font-size:14px; }
.sku-summary-text { color:#475569; }
.sku-summary-price { color:#1e3a5f; font-weight:600; }
.sku-summary-price strong { color:#ea580c; font-size:18px; font-weight:700; }
@media (max-width: 640px) {
  .filter-pills { gap:6px; }
  .filter-pill { padding:6px 12px; font-size:12px; }
  .filter-pill-text { font-size:12px; }
  .filter-cards { gap:8px; }
  .filter-card { width:70px; padding:5px 4px 4px; }
  .filter-card-img { width:54px; height:54px; }
  .filter-card-name { font-size:10px; max-width:64px; }
  .sku-section { padding:10px; }
  .sku-table { font-size:13px; }
  .sku-table th, .sku-table td { padding:8px 8px; }
  .sku-table th:nth-child(2), .sku-table td:nth-child(2) { display:none; } /* 隐藏「颜色」列，手机端已显示在规格 ID 上 */
  .sku-cell-id { min-width:120px; }
  .sku-id-text { font-size:12px; }
  .qty-control.sm input { width:42px; }
  .sku-summary { flex-direction:column; align-items:flex-start; gap:6px; }
}
.btn-primary { display: inline-block; padding: 10px 20px; background: #2563eb; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-size: 15px; font-weight: 600; transition: background 0.2s; }
.btn-primary:hover { background: #1e40af; }
.btn-primary:disabled { background: #ccc; cursor: not-allowed; }
.btn-lg { padding: 14px 28px; font-size: 16px; }
.btn-block { width: 100%; text-align: center; }
.btn-secondary { display: inline-block; padding: 10px 20px; background: #e0e0e0; color: #555; border: none; border-radius: 8px; cursor: pointer; font-size: 15px; font-weight: 600; }
.btn-secondary:hover { background: #d0d0d0; }
.btn-whatsapp { background: #25d366; }
.btn-whatsapp:hover { background: #1da851; }
.related-products { margin-top: 40px; }
.related-products h2 { font-size: 20px; color: #1e3a5f; margin-bottom: 20px; }

/* ===== CART ===== */
.cart-page h1 { font-size: 28px; color: #1e3a5f; margin-bottom: 24px; }
.cart-item { display: grid; grid-template-columns: 80px 1fr 120px 100px 40px; gap: 16px; align-items: center; padding: 16px; background: #fff; border-radius: 12px; margin-bottom: 12px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
@media (max-width: 640px) { .cart-item { grid-template-columns: 60px 1fr; gap: 8px; } .cart-item-qty, .cart-item-subtotal, .cart-item-remove { grid-column: 2; } } 
.cart-thumb { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; }
.cart-thumb-placeholder { width: 80px; height: 80px; background: #f0f0f0; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 32px; }
.cart-item-name { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
.cart-item-opt { font-size: 13px; color: #888; }
.cart-item-price { font-size: 14px; color: #e11d48; font-weight: 600; margin-top: 4px; }
.cart-item-qty input { width: 60px; padding: 6px; text-align: center; border: 1px solid #e0e0e0; border-radius: 6px; font-size: 14px; }
.cart-item-subtotal { font-weight: 700; font-size: 16px; color: #e11d48; text-align: right; }
.btn-remove { background: none; border: none; color: #ef4444; font-size: 20px; cursor: pointer; }
.cart-summary { margin-top: 24px; padding: 24px; background: #fff; border-radius: 12px; text-align: right; }
.cart-total { font-size: 20px; margin-bottom: 16px; }
.cart-total .total-amount { font-size: 28px; font-weight: 700; color: #e11d48; margin-left: 12px; }
.cart-actions { display: flex; justify-content: flex-end; gap: 12px; }

/* ===== Minimum Order Banner ===== */
.min-order-banner { margin-top: 24px; padding: 18px 22px; border-radius: 12px; background: #fff8e6; border: 1px solid #fde68a; }
.min-order-banner.met { background: #ecfdf5; border-color: #a7f3d0; }
.min-order-text { font-size: 15px; color: #92400e; margin-bottom: 12px; line-height: 1.5; }
.min-order-banner.met .min-order-text { color: #065f46; font-weight: 600; }
.min-order-detail { font-size: 14px; margin-top: 4px; }
.min-order-detail strong { color: #e11d48; }
.min-order-progress { height: 8px; background: #fef3c7; border-radius: 4px; overflow: hidden; }
.min-order-banner.met .min-order-progress { background: #d1fae5; }
.min-order-bar { height: 100%; background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%); transition: width 0.4s ease; }
.min-order-banner.met .min-order-bar { background: linear-gradient(90deg, #10b981 0%, #34d399 100%); }

@media (max-width: 640px) {
  .min-order-banner { padding: 14px 16px; }
}

/* ===== CHECKOUT ===== */
.checkout-page h1 { font-size: 28px; color: #1e3a5f; margin-bottom: 24px; }
.checkout-grid { display: grid; grid-template-columns: 1fr 400px; gap: 32px; }
@media (max-width: 900px) { .checkout-grid { grid-template-columns: 1fr; } }
.checkout-form-section, .checkout-summary { background: #fff; padding: 24px; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.checkout-form-section h2, .checkout-summary h2 { font-size: 18px; color: #1e3a5f; margin-bottom: 20px; }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.form-group small { display: block; color: #888; margin-top: 4px; font-size: 12px; }
.summary-items { margin-bottom: 16px; }
.summary-item { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.summary-item-info { display: flex; gap: 4px; }
.summary-qty { color: #2563eb; font-weight: 600; }
.summary-name { font-size: 14px; }
.summary-price { font-weight: 600; }
.summary-total { display: flex; justify-content: space-between; padding: 12px 0; font-size: 18px; font-weight: 700; border-top: 2px solid #e0e0e0; }
.summary-total-amount { color: #e11d48; }
.checkout-note { background: #fffbeb; border: 1px solid #fcd34d; padding: 12px; border-radius: 8px; margin-top: 16px; }
.checkout-note p { font-size: 13px; color: #92400e; }

/* ===== ORDER SUCCESS ===== */
.success-page { text-align: center; padding: 60px 20px; }
.success-icon { font-size: 80px; margin-bottom: 20px; }
.success-page h1 { font-size: 28px; color: #059669; margin-bottom: 16px; }
.order-number-display { font-size: 24px; font-weight: 700; color: #2563eb; background: #eff6ff; padding: 12px 24px; border-radius: 12px; display: inline-block; margin: 16px 0; }
.success-actions { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }

/* ===== ERROR PAGE ===== */
.error-page { text-align: center; padding: 80px 20px; }
.error-page h1 { font-size: 64px; color: #ef4444; }

/* ===== FOOTER ===== */
.site-footer { background: #f8fafc; color: #475569; padding: 40px 0 20px; margin-top: 40px; border-top: 1px solid #e2e8f0; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; margin-bottom: 24px; }
.footer-col h4 { color: #1e293b; margin-bottom: 14px; font-size: 16px; }
.footer-col p { font-size: 14px; }
.footer-col a { color: #2563eb; }
.footer-bottom { border-top: 1px solid #e2e8f0; padding-top: 16px; text-align: center; font-size: 13px; color: #94a3b8; }
/* Footer 品牌 */
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 10px; }
.footer-brand img { width: 72px; height: 72px; border-radius: 12px; object-fit: contain; background: #fff; padding: 4px; box-shadow: 0 2px 10px rgba(30,58,95,0.12); }
.footer-brand span { color: #1e293b; font-weight: 700; font-size: 20px; }
/* Footer 联系方式 */
.footer-contact { display: flex; flex-direction: column; gap: 8px; }
.contact-item { display: flex; align-items: center; gap: 10px; padding: 7px 10px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; text-decoration: none; transition: background 0.2s, transform 0.2s, border-color 0.2s, box-shadow 0.2s; }
.contact-item:hover { background: #f0f6ff; border-color: #bfdbfe; transform: translateX(2px); box-shadow: 0 2px 8px rgba(37,99,235,0.1); color: #1e40af; }
.contact-icon { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.wa-icon { background: #25d366; color: #fff; }
.mail-icon { background: #3b82f6; color: #fff; }
.contact-text { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.contact-name { color: #1e293b; font-size: 13px; font-weight: 600; }
.contact-num { color: #64748b; font-size: 12px; word-break: break-all; }

/* ===== 全站手机端适配（详情/购物车/结算/通用）===== */
@media (max-width: 640px) {
  /* 面包屑 */
  .breadcrumb { font-size: 12px; margin-bottom: 12px; gap: 4px; }
  /* 产品详情 */
  .product-detail-grid { gap: 16px; margin-bottom: 24px; }
  .detail-img, .product-img-placeholder.large { max-height: 320px; }
  .gallery-thumbs { gap: 6px; }
  .gallery-thumb { width: 48px; height: 48px; border-radius: 6px; }
  .product-detail-info h1 { font-size: 20px; line-height: 1.3; }
  .price-big { font-size: 24px; }
  .detail-moq { font-size: 13px; }
  .sourcing-info { gap: 6px; }
  .sourcing-item { padding: 6px 8px; font-size: 12px; }
  .detail-section h3 { font-size: 15px; margin-bottom: 8px; }
  .spec-table { font-size: 13px; }
  .detail-add-cart { padding: 14px; }
  .color-option-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .color-option-card { width: 100%; }
  .color-option-name { font-size: 12px; }
  .desc-content { font-size: 13px; line-height: 1.7; }
  /* 按钮全宽便于触屏 */
  .detail-add-cart .btn-lg, .btn-lg { width: 100%; text-align: center; padding: 13px 16px; font-size: 15px; }
  /* 相关推荐 */
  .related-products { margin-top: 24px; }
  .related-products h2 { font-size: 17px; margin-bottom: 12px; }
  /* 购物车 */
  .cart-page h1 { font-size: 22px; margin-bottom: 14px; }
  .cart-total { font-size: 17px; }
  .cart-page .btn-primary { width: 100%; text-align: center; }
  /* 结算页 */
  .checkout-page h1 { font-size: 22px; margin-bottom: 14px; }
  .checkout-form-section, .checkout-summary { padding: 16px; border-radius: 10px; }
  .checkout-form-section h2, .checkout-summary h2 { font-size: 16px; margin-bottom: 14px; }
  .form-group { margin-bottom: 12px; }
  .form-group label { font-size: 13px; }
  .text-input { font-size: 16px; } /* 防 iOS 聚焦放大 */
  .summary-item { font-size: 13px; }
  .summary-total { font-size: 18px; }
}

/* ===== 信任页（About / Contact / FAQ / Shipping / Privacy） ===== */
.info-wrap { max-width: 880px; margin: 0 auto 40px; }
.info-card { background: #fff; border: 1px solid #eef0f3; border-radius: 12px; padding: 26px 30px; margin-bottom: 16px; }
.info-card h1 { font-size: 26px; color: #1e3a5f; margin: 0 0 6px; }
.info-card .info-lead { font-size: 15px; color: #64748b; margin: 0 0 18px; line-height: 1.7; }
.info-card h2 { font-size: 18px; color: #1e3a5f; margin: 22px 0 10px; padding-bottom: 6px; border-bottom: 1px solid #f1f5f9; }
.info-card h2:first-of-type { margin-top: 6px; }
.info-card p { font-size: 14px; line-height: 1.85; color: #334155; margin: 0 0 12px; }
.info-card ul { margin: 0 0 12px; padding-left: 20px; }
.info-card li { font-size: 14px; line-height: 1.8; color: #334155; margin-bottom: 4px; }
.info-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 16px 0 6px; }
.info-stat { background: #f8fafc; border: 1px solid #eef0f3; border-radius: 10px; padding: 14px; text-align: center; }
.info-stat b { display: block; font-size: 20px; color: #ea580c; }
.info-stat span { font-size: 12px; color: #64748b; }
.about-logo { display: block; width: 120px; margin: 0 auto 18px; border-radius: 50%; }
.contact-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-top: 6px; }
.contact-method { display: flex; gap: 12px; align-items: flex-start; background: #f8fafc; border: 1px solid #eef0f3; border-radius: 10px; padding: 16px; }
.contact-method .cm-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-method b { font-size: 14px; color: #1e3a5f; display: block; margin-bottom: 2px; }
.contact-method a, .contact-method span.num { font-size: 13px; color: #2563eb; text-decoration: none; }
.contact-method small { display: block; font-size: 12px; color: #94a3b8; margin-top: 3px; }
.cm-wa { background: #dcfce7; color: #16a34a; }
.cm-mail { background: #dbeafe; color: #2563eb; }
.cm-clock { background: #fef3c7; color: #d97706; }
.faq-item { border: 1px solid #eef0f3; border-radius: 10px; margin-bottom: 10px; background: #fff; overflow: hidden; }
.faq-item summary { cursor: pointer; padding: 14px 18px; font-size: 14.5px; font-weight: 600; color: #1e3a5f; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-size: 20px; color: #ea580c; flex-shrink: 0; transition: transform 0.2s; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .faq-a { padding: 0 18px 14px; font-size: 14px; line-height: 1.8; color: #334155; }
.info-back { display: inline-block; margin-top: 8px; font-size: 13px; color: #2563eb; text-decoration: none; }
.info-back:hover { text-decoration: underline; }
.wa-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: #25d366; color: #fff; padding: 12px 22px; border-radius: 10px; font-size: 15px; font-weight: 600; text-decoration: none; margin-top: 6px; }
.wa-cta-btn:hover { background: #1eb958; }
@media (max-width: 640px) {
  .info-card { padding: 18px 16px; }
  .info-card h1 { font-size: 21px; }
  .info-card p, .info-card li, .faq-item .faq-a { font-size: 13.5px; }
  .contact-methods { grid-template-columns: 1fr; }
  .info-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 审计修复补丁 2026-09-02 ===== */
#sku-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.page-banner h2 { font-size: 28px; color: #1e3a5f; margin: 0; }
.page-banner h2 + p { font-size: 14px; color: #64748b; margin-top: 8px; }
/* iOS 聚焦放大：输入控件在 ≤900px 一律 16px（641-900px 区间此前漏掉） */
@media (max-width: 900px) {
  .text-input, .search-input, .color-qty, .sku-qty { font-size: 16px; }
  #sku-table-wrap { -webkit-overflow-scrolling: touch; }
}
@media (max-width: 640px) {
  .filter-pill { min-height: 40px; }
  .qty-control.sm button { width: 38px; height: 38px; }
  .qty-control.sm input { height: 38px; }
}

/* 页头 About/FAQ/Contact 链接 + 页脚 Information 链接组 */
.nav-info-divider { width: 1px; height: 18px; background: #dbe0e8; margin: 0 10px; flex-shrink: 0; align-self: center; }
.nav-info-link { display: inline-flex; align-items: center; color: #64748b; font-size: 13.5px; font-weight: 500; text-decoration: none; padding: 10px 10px; white-space: nowrap; }
.nav-info-link:hover { color: #ea580c; }
.nav-info-link.active { color: #ea580c; }
.footer-links { display: flex; flex-direction: column; gap: 7px; }
.footer-links a { color: #64748b; font-size: 13.5px; text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: #ea580c; }
@media (max-width: 640px) {
  .nav-info-divider { margin: 0 4px; }
  .nav-info-link { padding: 10px 7px; font-size: 13px; }
}

/* 首页 Why-us / About teaser */
.about-teaser { background: #fff; border-top: 1px solid #f1f5f9; border-bottom: 1px solid #f1f5f9; padding: 34px 0; }
.about-teaser-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 34px; align-items: center; }
.about-teaser-text h2 { font-size: 23px; color: #1e3a5f; margin: 0 0 12px; line-height: 1.4; }
.about-teaser-text p { font-size: 14.5px; line-height: 1.85; color: #475569; margin: 0 0 14px; }
.about-teaser-list { list-style: none; padding: 0; margin: 0 0 18px; }
.about-teaser-list li { font-size: 14px; color: #334155; padding: 4px 0 4px 24px; position: relative; }
.about-teaser-list li::before { content: '✓'; position: absolute; left: 2px; color: #16a34a; font-weight: 700; }
.about-teaser-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.teaser-fact { background: #f8fafc; border: 1px solid #eef0f3; border-radius: 12px; padding: 16px 14px; display: flex; flex-direction: column; gap: 4px; }
.tf-icon { font-size: 22px; line-height: 1; margin-bottom: 4px; }
.teaser-fact b { font-size: 15px; color: #1e3a5f; line-height: 1.35; }
.teaser-fact small { font-size: 12px; color: #94a3b8; }
@media (max-width: 640px) {
  .about-teaser { padding: 24px 0; }
  .about-teaser-inner { grid-template-columns: 1fr; gap: 22px; }
  .about-teaser-text h2 { font-size: 19px; }
}

/* 页脚社交链接 */
.footer-social { display: flex; gap: 10px; margin-top: 4px; }
.social-link { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: opacity 0.2s; }
.social-link:hover { opacity: 0.85; }
.social-link.fb { background: #1877f2; }

/* 购物车 WhatsApp 快捷询价 */
.cart-wa-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed #e2e8f0; }
.cart-wa-tip { font-size: 13px; color: #64748b; }
.cart-wa-btn { text-decoration: none; padding: 10px 18px; border-radius: 10px; font-weight: 600; font-size: 14px; }
@media (max-width: 640px) {
  .cart-wa-row { flex-direction: column; align-items: stretch; }
  .cart-wa-btn { text-align: center; }
}

/* hero 双按钮 */
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 8px; }
.hero-cta-ghost { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.15); border: 1.5px solid rgba(255,255,255,0.85); color: #fff; padding: 12px 24px; border-radius: 10px; font-size: 15px; font-weight: 600; text-decoration: none; backdrop-filter: blur(2px); transition: background 0.2s; }
.hero-cta-ghost:hover { background: rgba(255,255,255,0.3); }
@media (max-width: 640px) {
  .hero-actions { gap: 10px; }
  .hero-cta, .hero-cta-ghost { width: 100%; justify-content: center; text-align: center; }
}
.error-hint { color: #64748b; font-size: 14px; margin: 6px 0 16px; }
