/* Bulk Buy Saver front-end — generated from v2.2.0 inline styles; edit freely. */
.bmsm-box{--bmsm-accent:#0d9488;--bmsm-soft:#d9f2ee;--bmsm-bg:#fff;--bmsm-text:#222;border:1px solid var(--bmsm-soft);border-color:color-mix(in srgb,var(--bmsm-accent) 25%,#fff);border-radius:14px;padding:16px;margin:0 0 18px;background:var(--bmsm-bg);color:var(--bmsm-text);box-sizing:border-box;display:block;width:100%;max-width:100%;flex:0 0 100%!important;order:-1;text-align:left;line-height:1.4;font-size:16px}
.bmsm-box *,.bmsm-box *::before,.bmsm-box *::after{box-sizing:border-box}
form.cart .bmsm-box{margin:0 0 14px}
.bmsm-title{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8em;color:var(--bmsm-accent);margin:0 0 12px}
.bmsm-off{display:inline-block;background:var(--bmsm-soft);color:var(--bmsm-accent);font-size:.78em;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.bmsm-pill{display:inline-block;background:var(--bmsm-accent);color:#fff;font-size:.68em;font-weight:600;padding:3px 10px;border-radius:99px;margin-left:6px;white-space:nowrap;vertical-align:middle}
.bmsm-summary{text-align:center;margin:12px 0 0;font-size:.9em}
.bmsm-summary:empty{display:none}
.bmsm-cards{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:stretch}
/* Full reset: themes style <button> with fixed heights / flex / uppercase — none of that may leak into the cards. */
.bmsm-box button.bmsm-card,.bmsm-box .bmsm-card{all:unset;-webkit-appearance:none;appearance:none;box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1 1 0;min-width:105px;width:auto;height:auto;min-height:0;max-height:none;margin:0;border:1.5px solid #e2e6e9;border-radius:12px;background:var(--bmsm-bg);padding:18px 8px 12px;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s;font:inherit;font-size:1em;font-weight:400;color:var(--bmsm-text);line-height:1.4;text-transform:none;letter-spacing:normal;text-decoration:none;box-shadow:none;overflow:visible;white-space:normal}
.bmsm-box button.bmsm-card:hover,.bmsm-box .bmsm-card:hover{border-color:color-mix(in srgb,var(--bmsm-accent) 50%,#fff);background:var(--bmsm-bg);color:var(--bmsm-text)}
.bmsm-box button.bmsm-card:focus-visible{outline:2px solid var(--bmsm-accent);outline-offset:2px}
/* Lock the layout-critical properties against theme rules that use !important or higher specificity. */
.bmsm-box .bmsm-card,.bmsm-box button.bmsm-card,form.cart .bmsm-box button.bmsm-card{height:auto!important;min-height:0!important;max-height:none!important;width:auto!important;min-width:105px!important;max-width:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;flex:1 1 0!important;margin:0!important;padding:18px 8px 12px!important;line-height:1.4!important;overflow:visible!important;white-space:normal!important;text-transform:none!important;letter-spacing:normal!important;font-size:1em!important;font-weight:400!important;text-align:center!important;border-radius:12px!important;border-width:1.5px!important;border-style:solid!important;background-image:none!important;background-color:var(--bmsm-bg)!important;color:var(--bmsm-text)!important;text-shadow:none!important;box-shadow:none;position:relative!important;float:none!important;transform:none!important;opacity:1!important}
.bmsm-box .bmsm-card *{color:inherit}
.bmsm-box .bmsm-card .bmsm-off{color:var(--bmsm-accent)!important;background:var(--bmsm-soft)!important}
.bmsm-box .bmsm-card .bmsm-badge-top{color:#fff!important;background:var(--bmsm-accent)!important}
.bmsm-box .bmsm-card>*{flex:0 0 auto!important;width:100%!important}
.bmsm-box .bmsm-card>.bmsm-off,.bmsm-box .bmsm-card>.bmsm-plain,.bmsm-box .bmsm-card>.bmsm-badge-top{width:auto!important}
/* Themes that lay the add-to-cart form out as a single flex row: let it wrap so the offer gets its own row. */
form.cart:has(.bmsm-box){flex-wrap:wrap!important}
form.cart .bmsm-box{flex:0 0 100%!important;width:100%!important;max-width:100%!important;margin:0 0 14px!important;order:-1}
/* Variable products: breathing room under the variation dropdowns so an open list does not sit on the offer. */
form.cart.variations_form .bmsm-box,.woocommerce-variation-add-to-cart .bmsm-box{margin:18px 0 14px!important}
button.bmsm-card.bmsm-active,.bmsm-card.bmsm-active{border-color:var(--bmsm-accent)!important;box-shadow:0 0 0 1px var(--bmsm-accent)!important}
button.bmsm-card.bmsm-popular,.bmsm-card.bmsm-popular{border-color:var(--bmsm-accent)!important}
.bmsm-badge-top{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--bmsm-accent);color:#fff;font-size:.68em;font-weight:600;padding:3px 12px;border-radius:99px;white-space:nowrap}
.bmsm-buy{display:block;width:100%;font-weight:700;font-size:1.05em;margin:0 0 6px;line-height:1.3}
.bmsm-total{display:block;width:100%;line-height:1.2;margin:0 0 4px}
.bmsm-total-now{font-weight:800;font-size:1.25em;letter-spacing:-.01em}
.bmsm-total-was{font-weight:400;font-size:.8em;color:#8a9199;text-decoration:line-through;margin-left:4px;white-space:nowrap}
.bmsm-per{display:block;width:100%;font-size:.82em;color:#6b7280;line-height:1.35}
.bmsm-unit{display:inline;font-weight:600;color:#4b5563;white-space:nowrap}
.bmsm-unit .woocommerce-Price-amount,.bmsm-unit bdi,.bmsm-total .woocommerce-Price-amount,.bmsm-total bdi{font:inherit;color:inherit;white-space:nowrap}
.bmsm-unit small{font-weight:400;font-size:.85em;margin-left:1px}
.bmsm-save{display:block;color:var(--bmsm-accent);font-weight:600;margin-top:1px}
.bmsm-card .bmsm-plain,.bmsm-card .bmsm-off{align-self:center}
.bmsm-card .bmsm-off{margin-top:8px}
.bmsm-plain{display:inline-block;margin-top:8px;color:#8a9199;font-size:.85em}
/* Sit below any open dropdown from the variations table (custom selects use high z-index) and never overlap it. */
.bmsm-box{position:relative;z-index:0;isolation:isolate;margin-top:14px!important}
.bmsm-badge-top{z-index:1}
.bmsm-table{width:100%;border-collapse:collapse;margin:0}
.bmsm-table th{text-align:left;font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;padding:6px 10px;border-bottom:1px solid #e2e6e9}
.bmsm-table td{padding:10px;border-bottom:1px solid #eef0f2}
.bmsm-table tr.bmsm-opt{cursor:pointer}
.bmsm-table tr.bmsm-opt:hover td{background:color-mix(in srgb,var(--bmsm-soft) 50%,#fff)}
.bmsm-table tr.bmsm-active td{background:var(--bmsm-soft);font-weight:700}
.bmsm-fallback-row{display:flex;gap:12px;align-items:center;margin-top:4px}
.bmsm-fallback-row .qty{width:80px;padding:10px;border:1px solid #d8dde2;border-radius:8px;text-align:center}
.bmsm-atc,button.bmsm-atc{flex:1;background:var(--bmsm-accent,#0d9488)!important;color:#fff!important;border:0!important;border-radius:99px!important;padding:12px 24px!important;font-weight:600;cursor:pointer}
.bmsm-progress{margin:0 0 18px;padding:14px 16px;border:1px solid #e2e6e9;border-radius:12px;background:#fff}
.bmsm-progress-item{margin:0 0 12px}
.bmsm-progress-item:last-child{margin:0}
.bmsm-progress-text{font-size:.9em;margin:0 0 6px;display:flex;justify-content:space-between;gap:10px}
.bmsm-progress-text b{color:var(--bmsm-accent,#0d9488)}
.bmsm-bar{height:8px;border-radius:99px;background:#eef0f2;overflow:hidden}
.bmsm-bar i{display:block;height:100%;background:var(--bmsm-accent,#0d9488);border-radius:99px;transition:width .4s}
@media (max-width:480px){.bmsm-card{min-width:88px;padding:14px 4px 10px!important}}
