/* Presentation of native Cart blocks. Do not replace Addify metadata or shipping controls. */
body.woocommerce-cart {
  background: var(--color-bg-surface);
}
.woocommerce-cart #page .hentry .entry-header {
  margin-bottom: var(--spacing-32);
  padding: 0;
  text-align: start;
}
.woocommerce-cart #page .entry-header .entry-title {
  margin: 0;
  font-weight: var(--font-weight-medium);
}
.woocommerce-cart #page .hentry {
  margin-bottom: var(--spacing-64);
}
.woocommerce-cart #page .entry-content {
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.woocommerce-cart #page .alignwide {
  margin-inline: 0;
  width: 100%;
  max-width: 100%;
}
.woocommerce-cart #page .wp-block-woocommerce-cart {
  padding: 0;
}
.woocommerce-cart #page .wc-block-cart {
  margin-bottom: 0;
  font-family: var(--font-ui);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}
.woocommerce-cart #page .wc-block-components-sidebar-layout {
  gap: var(--spacing-32);
  align-items: start;
}
.woocommerce-cart #page .wc-block-cart__main {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding: 0;
  margin: 0;
}
.woocommerce-cart #page .wc-block-cart__sidebar {
  flex: 0 0 32%;
  width: 32%;
  min-width: 0;
  padding: 0;
  margin: 0;
}

/* The table keeps its semantic rows; only their visual layout becomes a product list. */
.woocommerce-cart #page table.wc-block-cart-items {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
}
.woocommerce-cart #page .wc-block-cart-items thead {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.woocommerce-cart #page .wc-block-cart-items tbody {
  display: grid;
  gap: var(--spacing-24);
}
.woocommerce-cart #page .wc-block-cart-items .wc-block-cart-items__row {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: var(--spacing-16) var(--spacing-24);
  padding: var(--spacing-24);
  border: 0;
  border-radius: var(--radius-24);
  background: var(--color-bg-page);
}
/* Only skeleton rows lack a cart item key; actual products remain untouched. */
.woocommerce-cart
  #page
  .wc-block-cart-items__row:not([data-cart-item-key])
  ~ .wc-block-cart-items__row:not([data-cart-item-key]) {
  display: none;
}
.woocommerce-cart #page .wc-block-cart-items .wc-block-cart-items__row > td {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.woocommerce-cart #page .wc-block-cart-item__image {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}
.woocommerce-cart #page .wc-block-cart-item__product {
  grid-column: 2;
  grid-row: 1;
}
.woocommerce-cart #page .wc-block-cart-item__image img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  mix-blend-mode: multiply;
  border-radius: var(--radius-8);
}
.woocommerce-cart #page .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  padding: 0;
  min-width: 0;
}
.woocommerce-cart #page .wc-block-cart-item__wrap > * {
  margin: 0;
}
.woocommerce-cart #page .wc-block-components-product-name {
  max-width: calc(100% - var(--action-target-min));
  width: fit-content;
  color: var(--color-text-primary);
  font: var(--font-weight-regular) var(--font-size-h4)/var(--line-height-h4)
    var(--font-ui);
  overflow-wrap: anywhere;
}
.woocommerce-cart #page .wc-block-cart-item__prices {
  order: 2;
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}
.woocommerce-cart #page .wc-block-cart-item__quantity {
  position: static;
  order: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-16);
}
.woocommerce-cart #page .wc-block-components-product-metadata {
  color: var(--color-text-muted);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}
