/* Silent Wave cart: clean product summary and responsive Cart Block layout. */
body.woocommerce-cart .sw-inner{
  width:min(1240px,calc(100% - 48px));
  margin:64px auto 90px;
}

/* Classic WooCommerce cart: server-rendered markup avoids the Cart Block's
   false empty-state hydration flash and gives every remove link a stable URL. */
body.woocommerce-cart form.woocommerce-cart-form{float:left;width:64%;margin:0 4% 70px 0}
body.woocommerce-cart .cart-collaterals{float:left;width:32%;margin-bottom:70px}
body.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%}
body.woocommerce-cart table.shop_table{width:100%;border:0;border-collapse:collapse;border-radius:0}
body.woocommerce-cart table.shop_table th{padding:13px 10px;border-bottom:1px solid #cfd0cc;font-size:12px;text-transform:uppercase}
body.woocommerce-cart table.shop_table td{padding:22px 10px;border-bottom:1px solid #cfd0cc;vertical-align:middle}
body.woocommerce-cart table.shop_table .product-thumbnail{width:94px}
body.woocommerce-cart table.shop_table .product-thumbnail img{display:block;width:78px;height:78px;object-fit:contain;background:#eef0ec}
body.woocommerce-cart table.shop_table .product-name a{color:#111;font-weight:700}
body.woocommerce-cart table.shop_table .variation{margin:7px 0 0;font-size:12px}
body.woocommerce-cart table.shop_table .variation dt{font-weight:700}
body.woocommerce-cart table.shop_table .product-remove{width:40px;text-align:center}
body.woocommerce-cart table.shop_table .product-remove a.remove{position:relative;z-index:5;display:grid!important;place-items:center;width:34px;height:34px;margin:auto;border:1px solid #111;border-radius:0;color:#111!important;font-size:21px;line-height:1;pointer-events:auto!important;touch-action:manipulation}
body.woocommerce-cart table.shop_table .product-remove a.remove:hover{background:#111;color:#fff!important}
body.woocommerce-cart table.shop_table .quantity input{min-height:38px}
body.woocommerce-cart table.shop_table td.actions{padding:22px 0;border-bottom:0}
body.woocommerce-cart table.shop_table td.actions button{min-height:46px;border-radius:0;background:#111;color:#fff}
body.woocommerce-cart .cart_totals h2{font-size:18px;text-transform:uppercase}
body.woocommerce-cart .wc-proceed-to-checkout a{border-radius:0;background:#111;color:#fff;text-align:center}
body.woocommerce-cart .woocommerce:after{content:"";display:table;clear:both}

@media(max-width:1024px){
  body.woocommerce-cart form.woocommerce-cart-form,body.woocommerce-cart .cart-collaterals{float:none;width:100%;margin:0 0 46px}
}

@media(max-width:600px){
  body.woocommerce-cart table.shop_table_responsive thead{display:none}
  body.woocommerce-cart table.shop_table_responsive tbody,body.woocommerce-cart table.shop_table_responsive tr{display:block;width:100%}
  body.woocommerce-cart table.shop_table_responsive tr.cart_item{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px 13px;padding:18px 42px 18px 0;border-bottom:1px solid #cfd0cc}
  body.woocommerce-cart table.shop_table_responsive tr.cart_item td{display:block!important;width:auto!important;padding:0!important;border:0!important;text-align:left!important}
  body.woocommerce-cart table.shop_table_responsive tr.cart_item td:before{display:none!important}
  body.woocommerce-cart table.shop_table_responsive .product-thumbnail{grid-column:1;grid-row:1/5}
  body.woocommerce-cart table.shop_table_responsive .product-thumbnail img{width:76px;height:76px}
  body.woocommerce-cart table.shop_table_responsive .product-name,body.woocommerce-cart table.shop_table_responsive .product-price,body.woocommerce-cart table.shop_table_responsive .product-quantity,body.woocommerce-cart table.shop_table_responsive .product-subtotal{grid-column:2}
  body.woocommerce-cart table.shop_table_responsive .product-remove{position:absolute;z-index:10;top:18px;right:0}
  body.woocommerce-cart table.shop_table_responsive .product-remove a.remove{width:34px;height:34px}
  body.woocommerce-cart table.shop_table_responsive .product-subtotal{font-size:16px;font-weight:800}
  body.woocommerce-cart table.shop_table_responsive td.actions{display:block!important;padding-top:18px!important}
  body.woocommerce-cart table.shop_table_responsive td.actions .coupon{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
}
body.woocommerce-cart .sw-shop-title{
  margin:0 0 62px;
}

/* The long specifications are the product short description. Keep only the
   variation details (Flavours), quantity, pricing and remove control. */
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-product-metadata > p:not(.wc-block-components-product-details),
body.woocommerce-cart .wc-block-components-product-details__name:not(:is([class*="flavour"],[class*="flavor"])):has(+ .wc-block-components-product-details__value){
  display:none!important;
}
body.woocommerce-cart .wc-block-components-product-details{
  margin:8px 0 10px!important;
  font-size:12px!important;
  line-height:1.4!important;
}
body.woocommerce-cart .wc-block-cart-item__image{
  display:block!important;
}
body.woocommerce-cart .wc-block-cart-item__image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
}

/* Draw one continuous divider for the complete item row. WooCommerce Blocks
   otherwise draws a separate short rule inside the total/price cell. */
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row{
  position:relative;
  border-bottom:1px solid #d4d5d1!important;
}
body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row > td,
body.woocommerce-cart .wc-block-cart-item__total{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.woocommerce-cart .wc-block-cart-item__total:before,
body.woocommerce-cart .wc-block-cart-item__total:after{
  display:none!important;
  content:none!important;
}
body.woocommerce-cart .wc-block-cart-item__total{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column;
  justify-content:center!important;
}

@media (max-width:1024px){
  body.woocommerce-cart .sw-inner{
    width:min(94vw,900px);
    margin:48px auto 72px;
  }
  body.woocommerce-cart .sw-shop-title{margin-bottom:42px}
  body.woocommerce-cart .wc-block-cart{
    margin-inline:auto!important;
    width:100%!important;
  }
}

@media (max-width:600px){
  body.woocommerce-cart .sw-inner{
    width:100%;
    margin:32px auto 56px;
    padding:0 18px;
    overflow:hidden;
  }
  body.woocommerce-cart .sw-shop-title{
    margin:0 0 30px;
    font-size:54px;
    line-height:.95;
  }
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart,
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.woocommerce-cart table.wc-block-cart-items,
  body.woocommerce-cart table.wc-block-cart-items tbody,
  body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row{
    width:100%!important;
  }
  body.woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row{
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:14px!important;
    padding:18px 0!important;
  }
  body.woocommerce-cart .wc-block-cart-item__image{
    grid-column:1!important;
    width:88px!important;
    padding:0!important;
  }
  body.woocommerce-cart .wc-block-cart-item__product{
    grid-column:2!important;
    min-width:0!important;
    padding:0!important;
    text-align:left!important;
  }
  body.woocommerce-cart .wc-block-cart-item__total{
    grid-column:2!important;
    padding:10px 0 0!important;
    text-align:left!important;
  }
  body.woocommerce-cart .wc-block-cart-item__prices,
  body.woocommerce-cart .wc-block-cart-item__quantity{
    justify-content:flex-start!important;
  }
  body.woocommerce-cart .wc-block-components-product-name{
    overflow-wrap:anywhere;
    font-size:14px!important;
    line-height:1.3!important;
  }
}
