/* Alcar cart presentation — WooCommerce Blocks first, classic cart fallback.
 * Opt-in body class only. Native tables, container breakpoints, loading states,
 * form names, variation metadata, prices and cart handlers remain unchanged.
 */
body.alcar-cart-polish {
  --alcar-cart-bg: var(--bb-body-background-color, #111113);
  --alcar-cart-surface: var(--bb-content-background-color, #18181b);
  --alcar-cart-alternate: var(--bb-content-alternate-background-color, #27272a);
  --alcar-cart-border: var(--bb-content-border-color, #2c2c30);
  --alcar-cart-text: var(--bb-body-text-color, #eaeae7);
  --alcar-cart-muted: var(--bb-alternate-text-color, #a1a1aa);
  --alcar-cart-button: #0c6bcb;
  --alcar-cart-button-hover: #0b74db;
  --alcar-cart-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.alcar-cart-polish #primary .entry-title {
  font-size: clamp(26px, 3vw, 34px); line-height: 1.25; font-weight: 600;
  letter-spacing: -.025em; color: var(--alcar-cart-text);
}

/* Blocks: keep WooCommerce's 65/35 sidebar layout and its own mobile grid. */
body.alcar-cart-polish #primary .wp-block-woocommerce-cart {
  color: var(--alcar-cart-text); font-family: var(--alcar-cart-font);
  font-size: 14px; line-height: 1.55; max-width: 100%;
}
body.alcar-cart-polish #primary .wc-block-cart__main,
body.alcar-cart-polish #primary .wc-block-cart__sidebar { min-width: 0; }
body.alcar-cart-polish #primary table.wc-block-cart-items {
  background: var(--alcar-cart-surface) !important;
  border: 1px solid var(--alcar-cart-border); border-radius: 12px;
  border-collapse: separate; border-spacing: 0;
  margin-bottom: 24px; box-shadow: none;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__header {
  color: var(--alcar-cart-muted); font-size: 12px;
  line-height: 1.5; text-transform: none; letter-spacing: 0;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__header th { font-weight: 500; }
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__row td {
  border-color: var(--alcar-cart-border); color: var(--alcar-cart-text);
  vertical-align: top;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__image img {
  border: 1px solid var(--alcar-cart-border); border-radius: 8px;
  background: var(--alcar-cart-bg); object-fit: contain;
  width: 72px; max-width: 100%; height: 72px;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-components-product-name {
  color: var(--alcar-cart-text); font-family: var(--alcar-cart-font);
  font-size: 15px; font-weight: 600; line-height: 1.5;
  letter-spacing: 0; overflow-wrap: anywhere; text-decoration: none;
}
body.alcar-cart-polish #primary table.wc-block-cart-items a.wc-block-components-product-name:hover {
  color: #b8d9ff; text-decoration: underline; text-underline-offset: 3px;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__prices {
  color: var(--alcar-cart-muted); font-size: 13px; line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__total {
  color: var(--alcar-cart-text); font-size: 15px; font-weight: 600;
  line-height: 1.5; font-variant-numeric: tabular-nums;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-components-product-metadata__variation-data {
  color: var(--alcar-cart-muted); font-size: 12px; line-height: 1.6;
  overflow-wrap: anywhere;
}
/* Hide only the unwanted descriptive excerpt observed in the cart UI.
 * Product names, variations, attributes and subscription details remain visible.
 */
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-components-product-metadata__description { display: none; }
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__quantity {
  gap: 10px; flex-wrap: wrap; margin-top: 12px;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector {
  background: var(--alcar-cart-bg); border-color: var(--alcar-cart-border);
  border-radius: 8px; min-height: 44px; width: 132px; max-width: 100%;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector__input {
  color: var(--alcar-cart-text); font: 400 16px/1 var(--alcar-cart-font);
  min-width: 40px;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector__button {
  color: var(--alcar-cart-text); min-width: 44px; min-height: 42px;
  font-family: var(--alcar-cart-font); font-size: 18px;
  transition: background-color .16s ease, color .16s ease;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector__button--minus { border-radius: 7px 0 0 7px; }
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector__button--plus { border-radius: 0 7px 7px 0; }
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-quantity-selector__button:not(:disabled):hover {
  background: var(--alcar-cart-alternate);
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__remove-link {
  width: auto; min-width: 44px; min-height: 44px; height: auto;
  max-width: 100%; padding: 8px; margin: 0;
  color: var(--alcar-cart-muted); border: 1px solid var(--alcar-cart-border);
  border-radius: 8px; text-decoration: none;
  font: 400 12px/1.4 var(--alcar-cart-font);
  transition: background-color .16s ease, border-color .16s ease;
}
body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__remove-link:not(:disabled):hover {
  background: var(--alcar-cart-alternate); color: var(--alcar-cart-text); border-color: #404044;
}

/* One quiet summary card, with actual totals and recurring charges intact. */
body.alcar-cart-polish #primary .wc-block-cart__sidebar {
  background: var(--alcar-cart-surface); border: 1px solid var(--alcar-cart-border);
  border-radius: 12px; padding: 22px; box-shadow: none;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-cart__totals-title {
  color: var(--alcar-cart-text); font: 600 18px/1.4 var(--alcar-cart-font);
  text-transform: none; letter-spacing: -.015em; margin: 0 0 20px;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  border-color: var(--alcar-cart-border);
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-item {
  color: var(--alcar-cart-text); font-size: 14px; line-height: 1.55;
  padding-top: 14px; padding-bottom: 14px; gap: 12px;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-item__label {
  color: var(--alcar-cart-muted); font-weight: 400; overflow-wrap: anywhere; min-width: 0;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-item__value {
  color: var(--alcar-cart-text); font-weight: 500;
  font-variant-numeric: tabular-nums;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  color: var(--alcar-cart-text); font-size: 16px; font-weight: 600;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px; font-weight: 600; line-height: 1.35; letter-spacing: -.02em;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-panel__button {
  color: var(--alcar-cart-text); min-height: 44px; height: auto;
  font: 500 13px/1.5 var(--alcar-cart-font); letter-spacing: 0;
  text-transform: none; white-space: normal;
}
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-panel__button:hover { color: #b8d9ff; }
body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-coupon { padding-top: 8px; padding-bottom: 16px; }
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-text-input input {
  color: var(--alcar-cart-text); background: var(--alcar-cart-bg);
  border-color: var(--alcar-cart-border); border-radius: 8px;
  font-family: var(--alcar-cart-font); font-size: 16px; min-height: 48px;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-text-input label { color: var(--alcar-cart-muted); }
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-totals-coupon__button {
  color: var(--alcar-cart-text); background: #1e1e21;
  border: 1px solid var(--alcar-cart-border); border-radius: 8px;
  min-height: 48px; box-shadow: none; font: 500 13px/1.5 var(--alcar-cart-font);
  padding: 10px 14px; text-transform: none; letter-spacing: 0;
}
body.alcar-cart-polish #primary .wc-block-cart .wc-block-components-totals-coupon__button:not(:disabled):not([aria-disabled="true"]):hover {
  background: var(--alcar-cart-alternate); border-color: #404044;
}
body.alcar-cart-polish #primary .wc-block-cart .wcs-recurring-totals-panel:after {
  border-color: var(--alcar-cart-border); opacity: 1;
}
body.alcar-cart-polish #primary .wc-block-cart .wcs-recurring-totals-panel__title .wc-block-components-totals-item__label {
  color: var(--alcar-cart-text); font-size: 13px; font-weight: 600;
}
body.alcar-cart-polish #primary .wc-block-cart .wcs-recurring-totals-panel__details { color: var(--alcar-cart-muted); }

body.alcar-cart-polish #primary .wc-block-cart__submit-button,
body.alcar-cart-polish #primary .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.alcar-cart-polish #primary .wc-proceed-to-checkout .checkout-button,
body.alcar-cart-polish #primary .return-to-shop .button.wc-backward {
  color: #fff !important; background: var(--alcar-cart-button) !important;
  border: 1px solid var(--alcar-cart-button) !important; border-radius: 8px !important;
  min-height: 48px; height: auto; padding: 12px 18px;
  font: 500 14px/1.5 var(--alcar-cart-font); letter-spacing: 0;
  text-transform: none; text-align: center; text-decoration: none;
  white-space: normal; box-shadow: none !important;
  transition: background-color .16s ease, border-color .16s ease;
}
body.alcar-cart-polish #primary .wc-block-cart__submit-button:not(:disabled):not([aria-disabled="true"]):hover,
body.alcar-cart-polish #primary .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
body.alcar-cart-polish #primary .wc-proceed-to-checkout .checkout-button:hover,
body.alcar-cart-polish #primary .return-to-shop .button.wc-backward:hover {
  background: var(--alcar-cart-button-hover) !important; border-color: var(--alcar-cart-button-hover) !important;
}
/* Native sticky mobile action stays in its original position; only its color changes. */
body.alcar-cart-polish #primary .wc-block-cart__submit-container--sticky {
  background: var(--alcar-cart-bg); border-top: 1px solid var(--alcar-cart-border);
}
body.alcar-cart-polish #primary .wc-block-cart__submit-container--sticky:before { box-shadow: none; }

/* Empty-state visibility remains controlled by the native Cart block. */
body.alcar-cart-polish #primary .wp-block-woocommerce-empty-cart-block {
  color: var(--alcar-cart-text); font-family: var(--alcar-cart-font);
}
body.alcar-cart-polish #primary .wc-block-cart__empty-cart__title {
  color: var(--alcar-cart-text); font-size: clamp(21px, 2.5vw, 28px);
  font-weight: 600; line-height: 1.4; letter-spacing: -.02em;
  padding: 32px 20px; background: var(--alcar-cart-surface);
  border: 1px solid var(--alcar-cart-border); border-radius: 12px;
}
body.alcar-cart-polish #primary .wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
  color: var(--alcar-cart-muted); height: 52px; width: 52px;
  mask-size: 52px; margin-bottom: 20px;
}

/* Notices: retain native icons, live regions, dismiss buttons and severity. */
body.alcar-cart-polish #primary .wc-block-components-notice-banner {
  color: var(--alcar-cart-text); background: var(--alcar-cart-surface);
  border-color: var(--alcar-cart-border); border-radius: 8px;
  font-family: var(--alcar-cart-font); overflow-wrap: anywhere;
}
body.alcar-cart-polish #primary .wc-block-components-notice-banner.is-error { border-color: #9b4147; }
body.alcar-cart-polish #primary .wc-block-components-notice-banner.is-warning { border-color: #8d6d38; }
body.alcar-cart-polish #primary .wc-block-components-notice-banner.is-success { border-color: #32744c; }
body.alcar-cart-polish #primary .wc-block-components-notice-banner.is-info { border-color: #305c86; }
body.alcar-cart-polish #primary .wc-block-components-notice-banner > .wc-block-components-button,
body.alcar-cart-polish #primary .wc-block-components-notice-banner .wc-forward { color: var(--alcar-cart-text) !important; }

/* Classic cart fallback; table/tr/td display and all six columns stay native. */
body.alcar-cart-polish #primary .woocommerce-cart-form {
  background: var(--alcar-cart-surface); border: 1px solid var(--alcar-cart-border);
  border-radius: 12px; margin-bottom: 28px;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart {
  width: 100%; border: 0; border-collapse: separate; border-spacing: 0;
  margin: 0; font-family: var(--alcar-cart-font); background: transparent;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart th {
  color: var(--alcar-cart-muted); font-size: 12px; font-weight: 500;
  line-height: 1.5; text-transform: none; letter-spacing: 0;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart td {
  color: var(--alcar-cart-text); border-color: var(--alcar-cart-border);
  font-size: 14px; line-height: 1.55; background: transparent;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart td.product-name { overflow-wrap: anywhere; }
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart td.product-name > a {
  color: var(--alcar-cart-text); font-weight: 600; text-decoration: none;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart td.product-thumbnail img {
  width: 72px; height: 72px; object-fit: contain; max-width: 100%;
  border: 1px solid var(--alcar-cart-border); border-radius: 8px; background: var(--alcar-cart-bg);
}
body.alcar-cart-polish #primary .woocommerce-cart-form .amount { font-variant-numeric: tabular-nums; }
body.alcar-cart-polish #primary .woocommerce-cart-form td.product-subtotal { font-weight: 600; }
body.alcar-cart-polish #primary .woocommerce-cart-form dl.variation,
body.alcar-cart-polish #primary .woocommerce-cart-form .subscription-details { color: var(--alcar-cart-muted); font-size: 12px; line-height: 1.6; }
body.alcar-cart-polish #primary .woocommerce-cart-form .quantity .qty {
  min-height: 44px; max-width: 100%; color: var(--alcar-cart-text);
  background-color: var(--alcar-cart-bg); border-color: var(--alcar-cart-border);
  font: 400 16px/1 var(--alcar-cart-font);
}
body.alcar-cart-polish #primary .woocommerce-cart-form .bs-quantity {
  border-color: var(--alcar-cart-border); border-radius: 8px; min-height: 44px;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart a.remove {
  color: var(--alcar-cart-muted) !important; border: 1px solid var(--alcar-cart-border);
  border-radius: 8px; width: 40px; height: 40px; line-height: 38px;
  text-align: center; font-size: 24px; background: transparent;
}
body.alcar-cart-polish #primary .woocommerce-cart-form table.cart a.remove:hover {
  color: var(--alcar-cart-text) !important; background: var(--alcar-cart-alternate);
}
body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .coupon {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px; max-width: 100%;
}
body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .coupon:before,
body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .coupon:after { content: none; }
body.alcar-cart-polish #primary .woocommerce-cart-form #coupon_code {
  background: var(--alcar-cart-bg); color: var(--alcar-cart-text);
  border: 1px solid var(--alcar-cart-border); border-radius: 8px;
  min-height: 44px; width: 180px; max-width: 100%; margin: 0;
  font: 400 16px/1.5 var(--alcar-cart-font); padding: 9px 12px;
}
body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .button {
  background: #1e1e21; color: var(--alcar-cart-text); border: 1px solid var(--alcar-cart-border);
  border-radius: 8px; min-height: 44px; box-shadow: none;
  padding: 10px 14px; font: 500 13px/1.5 var(--alcar-cart-font);
  text-transform: none; letter-spacing: 0;
}
body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .button:not(:disabled):hover {
  background: var(--alcar-cart-alternate); border-color: #404044;
}
body.alcar-cart-polish #primary .cart-collaterals .cart_totals {
  color: var(--alcar-cart-text); background: var(--alcar-cart-surface);
  border: 1px solid var(--alcar-cart-border); border-radius: 12px;
  padding: 24px; box-sizing: border-box;
}
body.alcar-cart-polish #primary .cart-collaterals .cart_totals h2 {
  color: var(--alcar-cart-text); font: 600 18px/1.4 var(--alcar-cart-font);
  letter-spacing: -.015em; margin-bottom: 18px;
}
body.alcar-cart-polish #primary .cart_totals table.shop_table { border: 0; font-family: var(--alcar-cart-font); }
body.alcar-cart-polish #primary .cart_totals table.shop_table th,
body.alcar-cart-polish #primary .cart_totals table.shop_table td {
  color: var(--alcar-cart-text); background: transparent;
  border-color: var(--alcar-cart-border); font-size: 14px; line-height: 1.55;
}
body.alcar-cart-polish #primary .cart_totals table.shop_table th { color: var(--alcar-cart-muted); font-weight: 400; }
body.alcar-cart-polish #primary .cart_totals table.shop_table .order-total .amount { font-size: 22px; font-weight: 600; }
body.alcar-cart-polish #primary .wc-proceed-to-checkout .checkout-button { width: 100%; margin-bottom: 0; }
body.alcar-cart-polish #primary .cart-empty.woocommerce-info {
  color: var(--alcar-cart-text); background: var(--alcar-cart-surface);
  border: 1px solid var(--alcar-cart-border); border-radius: 12px;
  padding: 28px 24px 28px 56px; font: 500 16px/1.6 var(--alcar-cart-font);
}
body.alcar-cart-polish #primary :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  color: var(--alcar-cart-text); background: var(--alcar-cart-surface);
  border-radius: 8px; font-family: var(--alcar-cart-font); overflow-wrap: anywhere;
}

body.alcar-cart-polish #primary :is(.wc-block-cart a, .wc-block-cart button, .wc-block-cart input, .woocommerce-cart-form a, .woocommerce-cart-form button, .woocommerce-cart-form input, .wc-proceed-to-checkout a, .return-to-shop a):focus-visible {
  outline: 2px solid #76baff; outline-offset: 3px;
}

/* Add spacing only where WooCommerce already defines desktop table geometry. */
@container (min-width: 700px) {
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__header th { padding: 16px 18px; }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__row td { padding: 20px 18px; }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__image { width: 108px; }
}
@container (max-width: 699px) {
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__row {
    border-color: var(--alcar-cart-border); padding-left: 12px; padding-right: 12px;
  }
  body.alcar-cart-polish #primary .wc-block-cart__sidebar { margin-top: 20px; }
}
@container (min-width: 480px) and (max-width: 699px) {
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__image img { width: 64px; height: 64px; }
}
/* The native four-track row has intrinsic minimums wider than a 320px phone.
 * Reflow the same three cells into two tracks; no information or controls hidden.
 */
@container (max-width: 479px) {
  body.alcar-cart-polish #primary table.wc-block-cart-items { width: 100%; table-layout: fixed; }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 56px minmax(0, 1fr); column-gap: 12px;
  }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__image {
    grid-column: 1; grid-row: 1 / span 2; width: 56px; padding-right: 0;
  }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__product {
    grid-column: 2; grid-row: 1; min-width: 0;
  }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__total {
    grid-column: 2; grid-row: 2; min-width: 0; padding-top: 12px;
    justify-content: flex-start;
  }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__quantity { padding-right: 0; }
}
@media (max-width: 767px) {
  body.alcar-cart-polish #primary .wc-block-cart__sidebar { padding: 18px; }
  body.alcar-cart-polish #primary .cart-collaterals .cart_totals { padding: 20px; }
}
@media (max-width: 479px) {
  body.alcar-cart-polish #primary .wc-block-cart__sidebar { padding: 16px; }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-components-product-name { font-size: 14px; }
  body.alcar-cart-polish #primary table.wc-block-cart-items .wc-block-cart-item__image img { width: 56px; height: 56px; }
  body.alcar-cart-polish #primary .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 21px; }
  body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .coupon { width: 100%; }
  body.alcar-cart-polish #primary .woocommerce-cart-form #coupon_code,
  body.alcar-cart-polish #primary .woocommerce-cart-form td.actions .coupon .button {
    width: 100%; flex: 1 1 100%; float: none; margin: 0;
  }
  body.alcar-cart-polish #primary .woocommerce-cart-form button[name="update_cart"] { width: 100%; float: none; margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.alcar-cart-polish #primary .wc-block-components-quantity-selector__button,
  body.alcar-cart-polish #primary .wc-block-cart-item__remove-link,
  body.alcar-cart-polish #primary .wc-block-cart__submit-button,
  body.alcar-cart-polish #primary .return-to-shop .button.wc-backward { transition: none; }
}
