/* The Astra reading-width container cannot hold a cart table and a sidebar.
   Size this surface independently and stack according to its available space. */
body.forge-design-active.woocommerce-cart #content {
  background: #fafaf9;
  color: #1d1d1f;
}

body.forge-design-active.woocommerce-cart #primary {
  margin-block: 48px 72px;
}

body.forge-design-active.woocommerce-cart .forge-cart-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-bottom: 40px;
}

body.forge-design-active.woocommerce-cart .forge-cart-heading h1 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em;
  line-height: 1.15;
  margin: 0;
}

body.forge-design-active.woocommerce-cart .forge-cart-heading a {
  font-size: 13px;
  color: #535357;
  text-decoration: none;
}

body.forge-design-active.woocommerce-cart .forge-cart-heading a:hover {
  text-decoration: underline;
}

body.forge-design-active.woocommerce-cart .cc-cart .cart_totals {
  padding: 28px;
  background: #fff;
  border: 1px solid #e5e5e7;
  border-radius: 18px;
  box-shadow: none;
}

body.forge-design-active.woocommerce-cart .cc-cart .cart_totals > h2 {
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em;
  margin-bottom: 20px;
  padding: 0;
  background: transparent;
  border: 0;
}

body.forge-design-active.woocommerce-cart .cc-cart > .woocommerce-notices-wrapper:empty {
  display: none;
}

/* Astra otherwise gives the visually hidden update button a full-page width. */
body.forge-design-active.woocommerce-cart .cc-cart.is-enhanced button[name="update_cart"] {
  left: 0;
  width: 1px !important;
  min-width: 0;
  padding: 0 !important;
  border: 0;
}

body.forge-design-active.woocommerce-cart .cc-cart .wc-proceed-to-checkout a.checkout-button {
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 16px;
  box-shadow: none;
  margin: 0;
}

/* Separate the instalment message, primary action and wallet buttons. */
body.forge-design-active.woocommerce-cart .cc-cart .wc-proceed-to-checkout {
  display: flow-root;
  padding: 24px 0 8px;
}

body.forge-design-active.woocommerce-cart .cc-cart #payment-method-message {
  display: flow-root;
  margin: 0 0 24px;
}

body.forge-design-active.woocommerce-cart .cc-cart .wcpay-express-checkout-wrapper {
  margin: 24px 0 0;
}

/* The header already provides basket access; keep the order surface quiet. */
body.forge-design-active.woocommerce-cart .cc-fc-toggle,
body.forge-design-active.woocommerce-cart .cc-wa-button {
  display: none;
}

body.forge-design-active.woocommerce-cart #content > .ast-container {
  width: 100%;
  max-width: 1240px;
  padding-inline: clamp(16px, 3vw, 40px);
}

body.forge-design-active.woocommerce-cart .entry-content {
  container-type: inline-size;
  container-name: forge-cart;
}

body.forge-design-active.woocommerce-cart .cc-cart > form.woocommerce-cart-form {
  min-width: 0;
  width: 100%;
}

body.forge-design-active.woocommerce-cart .cc-cart td.product-name {
  text-align: left;
}

