/* Clean cart layer loaded after the legacy commerce bundle. */

body.woocommerce-cart.als-cart-premium {
  --als-cart-canvas: #f1f6fb;
  --als-cart-surface: #fff;
  --als-cart-soft: #f7f9fc;
  --als-cart-ink: #102044;
  --als-cart-muted: #627087;
  --als-cart-line: #d5dee9;
  --als-cart-line-soft: #e7ecf2;
  --als-cart-red: #cf202e;
  --als-cart-red-dark: #ad1825;
  color: var(--als-cart-ink);
}

body.woocommerce-cart.als-cart-premium .site-main,
body.woocommerce-cart.als-cart-premium .entry-content {
  background: var(--als-cart-canvas) !important;
}

body.woocommerce-cart.als-cart-premium .site-main {
  padding-block: clamp(28px, 4vw, 50px) clamp(60px, 7vw, 90px) !important;
}

body.woocommerce-cart.als-cart-premium article.als-page-shell,
body.woocommerce-cart.als-cart-premium .entry-content,
body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart {
  width: min(1240px, calc(100% - 40px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.woocommerce-cart.als-cart-premium article.als-page-shell,
body.woocommerce-cart.als-cart-premium .entry-content,
body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart,
body.woocommerce-cart.als-cart-premium .als-cart-premium__layout,
body.woocommerce-cart.als-cart-premium .als-cart-premium__main {
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium article.als-page-shell .entry-title {
  margin: 0 0 22px !important;
  color: var(--als-cart-ink) !important;
  font-size: clamp(2rem, 3vw, 2.55rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(350px, 0.82fr) !important;
  align-items: start !important;
  gap: 30px !important;
  margin: 0 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__main,
body.woocommerce-cart.als-cart-premium .als-cart-premium__summary {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__summary {
  position: sticky !important;
  top: 24px !important;
  overflow: hidden !important;
  background: var(--als-cart-surface) !important;
  border: 1px solid var(--als-cart-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(16, 32, 68, 0.04) !important;
}

body.admin-bar.woocommerce-cart.als-cart-premium .als-cart-premium__summary {
  top: 56px !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-items {
  width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--als-cart-surface) !important;
  border: 1px solid var(--als-cart-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(16, 32, 68, 0.04) !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-items__header th {
  padding: 13px 18px !important;
  color: var(--als-cart-muted) !important;
  background: #fbfcfe !important;
  border-bottom: 1px solid var(--als-cart-line) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-items__row td {
  border-bottom: 1px solid var(--als-cart-line-soft) !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-items__row:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__image {
  width: 104px !important;
  padding: 18px 10px 18px 18px !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__image > a {
  display: grid !important;
  place-items: center !important;
  width: 74px !important;
  height: 74px !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: var(--als-cart-soft) !important;
  border: 1px solid var(--als-cart-line-soft) !important;
  border-radius: 8px !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__product {
  min-width: 0 !important;
  padding: 18px 12px !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__product .wc-block-components-product-name {
  color: var(--als-cart-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-components-product-metadata__description,
body.woocommerce-cart.als-cart-premium .wc-block-components-product-metadata__description p {
  display: none !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__quantity {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  min-width: 0 !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 44px 40px 44px !important;
  flex: 0 0 128px !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--als-cart-line) !important;
  border-radius: 7px !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector__button--minus,
body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector__button--plus,
body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector__input {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  color: var(--als-cart-ink) !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 44px !important;
  text-align: center !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector__input {
  border-inline: 1px solid var(--als-cart-line-soft) !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart-item__remove-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  color: #9d2732 !important;
  border-radius: 7px !important;
}

body.woocommerce-cart.als-cart-premium :is(
  .wc-block-components-quantity-selector__button--minus,
  .wc-block-components-quantity-selector__button--plus,
  .wc-block-cart-item__remove-link,
  .als-cart-premium__bulk button,
  .als-cart-premium__addon button
):focus-visible {
  outline: 3px solid rgba(22, 114, 184, 0.28) !important;
  outline-offset: 2px !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-block {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Keep the sidebar as the only bordered surface, even when legacy cart CSS loads later. */
body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-block {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-block > * {
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-block :is(
  .wc-block-components-totals-wrapper,
  .wc-block-components-totals-coupon,
  .wp-block-woocommerce-cart-order-summary-coupon-form-block,
  .wp-block-woocommerce-cart-order-summary-totals-block
) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item {
  border: 0 !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
  border-top: 1px solid var(--als-cart-line) !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart-order-summary-heading-block {
  color: var(--als-cart-ink) !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
}

body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-proceed-to-checkout-block {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart__submit-container,
body.woocommerce-cart.als-cart-premium .als-cart-submit-inside-summary {
  margin: 0 !important;
  padding: 15px 18px 18px !important;
  background: #fff !important;
  border: 0 !important;
  border-top: 1px solid var(--als-cart-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart__submit-button {
  min-height: 52px !important;
  color: #fff !important;
  background: var(--als-cart-red) !important;
  border: 1px solid var(--als-cart-red) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 0.9rem !important;
  font-weight: 850 !important;
}

body.woocommerce-cart.als-cart-premium .wc-block-cart__submit-button:hover,
body.woocommerce-cart.als-cart-premium .wc-block-cart__submit-button:focus-visible {
  background: var(--als-cart-red-dark) !important;
}

body.woocommerce-cart.als-cart-premium .als-bulk-cart-notice {
  display: none !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 78px !important;
  margin: 0 0 12px !important;
  padding: 13px 16px !important;
  box-sizing: border-box !important;
  color: #6b4d12 !important;
  background: #fffbef !important;
  border: 1px solid #e6d6ac !important;
  border-radius: 10px !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk.is-applied {
  color: #145f41 !important;
  background: #f1f9f5 !important;
  border-color: #c5e2d3 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk.is-busy {
  opacity: 0.64 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-icon,
body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-icon svg {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-copy strong {
  font-size: 0.84rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-copy small,
body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-status {
  color: currentColor !important;
  font-size: 0.72rem !important;
  line-height: 1.35 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-progress {
  display: block !important;
  width: 100% !important;
  max-width: 280px !important;
  height: 5px !important;
  margin-top: 5px !important;
  overflow: hidden !important;
  background: rgba(16, 32, 68, 0.1) !important;
  border-radius: 999px !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk-progress > span {
  display: block !important;
  height: 100% !important;
  background: currentColor !important;
  border-radius: inherit !important;
  transition: width 200ms ease !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk button {
  min-height: 44px !important;
  padding: 0 14px !important;
  color: currentColor !important;
  background: #fff !important;
  border: 1px solid currentColor !important;
  border-radius: 7px !important;
  font-size: 0.75rem !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 82px !important;
  margin: 12px 0 0 !important;
  padding: 13px 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid var(--als-cart-line) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 26px rgba(16, 32, 68, 0.035) !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon.is-added {
  background: #f1f9f5 !important;
  border-color: #c5e2d3 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon.is-busy {
  opacity: 0.68 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-image {
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  padding: 5px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: var(--als-cart-soft) !important;
  border: 1px solid var(--als-cart-line-soft) !important;
  border-radius: 8px !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-copy small {
  color: var(--als-cart-muted) !important;
  font-size: 0.67rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-copy strong {
  color: var(--als-cart-ink) !important;
  font-size: 0.83rem !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-copy > span {
  color: var(--als-cart-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-copy > [data-als-cart-addon-status]:empty {
  display: none !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon button {
  min-width: 62px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: var(--als-cart-ink) !important;
  background: #fff !important;
  border: 1px solid var(--als-cart-line) !important;
  border-radius: 7px !important;
  font-size: 0.75rem !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__addon.is-added button {
  color: #145f41 !important;
  border-color: #9dcdb7 !important;
}

@media (max-width: 899px) {
  body.woocommerce-cart.als-cart-premium article.als-page-shell,
  body.woocommerce-cart.als-cart-premium .entry-content,
  body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart {
    width: min(100% - 32px, 720px) !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__summary {
    position: static !important;
  }
}

@media (max-width: 620px) {
  body.woocommerce-cart.als-cart-premium article.als-page-shell,
  body.woocommerce-cart.als-cart-premium .entry-content,
  body.woocommerce-cart.als-cart-premium .wp-block-woocommerce-cart {
    width: calc(100% - 28px) !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-items__header {
    display: none !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    width: 100% !important;
    column-gap: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__image {
    grid-column: 1 !important;
    width: 88px !important;
    padding: 16px 8px 16px 14px !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__image > a {
    width: 66px !important;
    height: 66px !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__product {
    grid-column: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 16px 12px 16px 4px !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__total {
    display: none !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__quantity {
    display: grid !important;
    grid-template-columns: 128px 44px !important;
    width: 178px !important;
    max-width: 100% !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk {
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    padding: 12px 13px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__addon {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    min-height: 76px !important;
    padding: 11px 13px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-image {
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk {
    grid-template-columns: 22px minmax(0, 1fr) !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__bulk button {
    grid-column: 2 !important;
    justify-self: start !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__addon {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    padding-inline: 11px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__addon-image {
    width: 44px !important;
    height: 44px !important;
  }
}

@media (max-width: 375px) {
  body.woocommerce-cart.als-cart-premium .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart.als-cart-premium table.wc-block-cart-items td.wc-block-cart-item__image {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    padding-top: 16px !important;
    padding-right: 6px !important;
    padding-bottom: 16px !important;
    padding-left: 6px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart.als-cart-premium table.wc-block-cart-items td.wc-block-cart-item__image > a {
    width: 52px !important;
    height: 52px !important;
    padding: 5px !important;
  }

  body.woocommerce-cart.als-cart-premium table.wc-block-cart-items td.wc-block-cart-item__product {
    width: auto !important;
    min-width: 0 !important;
    padding-top: 16px !important;
    padding-right: 4px !important;
    padding-bottom: 16px !important;
    padding-left: 4px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-cart-item__quantity {
    grid-template-columns: 120px 44px !important;
    gap: 4px !important;
    width: 168px !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart.als-cart-premium .wc-block-components-quantity-selector {
    grid-template-columns: 44px 32px 44px !important;
    flex-basis: 120px !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__form input,
  body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__form button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart.als-cart-premium *,
  body.woocommerce-cart.als-cart-premium *::before,
  body.woocommerce-cart.als-cart-premium *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Preserve the last valid monetary value while Woo Blocks recalculates. */
body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item.als-cart-total-refreshing > .wc-block-components-skeleton__element[data-als-stable-price] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: 45px !important;
  height: auto !important;
  min-height: 1em !important;
  color: var(--als-cart-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 0.72 !important;
  animation: none !important;
  transition: none !important;
}

body.woocommerce-cart.als-cart-premium .als-cart-premium__summary .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item.als-cart-total-refreshing > .wc-block-components-skeleton__element[data-als-stable-price]::after {
  content: attr(data-als-stable-price) !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}
