/* ==========================================================================
   Cart — premium, sharp-cornered skin for the WooCommerce Cart block.
   Loaded on the cart page only (see npp_enqueue_cart_assets in functions.php).
   Mirrors checkout.css so the cart → checkout flow feels like one product.
   ========================================================================== */

.wp-block-woocommerce-cart {
  --co-ink: #123b22;
  --co-green: #14532d;
  --co-amber: #f59e0b;
  --co-line: #e3e8e3;
  --co-muted: #5f6b63;
  --co-paper: #faf6ef;
  color: var(--co-ink);
  font-family: "Montserrat", sans-serif;
  margin: 0 auto;
}

/* The theme forces h1-h6 to huge sizes with !important; tune for cart UI. */
.wp-block-woocommerce-cart :is(h1, h2, h3, h4, h5, h6) {
  color: var(--co-ink);
  font-size: 1.125rem !important;
  line-height: 1.3 !important;
  text-transform: none !important;
}

/* Layout ------------------------------------------------------------------ */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
  gap: 32px;
}

@media (min-width: 783px) {
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main {
    width: calc(64% - 16px);
  }
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    align-self: flex-start;
    padding-left: 0;
    position: sticky;
    top: 120px;
    width: calc(36% - 16px);
  }
}

/* Items card -------------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-cart__main {
  box-sizing: border-box;
  background: #fffdf9;
  border: 1px solid var(--co-line);
  padding: 8px 28px 12px;
}

@media (max-width: 600px) {
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main.wc-block-cart__main {
    padding: 4px 16px 8px;
  }
}

.wp-block-woocommerce-cart table.wc-block-cart-items {
  border: 0;
  border-collapse: collapse;
  margin: 0;
  width: 100%;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header th {
  color: var(--co-muted);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  padding: 20px 0 16px;
  text-transform: uppercase;
}

/* Divider under the header is drawn on the first row: a border on the
   header cells did not line up with the right-hand "Total" column. */
.wp-block-woocommerce-cart .wc-block-cart-items__header th {
  border: 0;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row:first-of-type td {
  border-top: 1px solid var(--co-line);
}

.wp-block-woocommerce-cart .wc-block-cart-items__row td {
  padding-bottom: 28px;
  padding-top: 28px;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid var(--co-line);
}

.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child {
  border-bottom: 0;
}

/* Product image */
.wp-block-woocommerce-cart .wc-block-cart-item__image {
  width: 104px;
}

.wp-block-woocommerce-cart .wc-block-cart-item__image img {
  background: var(--co-paper);
  border: 1px solid var(--co-line);
  font-size: 0; /* hides alt text if an image fails to load */
  min-height: 72px;
  object-fit: contain;
  padding: 8px;
}

/* Keep the row scannable: the long description lives on the product page. */
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
  display: none;
}

/* Product text */
.wp-block-woocommerce-cart .wc-block-components-product-name {
  color: var(--co-ink);
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-decoration: none;
}

.wp-block-woocommerce-cart .wc-block-components-product-name:hover {
  color: var(--co-green);
}

.wp-block-woocommerce-cart .wc-block-cart-item__prices,
.wp-block-woocommerce-cart .wc-block-components-product-price {
  color: var(--co-ink);
  font-size: 0.9375rem;
  font-weight: 700;
}

.wp-block-woocommerce-cart .wc-block-components-product-price__regular {
  color: #9ca3af;
  font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description p {
  color: var(--co-muted);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.wp-block-woocommerce-cart .wc-block-components-sale-badge,
.wp-block-woocommerce-cart .wc-block-components-product-badge {
  background: #fff7e6;
  border: 1px solid rgba(245, 158, 11, 0.5);
  color: #8a5300;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 2px 8px;
}

/* Line total */
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  color: var(--co-ink);
  font-size: 1.0625rem;
  font-weight: 900;
}

/* Quantity + remove */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
  background: #fffdf9;
  border: 1px solid #cfd8d1;
  box-shadow: none;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after {
  display: none;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
  color: var(--co-ink);
  font-weight: 800;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
  color: var(--co-ink);
  opacity: 1;
  transition: background-color 0.2s, color 0.2s;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--co-ink);
  color: #faf6ef;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--co-muted);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: #b42318;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Order summary (sidebar) ------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar.wc-block-cart__sidebar {
  background: #fffdf9;
  border: 1px solid var(--co-line);
  padding: 24px;
}

.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  border-bottom: 1px solid var(--co-line);
  color: var(--co-ink);
  font-size: 1.125rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 8px;
  padding: 0 0 16px;
  text-align: left;
  text-transform: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
  border-color: var(--co-line);
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__label {
  color: var(--co-muted);
  font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__value {
  color: var(--co-ink);
  font-weight: 800;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon-link,
.wp-block-woocommerce-cart .wc-block-components-panel__button {
  color: var(--co-green);
  font-weight: 800;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__input input {
  border: 1px solid #cfd8d1;
  box-shadow: none;
  font-weight: 600;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__input input:focus {
  border-color: var(--co-green);
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.14);
  outline: none;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
  background: var(--co-ink);
  color: #faf6ef;
  font-weight: 800;
}

/* Total: a plain, bold row (no heavy bar) */
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
  margin: 0;
  padding: 20px 0 !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--co-ink);
  font-size: 1rem;
  font-weight: 800;
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--co-ink);
  font-size: 1.5rem;
  font-weight: 900;
}

/* Checkout button */
.wp-block-woocommerce-cart .wc-block-cart__submit-container {
  padding-top: 8px;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  background: var(--co-amber);
  border: 0;
  color: var(--co-ink);
  font-size: 0.9375rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  min-height: 58px;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover:not(:disabled),
.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
  background: var(--co-ink);
  color: #faf6ef;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
  outline: 2px solid var(--co-ink);
  outline-offset: 3px;
}

/* Empty cart -------------------------------------------------------------- */
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  background: #fffdf9;
  border: 1px solid var(--co-line);
  border-top: 3px solid var(--co-ink);
  box-shadow: 0 10px 30px rgba(18, 59, 34, 0.05);
  padding: 48px 24px;
  text-align: center;
}

.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title {
  font-size: 1.5rem !important;
  font-weight: 900 !important;
}

/* Notices ----------------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-notice-banner {
  border-width: 1px;
  font-weight: 600;
}
