.jadato-wc-cart {
  --jadato-cart-max-width: 1140px;
  max-width: var(--jadato-cart-max-width);
  margin: 3rem auto;
  color: var(--jadato-color-text-primary);
}

.jadato-wc-cart *,
.jadato-wc-cart *::before,
.jadato-wc-cart *::after {
  box-sizing: border-box;
}

.jadato-wc-cart.is-updating {
  cursor: progress;
}

.jadato-wc-cart.is-updating .jadato-wc-cart__layout {
  opacity: 0.72;
  transition: opacity 0.18s ease;
}

.jadato-wc-cart__form {
  display: block;
}

.jadato-wc-cart__layout {
  display: grid;
  gap: 2rem;
  align-items: start;
}

.jadato-wc-cart__main,
.jadato-wc-cart__sidebar {
  min-width: 0;
}

.jadato-wc-cart__items {
  display: grid;
  gap: 0;
  padding: 0;
  border: 1px solid var(--jadato-color-card-border);
  border-radius: var(--jadato-radius-card);
  background: var(--jadato-color-surface-card);
  box-shadow: var(--jadato-shadow-card);
  overflow: hidden;
}

.jadato-wc-cart__cross-sells,
.jadato-wc-cart-totals,
.jadato-wc-cart__collaterals > * {
  padding: var(--jadato-space-card-y) var(--jadato-space-card-x);
  border: 1px solid var(--jadato-color-card-border);
  border-radius: var(--jadato-radius-card);
  background: var(--jadato-color-surface-card);
  box-shadow: var(--jadato-shadow-card);
}

.jadato-wc-cart__item {
  position: relative;
  padding: var(--jadato-space-card-y) var(--jadato-space-card-x);
}

.jadato-wc-cart__item::after {
    content: none;
}

.jadato-wc-cart__item:has(~ .jadato-wc-cart__item)::after {
    content: "";
    position: absolute;
    inset-inline: var(--jadato-space-card-x);
    inset-block-end: 0;
    border-block-end: 1px solid var(--jadato-color-divider);
}

.jadato-wc-cart__item-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) auto auto;
  gap: 1rem 1.25rem;
  align-items: start;
}

.jadato-wc-cart__item--has-thumbnail .jadato-wc-cart__item-grid {
  grid-template-columns: 96px minmax(0, 1.7fr) auto auto;
}

.jadato-wc-cart__thumbnail img {
  display: block;
  width: 100%;
  max-width: 96px;
  height: auto;
  border-radius: var(--jadato-radius-control);
}

.jadato-wc-cart__product {
  min-width: 0;
}

.woocommerce
.jadato-wc-cart__product-name,
.woocommerce
.jadato-wc-cart__product-name a {
  color: var(--jadato-color-accent-primary);
  font-size: 1.25rem;
  line-height: 1.45;
  font-weight: 700;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.jadato-wc-cart__product-name a:hover,
.jadato-wc-cart__product-name a:focus {
  color: var(--jadato-color-accent-primary-hover);
}

.jadato-wc-cart__product-name .jadato-ticket-meta {
  color: var(--jadato-color-text-secondary);
  font-weight: 500;
}

.jadato-wc-cart__meta {
  margin-top: 0.45rem;
  color: var(--jadato-color-text-secondary);
  font-size: var(--jadato-font-size-help);
  line-height: 1.5;
}

.jadato-wc-cart__meta-row + .jadato-wc-cart__meta-row {
  margin-top: 0.2rem;
}

.jadato-wc-cart__meta-label {
  margin-right: 0.35rem;
  font-weight: 600;
}

.jadato-wc-cart__remove {
  margin-top: 0.5rem;
  line-height: 1;
}

.jadato-wc-cart a.remove.jadato-wc-cart__remove-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--jadato-color-text-secondary) !important;
    font-size: var(--jadato-font-size-remove);
    font-weight: 400;
    line-height: 1;
    text-align: left;
}

.jadato-wc-cart a.remove.jadato-wc-cart__remove-link:hover,
.jadato-wc-cart a.remove.jadato-wc-cart__remove-link:focus {
  color: var(--jadato-color-accent-primary) !important;
}

.jadato-wc-cart__remove-icon {
  display: inline-flex;
  width: var(--jadato-font-size-label);
  height: var(--jadato-font-size-label);
}

.jadato-wc-cart__remove-icon svg {
  width: 100%;
  height: 100%;
}

