/* Lusso Organics — WooCommerce Cart layout repair */
.woocommerce-cart .site-main{
  width:min(1240px,100%)!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding:44px 24px 72px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-components-sidebar-layout{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

.woocommerce-cart .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
  gap:28px!important;
  align-items:start!important;
}

.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-items{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid var(--lusso-line)!important;
  border-radius:20px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-items__row{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-item__image{
  width:120px!important;
  min-width:120px!important;
  padding:20px 12px 20px 20px!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-item__image img{
  display:block!important;
  width:100%!important;
  max-width:96px!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin:0!important;
  padding:6px!important;
  border-radius:12px!important;
  background:#f3eee6!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-item__product{
  min-width:0!important;
  padding:20px 12px!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-item__total{
  min-width:105px!important;
  padding:20px 20px 20px 12px!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart-item__wrap{
  min-width:0!important;
  max-width:100%!important;
}

.woocommerce-cart .wc-block-components-product-name{
  display:block!important;
  margin:0 0 7px!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:24px!important;
  line-height:1.1!important;
  color:var(--lusso-forest)!important;
  overflow-wrap:anywhere!important;
}

.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-metadata{
  max-width:100%!important;
  color:var(--lusso-muted)!important;
}

.woocommerce-cart .wc-block-components-product-metadata{
  margin:7px 0 12px!important;
  font-size:13px!important;
  line-height:1.55!important;
}

.woocommerce-cart .wc-block-components-quantity-selector{
  width:132px!important;
  max-width:100%!important;
  min-height:44px!important;
  border:1px solid var(--lusso-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}

.woocommerce-cart .wc-block-cart__sidebar{
  position:static!important;
}

.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-order-summary{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.woocommerce-cart .wc-block-cart__sidebar{
  background:#fff!important;
  border:1px solid var(--lusso-line)!important;
  border-radius:20px!important;
  padding:22px!important;
  box-shadow:var(--lusso-shadow-soft)!important;
}

.woocommerce-cart .wc-block-cart__totals-title{
  margin:0 0 12px!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:32px!important;
  color:var(--lusso-forest)!important;
}

.woocommerce-cart .wc-block-cart__submit{
  margin:18px 0 0!important;
}

.woocommerce-cart .wc-block-cart__submit-container,
.woocommerce-cart .wc-block-cart__submit-container--sticky{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.woocommerce-cart .wc-block-cart__submit-container--sticky::before,
.woocommerce-cart .wc-block-cart__submit-container--sticky::after{
  display:none!important;
}

.woocommerce-cart .wc-block-cart__submit-button{
  width:100%!important;
  min-height:50px!important;
  border-radius:999px!important;
  background:var(--lusso-rose)!important;
  color:#fff!important;
  font-weight:800!important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover{
  background:var(--lusso-forest)!important;
}

@media(max-width:781px){
  .woocommerce-cart .site-main{
    width:100%!important;
    max-width:100%!important;
    padding:32px 14px 56px!important;
    overflow-x:hidden!important;
  }

  .woocommerce-cart .page-header{
    margin-bottom:24px!important;
  }

  .woocommerce-cart .page-header .entry-title{
    font-size:56px!important;
    line-height:.95!important;
  }

  .woocommerce-cart .wc-block-components-sidebar-layout{
    display:block!important;
    width:100%!important;
  }

  .woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
  .woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar,
  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .woocommerce-cart .wc-block-cart__sidebar{
    margin-top:18px!important;
    padding:18px!important;
    border-radius:16px!important;
  }

  .woocommerce-cart table.wc-block-cart-items,
  .woocommerce-cart .wc-block-cart-items{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }

  .woocommerce-cart .wc-block-cart-items tbody{
    display:block!important;
    width:100%!important;
  }

  .woocommerce-cart .wc-block-cart-items__row{
    position:relative!important;
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 12px!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid var(--lusso-line)!important;
    border-radius:16px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .woocommerce-cart .wc-block-cart-item__image{
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:82px!important;
    min-width:82px!important;
    padding:0!important;
    margin:0!important;
    align-self:start!important;
  }

  .woocommerce-cart .wc-block-cart-item__image img{
    width:78px!important;
    max-width:78px!important;
    height:78px!important;
    padding:5px!important;
    border-radius:10px!important;
  }

  .woocommerce-cart .wc-block-cart-item__product{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }

  .woocommerce-cart .wc-block-cart-item__total{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    text-align:left!important;
  }

  .woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price{
    text-align:left!important;
    font-size:16px!important;
    font-weight:700!important;
    color:var(--lusso-ink)!important;
  }

  .woocommerce-cart .wc-block-components-product-name{
    font-size:21px!important;
    line-height:1.15!important;
    margin:0 0 5px!important;
  }

  .woocommerce-cart .wc-block-components-product-metadata{
    display:block!important;
    max-height:none!important;
    margin:5px 0 10px!important;
    font-size:12px!important;
    line-height:1.45!important;
  }

  .woocommerce-cart .wc-block-components-quantity-selector{
    width:118px!important;
    min-height:40px!important;
    margin-top:8px!important;
  }

  .woocommerce-cart .wc-block-cart-item__remove-link{
    margin-top:9px!important;
  }

  .woocommerce-cart .wc-block-cart__submit-container,
  .woocommerce-cart .wc-block-cart__submit-container--sticky{
    position:static!important;
    width:100%!important;
    margin-top:14px!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .woocommerce-cart .wc-block-cart__submit-button{
    position:static!important;
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
  }
}

@media(max-width:420px){
  .woocommerce-cart .site-main{
    padding-inline:10px!important;
  }

  .woocommerce-cart .wc-block-cart-items__row{
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding:12px!important;
  }

  .woocommerce-cart .wc-block-cart-item__image{
    width:72px!important;
    min-width:72px!important;
  }

  .woocommerce-cart .wc-block-cart-item__image img{
    width:68px!important;
    max-width:68px!important;
    height:68px!important;
  }

  .woocommerce-cart .wc-block-components-product-name{
    font-size:19px!important;
  }
}