.woocommerce-cart #page .wc-block-components-product-metadata__description p {
  margin: 0 0 var(--spacing-8);
}
.woocommerce-cart #page .wc-block-components-product-metadata__description,
.woocommerce-cart #page .wc-block-components-product-details {
  font-size: inherit;
  line-height: inherit;
  max-width: 100%;
}
.woocommerce-cart #page .wc-block-components-product-details {
  display: grid;
  gap: var(--spacing-4);
  margin: 0;
  overflow-wrap: anywhere;
}
.woocommerce-cart #page .wc-block-components-product-details > span {
  display: block;
}
.woocommerce-cart
  #page
  .wc-block-components-product-details
  > span
  > [aria-hidden="true"] {
  display: none;
}
.woocommerce-cart #page .wc-block-components-product-details__name {
  font-weight: var(--font-weight-medium);
}
.woocommerce-cart #page .wc-block-cart-item__total {
  grid-column: 2;
  grid-row: 2;
  text-align: start;
  color: var(--color-text-muted);
  font-size: var(--font-size-small);
}
.woocommerce-cart #page .wc-block-cart-item__total::before {
  content: "Subtotal: ";
}
.woocommerce-cart
  #page
  .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: inline-flex;
  gap: var(--spacing-8);
}

.woocommerce-cart #page .wc-block-components-quantity-selector {
  width: 132px;
  height: var(--action-target-min);
  margin: 0;
  border: 1px solid var(--color-border-control);
  border-radius: var(--radius-16);
  background: transparent;
  overflow: hidden;
}
.woocommerce-cart #page .wc-block-components-quantity-selector::after {
  border: 0;
}
.woocommerce-cart
  #page
  .wc-block-components-quantity-selector
  :is(input, button) {
  min-width: 0;
  width: var(--action-target-min);
  height: var(--action-target-min);
  margin: 0;
  padding: 0;
  background: transparent;
  color: var(--color-text-primary);
  box-shadow: none;
  font: inherit;
}
.woocommerce-cart #page .wc-block-components-quantity-selector button {
  font-weight: bold;
  transition: var(--transition-interactive);
}
.woocommerce-cart
  #page
  .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  margin-top: var(--spacing-24);
  padding: var(--spacing-24);
  border: 0;
  border-radius: var(--radius-24);
  background: var(--color-bg-page);
}
.woocommerce-cart #page .wc-block-components-quantity-selector button:disabled {
  color: var(--color-border-control);
  opacity: 0.5;
}
.woocommerce-cart #page .wc-block-cart-item__remove-link {
  position: absolute;
  top: var(--spacing-16);
  inset-inline-end: var(--spacing-16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--action-target-min);
  min-height: var(--action-target-min);
  margin: 0;
  padding: var(--spacing-8);
  border: 0;
  border-radius: var(--radius-8);
  background: transparent;
  color: var(--color-text-link);
  transition: var(--transition-interactive);
}
.woocommerce-cart #page .wc-block-cart-item__remove-link svg {
  fill: currentColor;
}

