
.spb-wrap{ border:1px solid #e5e7eb; border-radius:14px; padding:14px; margin:14px 0; background:#fff; }
.spb-title{ font-size:18px; font-weight:800; margin-bottom:10px; }
.spb-step-title{ font-size:15px; font-weight:800; margin:12px 0 8px; }
.spb-models{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.spb-card{ border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; background:#fff; cursor:pointer; }
.spb-card input{ display:none; }
.spb-card-body{ padding:8px; display:flex; flex-direction:column; gap:6px; }
.spb-card-thumb img{ width:100%; height:auto; display:block; }
.spb-card-title{ font-weight:800; }
.spb-card-sub{ color:#111827; font-size:13px; opacity:.8; }
.spb-card.is-active{ border-color:#111827; box-shadow:0 0 0 2px rgba(17,24,39,.08); }
.spb-field{ margin:10px 0; }
.spb-label{ font-weight:800; margin-bottom:6px; }
.spb-text{ width:100%; border:1px solid #e5e7eb; border-radius:10px; padding:10px; }
.spb-count-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.spb-count{ padding:8px; border-radius:10px; border:1px solid #e5e7eb; }
.spb-count-hint{ color:#6b7280; font-size:12px; }
.spb-upload-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; }
.spb-upload-slot{ border:1px dashed #cbd5e1; border-radius:12px; padding:10px; background:#fafafa; }
.spb-upload-title{ font-weight:800; margin-bottom:6px; }
.spb-file{ width:100%; }
.spb-preview{ margin-top:6px; font-size:12px; color:#374151; display:none; word-break:break-all; }


.spb-pricebox{ border:1px solid #e5e7eb; border-radius:14px; padding:12px; background:#f9fafb; margin-bottom:12px; }
.spb-price-row{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; }
.spb-price-label{ font-weight:800; }
.spb-price-val{ font-weight:800; }
.spb-price-total{ border-top:1px solid #e5e7eb; margin-top:6px; padding-top:10px; }
