/* Classic WooCommerce cart in the prototype .cart-table / .cart-totals look. Woo owns the form, totals and actions. */
.woo-page .woocommerce table.shop_table.cart { width: 100%; margin: 0 0 30px; border: 0; border-radius: 0; border-collapse: collapse; font-size: 15px; }
.woo-page .woocommerce table.shop_table.cart th { padding: 14px 12px; border: 0; border-bottom: 1px solid var(--c-border); text-align: left; font-weight: 700; color: var(--c-text); }
.woo-page .woocommerce table.shop_table.cart td { padding: 16px 12px; border: 0; border-bottom: 1px solid var(--c-border-light); vertical-align: middle; }
.woo-page .woocommerce table.shop_table.cart td.product-thumbnail { width: 72px; }
.woo-page .woocommerce table.shop_table.cart td.product-thumbnail img { width: 64px; height: auto; aspect-ratio: 5 / 6; object-fit: cover; background: var(--c-card-bg); }
.woo-page .woocommerce table.shop_table.cart td.product-remove { width: 50px; }
.woo-page .woocommerce table.shop_table.cart a.remove { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #b81c23 !important; font-size: 22px; line-height: 1; font-weight: 400; }
.woo-page .woocommerce table.shop_table.cart a.remove:hover { background: #b81c23; color: #fff !important; }
.woo-page .woocommerce table.shop_table.cart td.product-name a { color: var(--c-primary-aa); }
.woo-page .woocommerce table.shop_table.cart td.product-name .variation { display: block; margin: 4px 0 0; font-size: 13px; color: #767676; }
.woo-page .woocommerce table.shop_table.cart td.product-name .variation dt, .woo-page .woocommerce table.shop_table.cart td.product-name .variation dd, .woo-page .woocommerce table.shop_table.cart td.product-name .variation p { display: inline; float: none; margin: 0; padding: 0; }
.woo-page .woocommerce table.shop_table.cart .quantity .qty { width: 58px; height: 38px; padding: 0 10px; border: 1px solid var(--c-border); font-size: 16px; text-align: left; }
/* Actions row: coupon left, update right; no border box. */
.woo-page .woocommerce table.shop_table.cart td.actions { padding: 20px 0; border-bottom: 0; }
.woo-page .woocommerce table.shop_table.cart td.actions .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woo-page .woocommerce table.shop_table.cart td.actions .coupon .input-text { width: 200px; height: 50px; margin: 0; padding: 0 12px; border: 1px solid var(--c-border); border-radius: 2px; }
.woo-page .woocommerce table.shop_table.cart td.actions .coupon-error-notice { flex-basis: 100%; margin: 4px 0 0; color: #b81c23; font-size: 14px; }
.woo-page .woocommerce table.shop_table.cart td.actions > .button { float: right; }
/* Totals (prototype .cart-totals). */
.woo-page .woocommerce .cart-collaterals .cart_totals { float: none; width: auto; max-width: 480px; margin-left: auto; }
.woo-page .woocommerce .cart_totals h2 { margin: 0 0 16px; font-size: 22px; color: var(--c-heading-dark); }
.woo-page .woocommerce .cart_totals table.shop_table { width: 100%; margin: 0 0 20px; border: 0; border-radius: 0; border-collapse: collapse; }
.woo-page .woocommerce .cart_totals table.shop_table th, .woo-page .woocommerce .cart_totals table.shop_table td { padding: 12px; border: 0; border-bottom: 1px solid var(--c-border-light); text-align: left; font-weight: 400; }
.woo-page .woocommerce .cart_totals table.shop_table th { font-weight: 700; }
.woo-page .woocommerce .wc-proceed-to-checkout { padding: 0; }
.woo-page .woocommerce .wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; margin: 0; padding: 17px 20px; font-size: 16px; }
.woo-page .woocommerce-cart-form a:focus-visible, .woo-page .cart_totals a:focus-visible { outline: 3px solid var(--c-primary-aa); outline-offset: 2px; }
@media (max-width: 767px) {
  .woo-page .woocommerce table.shop_table.cart thead { display: none; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 72px 1fr auto; gap: 4px 12px; padding: 12px 0; border-bottom: 1px solid var(--c-border-light); }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td { display: block; padding: 0; border: 0; text-align: left !important; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td::before { display: none; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td, .woo-page .woocommerce table.shop_table.cart td.actions { background: none !important; } /* Woo smallscreen zebra rows */
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td.product-quantity { display: flex; align-items: center; gap: 8px; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td.product-thumbnail { display: block; grid-column: 1; grid-row: 1 / span 4; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td.product-remove { grid-column: 3; grid-row: 1; width: auto; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td:not(.product-thumbnail):not(.product-remove) { grid-column: 2; }
  .woo-page .woocommerce table.shop_table.cart tr.cart_item td[data-title]:not(.product-name)::before { content: attr(data-title) ": "; display: inline; float: none; font-weight: 700; }
  .woo-page .woocommerce table.shop_table.cart td.actions .coupon .input-text { flex: 1; width: auto; }
  .woo-page .woocommerce table.shop_table.cart td.actions > .button { float: none; width: 100%; margin-top: 12px; }
}
