.cart-table { inline-size: 100%; border-collapse: collapse; text-align: start; }
.cart-table th { padding: .75rem .5rem; color: var(--store-muted); font-size: .8rem; font-weight: 600; text-align: start; }
.cart-table td { padding: 1.25rem .5rem; border-block-start: 1px solid var(--store-border); vertical-align: middle; }
.cart-line__product { inline-size: 100%; }
.cart-line__total { min-inline-size: 6rem; text-align: end; white-space: nowrap; font-size: .9rem; }
.cart-remove { display: grid; inline-size: 2.75rem; block-size: 2.75rem; place-items: center; padding: .7rem; border: 0; border-radius: var(--store-radius-sm); color: var(--store-muted); background: transparent; cursor: pointer; }
.cart-remove svg { inline-size: 1.2rem; block-size: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cart-remove:hover { color: var(--store-accent); background: var(--store-bg); }
.cart-remove:disabled, .cart-remove[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
@media (max-width: 620px) {
  .cart-table, .cart-table tbody { display: block; }
  .cart-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .cart-line { display: grid; grid-template-columns: minmax(0, 1fr) auto 2.75rem; align-items: center; gap: .75rem; padding-block: 1.25rem; border-block-start: 1px solid var(--store-border); }
  .cart-table td { padding: 0; border: 0; }
  .cart-line__product { grid-column: 1 / -1; }
  .cart-line__total { min-inline-size: 0; white-space: normal; overflow-wrap: anywhere; }
}
