/* ==========================================================================
   BOND BIGODI - LOJA PREÇO DB HOTFIX V0.7.1.9.14.5.2
   Preço server-authoritative + estoque limpo + card estável
   ========================================================================== */
html{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

:root{
  --bb145-bg:#061321;
  --bb145-bg2:#091a2e;
  --bb145-border:rgba(108,166,248,.27);
  --bb145-white:#fff;
  --bb145-muted:#b6c2d0;
  --bb145-gold:#efc452;
  --bb145-green:#55e77b;
  --bb145-blue1:#164f94;
  --bb145-blue2:#103b72;
}

html body #storeProductGrid,
html body #bnClientStoreGrid,
html body .store-product-grid,
html body .bn-client-store-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  align-content:start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}

html body #storeProductGrid > *,
html body #bnClientStoreGrid > *,
html body .store-product-grid > *,
html body .bn-client-store-grid > *{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  transform:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
}

html body .bb145-card{
  box-sizing:border-box!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:386px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--bb145-border)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,var(--bb145-bg2),var(--bb145-bg))!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
}

html body .bb145-ui{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  height:100%!important;
  min-height:386px!important;
  margin:0!important;
  padding:0!important;
}

html body .bb145-image{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#f2f2f0!important;
}

html body .bb145-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
}

html body .bb145-body{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  padding:10px 10px 11px!important;
}

html body .bb145-category{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:var(--bb145-gold)!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* TÍTULO: régua única */
html body .bb145-title{
  box-sizing:border-box!important;
  display:-webkit-box!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:1.18!important;
  font-style:normal!important;
  font-weight:900!important;
  letter-spacing:-.018em!important;
  text-transform:none!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
}

/* DESCRIÇÃO: separação visual inequívoca */
html body .bb145-description{
  box-sizing:border-box!important;
  display:-webkit-box!important;
  width:100%!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:14px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
  color:var(--bb145-muted)!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1.5!important;
  font-weight:500!important;
  letter-spacing:0!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

html body .bb145-stock{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-height:18px!important;
  margin:11px 0 0!important;
  padding:0!important;
  color:#a8eab7!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

html body .bb145-stock::before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:999px!important;
  background:var(--bb145-green)!important;
}

html body .bb145-stock.is-unavailable{
  color:#e0b1b1!important;
}
html body .bb145-stock.is-unavailable::before{
  background:#d35f5f!important;
}

/* PREÇO + AÇÃO ficam sempre no fundo */
html body .bb145-footer{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding-top:10px!important;
}

html body .bb145-price{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:4px 0 9px!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  color:#fff!important;
}

html body .bb145-price del{
  display:inline!important;
  color:#8e9aad!important;
  font-family:inherit!important;
  font-size:9px!important;
  font-weight:700!important;
}

html body .bb145-price strong{
  display:inline!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}

html body .bb145-add{
  box-sizing:border-box!important;
  appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:40px!important;
  height:40px!important;
  margin:0!important;
  padding:7px 8px!important;
  border:1px solid rgba(105,166,255,.46)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,var(--bb145-blue1),var(--bb145-blue2))!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

html body [data-bb145-item="1"] button:not(.bb145-add),
html body [data-bb145-item="1"] a[class*="cart"],
html body [data-bb145-item="1"] [data-action*="cart"],
html body [data-bb145-item="1"] [data-cart-action]{
  display:none!important;
}

html body .bn-client-product-rail{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(165px,44vw)!important;
  grid-template-columns:none!important;
  gap:10px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  scroll-snap-type:x proximity!important;
}

html body .bn-client-product-rail .bb145-card{
  min-height:386px!important;
  scroll-snap-align:start!important;
}

/* MODAL */
html body.bb145-modal-open{overflow:hidden!important}
#bb145-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483638!important;
  display:none;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:12px!important;
  background:rgba(0,4,12,.84)!important;
  backdrop-filter:blur(10px)!important;
}
#bb145-modal.is-open{display:flex!important}
#bb145-modal .bb145-modal-card{
  position:relative!important;
  width:min(100%,560px)!important;
  max-height:92vh!important;
  overflow:auto!important;
  border:1px solid rgba(119,175,255,.28)!important;
  border-radius:22px 22px 18px 18px!important;
  background:#071424!important;
  color:#fff!important;
  box-shadow:0 30px 90px rgba(0,0,0,.58)!important;
}
#bb145-modal .bb145-close{
  position:absolute!important;
  z-index:2!important;
  top:10px!important;
  right:10px!important;
  width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:rgba(5,12,22,.84)!important;
  color:#fff!important;
  font-size:25px!important;
  cursor:pointer!important;
}
#bb145-modal .bb145-modal-image{
  width:100%!important;
  aspect-ratio:4/3!important;
  box-sizing:border-box!important;
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f4f4f2!important;
}
#bb145-modal .bb145-modal-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
#bb145-modal .bb145-modal-body{padding:18px!important}
#bb145-modal .bb145-modal-category{
  color:var(--bb145-gold)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#bb145-modal .bb145-modal-title{
  margin:7px 0 0!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.12!important;
  font-weight:950!important;
}
#bb145-modal .bb145-modal-price{
  margin:12px 0 0!important;
  color:#fff!important;
  font-size:23px!important;
  font-weight:950!important;
}
#bb145-modal .bb145-modal-stock{
  margin:10px 0 0!important;
  color:#9fe8ad!important;
  font-size:12px!important;
  font-weight:700!important;
}
#bb145-modal .bb145-modal-description{
  margin:16px 0 0!important;
  color:#c2cede!important;
  font-size:13px!important;
  line-height:1.55!important;
}
#bb145-modal .bb145-modal-add{
  width:100%!important;
  min-height:50px!important;
  margin-top:18px!important;
  border-radius:14px!important;
  border:1px solid rgba(94,161,255,.48)!important;
  background:linear-gradient(180deg,#1856a1,#103c78)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

#bb145-toast{
  position:fixed!important;
  z-index:2147483646!important;
  left:50%!important;
  bottom:calc(86px + env(safe-area-inset-bottom))!important;
  transform:translate(-50%,16px)!important;
  opacity:0!important;
  pointer-events:none!important;
  padding:11px 14px!important;
  border-radius:12px!important;
  background:#0a203b!important;
  color:#fff!important;
  border:1px solid rgba(115,172,255,.32)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.42)!important;
  font-size:12px!important;
  font-weight:800!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
#bb145-toast.is-show{opacity:1!important;transform:translate(-50%,0)!important}

@media (min-width:700px){
  html body #storeProductGrid,
  html body #bnClientStoreGrid,
  html body .store-product-grid,
  html body .bn-client-store-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:15px!important;
  }
}
@media (min-width:1080px){
  html body #storeProductGrid,
  html body #bnClientStoreGrid,
  html body .store-product-grid,
  html body .bn-client-store-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}


/* ==========================================================================
   V0.7.1.9.14.5.2 - CARD SEM STATUS DE ESTOQUE
   O estoque continua funcional, mas não ocupa espaço visual no card.
   ========================================================================== */
html body .bb145-stock{
  display:none !important;
}

/* A descrição ganha o espaço liberado: até 3 linhas. */
html body .bb145-description{
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  margin-top:13px !important;
  -webkit-line-clamp:3 !important;
  line-height:1.5 !important;
}

/* Mantém preço e botão alinhados no fundo. */
html body .bb145-footer{
  margin-top:auto !important;
  padding-top:10px !important;
}
