@layer cart {
  .cart-drawer { position: fixed; z-index: 121; inset-block: 0; inset-inline-end: 0; display: flex; flex-direction: column; inline-size: min(92vw, 27rem); background: var(--sab-color-ivory); box-shadow: var(--sab-shadow-soft); transform: translateX(105%); transition: transform var(--sab-duration); }
  [dir="rtl"] .cart-drawer { inset-inline-end: auto; inset-inline-start: 0; transform: translateX(-105%); }
  .cart-drawer.is-open { transform: none; }
  .cart-drawer__head { display: flex; align-items: center; justify-content: space-between; border-block-end: 1px solid rgb(50 26 61 / 10%); padding: var(--sab-space-4); }
  .cart-drawer__head h2 { margin: 0; font-size: var(--sab-step-1); }
  .cart-drawer__head button { min-inline-size: 2.6rem; border: 0; background: transparent; color: var(--sab-color-aubergine); font-size: 1.6rem; padding: 0; }
  .cart-drawer .widget_shopping_cart_content { flex: 1; overflow-y: auto; padding: var(--sab-space-4); }
  .cart-drawer .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
  .cart-drawer .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 5.5rem 1fr; gap: .9rem; min-block-size: 7.25rem; border-block-end: 1px solid rgb(50 26 61 / 10%); padding-block: .9rem; padding-inline-end: 1.5rem; }
  .cart-drawer .woocommerce-mini-cart-item > a:not(.remove) { color: var(--sab-color-charcoal); font-size: .86rem; font-weight: 650; text-decoration: none; }
  .cart-drawer .woocommerce-mini-cart-item img { float: none; inline-size: 5.5rem; block-size: 7rem; margin: 0 .8rem 0 0; object-fit: cover; }
  [dir="rtl"] .cart-drawer .woocommerce-mini-cart-item img { margin: 0 0 0 .8rem; }
  .cart-drawer .remove { position: absolute; inset-block-start: .8rem; inset-inline-end: 0; color: var(--sab-color-muted) !important; }
  .cart-drawer .variation { grid-column: 2; margin: -.6rem 0 0; font-size: .7rem; }
  .cart-drawer .variation dt, .cart-drawer .variation dd { display: inline; float: none; }
  .cart-drawer .quantity { grid-column: 2; color: var(--sab-color-mauve); font-size: .78rem; }
  .cart-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; border-block-start: 1px solid rgb(50 26 61 / 12%); padding-block-start: var(--sab-space-3); }
  .cart-drawer .woocommerce-mini-cart__buttons { display: grid; gap: .6rem; }
  .cart-drawer .woocommerce-mini-cart__buttons a { text-align: center; }
  .cart-drawer-scrim { position: fixed; z-index: 120; inset: 0; background: rgb(36 16 45 / 52%); }
  body.cart-drawer-open { overflow: hidden; }

  .cart-page { background: var(--sab-color-ivory); }
  .cart-page__hero { background: var(--sab-color-blush); padding-block: clamp(2.5rem, 6vw, 4.5rem); text-align: center; }
  .cart-page__hero p { color: var(--sab-color-mauve); font-size: .72rem; font-weight: 750; letter-spacing: .15em; }
  .cart-page__hero h1 { margin: 0; font-family: Georgia, var(--sab-font-arabic), serif; font-weight: 500; }
  .cart-page__layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr); gap: clamp(2rem, 5vw, 5rem); padding-block: var(--sab-space-6); }
  .cart-items { border-block-start: 1px solid rgb(50 26 61 / 12%); }
  .cart-item { display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto auto auto; align-items: center; gap: var(--sab-space-3); border-block-end: 1px solid rgb(50 26 61 / 12%); padding-block: var(--sab-space-3); }
  .cart-item__image img { inline-size: 8rem; aspect-ratio: 3 / 4; object-fit: cover; }
  .cart-item h2 { margin-block-end: .4rem; font-size: 1rem; }
  .cart-item h2 a { color: var(--sab-color-charcoal); text-decoration: none; }
  .cart-item .variation { margin: 0; color: var(--sab-color-muted); font-size: .75rem; }
  .cart-item .variation dt, .cart-item .variation dd { display: inline; float: none; }
  .cart-item__unit-price { margin: .35rem 0 0; color: var(--sab-color-muted); font-size: .78rem; }
  .cart-item__quantity input { inline-size: 4.25rem; }
  .cart-item__subtotal { color: var(--sab-color-aubergine); font-weight: 700; }
  .cart-item__remove a { color: var(--sab-color-muted); font-size: 1.5rem; text-decoration: none; }
  .cart-form-actions { display: flex; justify-content: space-between; gap: var(--sab-space-3); margin-block-start: var(--sab-space-4); }
  .cart-form-actions .coupon { display: flex; gap: .4rem; }
  .cart-form-actions .coupon label { position: absolute; inline-size: 1px; block-size: 1px; clip-path: inset(50%); }
  .cart-summary { align-self: start; position: sticky; inset-block-start: 7.5rem; background: white; box-shadow: var(--sab-shadow-soft); padding: clamp(1.25rem, 3vw, 2rem); }
  .cart-summary h2 { font-size: var(--sab-step-1); }
  .cart-summary table { inline-size: 100%; border-collapse: collapse; }
  .cart-summary th, .cart-summary td { border-block-end: 1px solid rgb(50 26 61 / 10%); padding-block: .8rem; text-align: start; }
  .cart-summary td { text-align: end; }
  .cart-summary .wc-proceed-to-checkout a { inline-size: 100%; text-align: center; }
  .cart-continue { display: block; margin-block-start: .8rem; text-align: center; font-size: .82rem; }
  .cart-reassurance { margin-block-start: var(--sab-space-4); border-block-start: 1px solid rgb(50 26 61 / 10%); padding-block-start: var(--sab-space-3); color: var(--sab-color-muted); font-size: .76rem; }
  .cart-reassurance p { margin-block-end: .4rem; }
  .cart-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-block-size: 60vh; text-align: center; }
  .cart-empty-state > span { color: var(--sab-color-mauve); font-family: Georgia, serif; font-size: 2rem; }
  .cart-empty-state p { max-inline-size: 34rem; color: var(--sab-color-muted); }
}
@media (max-width: 55rem) {
  .cart-page__layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .cart-item { grid-template-columns: 6rem minmax(0, 1fr) auto; align-items: start; }
  .cart-item__image img { inline-size: 6rem; }
  .cart-item__quantity { grid-column: 2; }
  .cart-item__subtotal { grid-column: 3; grid-row: 1; }
  .cart-item__remove { grid-column: 3; grid-row: 2; text-align: end; }
}
@media (max-width: 40rem) {
  .cart-form-actions { align-items: stretch; flex-direction: column; }
  .cart-form-actions .coupon { display: grid; grid-template-columns: 1fr auto; }
}
