/*! BioCollex Refresh · module: cart · the cart page (body.woocommerce-cart)
 * The empty cart: brand colours instead of grey and black, a floating cart icon, "View COAs"
 * beside "Browse all products", and suggestion cards with their own Add to cart / Choose size
 * button (cart.js). The theme's own rules (#bcx-empty-cart-css) load in the page, so these
 * carry body.woocommerce-cart to win without !important where they can.
 */

/* ---------- Empty cart: the top ---------- */
body.woocommerce-cart .bcx-ec-hero { padding-top: 30px; }
body.woocommerce-cart .bcx-ec-icon {
  width: 72px; height: 72px; margin-bottom: 18px; border-radius: 22px; color: #fff;
  background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0));
  box-shadow: 0 18px 34px -16px rgba(42, 106, 208, .9);
  animation: bxrf-empty-bob 4s ease-in-out infinite;
}
body.woocommerce-cart .bcx-ec-icon svg { width: 30px; height: 30px; }
body.woocommerce-cart .bcx-ec-title { font-size: 26px; font-weight: 800; color: var(--bxrf-ink, #0b1530); }
body.woocommerce-cart .bcx-ec-sub { color: var(--bxrf-muted, #5b6a7f); }
body.woocommerce-cart .bxrf-ec-acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.woocommerce-cart .bcx-ec-cta, body.woocommerce-cart .bxrf-ec-coa {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: 999px;
  font-size: 15px; font-weight: 700; text-decoration: none !important;
  transition: transform .2s var(--bxrf-ease, ease), box-shadow .2s, background-color .2s;
}
body.woocommerce-cart .bcx-ec-cta {
  border: 0; color: #fff !important; background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0));
  box-shadow: 0 14px 26px -14px rgba(42, 106, 208, .95);
}
body.woocommerce-cart .bcx-ec-cta:hover { color: #fff !important; background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0)); transform: translateY(-1px); }
body.woocommerce-cart .bxrf-ec-coa { color: var(--bxrf-navy-2, #213b66) !important; background: #fff; box-shadow: inset 0 0 0 1.5px #c9d8f0; }
body.woocommerce-cart .bxrf-ec-coa:hover { box-shadow: inset 0 0 0 1.5px var(--bxrf-blue, #2a6ad0); transform: translateY(-1px); }
body.woocommerce-cart .bxrf-ec-coa svg { color: var(--bxrf-blue, #2a6ad0); }

/* ---------- Popular products ---------- */
body.woocommerce-cart .bcx-ec-rec { margin-top: 36px; }
body.woocommerce-cart .bcx-ec-head h2 { font-size: 21px; font-weight: 800; color: var(--bxrf-ink, #0b1530); }
body.woocommerce-cart .bcx-ec-card { border-color: #dbe6f5; border-radius: 20px; box-shadow: 0 1px 2px rgba(10, 31, 68, .05), 0 18px 34px -28px rgba(26, 58, 120, .55); }
body.woocommerce-cart .bcx-ec-card:hover { border-color: #b9cdee; box-shadow: 0 22px 40px -26px rgba(26, 58, 120, .6); }
body.woocommerce-cart .bcx-ec-img { background: radial-gradient(120% 90% at 50% 20%, #f4f8ff 0%, #e3ecfa 70%, #d8e4f7 100%); }
body.woocommerce-cart .bcx-ec-rank { color: #fff; background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0)); border: 0; }
body.woocommerce-cart .bcx-ec-name { color: var(--bxrf-ink, #0b1530); }

/* cart.js: the card is a link plus its own button */
body.woocommerce-cart .bxrf-ec-card { display: flex; flex-direction: column; }
body.woocommerce-cart .bxrf-ec-link { display: flex; flex-direction: column; flex: 1; color: inherit !important; text-decoration: none !important; }
body.woocommerce-cart .bxrf-ec-link:focus-visible { outline: 2px solid var(--bxrf-blue, #2a6ad0); outline-offset: -2px; border-radius: 20px; }
body.woocommerce-cart .bxrf-ec-act { padding: 0 12px 12px; }
body.woocommerce-cart .bxrf-ec-act .bcx-ec-btn {
  display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 38px; margin: 0; padding: 0 10px;
  border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; text-decoration: none !important;
  color: #fff !important; background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0));
  box-shadow: 0 10px 20px -12px rgba(42, 106, 208, .9);
  transition: transform .2s var(--bxrf-ease, ease), filter .2s, background-color .2s;
}
body.woocommerce-cart a.bcx-ec-btn { color: var(--bxrf-navy-2, #213b66) !important; background: #eef4fe; box-shadow: inset 0 0 0 1.5px #c9d8f0; }
body.woocommerce-cart .bxrf-ec-act .bcx-ec-btn:active { transform: scale(.97); }
body.woocommerce-cart .bxrf-ec-add.is-busy { filter: saturate(.6); cursor: progress; }
body.woocommerce-cart .bxrf-ec-add.is-added { background: linear-gradient(135deg, #15803d, #22c55e); }
@media (hover: hover) and (pointer: fine) {
  body.woocommerce-cart .bxrf-ec-act .bcx-ec-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
}
@media (min-width: 768px) {
  body.woocommerce-cart .bcx-ec-title { font-size: 32px; }
  body.woocommerce-cart .bxrf-ec-act { padding: 0 16px 16px; }
  body.woocommerce-cart .bxrf-ec-act .bcx-ec-btn { height: 40px; font-size: 13.5px; }
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .bcx-ec-icon { animation: none !important; }
  body.woocommerce-cart .bcx-ec-cta, body.woocommerce-cart .bxrf-ec-coa, body.woocommerce-cart .bxrf-ec-act .bcx-ec-btn { transition: none; }
}

/* ---------- With items: WooCommerce's cart block in the site's style ----------
   Rows become cards on phones (WooCommerce lays them out as a grid there), the totals sit in a
   tinted card, and "Proceed to Checkout" is the site's gradient pill. */
body.woocommerce-cart .bxrf-cart-h { display: flex; align-items: center; gap: 10px; max-width: 1180px; margin: 0 auto 10px; padding: 0; }
body.woocommerce-cart .bxrf-cart-h[hidden] { display: none; }
body.woocommerce-cart .bxrf-cart-h h1 { margin: 0; font-size: 28px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--bxrf-ink, #0b1530); }
body.woocommerce-cart .bxrf-cart-n:not(:empty) { padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--bxrf-blue, #2a6ad0); background: #e8f0fd; }
body.woocommerce-cart .wc-block-cart { max-width: 1180px; margin: 0 auto; padding: 0 0 36px; color: var(--bxrf-ink, #0b1530); }
body.woocommerce-cart .wc-block-cart-items { border-collapse: separate; border-spacing: 0 10px; }
body.woocommerce-cart .wc-block-cart-items caption, body.woocommerce-cart .wc-block-cart-items__header { color: var(--bxrf-muted, #5b6a7f); }
body.woocommerce-cart .wc-block-cart-item__image img {
  width: 72px; max-width: 72px; height: 72px; object-fit: contain; padding: 6px; border-radius: 14px;
  background: radial-gradient(120% 90% at 50% 20%, #f4f8ff 0%, #e3ecfa 70%, #d8e4f7 100%);
}
body.woocommerce-cart .wc-block-cart .wc-block-components-product-name { font-size: 16px !important; font-weight: 700 !important; color: var(--bxrf-ink, #0b1530) !important; text-decoration: none !important; }
body.woocommerce-cart .wc-block-components-product-metadata { color: var(--bxrf-muted, #5b6a7f); }
body.woocommerce-cart .wc-block-components-quantity-selector { border-radius: 999px; border-color: #c9d8f0; overflow: hidden; }
body.woocommerce-cart .wc-block-components-quantity-selector::after { border: 0 !important; }
body.woocommerce-cart .wc-block-components-quantity-selector__button { color: var(--bxrf-navy-2, #213b66) !important; }
body.woocommerce-cart .wc-block-cart-item__remove-link { color: var(--bxrf-muted, #5b6a7f) !important; }
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { font-weight: 800; color: var(--bxrf-ink, #0b1530); }
/* Phones: the rows are a grid inside a table; as blocks they keep to the page width */
body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items tbody,
body.woocommerce-cart .wc-block-cart.is-small .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart.is-small .wc-block-cart-items tbody { display: block; width: 100%; }
body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart.is-small .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto; column-gap: 12px; margin-bottom: 10px; }
body.woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart.is-small .wc-block-cart-items__row {
  padding: 14px; border: 1px solid #e3eaf5; border-radius: 18px; background: #fff; box-shadow: 0 16px 30px -26px rgba(26, 58, 120, .6);
}
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  padding: 4px 16px 6px; border: 1px solid #dbe6f5; border-radius: 20px; background: #f6f9fe;
}
body.woocommerce-cart .wc-block-cart__totals-title { font-size: 13px !important; font-weight: 800 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--bxrf-blue, #2a6ad0) !important; }
body.woocommerce-cart .wc-block-components-totals-wrapper { border-color: #dbe6f5 !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 { font-size: 19px; font-weight: 800; color: var(--bxrf-ink, #0b1530); }
body.woocommerce-cart .wc-block-components-panel__button { color: var(--bxrf-navy-2, #213b66); font-weight: 600; }
body.woocommerce-cart .wc-block-cart__submit-button {
  min-height: 54px; border: 0 !important; border-radius: 999px !important; font-size: 16px; font-weight: 700;
  color: #fff !important; background: linear-gradient(135deg, var(--bxrf-navy-2, #213b66), var(--bxrf-blue, #2a6ad0)) !important;
  box-shadow: 0 16px 28px -16px rgba(42, 106, 208, .95); transition: transform .2s var(--bxrf-ease, ease), filter .2s;
}
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text::after { content: " \2192"; }
body.woocommerce-cart .wc-block-cart__submit-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
body.woocommerce-cart .wc-block-cart__submit-container::after {
  content: "Secure checkout \00B7  Free shipment protection"; display: block; margin-top: 10px; text-align: center;
  font-size: 12.5px; font-weight: 600; color: var(--bxrf-muted, #5b6a7f);
}
/* The chat bubble fades while it covers a price, a quantity or a button (cart.js sets bxrf-cart-clear).
   Only faded: moving it would change what it covers. */
html.bxrf-cart-clear body.woocommerce-cart #bcx-agent:not(.bcx-open) { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .wc-block-cart__submit-button { transition: none; }
}