.jadato-wc-cart__backorder .backorder_notification {
  margin: 0.6rem 0 0;
  color: var(--jadato-color-text-secondary);
  font-size: var(--jadato-font-size-help);
}

.jadato-wc-cart__metric {
  display: flex;
  align-items: center;
  min-width: 0;
}

.jadato-wc-cart__value,
.jadato-wc-cart__value .amount,
.jadato-wc-cart__price .amount {
  display: flex;
  align-items: center;
  color: var(--jadato-color-text-primary);
  font-weight: 700;
}

.jadato-wc-cart__quantity-field {
}

.jadato-wc-cart__quantity-wrap,
.jadato-wc-cart .jadato-wc-variation-table__quantity-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 2rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--jadato-color-control-border);
  border-radius: var(--jadato-radius-control);
  background: var(--jadato-color-surface-card);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.jadato-wc-cart__quantity-wrap:focus-within,
.jadato-wc-cart .jadato-wc-variation-table__quantity-wrap:focus-within {
  border-color: var(--jadato-color-accent-primary);
  box-shadow: var(--jadato-shadow-focus);
}

.jadato-wc-cart__quantity-input .quantity {
  display: block;
  height: 100%;
  margin: 0;
}

.jadato-wc-cart__quantity-input label,
.jadato-wc-cart__quantity-input .screen-reader-text {
  display: none;
}

.woocommerce 
.jadato-wc-cart__quantity-input .qty {
  width: 2.5rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0.25rem;
  border: 0;
  background: transparent;
  color: var(--jadato-color-text-primary);
  text-align: center;
  font-size: var(--jadato-font-size-body);
  font-weight: 700;
  line-height: 1.35;
  box-shadow: none;
}

.jadato-wc-cart__quantity-input .qty::-webkit-inner-spin-button,
.jadato-wc-cart__quantity-input .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.jadato-wc-cart__quantity-input .qty:focus {
  outline: none;
}

.jadato-wc-cart__quantity-button,
.jadato-wc-cart .jadato-wc-variation-table__quantity-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  min-height: 2rem;
  padding: 0;
  margin-inline-start: 0 !important;
  border: 0;
  border-radius: calc(var(--jadato-radius-control) - 2px);
  background: transparent;
  color: var(--jadato-color-text-primary);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}

.jadato-wc-cart__quantity-button:hover,
.jadato-wc-cart__quantity-button:focus-visible {
  background: var(--jadato-color-surface-soft);
  color: var(--jadato-color-accent-primary);
  outline: none;
}

.jadato-wc-cart__quantity-button:disabled,
.jadato-wc-cart__quantity-input .qty:disabled,
.jadato-wc-cart__quantity-wrap.is-disabled {
  color: var(--jadato-color-text-secondary);
  opacity: 0.6;
  cursor: not-allowed;
}

.jadato-wc-cart .wc-proceed-to-checkout .button,
.jadato-wc-cart .wc-proceed-to-checkout a.checkout-button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--jadato-button-min-height);
  padding: var(--jadato-space-button-y) var(--jadato-space-button-x);
  border-radius: var(--jadato-radius-button);
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: var(--jadato-font-size-button);
  font-weight: var(--jadato-font-weight-button);
  line-height: 1.2;
  text-shadow: none;
  box-shadow: none;
  margin: 0;
}

.jadato-wc-cart__cross-sells {
  margin-top: 1.5rem;
}

.woocommerce .jadato-wc-cart__cross-sells > h2,
.woocommerce .jadato-wc-cart__cross-sells .cross-sells > h2,
.woocommerce .jadato-wc-cart__collaterals > * > h2,
.woocommerce .jadato-wc-cart-totals > h2 {
  margin: 0rem;
  color: var(--jadato-color-accent-primary);
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 600;
}

.jadato-wc-cart-totals {
  display: grid;
  gap: 1.1rem;
}

.jadato-wc-cart-totals__rows {
  display: grid;
  gap: 0;
}

.jadato-wc-cart-totals__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: baseline;
  padding: 0.95rem 0;
  border-top: 1px solid var(--jadato-color-divider);
}

.jadato-wc-cart-totals__row:first-child {
  border-top: 0;
  padding-top: 0;
}

.jadato-wc-cart-totals__label {
  color: var(--jadato-color-text-primary);
  text-align: left;
  font-weight: 600;
}

.jadato-wc-cart-totals__value {
  min-width: 0;
  text-align: right;
  color: var(--jadato-color-text-primary);
}

