/*
 * Lume Arcano cart visual layer — v0.5.21.
 * Scoped only to the WooCommerce cart so shop/product/checkout templates
 * remain independent. Supports WooCommerce Blocks and the classic cart.
 */
body.woocommerce-cart {
  --la-cart-ink: #edf2ef;
  --la-cart-muted: #98aaac;
  --la-cart-gold: #d5aa58;
  --la-cart-gold-light: #f1d89c;
  --la-cart-night: #061019;
  --la-cart-panel: rgba(10, 29, 40, .90);
  --la-cart-panel-deep: rgba(5, 16, 25, .96);
  --la-cart-line: rgba(241, 216, 156, .16);
  --la-cart-line-strong: rgba(213, 170, 88, .38);
  background: var(--la-cart-night) !important;
  color: var(--la-cart-ink) !important;
}

body.woocommerce-cart #page,
body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-cart main,
body.woocommerce-cart .site-main,
body.woocommerce-cart .content-area,
body.woocommerce-cart .site-content,
body.woocommerce-cart .wp-site-blocks {
  background: var(--la-cart-night) !important;
  color: var(--la-cart-ink) !important;
}

/* Match the clean checkout/product flow: remove the generic theme chrome. */
body.woocommerce-cart header.site-header,
body.woocommerce-cart footer.site-footer,
body.woocommerce-cart #masthead,
body.woocommerce-cart #colophon,
body.woocommerce-cart .wp-site-blocks > header,
body.woocommerce-cart .wp-site-blocks > footer,
body.woocommerce-cart header.wp-block-template-part,
body.woocommerce-cart footer.wp-block-template-part {
  display: none !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-post-content,
body.woocommerce-cart .woocommerce {
  width: min(calc(100% - 36px), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(38px, 6vw, 78px) 0 96px !important;
  color: var(--la-cart-ink) !important;
}

body.woocommerce-cart .entry-header,
body.woocommerce-cart .wp-block-post-title {
  width: min(calc(100% - 36px), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-top: clamp(34px, 5vw, 64px) !important;
}

body.woocommerce-cart h1,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title {
  margin-bottom: clamp(24px, 4vw, 44px) !important;
  color: #fbf5e9 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(2.6rem, 5vw, 4.8rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

body.woocommerce-cart a {
  color: var(--la-cart-gold-light);
}
body.woocommerce-cart a:hover {
  color: #ffe7ae;
}

/* ---------- WooCommerce Blocks cart ---------- */
body.woocommerce-cart .wc-block-cart,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar {
  color: var(--la-cart-ink) !important;
}

body.woocommerce-cart .wc-block-cart {
  gap: 26px !important;
  align-items: start !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
  min-width: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-cart__submit-container {
  color: var(--la-cart-ink) !important;
}

body.woocommerce-cart .wc-block-cart__main {
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid var(--la-cart-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, var(--la-cart-panel), var(--la-cart-panel-deep)) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20) !important;
}

body.woocommerce-cart .wc-block-cart__sidebar {
  padding: clamp(22px, 3vw, 30px) !important;
  border: 1px solid var(--la-cart-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(12, 33, 44, .93), var(--la-cart-panel-deep)) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20) !important;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items table,
body.woocommerce-cart .wc-block-cart-items tbody,
body.woocommerce-cart .wc-block-cart-items tr,
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart-items th {
  background: transparent !important;
  color: var(--la-cart-ink) !important;
}

body.woocommerce-cart .wc-block-cart-items th {
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--la-cart-line) !important;
  color: var(--la-cart-muted) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-cart-items tr.wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid var(--la-cart-line) !important;
}

body.woocommerce-cart .wc-block-cart-item__image {
  padding: 22px 18px 22px 0 !important;
}
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-components-product-image img {
  overflow: hidden !important;
  width: 100% !important;
  max-width: 112px !important;
  height: auto !important;
  border: 1px solid rgba(213, 170, 88, .24) !important;
  border-radius: 13px !important;
  background: #07131d !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .28) !important;
}

body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__total {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
  color: #fbf5e9 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.15rem, 2vw, 1.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-product-metadata p {
  color: #b6c4c2 !important;
  font-size: .83rem !important;
  line-height: 1.55 !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-price__value,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
body.woocommerce-cart .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-components-product-price del,
body.woocommerce-cart .wc-block-components-product-price ins {
  color: var(--la-cart-gold-light) !important;
}

body.woocommerce-cart .wc-block-components-product-price del {
  opacity: .52 !important;
}
body.woocommerce-cart .wc-block-components-product-price ins {
  text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-sale-badge {
  padding: 5px 9px !important;
  border: 1px solid var(--la-cart-line-strong) !important;
  border-radius: 999px !important;
  background: rgba(213, 170, 88, .08) !important;
  color: var(--la-cart-gold-light) !important;
  font-size: .67rem !important;
  font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity,
body.woocommerce-cart .wc-block-components-quantity-selector {
  color: var(--la-cart-ink) !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector {
  overflow: hidden !important;
  min-height: 40px !important;
  border: 1px solid rgba(213, 170, 88, .24) !important;
  border-radius: 999px !important;
  background: rgba(3, 13, 21, .58) !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector__button {
  color: var(--la-cart-ink) !important;
  background: transparent !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
  background: rgba(213, 170, 88, .10) !important;
  color: var(--la-cart-gold-light) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-button.wc-block-cart-item__remove-link {
  color: #a9b9b7 !important;
  font-size: .72rem !important;
  text-decoration-color: rgba(213, 170, 88, .35) !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: var(--la-cart-gold-light) !important;
}

body.woocommerce-cart .wc-block-cart__totals-title {
  margin: 0 !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid var(--la-cart-line) !important;
  color: #fbf5e9 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.55rem !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
  padding: 18px 0 !important;
  border-top-color: var(--la-cart-line) !important;
  border-bottom-color: var(--la-cart-line) !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__description,
body.woocommerce-cart .wc-block-components-totals-coupon__form label,
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-panel__button span {
  color: var(--la-cart-muted) !important;
}

body.woocommerce-cart .wc-block-components-totals-item__value {
  color: var(--la-cart-ink) !important;
  font-weight: 700 !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item--total .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item--total .wc-block-components-totals-item__value {
  color: var(--la-cart-gold-light) !important;
  font-size: 1.08rem !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form,
body.woocommerce-cart .wc-block-components-totals-coupon {
  background: transparent !important;
}
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-combobox .components-combobox-control__input {
  min-height: 46px !important;
  border: 1px solid rgba(213, 170, 88, .24) !important;
  border-radius: 11px !important;
  background: rgba(3, 13, 21, .72) !important;
  color: var(--la-cart-ink) !important;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-components-text-input input:focus,
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus {
  border-color: var(--la-cart-gold) !important;
  box-shadow: 0 0 0 3px rgba(213, 170, 88, .12) !important;
}

/* Secondary cart buttons — outline gold, never Woo's default green. */
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-button:not(.wc-block-cart__submit-button),
body.woocommerce-cart button.wc-block-components-button:not(.wc-block-cart__submit-button) {
  min-height: 44px !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(213, 170, 88, .48) !important;
  border-radius: 999px !important;
  background: rgba(213, 170, 88, .08) !important;
  color: var(--la-cart-gold-light) !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

/* Main checkout button. */
body.woocommerce-cart .wc-block-cart__submit,
body.woocommerce-cart .wc-block-cart__submit-container {
  margin-top: 10px !important;
  padding: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button,
body.woocommerce-cart a.wc-block-cart__submit-button {
  width: 100% !important;
  min-height: 56px !important;
  padding: 0 24px !important;
  border: 1px solid #e0b968 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e6c47c 0%, #c79240 52%, #b77f32 100%) !important;
  color: #07131d !important;
  font-size: .79rem !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 34px rgba(213, 170, 88, .22) !important;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease !important;
}
body.woocommerce-cart .wc-block-cart__submit-button span,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button span {
  color: #07131d !important;
  font-weight: 900 !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:hover {
  filter: brightness(1.07) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 40px rgba(213, 170, 88, .29) !important;
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  color: #fbf5e9 !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title {
  font-family: Georgia, "Times New Roman", serif !important;
}

/* ---------- Classic WooCommerce cart fallback ---------- */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals {
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid var(--la-cart-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, var(--la-cart-panel), var(--la-cart-panel-deep)) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .20) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table {
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--la-cart-ink) !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table th,
body.woocommerce-cart .woocommerce-cart-form table.shop_table td,
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  padding: 16px 10px !important;
  border-color: var(--la-cart-line) !important;
  background: transparent !important;
  color: var(--la-cart-ink) !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-name a {
  color: #fbf5e9 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.12rem !important;
  text-decoration: none !important;
}
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
  width: 82px !important;
  border: 1px solid rgba(213, 170, 88, .24) !important;
  border-radius: 12px !important;
}
body.woocommerce-cart .woocommerce-cart-form input.qty,
body.woocommerce-cart .woocommerce-cart-form input.input-text,
body.woocommerce-cart .woocommerce-cart-form .coupon input {
  min-height: 44px !important;
  border: 1px solid rgba(213, 170, 88, .24) !important;
  border-radius: 10px !important;
  background: rgba(3, 13, 21, .72) !important;
  color: var(--la-cart-ink) !important;
}
body.woocommerce-cart .woocommerce-cart-form button.button,
body.woocommerce-cart .woocommerce-cart-form input.button,
body.woocommerce-cart .cart-collaterals a.button:not(.checkout-button) {
  min-height: 44px !important;
  padding: 10px 18px !important;
  border: 1px solid rgba(213, 170, 88, .48) !important;
  border-radius: 999px !important;
  background: rgba(213, 170, 88, .08) !important;
  color: var(--la-cart-gold-light) !important;
  font-weight: 800 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .cart-collaterals a.checkout-button {
  min-height: 56px !important;
  padding: 16px 24px !important;
  border: 1px solid #e0b968 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e6c47c 0%, #c79240 52%, #b77f32 100%) !important;
  color: #07131d !important;
  font-size: .79rem !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 34px rgba(213, 170, 88, .22) !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  margin-bottom: 22px !important;
  border-top: 3px solid var(--la-cart-gold) !important;
  border-radius: 14px !important;
  background: rgba(10, 29, 40, .94) !important;
  color: var(--la-cart-ink) !important;
}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before {
  color: var(--la-cart-gold-light) !important;
}

body.woocommerce-cart input[type="radio"],
body.woocommerce-cart input[type="checkbox"] {
  accent-color: var(--la-cart-gold);
}

@media (max-width: 880px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout,
  body.woocommerce-cart .wc-block-cart {
    display: block !important;
  }
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar {
    width: 100% !important;
    margin: 0 0 20px !important;
  }
  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-cart .entry-content,
  body.woocommerce-cart .wp-block-post-content,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-cart .entry-header,
  body.woocommerce-cart .wp-block-post-title {
    width: min(calc(100% - 20px), 1180px) !important;
  }
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 18px 15px !important;
    border-radius: 19px !important;
  }
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart .wc-block-components-product-image img {
    max-width: 82px !important;
  }
  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
    font-size: 1.05rem !important;
  }
}
