.bpb-wrap{max-width:1100px;margin:0 auto;font-family:inherit;color:#16130e}
.bpb-head{text-align:center;margin-bottom:24px}
.bpb-title{font-size:26px;margin:0 0 6px}
.bpb-sub{color:#777;margin:0;font-size:15px}
.bpb-step{margin:0 0 26px;border:1px solid #eee;border-radius:10px;padding:16px 16px 18px;background:#fff}
.bpb-step-head{font-size:16px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:10px}
.bpb-step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#16130e;color:#fff;font-size:13px;flex:none}
.bpb-step-desc{color:#8a8175;font-size:13px;margin:0 0 12px 36px}
.bpb-track-wrap{position:relative}
.bpb-track{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.bpb-card{scroll-snap-align:start;flex:0 0 160px;width:160px;border:2px solid #eee;border-radius:10px;background:#fff;padding:10px;cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column;gap:6px}
.bpb-card:hover{border-color:#ccc}
.bpb-card.is-sel{border-color:#16130e;box-shadow:0 0 0 1px #16130e}
.bpb-card-img{display:flex;align-items:center;justify-content:center;height:130px;background:#f7f1e8;border-radius:6px;overflow:hidden}
.bpb-card-img img{max-height:120px;max-width:100%;width:auto;height:auto;mix-blend-mode:darken}
.bpb-card-name{font-size:12.5px;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bpb-card-price{font-size:13px;font-weight:600;margin-top:auto}
.bpb-arrow{position:absolute;top:calc(50% - 16px);transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid #e6ddd0;background:#fff;color:#16130e;font-size:22px;line-height:1;cursor:pointer;z-index:4;display:none;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(22,19,14,.14);transition:opacity .2s,transform .15s}
.bpb-arrow:hover{transform:translateY(-50%) scale(1.06)}
.bpb-arrow-prev{left:-6px}
.bpb-arrow-next{right:-6px}
.bpb-track-wrap.bpb-has-arrows .bpb-arrow{display:flex}
.bpb-arrow.bpb-arrow-off{opacity:0;pointer-events:none}
.bpb-loading,.bpb-empty{color:#999;font-size:14px;padding:30px 10px}
.bpb-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:18px;background:#fff;border-top:1px solid #eee;padding:14px 6px;margin-top:8px}
.bpb-total{font-size:15px}
.bpb-total-val{font-size:20px;font-weight:700}
.bpb-add{background:#16130e;color:#fff;border:0;border-radius:6px;padding:13px 26px;font-size:15px;font-weight:600;cursor:pointer}
.bpb-add:disabled{opacity:.4;cursor:not-allowed}
.bpb-add.is-loading{opacity:.7;cursor:wait}
.bpb-msg{margin-top:14px;text-align:right;font-size:15px;color:#2e7d32}
.bpb-msg a{color:#16130e;font-weight:600}
@media(max-width:782px){.bpb-bar{position:static;flex-wrap:wrap;justify-content:space-between}.bpb-add{flex:1 1 100%;order:3;margin-top:6px}}
.bpb-card-color{display:inline-block;align-self:center;margin:8px 0 0;padding:3px 10px;border:1px solid #e6ddd0;border-radius:50px;font-size:11px;font-weight:600;letter-spacing:.3px;color:#16130e;background:#faf4ec}
.bpb-colors{margin-top:14px;border-top:1px dashed #e6ddd0;padding-top:14px}
.bpb-colors-head{font-size:14px;color:#16130e;margin-bottom:10px}
.bpb-model-card .bpb-card-color{background:#16130e;color:#fff;border:0}
.bpb-stepper{display:flex;gap:8px;justify-content:center;margin:0 0 22px;flex-wrap:wrap}
.bpb-stepper-item{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #eee;border-radius:50px;padding:7px 16px 7px 8px;cursor:pointer;color:#8a8175;font-size:13px}
.bpb-stepper-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#efe9df;color:#8a8175;font-size:12px;font-weight:600}
.bpb-stepper-item.is-active{color:#16130e;border-color:#16130e}
.bpb-stepper-item.is-active .bpb-stepper-num{background:#16130e;color:#fff}
.bpb-stepper-item.is-done .bpb-stepper-num{background:#2e7d32;color:#fff}
.bpb-stepper-item.is-locked{opacity:.6;cursor:not-allowed}
.bpb-back{background:#fff;border:1px solid #ddd;border-radius:50px;padding:11px 18px;font-size:13px;font-weight:600;color:#16130e;cursor:pointer;margin-right:auto}
.bpb-bar{justify-content:space-between}
.bpb-fixed{border:1px solid #eee;border-radius:10px;padding:16px;margin:0 0 22px;background:#fff}
.bpb-fixed-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#8a8175;margin-bottom:10px}
.bpb-fixed-card{display:flex;align-items:center;gap:16px}
.bpb-fixed-card .bpb-card-img{width:90px;height:90px;flex:none;background:#f7f1e8;border-radius:8px}
.bpb-fixed-card .bpb-card-img img{max-height:78px;mix-blend-mode:darken}
.bpb-fixed-name{font-size:14px;font-weight:600;margin-bottom:4px}
.bpb-upsell{border-style:dashed;border-color:#d8cdb8;background:#fffdf9}
.bpb-upsell-num{background:#b8945f!important}
.bpb-opt{font-size:11px;color:#a99a82;font-weight:400;text-transform:uppercase;letter-spacing:.5px}
.bpb-cta{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:13px 18px;border:1.5px solid #16130e;border-radius:10px;background:#fff;text-decoration:none;color:#16130e;transition:background .2s,color .2s,box-shadow .2s;max-width:420px}
.bpb-cta:hover{background:#16130e;color:#fff;box-shadow:0 8px 22px rgba(22,19,14,.18)}
.bpb-cta-ic{font-size:20px;line-height:1;color:#b8945f}
.bpb-cta:hover .bpb-cta-ic{color:#cda86c}
.bpb-cta-txt{display:flex;flex-direction:column;line-height:1.3;flex:1}
.bpb-cta-txt small{font-size:11.5px;opacity:.75}
.bpb-cta-arrow{font-size:18px;font-weight:700}
.bpb-flash{animation:bpbflash 1.4s ease}
@keyframes bpbflash{0%,100%{box-shadow:0 6px 30px rgba(22,19,14,.05)}30%{box-shadow:0 0 0 3px #b8945f,0 6px 30px rgba(184,148,95,.3)}}
.bpb-product-mode{margin:34px 0 14px;padding:30px;background:linear-gradient(180deg,#fbf7f1,#fff);border:1px solid #ece7df;border-radius:18px;box-shadow:0 6px 30px rgba(22,19,14,.05)}
.bpb-product-mode .bpb-head{text-align:left;margin-bottom:22px}
@media(max-width:782px){.bpb-product-mode{padding:20px 16px}}