.jadato-wc-cart-totals .order-total .jadato-wc-cart-totals__label,
.jadato-wc-cart-totals .order-total .jadato-wc-cart-totals__value {
  font-size: 1.125rem;
  font-weight: 700;
}

.jadato-wc-cart-totals .order-total {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

.jadato-wc-cart-totals__main,
.jadato-wc-cart-totals__tax-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: baseline;
}

.jadato-wc-cart-totals__tax-note {
  display: grid;
  gap: 0.3rem;
  margin-top: 0.35rem;
}

.jadato-wc-cart-totals__tax-label,
.jadato-wc-cart-totals__tax-value {
  color: var(--jadato-color-text-secondary);
  font-size: var(--jadato-font-size-help);
  font-weight: 400;
}

.jadato-wc-cart-totals__tax-value {
  text-align: right;
}

.jadato-wc-cart-totals .shipping-calculator-form,
.jadato-wc-cart-totals .woocommerce-shipping-destination,
.jadato-wc-cart-totals .woocommerce-shipping-methods,
.jadato-wc-cart-totals .woocommerce-shipping-contents {
  color: var(--jadato-color-text-secondary);
}

.jadato-wc-cart-totals .woocommerce-shipping-methods {
  margin: 0;
  padding: 0;
  list-style: none;
}

.jadato-wc-cart-totals .woocommerce-shipping-methods li + li {
  margin-top: 0.55rem;
}

.jadato-wc-cart-totals__coupon {
  display: grid;
  gap: 1rem;
  padding-top: 2.5rem;
  border-top: 1px solid var(--jadato-color-divider);
}

.jadato-wc-cart-totals__coupon .input-text {
  width: 100%;
  min-height: var(--jadato-control-min-height);
  padding: 0.9rem 1rem;
  border: 1px solid var(--jadato-color-control-border);
  border-radius: var(--jadato-radius-control);
  background: var(--jadato-color-surface-card);
  color: var(--jadato-color-text-primary);
  font-size: var(--jadato-font-size-body);
  line-height: 1.35;
  box-shadow: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.jadato-wc-cart-totals__coupon .input-text:focus {
  border-color: var(--jadato-color-accent-primary);
  outline: none;
  box-shadow: var(--jadato-shadow-focus);
}

.jadato-wc-cart-totals__coupon .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: var(--jadato-button-min-height);
  padding: var(--jadato-space-button-y) var(--jadato-space-button-x);
  border: 1px solid var(--jadato-color-control-border-strong);
  border-radius: var(--jadato-radius-button);
  background: var(--jadato-color-surface-card);
  color: var(--jadato-color-text-primary);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
}

.jadato-wc-cart-totals__after:empty,
.jadato-wc-cart__extras:empty,
.jadato-wc-cart__collaterals:empty {
  display: none;
}

.jadato-wc-cart .wc-proceed-to-checkout {
  display: grid;
  padding: 0;
}

.jadato-wc-cart__sticky-total {
  display: none;
}

.jadato-wc-cart .wc-proceed-to-checkout > * {
  margin: 0;
}

.jadato-wc-cart .wc-proceed-to-checkout .button,
.jadato-wc-cart .wc-proceed-to-checkout a.checkout-button.button {
  width: 100%;
  border: 0;
  background: var(--jadato-color-accent-primary);
  color: var(--jadato-color-button-primary-text);
}

.jadato-wc-cart .wc-proceed-to-checkout .button:hover,
.jadato-wc-cart .wc-proceed-to-checkout .button:focus,
.jadato-wc-cart .wc-proceed-to-checkout a.checkout-button.button:hover,
.jadato-wc-cart .wc-proceed-to-checkout a.checkout-button.button:focus {
  background: var(--jadato-color-accent-primary-hover);
  color: var(--jadato-color-button-primary-text);
}

.jadato-wc-cart .apple-pay-button,
.jadato-wc-cart .google-pay-button,
.jadato-wc-cart .amazon-pay-button,
.jadato-wc-cart .wc-stripe-product-checkout-container,
.jadato-wc-cart .wcpay-payment-request-wrapper,
.jadato-wc-cart .wcpay-payment-request-button-separator,
.jadato-wc-cart .woocommerce-payments-express-checkout {
  margin-top: 0.5rem;
}

.jadato-wc-cart .wcpay-payment-request-button-separator {
  color: var(--jadato-color-text-secondary);
}

