/* ═══════════════════════════════════════════════════════════
   B2B Shared CSS — Fine Asia Industrial
   Source: FA System v27.21.0 (lines 956-1018)
   Used by: FA System + www.fineasia.cc
   ═══════════════════════════════════════════════════════════ */

.b2b-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:6px; padding-bottom:60px; }
.b2b-group { background:white; border-radius:8px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,0.06); transition:box-shadow 0.2s; }
.b2b-group:hover { box-shadow:0 4px 12px rgba(0,0,0,0.1); }
.b2b-gimg { position:relative; background:#fafafa; text-align:center; height:150px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid #f0f0f0; overflow:hidden; }
.b2b-gimg img { max-width:100%; max-height:140px; object-fit:contain; }
.b2b-gimg .wm { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:50%; opacity:0.1; pointer-events:none; }
.b2b-badge { position:absolute; top:6px; left:6px; padding:2px 7px; border-radius:3px; font-size:9px; font-weight:700; color:white; letter-spacing:0.3px; }
.b2b-t-assy { background:#E87722; } .b2b-t-glass { background:#059669; } .b2b-t-ind { background:#d97706; }
.b2b-t-cover { background:#0891b2; } .b2b-t-puddle { background:#7c3aed; } .b2b-t-body { background:#64748b; }
.b2b-t-wr { background:#9333ea; } .b2b-t-pf { background:#0369a1; } .b2b-t-lamp { background:#ca8a04; } .b2b-t-parts { background:#78716c; }
.b2b-sub { padding:8px 10px; border-top:1px solid #f0f0f0; }
.b2b-sub:first-child { border-top:none; }
.b2b-sub:hover { background:#fffbf5; }
.b2b-sub-top { display:flex; align-items:center; gap:6px; margin-bottom:3px; }
.b2b-sub .b2b-fa { font-family:'JetBrains Mono','SF Mono',Consolas,monospace; font-weight:700; font-size:16px; color:#1a1a1a; flex:1; }
.b2b-sub .b2b-oe { font-size:10px; color:#aaa; }
.b2b-sub-body { display:flex; justify-content:space-between; align-items:flex-end; }
.b2b-sub-left { flex:1; min-width:0; }
.b2b-sub-right { display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex-shrink:0; margin-left:6px; }
.b2b-meta { display:inline-block; padding:1px 5px; border-radius:3px; font-size:8px; font-weight:600; background:#f0f0f0; color:#666; letter-spacing:0.3px; white-space:nowrap; }

/* B2B Side pills */
.b2b-pill { display:inline-block; padding:1px 7px; border-radius:3px; font-size:10px; font-weight:800; color:white; letter-spacing:0.5px; flex-shrink:0; }
.b2b-pill.s-lh { background:#2563eb; } .b2b-pill.s-rh { background:#dc2626; }

/* B2B Icons */
.b2b-icons { display:flex; flex-wrap:wrap; gap:3px; align-items:center; margin-top:4px; }
.b2b-ic { position:relative; cursor:default; }
.b2b-ic img { display:block; border-radius:3px; width:28px; height:28px; }
.b2b-ic .tip { display:none; position:absolute; bottom:calc(100% + 4px); left:50%; transform:translateX(-50%); background:#1e293b; color:#f1f5f9; padding:3px 8px; border-radius:4px; font-size:9px; white-space:nowrap; z-index:100; pointer-events:none; }
.b2b-ic .tip::after { content:''; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:4px solid transparent; border-top-color:#1e293b; }
.b2b-ic:hover .tip { display:block; }
.b2b-txt-ic { display:flex; align-items:center; justify-content:center; background:#1a1a1a; color:white; font-size:10px; font-weight:800; letter-spacing:0.3px; border-radius:3px; width:28px; height:28px; }
.b2b-pin { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; border-radius:3px; font-weight:700; color:white; line-height:1; width:28px; height:28px; }
.b2b-pin .pn { font-size:11px; } .b2b-pin .pt { font-size:5px; letter-spacing:0.3px; }
.b2b-pin-l { background:#2563eb; } .b2b-pin-r { background:#dc2626; }

/* B2B Spec badges (LHD/RHD/ECE/DOT) */
.b2b-spec { display:inline-flex; align-items:center; justify-content:center; border-radius:3px; font-weight:800; letter-spacing:0.3px; color:white; line-height:1; white-space:nowrap; width:28px; height:28px; font-size:8px; }
.b2b-spec-lhd { background:#1d4ed8; } .b2b-spec-rhd { background:#7c3aed; }
.b2b-spec-ece { background:#059669; } .b2b-spec-dot { background:#b45309; }

/* B2B Inquiry checkbox */
.b2b-inq { position:relative; display:flex; align-items:center; cursor:pointer; flex-shrink:0; }
.b2b-inq input { accent-color:#E87722; width:16px; height:16px; cursor:pointer; }
.b2b-inq::after { content:'INQUIRY'; position:absolute; right:calc(100% + 6px); top:50%; transform:translateY(-50%); background:#1e293b; color:#f1f5f9; padding:3px 8px; border-radius:4px; font-size:9px; font-weight:600; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity 0.15s; }
.b2b-inq:hover::after { opacity:1; }
.b2b-sub:has(.b2b-inq input:checked) { background:#fff7ed; }

/* B2B empty state */
.b2b-empty { padding:40px; text-align:center; color:#aaa; font-size:13px; }

/* B2B Series group header */
.b2b-series-hd { font-size:14px; font-weight:800; color:#1e3a5f; padding:12px 4px 6px; border-bottom:2px solid #E87722; margin-bottom:6px; }
