/* ==== BBS CART DRAWER ==== */
/* Elementor owns the drawer's position and the close button's geometry.
   Nothing here may set position, width, height or display on
   .elementor-menu-cart__main. No ancestor may create a containing block
   (no transform, filter, backdrop-filter or perspective) or the fixed drawer
   will anchor to it instead of the viewport. */

.elementor-location-header,.elementor-location-header .e-con,
.elementor-location-header .elementor-widget-woocommerce-menu-cart{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  filter:none!important;perspective:none!important;}

.elementor-menu-cart__container{background:rgba(12,12,14,.45);z-index:200!important;}
.elementor-menu-cart__main{
  border-radius:0!important;padding:0!important;border:0!important;
  box-shadow:-8px 0 40px rgba(12,12,14,.14);z-index:201!important;}

/* Heading on the content wrapper. The close button is left entirely alone:
   Elementor draws its X from pseudo elements scaled to the element box. */
.elementor-menu-cart__main .widget_shopping_cart_content::before{
  content:'Your cart';display:block;
  font-family:Archivo,sans-serif;font-weight:700;font-size:18px;letter-spacing:-.02em;color:#0C0C0E;
  padding:20px 60px 16px 22px;border-bottom:1px solid #E4E4E7;}


/* Compact rows: the image was dominating the drawer */
.elementor-menu-cart__products{padding:0 22px!important;}
.elementor-menu-cart__product{
  border-bottom:1px solid #E4E4E7!important;padding:14px 0!important;margin:0!important;
  display:grid!important;grid-template-columns:64px 1fr auto;gap:4px 14px;align-items:center;}
.elementor-menu-cart__product:last-child{border-bottom:0!important;}
.elementor-menu-cart__product .elementor-menu-cart__product-image,
.elementor-menu-cart__product .product-thumbnail{grid-row:1 / span 2;}
.elementor-menu-cart__product img,
.elementor-menu-cart__product .attachment-woocommerce_thumbnail{
  width:64px!important;height:64px!important;object-fit:contain!important;
  background:#F4F4F5;border-radius:0!important;margin:0!important;}
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-name a{
  font-family:Archivo,sans-serif!important;font-weight:700;font-size:15px;
  letter-spacing:-.01em;color:#0C0C0E;line-height:1.3;margin:0!important;}
.elementor-menu-cart__product-price{
  font-family:'Instrument Sans',sans-serif;font-size:14px;color:#71717A;margin:0!important;}
.elementor-menu-cart__product-price .amount{color:#0C0C0E;font-weight:600;}

.elementor-menu-cart__subtotal{
  border-top:1px solid #0C0C0E!important;border-bottom:0!important;
  padding:16px 22px!important;font-family:'Instrument Sans',sans-serif;
  font-size:16px;font-weight:600;color:#0C0C0E;text-align:left;}
.elementor-menu-cart__footer-buttons{padding:0 22px 22px!important;gap:10px;}
.elementor-menu-cart__footer-buttons a{
  border-radius:0!important;font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:15px;
  padding:15px 18px!important;text-align:center;min-height:50px;
  display:flex;align-items:center;justify-content:center;}

/* Empty state */
.elementor-menu-cart__empty-message,
.woocommerce-mini-cart__empty-message{font-family:'Instrument Sans',sans-serif;color:#71717A;
  padding:70px 22px 8px;text-align:center;font-size:16px;margin:0;}
.bbs-cart-empty-cta{text-align:center;padding:0 22px 50px;}
.bbs-cart-empty-cta a{font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:15px;
  color:#0C0C0E;border-bottom:1px solid #0C0C0E;padding-bottom:3px;display:inline-block;}

@media(max-width:767px){
  /* Full height and above the fixed bottom nav */
  .elementor-menu-cart__main{width:100%!important;height:100%!important;}
  .elementor-menu-cart__footer-buttons{
    padding-bottom:calc(22px + env(safe-area-inset-bottom))!important;}
  .elementor-menu-cart__product img{width:58px!important;height:58px!important;}
  .elementor-menu-cart__product{grid-template-columns:58px 1fr auto;}
}

/* ==== BBS DRAWER ACTIONS ==== */
/* Checkout is the primary action and leads, full width, as in the reference. */
.elementor-menu-cart__footer-buttons{display:flex!important;flex-direction:column!important;gap:10px!important;}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{order:1;width:100%;}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart{order:2;width:100%;
  background:transparent!important;color:#0C0C0E!important;border:1px solid #0C0C0E!important;}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover{background:#0C0C0E!important;color:#fff!important;}
.elementor-menu-cart__subtotal{display:flex;justify-content:space-between;align-items:center;}

/* ==== BBS DRAWER FILL ==== */
/* Pin the subtotal and actions to the base with the items scrolling above.
   Done on the content wrapper: setting layout on __main previously broke
   Elementor's own positioning and threw the drawer off screen. */
.elementor-menu-cart__main .widget_shopping_cart_content{
  display:flex!important;flex-direction:column!important;
  height:100%!important;max-height:100%!important;min-height:0!important;}

.elementor-menu-cart__main .widget_shopping_cart_content::before{flex:0 0 auto;}

.elementor-menu-cart__products{
  flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;}

.elementor-menu-cart__subtotal{flex:0 0 auto!important;margin-top:auto!important;background:#fff;}
.elementor-menu-cart__footer-buttons{flex:0 0 auto!important;background:#fff;}


/* ==== BBS DRAWER HEAD ROW ==== */
/* Close control on the heading row. Position only, never width or height:
   Elementor draws its X from pseudo elements scaled to the element box. */
.elementor-menu-cart__close-button{
  position:absolute!important;top:20px!important;right:20px!important;
  left:auto!important;bottom:auto!important;margin:0!important;z-index:5;}

/* ==== BBS DRAWER REMOVE ==== */
/* The remove control is also a CSS-drawn cross, from two diagonals on
   ::before and ::after. Both must be neutralised before the word is added,
   otherwise the surviving diagonal stretches across the drawer. */
.elementor-menu-cart__product .remove_from_cart_button,
.elementor-menu-cart__product a.remove{
  position:static!important;display:inline-block!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  background:none!important;background-image:none!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;
  padding:0!important;margin:0!important;font-size:0!important;line-height:1!important;
  transform:none!important;overflow:visible!important;}

.elementor-menu-cart__product .remove_from_cart_button::before,
.elementor-menu-cart__product a.remove::before{
  content:none!important;display:none!important;}

.elementor-menu-cart__product .remove_from_cart_button::after,
.elementor-menu-cart__product a.remove::after{
  content:'Remove'!important;display:inline-block!important;
  position:static!important;transform:none!important;
  width:auto!important;height:auto!important;border:0!important;
  border-bottom:1px solid #E4E4E7!important;background:none!important;
  font-family:'Instrument Sans',sans-serif!important;font-size:12px!important;
  font-weight:500!important;line-height:1.2!important;color:#71717A!important;
  padding:0 0 2px!important;margin:0!important;white-space:nowrap!important;}

.elementor-menu-cart__product .remove_from_cart_button:hover::after,
.elementor-menu-cart__product a.remove:hover::after{
  color:#0C0C0E!important;border-bottom-color:#0C0C0E!important;}