@media (min-width: 1024px) {
  .jadato-wc-cart__layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  }
}

@media (max-width: 1023px) {
  .jadato-wc-cart__layout {
    grid-template-columns: 1fr;
  }

  .jadato-wc-cart__item-grid {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    grid-template-areas:
      "product product"
      "price quantity";
  }

  .jadato-wc-cart__item--has-thumbnail .jadato-wc-cart__item-grid {
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "thumb product"
      "price price"
      "quantity quantity";
  }

  .jadato-wc-cart__thumbnail {
    grid-area: thumb;
  }

  .jadato-wc-cart__product {
    grid-area: product;
  }

  .jadato-wc-cart__price {
    grid-area: price;
  }

  .jadato-wc-cart__quantity {
    grid-area: quantity;
  }

}

@media (max-width: 768px) {
  .jadato-wc-cart {
    padding: 14px;
    padding-block-end: var(--jadato-sticky-cta-total-reserved-space);
  }

  .jadato-wc-cart .wc-proceed-to-checkout {
    position: fixed;
    inset-inline: 0;
    inset-block-end: var(--jadato-mobile-bottom-nav-height, 0px);
    z-index: var(--jadato-sticky-cta-z-index);
    margin: 0;
    background: var(--jadato-color-surface-card);
    box-shadow: var(--jadato-shadow-sticky);
  }

  .jadato-wc-cart__sticky-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--jadato-color-accent-primary);
    background: var(--jadato-color-surface-card);
    color: var(--jadato-color-text-primary);
    font-size: var(--jadato-font-size-help);
    font-weight: 600;
    line-height: 1.3;
  }

  .jadato-wc-cart__sticky-total-label {
    flex: 1 1 auto;
    min-width: 0;
  }

  .jadato-wc-cart__sticky-total-value {
    flex: 0 0 auto;
    white-space: nowrap;
    text-align: right;
  }

  .jadato-wc-cart__cross-sells,
  .jadato-wc-cart-totals,
  .jadato-wc-cart__collaterals > * {
    padding: 1rem;
    border-radius: var(--jadato-radius-card-compact);
  }

  .jadato-wc-cart__items {
    border-radius: var(--jadato-radius-card-compact);
  }

  .jadato-wc-cart__item {
    padding: 1rem;
  }

  .jadato-wc-cart__item::after {
    inset-inline: 1rem;
  }

  .jadato-wc-cart__item-grid {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
    grid-template-areas:
      "product product"
      "price quantity";
  }

  .jadato-wc-cart__item--has-thumbnail .jadato-wc-cart__item-grid {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-areas:
      "thumb product product"
      "price price quantity";
  }

  .jadato-wc-cart__thumbnail img {
    max-width: 72px;
  }

  .jadato-wc-cart__product-name,
  .jadato-wc-cart__product-name a {
    font-size: 1rem;
  }

  .jadato-wc-cart__price,
  .jadato-wc-cart__quantity {
    padding-top: 0;
    border-top: 0;
    align-self: center;
  }

  .jadato-wc-cart__price {
    justify-content: flex-start;
  }

  .jadato-wc-cart__quantity {
    justify-content: flex-end;
  }

  .jadato-wc-cart .wc-proceed-to-checkout .button,
  .jadato-wc-cart .wc-proceed-to-checkout a.checkout-button.button {
    width: 100%;
    min-height: var(--jadato-sticky-cta-button-min-height);
    padding: var(--jadato-space-button-y) var(--jadato-space-button-x);
    border-radius: 0;
    font-size: var(--jadato-sticky-cta-font-size);
    font-weight: var(--jadato-sticky-cta-font-weight);
    line-height: var(--jadato-sticky-cta-line-height);
    text-align: center;
    box-shadow: none;
  }

  .jadato-wc-cart-totals__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: baseline;
  }

  .jadato-wc-cart-totals .order-total {
    grid-template-columns: minmax(0, 1fr);
  }

  .jadato-wc-cart-totals__main,
  .jadato-wc-cart-totals__tax-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
  }

  .jadato-wc-cart-totals__value {
    text-align: right;
  }

  .jadato-wc-cart-totals__tax-value {
    text-align: right;
  }
  .woocommerce
  .jadato-wc-cart__product-name,
  .woocommerce
  .jadato-wc-cart__product-name a {
    color: var(--jadato-color-accent-primary);
    font-size: 1.1rem;
    line-height: 1.35;
  }
}
