:root{
  --cart-surface:rgba(255,255,255,.04);
  --cart-surface-strong:rgba(255,255,255,.07);
  --cart-surface-light:#f5f1ea;
  --cart-border:1px solid rgba(216,194,168,.16);
  --cart-text-muted:rgba(245,241,234,.66);
  --cart-accent-soft:rgba(184,149,106,.14);
}

.woocommerce-cart .shop-hero,
.woocommerce-cart .shop-archive-section,
.woocommerce-cart .cart-empty-shell{
  background:var(--charcoal);
}

.cart-shell{
  background:var(--charcoal);
  padding:var(--space-section-y) var(--space-page-x);
}

.cart-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);
  gap:2rem;
  align-items:start;
}

.cart-main,
.cart-summary-card,
.cart-empty-card,
.cart-collaterals .cross-sells{
  background:var(--cart-surface);
  border:var(--cart-border);
  backdrop-filter:blur(12px);
}

.cart-main{padding:1.5rem}

.cart-heading{
  margin:0 0 1.25rem;
  color:var(--ivory);
  font-size:clamp(2.1rem,4vw,3.5rem);
  line-height:1;
}

.cart-subcopy,
.cart-summary-note,
.cart-empty-copy,
.cart-main .variation,
.cart-main .product-name dl,
.cart-main .product-name .wc-item-meta,
.cart-main .product-name-backorder{
  color:var(--cart-text-muted);
  font-family:var(--font-family-body);
  font-size:.92rem;
  line-height:1.8;
}

.shop-hero--cart .shop-hero-meta strong{color:var(--ivory);font-weight:500}

.cart-table-wrap{overflow:auto}

.shop-cart-table{
  width:100%;
  border-collapse:collapse;
}

.shop-cart-table th{
  padding:0 0 1rem;
  color:rgba(245,241,234,.56);
  border-bottom:1px solid rgba(216,194,168,.16);
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:left;
  font-family:var(--font-family-body);
  font-size:.68rem;
  font-weight:500;
}

.shop-cart-table td{
  padding:1.25rem 0;
  border-bottom:1px solid rgba(216,194,168,.1);
  vertical-align:top;
  color:var(--ivory);
}

.shop-cart-table tr:last-child td{border-bottom:none}
.shop-cart-table th.product-remove,
.shop-cart-table td.product-remove{width:52px;padding-right:1rem}
.shop-cart-table th.product-thumbnail,
.shop-cart-table td.product-thumbnail{width:120px;padding-right:1rem}
.shop-cart-table th.product-quantity,
.shop-cart-table td.product-quantity{width:150px}

.shop-cart-table .product-remove a{
  width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(245,241,234,.06);border:1px solid rgba(245,241,234,.12);color:var(--ivory);text-decoration:none;
}
.shop-cart-table .product-remove a:hover{background:rgba(205,124,124,.18);border-color:rgba(205,124,124,.4)}

.shop-cart-table .product-thumbnail img{
  width:92px;height:112px;object-fit:cover;border-radius:24px;background:rgba(255,255,255,.04);
}

.shop-cart-table .product-name a,
.cart-empty-card a,
.cart-collaterals .cross-sells .products .product a{
  color:var(--ivory);text-decoration:none;
}
.shop-cart-table .product-name a{display:inline-block;margin-bottom:.35rem;font-family:var(--font-family-display);font-size:1.45rem;line-height:1.08}
.shop-cart-table .product-price,
.shop-cart-table .product-subtotal{font-size:1rem}
.shop-cart-table .amount{color:var(--ivory)}

.shop-cart-table .product-price .amount,
.shop-cart-table .product-subtotal .amount,
.cart-summary-totals .amount{font-family:var(--font-family-display);font-size:1.3rem;font-weight:400}

.shop-cart-table .quantity{display:inline-flex}
.shop-cart-table .quantity .qty{
  min-width:78px;background:rgba(245,241,234,.06);border:1px solid rgba(245,241,234,.16);color:var(--ivory);
  padding:.8rem .85rem;border-radius:999px;font-family:var(--font-family-body);text-align:center;
}

