/* B2 Shop Connector — estilos base (el tema B2 Photo Studio los afina). */
.b2-options{--b2-gold:var(--gold,#a8864b);--b2-line:var(--line,#ddd5c8);--b2-bg:var(--surface,#fff);--b2-bg2:var(--surface2,#efe9df);--b2-muted:var(--muted,#6b655c);margin:6px 0 18px;clear:both}
.b2-live{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.b2-live-price{font-size:28px;font-weight:600}
.b2-live-desc{color:var(--b2-muted);font-size:14px}
.b2-group{margin:20px 0 0}
.b2-label{font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;margin-bottom:10px}
.b2-label-val{font-weight:400;text-transform:none;letter-spacing:0;color:var(--b2-muted)}
.b2-choices{display:flex;flex-wrap:wrap;gap:10px}
.b2-type-cards .b2-choices{display:grid;grid-template-columns:1fr;gap:10px}
.b2-chip,.b2-card,.b2-toggle label{font:inherit;color:inherit;background:var(--b2-bg);border:1px solid var(--b2-line);cursor:pointer;border-radius:0}
.b2-chip{padding:10px 16px;min-width:68px;text-align:center;font-size:14px;line-height:1.3}
.b2-chip small,.b2-card small{display:block;font-size:11.5px;color:var(--b2-muted);font-weight:400}
.b2-chip.is-on{border:2px solid var(--b2-gold);color:var(--b2-gold);font-weight:600;padding:9px 15px}
.b2-card{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:13px 16px;width:100%}
.b2-card em{display:block;font-style:normal;font-size:13px;color:var(--b2-muted)}
.b2-card.is-on{border:2px solid var(--b2-gold);padding:12px 15px}
.b2-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--b2-muted);flex:none;margin-top:2px}
.b2-card.is-on .b2-radio{border:5px solid var(--b2-gold)}
.b2-swatch{width:34px;height:34px;border-radius:50%;border:1px solid var(--b2-line);cursor:pointer;padding:0}
.b2-swatch.is-on{outline:2px solid var(--b2-gold);outline-offset:3px}
.b2-stepper{display:inline-flex;border:1px solid var(--b2-line);background:var(--b2-bg)}
.b2-stepper button{background:none;border:0;padding:8px 16px;font-size:18px;cursor:pointer;color:inherit}
.b2-stepper input{width:70px;text-align:center;border:0;border-left:1px solid var(--b2-line);border-right:1px solid var(--b2-line);font:inherit;-moz-appearance:textfield;background:transparent;color:inherit}
.b2-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.b2-text{width:100%;padding:12px 14px;border:1px solid var(--b2-line);font:inherit;background:var(--b2-bg);color:inherit}
.b2-help{font-size:12.5px;color:var(--b2-muted);margin:8px 0 0}
.b2-req{color:var(--b2-gold)}
.b2-upload{display:block;position:relative;border:1.5px dashed var(--b2-gold);background:var(--b2-bg2);padding:24px;text-align:center;cursor:pointer}
.b2-upload.is-drag{background:var(--b2-bg);border-style:solid}
.b2-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.b2-upload-ic{display:block;font-size:26px;color:var(--b2-gold)}
.b2-upload-t{display:block;font-weight:600;letter-spacing:.06em}
.b2-upload-s{display:block;font-size:12.5px;color:var(--b2-muted)}
.b2-previews{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.b2-previews li{display:flex;align-items:center;gap:10px;border:1px solid var(--b2-line);background:var(--b2-bg);padding:6px}
.b2-previews img{width:52px;height:52px;object-fit:cover}
.b2-previews span{flex:1;font-size:13px;word-break:break-all}
.b2-previews button{background:none;border:0;cursor:pointer;font-size:16px;padding:6px 10px;color:inherit}
.b2-toggle{display:grid;grid-template-columns:1fr 1fr}
.b2-toggle label{padding:13px;text-align:center;display:block}
.b2-toggle label+label{border-left:0}
.b2-toggle input{position:absolute;opacity:0;pointer-events:none}
.b2-toggle span{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.b2-toggle small{display:block;font-size:12px;opacity:.8}
.b2-toggle label.is-on{background:var(--b2-gold);border-color:var(--b2-gold);color:#111}
.b2-toggle label:focus-within{outline:2px solid var(--b2-gold);outline-offset:2px}
.b2-errors p{background:#fbeaea;border-left:3px solid #b32d2e;color:#7a1e1e;padding:10px 14px;margin:12px 0 0;font-size:14px}
.b2-note{font-size:13.5px;border-left:3px solid var(--gold,#a8864b);padding:10px 14px;background:var(--surface2,#efe9df);margin:0 0 10px}
.b2-checkout-hint{font-size:14px;margin-bottom:12px}
.b2-from{font-size:.85em;color:var(--muted,#6b655c);font-weight:400}
.is-busy{opacity:.6;pointer-events:none}
@media (max-width:600px){.b2-toggle{grid-template-columns:1fr}.b2-toggle label+label{border-left:1px solid var(--b2-line);border-top:0}}
