.tppb{--tppb-c:var(--tp-c1,#1d26e1);--tppb-line:#d9dde3;--tppb-r:var(--tp-r,8px);display:flex;flex-direction:column;gap:10px}
.tppb button{font-family:inherit;margin:0;box-shadow:none;text-transform:none;letter-spacing:0}
.tppb-row1{display:flex;gap:10px;align-items:stretch}
.tppb-qty{display:flex;flex:none;height:46px;border:1px solid var(--tppb-line);border-radius:var(--tppb-r);overflow:hidden;background:#fff}
.tppb .tppb-qty button{display:flex;align-items:center;justify-content:center;width:36px;min-height:0;padding:0;border:0;border-radius:0;background:#fff;color:#374151;font-size:19px;font-weight:500;line-height:1;cursor:pointer}
.tppb .tppb-qty button:hover{background:#f3f4f6}
.tppb .tppb-qty input{width:44px;min-height:0;height:100%;margin:0;padding:0;border:0;border-left:1px solid var(--tppb-line);border-right:1px solid var(--tppb-line);border-radius:0;background:#fff;color:#111827;font-size:15px;font-weight:600;text-align:center;box-shadow:none;-moz-appearance:textfield;appearance:textfield}
.tppb .tppb-qty input::-webkit-outer-spin-button,.tppb .tppb-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tppb .tppb-qty input:focus{outline:0;background:#fafafa}
.tppb .tppb-buy{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:52px;min-height:0;padding:0 16px;border:0;border-radius:var(--tppb-r);background:var(--tppb-c);color:#fff;line-height:1.1;text-align:center;cursor:pointer;text-decoration:none}
.tppb .tppb-buy b{font-size:16px;font-weight:800;letter-spacing:.02em}
.tppb .tppb-buy small{font-size:11px;font-weight:500;opacity:.92}
.tppb .tppb-buy:hover,.tppb .tppb-buy:focus{opacity:.93;background:var(--tppb-c);color:#fff}
.tppb .tppb-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;min-height:0;padding:0 16px;border:0;border-radius:var(--tppb-r);background:#f3f4f6;color:#374151;font-size:15px;font-weight:700;cursor:pointer}
.tppb .tppb-add:hover,.tppb .tppb-add:focus{background:#e5e7eb;color:#111827}
.tppb button:disabled,.tppb.is-oos .tppb-buy{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;opacity:1}
.tppb .tppb-buy.is-load,.tppb .tppb-add.is-load{opacity:.6;pointer-events:none}
.tppb .tppb-add.is-done{background:color-mix(in srgb,var(--tppb-c) 10%,#fff);color:var(--tppb-c)}
.tppb-attr{display:flex;flex-direction:column;gap:6px}
.tppb-al{font-size:13px;font-weight:700;color:#111827}
.tppb-chips{display:flex;flex-wrap:wrap;gap:8px}
.tppb .tppb-chip{min-height:0;height:auto;padding:8px 14px;border:1px solid var(--tppb-line);border-radius:calc(var(--tppb-r) - 2px);background:#fff;color:#111827;font-size:14px;font-weight:500;line-height:1.2;cursor:pointer}
.tppb .tppb-chip:hover{border-color:var(--tppb-c);color:var(--tppb-c);background:#fff}
.tppb .tppb-chip.is-on{border-color:var(--tppb-c);background:color-mix(in srgb,var(--tppb-c) 8%,#fff);color:var(--tppb-c);font-weight:700}
.tppb .tppb-chip.is-off{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.tppb-attr.is-miss .tppb-al{color:#dc2626}
.tppb-attr.is-miss .tppb-chips{animation:tppbShake .35s}
@keyframes tppbShake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.tppb-msg{min-height:0;font-size:13px;font-weight:600}
.tppb-msg:empty{display:none}
.tppb-msg.err{color:#dc2626}.tppb-msg.ok{color:#16a34a}