.woocommerce-cart #page .wp-block-woocommerce-cart-order-summary-block {
  margin: 0;
  padding: var(--spacing-24);
  border: 0;
  border-radius: var(--radius-24) var(--radius-24) 0 0;
  background: var(--color-bg-page);
}
.woocommerce-cart #page .wc-block-cart .wc-block-cart__totals-title {
  display: block;
  padding: 0;
  margin: 0 0 var(--spacing-16);
  color: var(--color-text-primary);
  font: var(--font-weight-regular) var(--font-size-h4)/var(--line-height-h4)
    var(--font-ui);
  text-transform: none;
  letter-spacing: 0;
}
.woocommerce-cart #page .wc-block-components-totals-wrapper {
  padding-block: var(--spacing-12);
  border: 0;
}
.woocommerce-cart #page .wp-block-woocommerce-cart-order-summary-totals-block {
  border: 0;
}
.woocommerce-cart
  #page
  .wp-block-woocommerce-cart-order-summary-totals-block
  .wc-block-components-totals-wrapper {
  border-bottom: 1px solid var(--color-border-control);
}
.woocommerce-cart
  #page
  .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  padding-block: var(--spacing-24);
}
.woocommerce-cart #page .wc-block-components-totals-item {
  padding-inline: 0;
  gap: var(--spacing-8);
}
.woocommerce-cart #page .wc-block-components-totals-item__label {
  color: var(--color-text-muted);
  font-weight: var(--font-weight-regular);
}
.woocommerce-cart #page .wc-block-components-totals-item__value {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-regular);
  white-space: nowrap;
}
.woocommerce-cart #page .wc-block-components-totals-item__description {
  color: var(--color-text-muted);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
}
.woocommerce-cart #page .wc-block-components-totals-footer-item {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}
.woocommerce-cart #page .wc-block-components-totals-footer-item-tax {
  font-size: var(--font-size-small);
}
.woocommerce-cart #page .wc-block-cart__payment-options:empty {
  display: none;
}
.woocommerce-cart #page .wc-block-cart__payment-options {
  padding: 0 var(--spacing-24);
  background: var(--color-bg-page);
}
.woocommerce-cart #page .wc-block-cart__submit {
  margin: 0;
  padding: 0 var(--spacing-24) var(--spacing-24);
  border-radius: 0 0 var(--radius-24) var(--radius-24);
  background: var(--color-bg-page);
}
.woocommerce-cart #page .wc-block-cart__submit-container {
  padding: 0;
  background: var(--color-bg-page);
}
.woocommerce-cart #page .wc-block-cart__submit-container::before {
  box-shadow: none;
}
.woocommerce-cart #page .wc-block-components-totals-coupon {
  padding: 0;
}
.woocommerce-cart #page .wc-block-components-panel__button {
  min-height: var(--action-target-min);
  margin: 0;
  color: var(--color-text-primary);
  font-family: var(--font-ui);
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
  font-weight: var(--font-weight-regular);
}
.woocommerce-cart #page .wc-block-components-totals-coupon__form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  padding-bottom: var(--spacing-12);
}
.woocommerce-cart #page .wc-block-components-totals-coupon__input {
  --ov-field-background: transparent;
  flex: auto;
  width: 100%;
  margin: 0;
}
.woocommerce-cart #page .wc-block-components-totals-coupon__button {
  width: 100%;
}
.woocommerce-cart
  #page
  .ov-cart-coupon--static
  .wc-block-components-panel__button {
  padding: 0;
  cursor: default;
  pointer-events: none;
}
.woocommerce-cart
  #page
  .ov-cart-coupon--static
  .wc-block-components-panel__button-icon {
  display: none;
}
.ov-wc-controls
  #page
  .wp-block-woocommerce-cart-order-summary-coupon-form-block
  .wc-block-components-totals-coupon__button:disabled:not(
    .wc-block-components-totals-coupon__button--loading
  ) {
  background: var(--ov-button-bg);
  color: var(--ov-button-ink);
  border-color: var(--ov-button-border);
  /* Storefront dims disabled buttons with !important; retain the native disabled attribute. */
  opacity: 1 !important;
}
.woocommerce-cart
  #page
  .wc-block-components-totals-coupon__button:disabled:not(
    .wc-block-components-totals-coupon__button--loading
  )
  .wc-block-components-button__text {
  opacity: 1;
}

