/* BadBro Product Tree v1.11 */
/* Prevent mobile double-tap zoom while preserving normal scrolling and pinch zoom. */
html,body{touch-action:manipulation}
.bb-product-tree{width:100%;max-width:1200px;margin:0 auto;font-size:15px;padding-bottom:82px}
.bb-category{border-bottom:1px solid #e5e5e5}
.bb-category-toggle,.bb-category-toggle:hover,.bb-category-toggle:focus,.bb-category-toggle:active{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 4px;border:0!important;background:transparent!important;color:#222!important;cursor:pointer;text-align:left;font:inherit;font-weight:700;box-shadow:none!important;outline:none!important}
.bb-level-0>.bb-category-toggle{font-size:19px;padding-top:20px;padding-bottom:20px}
.bb-level-1>.bb-category-toggle{padding-left:14px;font-size:16px}
.bb-level-2>.bb-category-toggle{padding-left:28px}
.bb-category-label{display:flex;align-items:center;gap:9px;min-width:0}
.bb-category-logo{width:26px!important;height:26px!important;min-width:26px!important;object-fit:contain!important;border-radius:4px!important;margin:0!important;box-shadow:none!important}
.bb-level-1 .bb-category-logo{width:22px!important;height:22px!important;min-width:22px!important}
.bb-level-2 .bb-category-logo{width:20px!important;height:20px!important;min-width:20px!important}
.bb-chevron{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:#222;transition:transform .18s ease;transform:rotate(0deg)}
.bb-category-toggle[aria-expanded=true] .bb-chevron{transform:rotate(180deg)}
.bb-category-content[hidden]{display:none}
.bb-category-content{padding:0 0 8px}
.bb-product-row{display:grid;grid-template-columns:48px minmax(180px,1fr) auto 86px 62px;align-items:center;gap:10px;min-height:62px;padding:7px 4px;border-top:1px solid #f0f0f0}
.bb-product-image-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center}
.bb-product-image-wrap img{width:48px!important;height:48px!important;object-fit:contain;margin:0!important}
.bb-product-name{min-width:0;color:#222!important;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.bb-product-name:hover,.bb-product-name:focus{color:#222!important;text-decoration:underline;box-shadow:none!important}
.bb-product-price{white-space:nowrap;font-weight:600;color:#222}
.bb-product-price .price{margin:0}
.bb-qty{display:flex!important;align-items:center!important;justify-content:center!important;width:86px!important;height:36px!important;border:1px solid #b5b5b5!important;border-radius:5px!important;overflow:hidden!important;background:#fff!important;box-sizing:border-box}
.bb-qty button,.bb-qty button:hover,.bb-qty button:focus,.bb-qty button:active{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:34px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#e9e9e9!important;color:#111!important;box-shadow:none!important;outline:none!important;font-size:20px!important;line-height:1!important;font-weight:800!important;cursor:pointer}
.bb-qty-input{display:block!important;width:30px!important;height:34px!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #ccc!important;border-right:1px solid #ccc!important;border-radius:0!important;text-align:center!important;font-size:14px!important;color:#111!important;background:#fff!important;box-shadow:none!important;-moz-appearance:textfield}
.bb-qty-input::-webkit-outer-spin-button,.bb-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bb-add,.bb-add:hover,.bb-add:focus,.bb-add:active{display:flex!important;align-items:center!important;justify-content:center!important;width:62px!important;min-width:62px!important;height:36px!important;margin:0!important;padding:0 5px!important;border:0!important;border-radius:5px!important;background:#111!important;color:#fff!important;text-decoration:none!important;cursor:pointer!important;font-size:10px!important;font-weight:700!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;outline:none!important}
.bb-add.bb-loading{opacity:.55;pointer-events:none}
.bb-out{width:90px;text-align:center;font-size:11px;font-weight:600;opacity:.65}
.bb-empty{padding:10px 14px 14px;opacity:.6;font-size:14px}

/* Fixed cart bar */
.bb-cart-bar{position:fixed!important;z-index:99999!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:none!important;margin:0!important;min-height:62px!important;background:#111!important;color:#fff!important;box-shadow:0 -3px 14px rgba(0,0,0,.18)!important;display:flex!important;align-items:center!important}
.bb-cart-inner{width:100%!important;max-width:none!important;margin:0!important;box-sizing:border-box!important;padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;gap:18px}
.bb-cart-summary{display:flex;align-items:center;gap:18px;font-size:15px;font-weight:600}
.bb-cart-count{white-space:nowrap}
.bb-cart-total{white-space:nowrap}
.bb-cart-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:40px!important;min-width:110px!important;padding:0 14px!important;border:1px solid #fff!important;border-radius:5px!important;background:#fff!important;color:#111!important;text-decoration:none!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
.bb-cart-button:hover,.bb-cart-button:focus{background:#eee!important;color:#111!important}

@media(max-width:600px){
.bb-product-tree{font-size:13px;padding-bottom:74px}
.bb-product-row{grid-template-columns:34px minmax(0,1fr) auto 70px 46px;gap:5px;min-height:52px;padding:5px 0}
.bb-product-image-wrap{width:34px;height:34px}
.bb-product-image-wrap img{width:34px!important;height:34px!important}
.bb-product-name{font-size:13px;min-width:0}
.bb-product-price{font-size:12px}
.bb-qty{width:70px!important;height:32px!important}
.bb-qty button,.bb-qty button:hover,.bb-qty button:focus,.bb-qty button:active{width:22px!important;height:30px!important;font-size:18px!important}
.bb-qty-input{width:26px!important;height:30px!important;font-size:12px!important}
.bb-add,.bb-add:hover,.bb-add:focus,.bb-add:active{width:46px!important;min-width:46px!important;height:32px!important;padding:0 2px!important;font-size:8px!important}
.bb-out{width:54px;font-size:8px}
.bb-level-0>.bb-category-toggle{font-size:17px;padding-top:15px;padding-bottom:15px}
.bb-level-1>.bb-category-toggle{padding-left:8px}
.bb-level-2>.bb-category-toggle{padding-left:18px}
.bb-category-logo{width:22px!important;height:22px!important;min-width:22px!important}
.bb-level-1 .bb-category-logo{width:20px!important;height:20px!important;min-width:20px!important}

.bb-cart-bar{min-height:58px!important}
.bb-cart-inner{width:100%!important;max-width:none!important;margin:0!important;padding:0 8px!important;box-sizing:border-box!important;gap:8px}
.bb-cart-summary{gap:9px;font-size:12px}
.bb-cart-button{min-width:78px!important;height:36px!important;padding:0 8px!important;font-size:9px!important}
}

@media(max-width:390px){
.bb-product-row{grid-template-columns:30px minmax(0,1fr) auto 64px 44px;gap:3px}
.bb-product-image-wrap,.bb-product-image-wrap img{width:30px!important;height:30px!important}
.bb-product-name{font-size:12px}
.bb-product-price{font-size:11px}
.bb-qty{width:64px!important}
.bb-qty button{width:20px!important}
.bb-qty-input{width:24px!important}
.bb-add,.bb-add:hover,.bb-add:focus,.bb-add:active{width:44px!important;min-width:44px!important;font-size:8px!important}
.bb-cart-summary{gap:6px;font-size:11px}
.bb-cart-button{min-width:70px!important;font-size:8px!important}
}

/* v1.5: force cart bar to viewport, outside theme/layout constraints */
html body #bb-cart-bar.bb-cart-bar{
  position:fixed!important;
  left:0!important;
  right:auto!important;
  bottom:0!important;
  top:auto!important;
  width:100%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  transform:none!important;
  z-index:2147483647!important;
}


/* v1.9 quantity discount progress + stock limits */
.bb-cart-tier{display:inline-flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important}
.bb-cart-discount{font-weight:900!important;letter-spacing:.2px!important;color:#35c759!important}
.bb-cart-next{font-size:12px!important;font-weight:700!important;opacity:1!important;color:#35c759!important}
@media(max-width:700px){
  .bb-cart-summary{gap:7px!important}
  .bb-cart-tier{gap:5px!important}
  .bb-cart-next{font-size:9px!important;max-width:120px!important;white-space:normal!important;line-height:1.1!important}
  .bb-cart-discount{font-size:10px!important}
}
@media(max-width:420px){
  .bb-cart-summary{gap:5px!important;min-width:0!important}
  .bb-cart-tier{display:inline-flex!important;min-width:0!important;max-width:105px!important}
  .bb-cart-next{display:inline!important;font-size:8px!important;max-width:105px!important;white-space:normal!important;line-height:1.05!important}
  .bb-cart-discount{font-size:9px!important}
}

/* v1.12: make applied discount visually obvious in the fixed cart bar */
.bb-cart-total{display:inline-flex!important;align-items:center!important;white-space:nowrap!important}
.bb-cart-price-pair{display:inline-flex!important;align-items:baseline!important;gap:7px!important;white-space:nowrap!important}
.bb-cart-total-old{font-size:11px!important;font-weight:700!important;color:#ffd43b!important;text-decoration-line:line-through!important;text-decoration-color:#ffd43b!important;text-decoration-thickness:2px!important;opacity:.95!important}
.bb-cart-total-current{font-size:17px!important;font-weight:900!important;color:#fff!important;line-height:1!important}
@media(max-width:600px){
  .bb-cart-price-pair{gap:4px!important}
  .bb-cart-total-old{font-size:8px!important;text-decoration-thickness:1.5px!important}
  .bb-cart-total-current{font-size:13px!important}
}

/* v1.15: understated in-stock flavour count beside leaf brand/strength names. */
.bb-category-label{flex-wrap:wrap;column-gap:9px;row-gap:3px}
.bb-available-count{display:inline-block;flex:0 0 auto;white-space:nowrap;font-size:12px;line-height:1.3;font-weight:500;color:#777;letter-spacing:0}
@media(max-width:600px){.bb-available-count{font-size:11px}}