.cart-actions-row td{padding-top:1.5rem}
.cart-actions-stack{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.cart-coupon{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.cart-coupon #coupon_code,
.cart-summary-card .shipping-calculator-form input,
.cart-summary-card .shipping-calculator-form select{
  min-width:220px;background:rgba(245,241,234,.06);border:1px solid rgba(245,241,234,.16);color:var(--ivory);padding:.95rem 1rem;border-radius:999px;outline:none;
}
.cart-coupon #coupon_code::placeholder{color:rgba(245,241,234,.42)}

.button,
.shop-cart-table button,
.shop-cart-table .button,
.cart-summary-card .checkout-button,
.cart-summary-card .shipping-calculator-button{
  appearance:none;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:var(--ivory);
  padding:.95rem 1.45rem;letter-spacing:.16em;text-transform:uppercase;font-family:var(--font-family-body);font-size:.68rem;font-weight:500;text-decoration:none;cursor:none;transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.button:hover,
.shop-cart-table button:hover,
.shop-cart-table .button:hover,
.cart-summary-card .checkout-button:hover,
.cart-summary-card .shipping-calculator-button:hover{transform:translateY(-2px);background:#c4a882;border-color:#c4a882}

.shop-cart-table .button[name="update_cart"]{
  background:transparent;border-color:rgba(245,241,234,.18)
}
.shop-cart-table .button[name="update_cart"]:hover{background:rgba(245,241,234,.08);border-color:rgba(245,241,234,.28)}
.shop-cart-table .button:disabled{opacity:.55;cursor:not-allowed;transform:none}

.cart-summary-card{padding:1.6rem;position:sticky;top:120px}
.cart-summary-kicker{margin:0 0 .5rem;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;font-size:.68rem}
.cart-summary-title{margin:0 0 .75rem;color:var(--ivory);font-size:2rem;line-height:1}

.cart-summary-progress{margin:1.2rem 0 1.5rem;padding:1rem 1.1rem;border-radius:24px;background:var(--cart-accent-soft);border:1px solid rgba(184,149,106,.2)}
.cart-summary-progress-bar{height:10px;border-radius:999px;background:rgba(245,241,234,.12);overflow:hidden;margin-top:.75rem}
.cart-summary-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#dcc1a4)}
.cart-summary-progress-copy{margin:0;color:rgba(245,241,234,.84);font-size:.88rem;line-height:1.7}

.cart-summary-totals .shop_table,
.cart-summary-totals table{
  width:100%;border-collapse:collapse;margin:0 0 1rem;
}
.cart-summary-totals th,
.cart-summary-totals td{
  padding:.85rem 0;border-bottom:1px solid rgba(216,194,168,.12);color:var(--ivory);text-align:left;font-weight:400;
}
.cart-summary-totals td{text-align:right}
.cart-summary-totals .order-total th,
.cart-summary-totals .order-total td{padding-top:1rem;border-bottom:none}
.cart-summary-totals .order-total .amount{font-size:1.55rem}
.cart-summary-card .wc-proceed-to-checkout{padding:0;margin-top:1rem}
.cart-summary-card .wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;margin-bottom:0}
.cart-summary-card .shipping-calculator-button{display:inline-flex;margin-top:.75rem;background:transparent}
.cart-summary-card .shipping-calculator-form{padding-top:.5rem}
.cart-summary-card .shipping-calculator-form p{margin-bottom:.75rem}
.cart-summary-card .shipping-calculator-form button{width:100%}

.cart-collaterals .cross-sells{margin-top:1.25rem;padding:1.4rem}
.cart-collaterals .cross-sells > h2{margin:0 0 1rem;color:var(--ivory);font-size:1.65rem}
.cart-collaterals .cross-sells .products{display:grid;grid-template-columns:1fr;gap:1rem;list-style:none;padding:0;margin:0}
.cart-collaterals .cross-sells .products .product{display:grid;grid-template-columns:82px minmax(0,1fr);gap:1rem;align-items:center}
.cart-collaterals .cross-sells .products img{width:82px;height:94px;object-fit:cover;border-radius:20px}
.cart-collaterals .cross-sells .woocommerce-loop-product__title{margin:0 0 .35rem;font-family:var(--font-family-display);font-size:1.15rem;font-weight:400;color:var(--ivory)}
.cart-collaterals .cross-sells .price{color:rgba(245,241,234,.78);font-size:.92rem}
.cart-collaterals .cross-sells .button{margin-top:.55rem;padding:.8rem 1rem}

.cart-empty-shell{padding:var(--space-section-y) var(--space-page-x)}
.cart-empty-card{max-width:760px;margin:0 auto;padding:2.5rem;text-align:center}
.cart-empty-title{margin:0 0 1rem;color:var(--ivory);font-size:clamp(2.5rem,5vw,4.4rem);line-height:1}

.woocommerce-notices-wrapper,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  margin-bottom:1rem;
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  background:rgba(245,241,234,.06);border:1px solid rgba(245,241,234,.14);color:var(--ivory);padding:1rem 1.1rem;list-style:none;
}
.woocommerce-message .button,
.woocommerce-info .button{margin-inline-start:1rem}

@media (max-width: 1024px){
  .cart-layout{grid-template-columns:1fr}
  .cart-summary-card{position:static}
}

@media (max-width: 767px){
  .cart-shell,
  .cart-empty-shell{padding:80px var(--space-page-x-mobile)}
  .cart-main,
  .cart-summary-card,
  .cart-empty-card{padding:1.2rem}
  .shop-cart-table thead{display:none}
  .shop-cart-table,
  .shop-cart-table tbody,
  .shop-cart-table tr,
  .shop-cart-table td{display:block;width:100%}
  .shop-cart-table tr{padding:1rem 0;border-bottom:1px solid rgba(216,194,168,.12)}
  .shop-cart-table td{border:none;padding:.35rem 0}
  .shop-cart-table td.product-remove,.shop-cart-table td.product-thumbnail{width:auto}
  .shop-cart-table .product-thumbnail img{width:100%;max-width:140px;height:auto;aspect-ratio:4/5}
  .shop-cart-table td.product-price::before,
  .shop-cart-table td.product-quantity::before,
  .shop-cart-table td.product-subtotal::before{
    display:block;margin-bottom:.3rem;color:rgba(245,241,234,.48);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;content:attr(data-title)
  }
  .cart-actions-stack{align-items:stretch}
  .cart-coupon{width:100%}
  .cart-coupon #coupon_code,.cart-coupon .button,.shop-cart-table .button[name="update_cart"]{width:100%}
}
