/* ==========================================================================
   SNUSLAB — Cart page (WooCommerce Cart BLOCK)
   The page uses the block cart so the native express-payment area (Apple Pay,
   Google Pay, PayPal) keeps working. These rules pull the block into the same
   visual language as the rest of the shop.
   ========================================================================== */

/* ---------- injected progress bar ---------- */
.sl-cartpage-progress {
  max-width: 1200px;
  margin: 0 auto 22px;
  border: 1px solid #e4e6e8;
  border-radius: 14px;
  padding: 16px 18px 18px;
}

/* ---------- page frame ---------- */
.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1200px;
  margin: 0 auto;
}

/* ---------- item rows ---------- */
.wc-block-cart-items__header {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #9aa0a6 !important;
  border-bottom: 1px solid #e4e6e8 !important;
}
.wc-block-cart-items__row {
  border-bottom: 1px solid #f0f1f2 !important;
}
.wc-block-cart-item__image img {
  border-radius: 10px;
  background: #f4f5f6;
}
.wc-block-components-product-name {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  text-decoration: none !important;
}
.wc-block-components-product-price__value,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-product-price {
  font-weight: 800 !important;
  color: #0a0a0a !important;
}
.wc-block-components-product-metadata,
.wc-block-cart-item__prices { color: #6b7280 !important; }

/* quantity selector: compact, our colours */
.wc-block-components-quantity-selector {
  border: 1px solid #e4e6e8 !important;
  border-radius: 8px !important;
  min-width: 0 !important;
  max-width: 96px;
}
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector__button {
  background: transparent !important;
  color: #0a0a0a !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 15px !important;
  min-width: 26px !important;
  padding: 0 !important;
  opacity: 1 !important;
}
.wc-block-components-quantity-selector__button:hover { background: #f4f5f6 !important; }
.wc-block-components-quantity-selector__button:disabled { color: #c7cbd0 !important; }
.wc-block-components-quantity-selector__input {
  color: #0a0a0a !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.wc-block-cart-item__remove-link {
  color: #9aa0a6 !important;
  text-decoration: none !important;
  font-size: 12px !important;
}
.wc-block-cart-item__remove-link:hover { color: #dc2626 !important; }

/* ---------- sidebar / totals ---------- */
.wp-block-woocommerce-cart-totals-block .wc-block-components-sidebar,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-cart__sidebar > .wc-block-components-totals-wrapper:first-child {
  background: #f4f5f6;
}
.wc-block-cart__sidebar {
  background: #f4f5f6;
  border: 1px solid #e4e6e8;
  border-radius: 14px;
  padding: 18px !important;
}
.wc-block-cart__totals-title {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #0a0a0a !important;
}
.wc-block-components-totals-item__label { color: #6b7280 !important; font-size: 13.5px !important; }
.wc-block-components-totals-item__value { color: #0a0a0a !important; font-weight: 700 !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 22px !important;
  font-weight: 800 !important;
}
.wc-block-components-totals-wrapper { border-top-color: #e4e6e8 !important; }

/* coupon field */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
  border: 1px solid #e4e6e8 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #0a0a0a !important;
}
.wc-block-components-panel__button { color: #0a0a0a !important; }

/* ---------- buttons ---------- */
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link) {
  background: #0a0a0a !important;
  color: #ffffff !important;
  border-color: #0a0a0a !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  min-height: 48px;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover { background: #2c2f33 !important; }
.wc-block-components-button.is-link { color: #0a0a0a !important; }

/* express payment area — leave the providers' own button styling alone,
   just give the block sensible spacing */
.wp-block-woocommerce-cart-express-payment-block {
  margin-bottom: 14px;
}
.wc-block-components-express-payment__title-container::before,
.wc-block-components-express-payment__title-container::after {
  border-color: #e4e6e8 !important;
}
.wc-block-components-express-payment__title { color: #6b7280 !important; }

/* ---------- cross-sells ---------- */
.wp-block-woocommerce-product-collection .wp-block-heading {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: .4px;
  color: #0a0a0a !important;
}

/* ---------- empty cart ---------- */
.wp-block-woocommerce-empty-cart-block .wp-block-heading { color: #0a0a0a !important; }
