/* ============================================================
   Junk Daddy — WooCommerce Block Cart Page Styles
   Targets the Gutenberg block cart (/cart page)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700;800&display=swap');

:root {
  --jd-orange:  #FF6B1A;
  --jd-od:      #E55A0A;
  --jd-navy:    #0D1B2E;
  --jd-white:   #ffffff;
  --jd-bg:      #F7F8FA;
  --jd-border:  #E8EBF0;
  --jd-grey:    #9AA8BB;
  --fh:         'Barlow Condensed', Impact, sans-serif;
  --fb:         'Barlow', 'Helvetica Neue', sans-serif;
}

/* ── Base ──────────────────────────────────────────────── */
.wc-block-cart,
.wc-block-cart * {
  font-family: var(--fb) !important;
}

/* ── Layout ────────────────────────────────────────────── */
.wc-block-components-sidebar-layout.wc-block-cart {
  gap: 32px;
}

/* ── Cart table ────────────────────────────────────────── */
.wc-block-cart-items {
  border-collapse: collapse !important;
  width: 100% !important;
  background: var(--jd-white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(13,27,46,.09);
}

.wc-block-cart-items__header {
  background: var(--jd-navy) !important;
}
.wc-block-cart-items__header th {
  padding: 14px 18px !important;
  font-family: var(--fh) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  color: var(--jd-grey) !important;
  border: none !important;
}

.wc-block-cart-items__row {
  border-bottom: 1px solid var(--jd-border) !important;
}
.wc-block-cart-items__row:last-child {
  border-bottom: none !important;
}
.wc-block-cart-items__row td {
  padding: 18px !important;
  vertical-align: top !important;
  border: none !important;
  background: var(--jd-white) !important;
}
.wc-block-cart-items__row:hover td {
  background: #FAFBFC !important;
}

/* ── Product image ─────────────────────────────────────── */
.wc-block-cart-item__image img {
  border-radius: 8px !important;
  border: 2px solid var(--jd-border) !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
}

/* ── Product name ──────────────────────────────────────── */
.wc-block-components-product-name {
  font-family: var(--fh) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--jd-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  text-decoration: none !important;
}
.wc-block-components-product-name:hover {
  color: var(--jd-orange) !important;
}

/* ── Unit price (shown under product name) ─────────────── */
.wc-block-cart-item__prices .wc-block-components-product-price {
  font-family: var(--fh) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--jd-orange) !important;
  display: block !important;
  margin: 4px 0 8px !important;
}

/* ── Product meta details (date, slot, add-ons) ─────────── */
.wc-block-components-product-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin-top: 6px !important;
}
.wc-block-components-product-details > span {
  display: flex !important;
  align-items: baseline !important;
  gap: 5px !important;
  font-size: .82rem !important;
  color: #555 !important;
  line-height: 1.4 !important;
}
.wc-block-components-product-details__name {
  font-weight: 700 !important;
  color: var(--jd-navy) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
/* Hide the " / " separator */
.wc-block-components-product-details span[aria-hidden="true"] {
  display: none !important;
}
/* Hide WooCommerce Blocks raw variation attribute group.
   Our custom booking details already show Load Size, Time Slot and Collection Date,
   so the separate variation group (Load Size / Slot / Day Type) should not appear. */
.wc-block-components-product-metadata > .wc-block-components-product-details:has(.wc-block-components-product-details__slot),
.wc-block-components-product-metadata > .wc-block-components-product-details:has(.wc-block-components-product-details__day-type) {
  display: none !important;
}

/* Fallback: if a theme/browser does not support :has(), at least hide the raw fields. */
.wc-block-components-product-details__slot,
.wc-block-components-product-details__day-type {
  display: none !important;
}

/* ── Quantity selector ─────────────────────────────────── */
.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  border: 2px solid var(--jd-border) !important;
  border-radius: 50px !important;
  overflow: hidden !important;
  background: var(--jd-bg) !important;
  margin-top: 10px !important;
}
.wc-block-components-quantity-selector__button {
  all: unset !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  background: var(--jd-bg) !important;
  color: var(--jd-navy) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  border-radius: 0 !important;
  transition: background .15s !important;
  flex-shrink: 0 !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: var(--jd-orange) !important;
  color: #fff !important;
}
.wc-block-components-quantity-selector__input {
  all: unset !important;
  box-sizing: border-box !important;
  width: 42px !important;
  text-align: center !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  font-family: var(--fb) !important;
  color: var(--jd-navy) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}

