body.woocommerce-cart .shop_table,
body.woocommerce-checkout:not(.woocommerce-account) .shop_table {
  border-color: var(--color-border);
  color: var(--color-text);
  background: transparent;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce {
  align-items: start;
}

body.woocommerce-cart .site-content > .ast-container,
body.woocommerce-cart.ast-separate-container .site-content > .ast-container {
  max-width: min(72rem, calc(100% - 2rem));
}

body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td,
body.woocommerce-checkout:not(.woocommerce-account) .shop_table th,
body.woocommerce-checkout:not(.woocommerce-account) .shop_table td {
  border-color: var(--color-border);
}

body.woocommerce-cart .cart-collaterals .cart_totals table,
body.woocommerce-checkout:not(.woocommerce-account) #order_review table {
  margin-bottom: 0;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout {
  display: grid;
  gap: clamp(1rem, 1vw, 1.5rem);
}

body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-checkout:not(.woocommerce-account) #order_review table.shop_table {
  margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form__contents tbody tr,
body.woocommerce-checkout:not(.woocommerce-account) #order_review tbody tr {
  transition: background-color var(--transition-fast);
}

body.woocommerce-cart .woocommerce-cart-form__contents tbody tr:hover,
body.woocommerce-checkout:not(.woocommerce-account) #order_review tbody tr:hover {
  background: color-mix(in srgb, var(--color-accent) 4%, transparent);
}

body.woocommerce-cart .coupon,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-additional-fields {
  margin-top: var(--space-2);
}

body.woocommerce-cart .actions {
  padding-top: 1rem;
}

body.woocommerce-cart .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

body.woocommerce-cart .coupon label {
  width: 100%;
  margin-bottom: 0;
}

body.woocommerce-cart .coupon .input-text {
  flex: 1 1 14rem;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  display: grid;
  gap: 1rem;
}

body.woocommerce-cart .cart-collaterals .cart_totals h2,
body.woocommerce-checkout:not(.woocommerce-account) #order_review_heading {
  margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-account) #customer_details {
  display: grid;
  gap: var(--space-3);
}

body.woocommerce-checkout:not(.woocommerce-account) .col2-set .col-1,
body.woocommerce-checkout:not(.woocommerce-account) .col2-set .col-2 {
  display: grid;
  gap: 0.9rem;
}

body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-additional-fields {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-surface) 94%, transparent);
  box-shadow: var(--shadow-sm);
  padding: 1rem 1.1rem;
}

body.woocommerce-cart .actions > .button,
body.woocommerce-cart .coupon .button,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-form-coupon .button {
  min-height: 2.85rem;
}

body.woocommerce-cart .shop_table th,
body.woocommerce-checkout:not(.woocommerce-account) .shop_table th {
  color: var(--color-text);
}

body.woocommerce-cart .shop_table td,
body.woocommerce-checkout:not(.woocommerce-account) .shop_table td {
  color: var(--color-text-muted);
}

body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
  color: var(--color-text);
}

body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout-review-order-table tfoot tr:last-child th,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout-review-order-table tfoot tr:last-child td,
body.woocommerce-cart .cart_totals table tr.order-total th,
body.woocommerce-cart .cart_totals table tr.order-total td {
  font-size: 1.02rem;
  font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-invalid input,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-invalid select,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-invalid textarea {
  border-color: color-mix(in srgb, var(--color-danger) 72%, var(--color-border));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-danger) 14%, transparent);
}

body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-validated input,
body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-validated select {
  border-color: color-mix(in srgb, var(--color-success) 62%, var(--color-border));
}

@media (max-width: 768px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout:not(.woocommerce-account) .site-main {
    padding-bottom: 5rem;
  }

  body.woocommerce-cart .coupon {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart .coupon .input-text {
    width: 100%;
  }

  body.woocommerce-cart .shop_table_responsive tr,
  body.woocommerce-checkout:not(.woocommerce-account) .shop_table_responsive tr {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--color-surface-soft) 96%, transparent);
    margin-bottom: 0.9rem;
    padding: 0.8rem 1rem;
  }

  body.woocommerce-cart .shop_table_responsive td,
  body.woocommerce-checkout:not(.woocommerce-account) .shop_table_responsive td {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 480px) {
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-checkout,
  body.woocommerce-checkout:not(.woocommerce-account) #customer_details {
    gap: 0.9rem;
  }

  body.woocommerce-cart .site-content > .ast-container,
  body.woocommerce-cart.ast-separate-container .site-content > .ast-container {
    max-width: calc(100% - 1rem);
  }

  body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-form-coupon-toggle,
  body.woocommerce-checkout:not(.woocommerce-account) .woocommerce-additional-fields {
    padding: 0.9rem 1rem;
  }
}