.woocommerce-cart
  #page
  .wc-block-components-button:not(.wc-block-components-notice-banner__dismiss) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-12);
  white-space: normal;
}
.woocommerce-cart #page .wc-block-components-button__text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.woocommerce-cart
  #page
  :is(.wc-block-cart__submit-button, .wc-block-components-totals-coupon__button)
  .wc-block-components-button__text {
  flex: 1;
  text-align: start;
}
.woocommerce-cart
  #page
  :is(
    .wc-block-cart__submit-button,
    .wc-block-components-totals-coupon__button
  )::after {
  content: "";
  display: block;
  flex: none;
  width: var(--spacing-20);
  height: var(--spacing-20);
  margin-left: auto;
  background: currentColor;
  mask: url("../icons/arrow-right.svg") center / contain no-repeat;
}
.woocommerce-cart #page .wc-block-components-radio-control {
  border: 0;
  border-radius: var(--radius-16);
}
.woocommerce-cart #page .wc-block-components-radio-control__option {
  padding-block: var(--spacing-12);
}
.woocommerce-cart #page .wc-block-components-radio-control__input {
  accent-color: var(--color-bg-accent);
}
.woocommerce-cart #page .wc-block-components-shipping-rates-control {
  margin: var(--spacing-12) 0 0;
}
.woocommerce-cart
  #page
  .wc-block-components-shipping-calculator-address__button {
  color: var(--color-text-link);
  font: inherit;
  background: transparent;
}
.woocommerce-cart #page .ov-cart-continue {
  margin: var(--spacing-16) 0 0;
}
.woocommerce-cart #page .ov-cart-continue .ov-link {
  text-decoration: none;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block {
  padding-block: var(--spacing-32);
}
.woocommerce-cart #page .wc-block-cart__empty-cart__title {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
  font-weight: var(--font-weight-medium);
}
.ov-cart-empty {
  margin-bottom: var(--spacing-64);
  text-align: center;
}
.ov-cart-empty h2 {
  margin: 0 0 var(--spacing-16);
}
.ov-cart-empty p {
  margin: 0 0 var(--spacing-24);
  color: var(--color-text-muted);
}
.woocommerce-cart #page .ov-cart-empty .ov-button,
.woocommerce-cart
  #page
  .ov-cart-suggestions
  .ov-product-card__details
  h3
  a:not(:hover) {
  text-decoration: none;
}
.ov-cart-suggestions > h2 {
  margin: 0 0 var(--spacing-24);
  font-weight: 500;
}
.ov-cart-suggestions__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--spacing-24);
}
/* The empty state already offers the catalog action; keep the filled-cart link. */
.woocommerce-cart #page .entry-content:has(.ov-cart-empty) .ov-cart-continue {
  display: none;
}

@media (hover: hover) {
  .woocommerce-cart #page .wc-block-cart-item__remove-link:hover {
    color: var(--color-feedback-error-ink);
    background: var(--color-feedback-error-bg);
  }
  .woocommerce-cart
    #page
    .wc-block-components-quantity-selector
    button:hover:not(:disabled) {
    background: var(--color-text-primary);
    color: var(--color-text-inverse);
  }
}
@media (max-width: 1023px) {
  .ov-cart-suggestions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .woocommerce-cart #page .wc-block-components-sidebar-layout {
    flex-direction: column;
  }
  .woocommerce-cart #page .wc-block-cart__main,
  .woocommerce-cart #page .wc-block-cart__sidebar {
    width: 100%;
    flex: auto;
  }
}
@media (max-width: 479px) {
  .ov-cart-suggestions__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .woocommerce-cart #page .hentry .entry-header {
    margin-bottom: var(--spacing-24);
  }
  .woocommerce-cart #page .wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: var(--spacing-12);
    padding: var(--spacing-16);
  }
  .woocommerce-cart #page .wc-block-cart-item__image img {
    width: 72px;
    height: 72px;
  }
  .woocommerce-cart #page .wc-block-cart-item__total {
    grid-column: 1 / -1;
  }
  .woocommerce-cart #page .wc-block-cart-item__remove-link {
    top: var(--spacing-8);
    inset-inline-end: var(--spacing-8);
  }
  .woocommerce-cart
    #page
    .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    padding: var(--spacing-20);
  }
  .woocommerce-cart #page .wp-block-woocommerce-cart-order-summary-block {
    padding: var(--spacing-20);
  }
  .woocommerce-cart #page .wc-block-cart__submit {
    padding: 0 var(--spacing-20) var(--spacing-20);
  }
  .woocommerce-cart #page .wc-block-cart__submit-container--sticky {
    padding: var(--spacing-12) var(--layout-gutter);
    border-top: 1px solid var(--color-border-control);
  }
}