/* ── Remove button ─────────────────────────────────────── */
.wc-block-cart-item__remove-link {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--jd-bg) !important;
  color: var(--jd-grey) !important;
  cursor: pointer !important;
  margin-left: 8px !important;
  transition: all .15s !important;
  border: 2px solid var(--jd-border) !important;
}
.wc-block-cart-item__remove-link:hover {
  background: #FEE2E2 !important;
  color: #DC2626 !important;
  border-color: #FCA5A5 !important;
}
.wc-block-cart-item__remove-link svg {
  width: 14px !important;
  height: 14px !important;
}

/* ── Line total ────────────────────────────────────────── */
.wc-block-cart-item__total .wc-block-components-product-price {
  font-family: var(--fh) !important;
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  color: var(--jd-navy) !important;
}

/* ══════════════════════════════════════════════════════════
   ORDER SUMMARY SIDEBAR
══════════════════════════════════════════════════════════ */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  background: var(--jd-white) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(13,27,46,.09) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* "Cart totals" heading */
.wc-block-cart__totals-title {
  font-family: var(--fh) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .6px !important;
  color: var(--jd-white) !important;
  background: var(--jd-navy) !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  border-bottom: 3px solid var(--jd-orange) !important;
}

/* Totals rows */
.wc-block-components-totals-wrapper {
  padding: 0 20px !important;
  border-bottom: 1px solid var(--jd-border) !important;
}
.wc-block-components-totals-wrapper:last-child {
  border-bottom: none !important;
}
.wc-block-components-totals-item {
  padding: 12px 0 !important;
  border: none !important;
}
.wc-block-components-totals-item__label {
  font-size: .85rem !important;
  font-weight: 600 !important;
  color: var(--jd-navy) !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
}
.wc-block-components-totals-item__value {
  font-family: var(--fh) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--jd-navy) !important;
}

/* Estimated total row */
.wc-block-components-totals-footer-item {
  background: var(--jd-bg) !important;
  padding: 14px 20px !important;
  margin: 0 -20px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--fh) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.4rem !important;
  color: var(--jd-orange) !important;
}

/* Coupon section */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
  font-size: .82rem !important;
  color: var(--jd-grey) !important;
  padding: 10px 0 !important;
}

/* ── Proceed to Checkout button ────────────────────────── */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
  all: unset !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: var(--jd-orange) !important;
  color: #fff !important;
  font-family: var(--fh) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  padding: 16px 24px !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: all .18s !important;
  margin: 16px 20px 20px !important;
  width: calc(100% - 40px) !important;
  text-decoration: none !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wc-block-components-button:hover {
  background: var(--jd-od) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 16px rgba(255,107,26,.38) !important;
}
.wc-block-components-button__text {
  display: block !important;
}

/* ── Empty cart state ──────────────────────────────────── */
.wc-block-cart__empty-cart__title {
  font-family: var(--fh) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--jd-navy) !important;
  text-transform: uppercase !important;
}


/* Booking products are single booking records, so hide WooCommerce Blocks quantity controls. */
.wc-block-cart-items__row:has(.wc-block-components-product-details__collection-date) .wc-block-components-quantity-selector,
.wc-block-components-order-summary-item:has(.wc-block-components-product-details__collection-date) .wc-block-components-quantity-selector {
  display: none !important;
}
.wc-block-cart-items__row:has(.wc-block-components-product-details__collection-date) .wc-block-cart-item__quantity::before {
  content: "1 booking";
  display: inline-block;
  margin-top: 10px;
  font-weight: 600;
  color: var(--jd-navy, #0D1B2E);
  font-size: 13px;
}
.jdbk-booking-quantity {
  display: inline-block;
  font-weight: 600;
  color: var(--jd-navy, #0D1B2E);
}


/* Booking collection-photo links */
.variation-CollectionPhotos a {
  font-size:13px !important;
}
