
:root{
  --bgc-text:var(--thar-text,#111);
  --bgc-button:var(--thar-btn-bg,#111);
  --bgc-button-text:var(--thar-btn-text,#fff);
  --bgc-cart:var(--thar-cart-bg,#f6f6f6);
  --bgc-panel:var(--thar-panel-bg,#fff);
  --bgc-border:#e8e8e8;
}

/* Never create a permanent invisible layer. Top layer exists only while open. */
.elementor-menu-cart__container{z-index:auto!important}
html.bgc-cart-open .elementor-menu-cart__container,
body.bgc-cart-open .elementor-menu-cart__container{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  z-index:2147483646!important;
}
html.bgc-cart-open .elementor-menu-cart__main.bgc-ready{
  z-index:2147483647!important;
}
html.bgc-cart-open,html.bgc-cart-open body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.bgc-cart-open{
  position:fixed!important;
  left:0!important;right:0!important;width:100%!important;
}

/* Side panel: real 3-row structure: real header / products / real footer. */
.elementor-menu-cart__main.bgc-ready{
  position:absolute!important;
  top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:420px!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:0!important;
  margin:0!important;padding:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:64px minmax(0,1fr) auto!important;
  grid-template-columns:minmax(0,1fr)!important;
  overflow:hidden!important;
  background:var(--bgc-cart)!important;
  border:0!important;
  box-shadow:-5px 0 22px rgba(0,0,0,.12)!important;
}
.bgc-cart-header{
  grid-row:1!important;grid-column:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:64px!important;min-height:64px!important;
  padding:0 56px!important;margin:0!important;box-sizing:border-box!important;
  background:#fff!important;border-bottom:1px solid var(--bgc-border)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.06)!important;
  color:var(--bgc-text)!important;font-size:21px!important;font-weight:600!important;line-height:1!important;
  z-index:5!important;
}
.elementor-menu-cart__main.bgc-ready::before{display:none!important;content:none!important}
.elementor-menu-cart__close-button{
  position:absolute!important;top:21px!important;right:18px!important;
  width:22px!important;height:22px!important;margin:0!important;padding:0!important;
  z-index:20!important;
}

/* Product list is the ONLY section whose height changes with product count. */
.elementor-menu-cart__main.bgc-ready > .elementor-menu-cart__products{
  grid-row:2!important;grid-column:1!important;
  align-self:stretch!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:12px!important;box-sizing:border-box!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  background:var(--bgc-cart)!important;border:0!important;
}
.elementor-menu-cart__product{
  position:relative!important;width:100%!important;
  display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;column-gap:12px!important;row-gap:4px!important;
  margin:0 0 10px!important;padding:12px!important;box-sizing:border-box!important;
  background:var(--bgc-panel)!important;border:1px solid #ededed!important;border-radius:7px!important;
}
.elementor-menu-cart__product-image{
  grid-column:1!important;grid-row:1/span 3!important;
  width:88px!important;height:92px!important;margin:0!important;padding:0!important;align-self:center!important;
}
.elementor-menu-cart__product-image a{display:block!important;width:100%!important;height:100%!important}
.elementor-menu-cart__product-image img{
  display:block!important;width:88px!important;height:92px!important;max-width:88px!important;max-height:92px!important;
  object-fit:contain!important;margin:0!important;padding:0!important;border-radius:4px!important;
}
.elementor-menu-cart__product-name{grid-column:2!important;grid-row:1!important;margin:0!important;padding:0 26px 0 0!important;min-width:0!important}
.elementor-menu-cart__product-name a{color:var(--bgc-text)!important;font-size:14px!important;font-weight:600!important;line-height:1.35!important;text-decoration:none!important}
.elementor-menu-cart__product-price{grid-column:2!important;grid-row:2!important;margin:2px 0 0!important;color:var(--bgc-text)!important;font-size:14px!important}
.elementor-menu-cart__product-remove{
  position:absolute!important;top:12px!important;right:10px!important;width:20px!important;height:20px!important;
  margin:0!important;padding:0!important;background:transparent!important;border:0!important;z-index:3!important;
}
.thar-side-quantity{
  grid-column:2!important;grid-row:3!important;display:inline-flex!important;align-items:center!important;
  width:max-content!important;height:30px!important;margin:4px 0 0!important;border:1px solid #111!important;overflow:hidden!important;
}
.thar-side-quantity button{
  width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;padding:0!important;
  border:0!important;background:#fff!important;color:#111!important;line-height:30px!important;cursor:pointer!important;
}
.thar-qty-value{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:32px!important;height:30px!important;border-left:1px solid #111!important;border-right:1px solid #111!important;
}

/* Elementor's own bottom rows are replaced by one deterministic Brandgori footer. */
.elementor-menu-cart__main.bgc-ready .elementor-menu-cart__subtotal,
.elementor-menu-cart__main.bgc-ready .elementor-menu-cart__footer-buttons{
  display:none!important;
}
.bgc-cart-footer{
  grid-row:3!important;grid-column:1!important;
  width:100%!important;min-width:0!important;margin:0!important;
  padding:10px 16px max(12px,env(safe-area-inset-bottom))!important;box-sizing:border-box!important;
  background:#fff!important;border-top:1px solid var(--bgc-border)!important;
  box-shadow:0 -4px 12px rgba(0,0,0,.05)!important;
  overflow:visible!important;z-index:5!important;
}
.thar-empty-cart{
  display:block!important;width:auto!important;height:auto!important;min-height:0!important;
  margin:0 0 10px auto!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#000!important;box-shadow:none!important;cursor:pointer!important;
  font-weight:600!important;line-height:1.35!important;text-align:right!important;
}
.thar-coupon-section{margin:0 0 7px!important}
.thar-coupon-heading{display:flex!important;align-items:center!important;gap:6px!important;margin:0 0 5px!important;font-size:13px!important;font-weight:600!important;color:var(--bgc-text)!important}
.thar-coupon-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:19px!important;height:19px!important;border-radius:50%!important;background:#111!important;color:#fff!important;font-size:11px!important}
.thar-coupon-fields{display:flex!important;gap:6px!important;width:100%!important}
.thar-coupon-input{flex:1 1 auto!important;min-width:0!important;height:35px!important;margin:0!important;padding:0 9px!important;border:1px solid #ddd!important;border-radius:5px!important;background:#fff!important}
.thar-coupon-apply{flex:0 0 auto!important;height:35px!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:5px!important;background:var(--bgc-button)!important;color:var(--bgc-button-text)!important;cursor:pointer!important}
.thar-coupon-message{margin-top:3px!important;font-size:11px!important;line-height:1.2!important}
.thar-coupon-message.success{color:#16843d!important}.thar-coupon-message.error{color:#c62828!important}

.bgc-delivery{margin:0 0 7px!important}
.bgc-delivery-title{margin:0 0 5px!important;font-size:13px!important;font-weight:600!important;color:var(--bgc-text)!important}
.bgc-delivery-list{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  width:100%!important;gap:4px!important;
}
.bgc-delivery-option{
  display:grid!important;grid-template-columns:16px minmax(0,1fr) auto!important;align-items:center!important;
  width:100%!important;gap:7px!important;margin:0!important;padding:5px 7px!important;box-sizing:border-box!important;
  border:1px solid #e5e5e5!important;border-radius:5px!important;background:#fff!important;color:var(--bgc-text)!important;cursor:pointer!important;
}
.bgc-delivery-option input{appearance:auto!important;-webkit-appearance:radio!important;width:14px!important;height:14px!important;margin:0!important}
.bgc-delivery-name{min-width:0!important;font-size:12px!important;line-height:1.2!important}
.bgc-delivery-price{font-size:12px!important;white-space:nowrap!important}

.thar-custom-subtotal,.thar-custom-total{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;color:var(--bgc-text)!important}
.thar-custom-subtotal{padding:6px 0!important;border-top:1px solid #eee!important;font-size:13px!important}
.thar-custom-total{padding:6px 0 8px!important;border-top:1px solid #eee!important;font-size:15px!important;font-weight:700!important}
.thar-checkout-button{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  width:100%!important;min-height:42px!important;margin:0!important;padding:8px 10px!important;box-sizing:border-box!important;
  border-radius:5px!important;background:var(--bgc-button)!important;color:var(--bgc-button-text)!important;text-decoration:none!important;font-weight:600!important;
}
.thar-checkout-icon{display:inline-flex!important;width:17px!important;height:17px!important;flex:0 0 17px!important;align-items:center!important;justify-content:center!important}
.thar-checkout-icon svg{display:block!important;width:17px!important;height:17px!important;fill:currentColor!important}

/* Empty product viewport is white, but footer remains visible. */
.elementor-menu-cart__main.bgc-empty,
.elementor-menu-cart__main.bgc-empty > .elementor-menu-cart__products,
.elementor-menu-cart__main.bgc-empty .woocommerce-mini-cart,
.elementor-menu-cart__main.bgc-empty .woocommerce-mini-cart__empty-message,
.elementor-menu-cart__main.bgc-empty .widget_shopping_cart_content{background:#fff!important}
.elementor-menu-cart__main.bgc-empty .woocommerce-mini-cart__empty-message{margin:0!important;padding:28px 16px!important;text-align:center!important}

/* No decorative cart icon: prevents the previous oversized icon problem. */
.brandgori-cart-title-icon{display:none!important}

/* TABLET: side panel, not mobile/full-screen. */
@media (min-width:768px) and (max-width:1024px){
  .elementor-menu-cart__main.bgc-ready{
    width:min(440px,56vw)!important;
    max-width:56vw!important;
  }
  .elementor-menu-cart__product{grid-template-columns:78px minmax(0,1fr)!important;padding:10px!important}
  .elementor-menu-cart__product-image,.elementor-menu-cart__product-image img{width:78px!important;max-width:78px!important;height:84px!important;max-height:84px!important}
  .bgc-cart-footer{padding:9px 13px max(10px,env(safe-area-inset-bottom))!important}
}

/* MOBILE: full width and compact, with the same three-zone structure. */
@media (max-width:767px){
  .elementor-menu-cart__main.bgc-ready{
    width:100vw!important;max-width:100vw!important;
    grid-template-rows:58px minmax(0,1fr) auto!important;
  }
  .bgc-cart-header{height:58px!important;min-height:58px!important;padding:0 50px!important;font-size:19px!important}
  .elementor-menu-cart__close-button{top:18px!important;right:15px!important}
  .elementor-menu-cart__main.bgc-ready > .elementor-menu-cart__products{padding:9px 10px!important}
  .elementor-menu-cart__product{grid-template-columns:82px minmax(0,1fr)!important;padding:10px!important;column-gap:10px!important}
  .elementor-menu-cart__product-image,.elementor-menu-cart__product-image img{width:82px!important;max-width:82px!important;height:88px!important;max-height:88px!important}
  .bgc-cart-footer{padding:7px 10px max(9px,env(safe-area-inset-bottom))!important}
  .thar-empty-cart{width:auto!important;height:auto!important;min-height:0!important;margin:0 0 8px auto!important;padding:0!important;background:transparent!important;border:0!important;color:#000!important}
  .thar-coupon-section,.bgc-delivery{margin-bottom:5px!important}
  .thar-coupon-heading,.bgc-delivery-title{margin-bottom:4px!important}
  .thar-coupon-input,.thar-coupon-apply{height:32px!important}
  .bgc-delivery-option{padding:4px 6px!important}
  .thar-custom-subtotal{padding:4px 0!important}
  .thar-custom-total{padding:4px 0 6px!important}
  .thar-checkout-button{min-height:38px!important;padding:6px 9px!important}
}
@supports not (height:100dvh){
  .elementor-menu-cart__main.bgc-ready{height:100vh!important;max-height:100vh!important}
}


/* v4.0.3 — stacking-only fix.
   Elementor cart can live inside header/section stacking contexts.
   These ancestors are elevated ONLY while the cart is open. */
html.bgc-cart-open .bgc-stack-parent,
body.bgc-cart-open .bgc-stack-parent{
  z-index:2147483645!important;
}
html.bgc-cart-open .elementor-menu-cart__container{
  z-index:2147483646!important;
}
html.bgc-cart-open .elementor-menu-cart__main.bgc-ready{
  z-index:2147483647!important;
}


/* v4.0.6 — product-area outer spacing only, all devices */
.elementor-menu-cart__main.bgc-ready > .elementor-menu-cart__products{
  padding:14px!important;
}
@media (min-width:768px) and (max-width:1024px){
  .elementor-menu-cart__main.bgc-ready > .elementor-menu-cart__products{
    padding:14px!important;
  }
}
@media (max-width:767px){
  .elementor-menu-cart__main.bgc-ready > .elementor-menu-cart__products{
    padding:12px!important;
  }
}


/* v4.0.7 — actual product-card outer spacing, all devices.
   This targets the card itself, so Elementor inner wrappers cannot cancel it. */
.elementor-menu-cart__main.bgc-ready .elementor-menu-cart__products .elementor-menu-cart__product{
  width:calc(100% - 24px)!important;
  max-width:calc(100% - 24px)!important;
  margin-left:12px!important;
  margin-right:12px!important;
  margin-bottom:10px!important;
}
@media (min-width:768px){
  .elementor-menu-cart__main.bgc-ready .elementor-menu-cart__products .elementor-menu-cart__product{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    margin-left:14px!important;
    margin-right:14px!important;
  }
}

/* v4.0.8 — first product card top gap only */
.elementor-menu-cart__main.bgc-ready .elementor-menu-cart__products .elementor-menu-cart__product:first-child{
  margin-top:12px!important;
}
@media (min-width:768px){
  .elementor-menu-cart__main.bgc-ready .elementor-menu-cart__products .elementor-menu-cart__product:first-child{
    margin-top:14px!important;
  }
}

/* v4.7.1: Subtotal removed from side cart. */
.elementor-menu-cart__main.bgc-ready .thar-custom-subtotal{display:none!important;}

.bgc-cart-header{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.bgc-title-cart-icon{width:21px!important;height:21px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 21px!important;color:currentColor!important}
.bgc-title-cart-icon svg{width:21px!important;height:21px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.thar-empty-cart:hover,.thar-empty-cart:focus,.thar-empty-cart:active{background:transparent!important;color:#000!important;border:0!important;box-shadow:none!important}