body.forge-design-active.woocommerce-cart .cc-cart td.product-name > a {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation {
  display: block;
  text-align: left;
}

body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dt,
body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dd {
  float: none;
  width: auto;
  margin: 0;
  text-align: left;
}

body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dd {
  margin-bottom: 6px;
}

/* Keep the native table at intermediate widths; it has the full row here. */
@container forge-cart (max-width: 799px) {
  body.forge-design-active.woocommerce-cart .cc-cart {
    display: block;
  }

  body.forge-design-active.woocommerce-cart .cc-cart .cart-collaterals {
    display: block;
  }

  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals {
    position: static;
    margin-top: 24px;
  }
}

/* Give product details and controls room on phones. */
@media (max-width: 1199px) {
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table thead {
    position: absolute; width: 1px; height: 1px; margin: -1px;
    overflow: hidden; clip-path: inset(50%);
  }

  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table,
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tbody,
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tr,
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table td {
    display: block; width: 100%;
  }

  /* Product cards must not turn the separate totals table into stacked cells. */
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table { display: table; }
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table tbody { display: table-row-group; }
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table tr { display: table-row; }
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table th,
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table td { display: table-cell !important; width: auto; }
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table td::before { content: none !important; }

  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tbody tr.cart_item { display: grid; align-items: center; }
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tbody tr.cart_item td { padding: 0; border: 0; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-name { grid-column: 2; grid-row: 1; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-remove { grid-column: 3; grid-row: 1; text-align: right; align-self: start; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-price { grid-column: 2 / -1; grid-row: 2; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-price::before,
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-subtotal::before { content: attr(data-title) ": "; font-size: 12px; color: #737378; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-name::before,
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-quantity::before { content: none; }

  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td {
    min-height: 0;
  }

  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-name,
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-quantity,
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-subtotal {
    text-align: left !important;
  }

  body.forge-design-active.woocommerce-cart #primary {
    margin-block: 28px 48px;
  }

  body.forge-design-active.woocommerce-cart .forge-cart-heading {
    margin-bottom: 28px;
  }

  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tbody tr.cart_item {
    grid-template-columns: 56px minmax(0, 1fr) 30px;
    gap: 10px 12px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e5e5e7;
    border-radius: 0;
    padding: 0 0 24px;
    margin-bottom: 24px;
  }

  body.forge-design-active.woocommerce-cart .cc-cart .product-thumbnail img {
    width: 56px;
    height: 56px;
  }

  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-quantity {
    grid-column: 2 / -1;
  }

  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-subtotal {
    grid-column: 2 / -1;
    grid-row: 4;
    text-align: left;
  }
}

/* Keep the summary beside the readable product cards at laptop widths. */
@media (min-width: 900px) {
  body.forge-design-active.woocommerce-cart .cc-cart {
    display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start;
  }
  body.forge-design-active.woocommerce-cart .cc-cart .cart-collaterals { display: contents; }
  body.forge-design-active.woocommerce-cart .cc-cart > .woocommerce-notices-wrapper { grid-column: 1 / -1; order: 1; }
  body.forge-design-active.woocommerce-cart .cc-cart > form.woocommerce-cart-form { grid-column: 1; order: 2; }
  body.forge-design-active.woocommerce-cart .cc-cart .cart_totals { grid-column: 2; order: 2; position: sticky; top: 24px; margin-top: 0; }
  body.forge-design-active.woocommerce-cart .cc-cart .cross-sells { grid-column: 1 / -1; order: 3; }
}
@media (min-width: 1200px) {
  body.forge-design-active.woocommerce-cart .cc-cart { grid-template-columns: minmax(0, 1fr) 352px; gap: 32px; }
}

/* Compact laptop rows: details above, the three purchase controls below. */
@media (min-width: 900px) and (max-width: 1199px) {
  body.forge-design-active.woocommerce-cart .cc-cart table.shop_table tbody tr.cart_item {
    grid-template-columns: 56px minmax(80px, 1fr) 128px auto;
    gap: 12px;
    align-items: start;
    padding-bottom: 24px;
  }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-name { grid-column: 2 / 4; grid-row: 1; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-remove { grid-column: 4; grid-row: 1; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-price { grid-column: 2; grid-row: 2; align-self: center; white-space: nowrap; text-align: left !important; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-quantity { grid-column: 3; grid-row: 2; align-self: center; padding: 0; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-subtotal { grid-column: 4; grid-row: 2; align-self: center; padding: 0; white-space: nowrap; text-align: right !important; }
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-price::before,
  body.forge-design-active.woocommerce-cart .cc-cart tr.cart_item td.product-subtotal::before { display: block; float: none; line-height: 1.5; margin-bottom: 3px; }
  body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dt { display: inline; }
  body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dd { display: inline; }
  body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dd p { display: inline; }
  body.forge-design-active.woocommerce-cart .cc-cart td.product-name dl.variation dd::after { content: ''; display: block; margin-bottom: 4px; }
}

body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table th { width: 30%; padding-right: 12px; white-space: nowrap; }
body.forge-design-active.woocommerce-cart .cc-cart .cart_totals table.shop_table td { width: 70%; }
body.forge-design-active.woocommerce-cart .cc-cart .cart_totals p { margin: 8px 0 0; font-size: 12px; line-height: 1.5; }
body.forge-design-active.woocommerce-cart .cc-cart .cart_totals .woocommerce-shipping-contents { font-size: 11px; }
body.forge-design-active.woocommerce-cart .cc-cart .cart_totals .shipping-calculator-button { display: inline-block; margin-top: 8px; font-size: 12px; }
