/* Układ koszyka WooCommerce, stany ilości i blokowanie checkoutu. */

.woocommerce-cart .shop-content { display: grid; gap: var(--space-5); }
.woocommerce-cart .shop-content > .woocommerce { display: grid; gap: var(--space-5); }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart-form,
.woocommerce-cart .cart_totals {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.woocommerce-cart table.shop_table { margin: 0; border: 0; border-collapse: collapse; border-radius: 0; }
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td { border-color: var(--color-border); }
.woocommerce-cart table.shop_table td { padding: var(--space-4); }
.woocommerce-cart table.shop_table .product-thumbnail img { width: 5rem; aspect-ratio: 1; border-radius: var(--radius-md); background: var(--color-surface-muted); object-fit: cover; }
.woocommerce-cart table.shop_table .product-name a { font-weight: 800; }
.woocommerce-cart table.shop_table .product-remove a.remove {
  display: grid;
  width: var(--control-min-size);
  height: var(--control-min-size);
  place-items: center;
  border: 1px solid var(--color-border);
  color: var(--color-error) !important;
  font-size: 1.5rem;
  line-height: 1;
}

.woocommerce-cart table.shop_table .product-remove a.remove:hover { background: var(--color-error); color: var(--color-on-dark) !important; }
.cart-item__quantity { font-weight: 700; white-space: nowrap; }
.woocommerce-cart .product-quantity .quantity { margin-left: auto; }
.woocommerce-cart .product-quantity .qty { width: 4.5rem; min-height: var(--control-min-size); padding-inline: var(--space-2); }
.cart-item__message { margin: var(--space-2) 0 0; color: var(--color-info); font-size: var(--font-size-sm); }
.cart-item__message--error { color: var(--color-error); font-weight: 700; }
.woocommerce-cart tr.cart-item--unavailable { background: var(--color-error-surface); }
.woocommerce-cart tr.cart-item--unavailable .product-thumbnail img { opacity: 0.55; filter: grayscale(0.5); }
.cart-reservation-notice { margin: var(--space-4); }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; padding: var(--space-5); float: none; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-bottom: var(--space-4); font-size: clamp(1.65rem, 8vw, 2.5rem); }
.woocommerce-cart .cart-collaterals .cart_totals table { margin-bottom: var(--space-4); }
.woocommerce-cart .cart-collaterals .checkout-button { width: 100%; margin: 0; font-size: var(--font-size-md); }
.cart-estimated-shipping td { color: var(--color-text-muted); }
.cart-empty-state { width: min(100%, 42rem); margin-inline: auto; padding-block: var(--space-7); }
.woocommerce-cart .return-to-shop { display: none; }

@media (max-width: 44.99rem) {
  .woocommerce-cart-form table.shop_table_responsive thead { display: none; }
  .woocommerce-cart-form table.shop_table_responsive tr.cart_item {
    display: grid;
    padding: var(--space-4);
    grid-template-columns: 5rem minmax(0, 1fr) var(--control-min-size);
    grid-template-areas:
      "image name remove"
      "image price price"
      "image quantity quantity"
      "subtotal subtotal subtotal";
    gap: var(--space-2) var(--space-3);
  }

  .woocommerce-cart-form table.shop_table_responsive tr.cart_item td {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    text-align: left !important;
  }

  .woocommerce-cart-form table.shop_table_responsive tr.cart_item td::before { margin-right: var(--space-3); font-weight: 700; }
  .woocommerce-cart-form .product-thumbnail { display: block !important; grid-area: image; }
  .woocommerce-cart-form .product-name { display: block !important; grid-area: name; }
  .woocommerce-cart-form .product-price { grid-area: price; }
  .woocommerce-cart-form .product-quantity { grid-area: quantity; }
  .woocommerce-cart-form .product-subtotal { padding-top: var(--space-3) !important; border-top: 1px solid var(--color-border) !important; grid-area: subtotal; }
  .woocommerce-cart-form .product-remove { align-self: start; grid-area: remove; }
  .woocommerce-cart-form .product-thumbnail::before,
  .woocommerce-cart-form .product-name::before,
  .woocommerce-cart-form .product-remove::before { display: none; }
  .woocommerce-cart-form table.shop_table_responsive tr td.actions { padding: var(--space-4); }
  .woocommerce-cart-form table.shop_table_responsive tr td.actions .button { width: 100%; }
}

@media (min-width: 45rem) {
  .woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
  .woocommerce-cart .cart-collaterals .cart_totals { max-width: 32rem; }
}
