/* ===== Haluzot Checkout Booster (v1.0.3) ===== */
:root { --hcb-green: var(--haluzot-green, #2f8f5b); }

.hcb-progress, .hcb-flow-note { direction: rtl; font-family: inherit; }

/* Progress */
.hcb-progress { padding: 10px 0; }
.hcb-progress__inner {
  display: flex; align-items: center; gap: 10px;
  max-width: 1100px; margin: 0 auto; padding: 0 14px;
}
.hcb-progress__step { display: flex; align-items: center; gap: 8px; opacity: .7; }
.hcb-progress__step.is-active { opacity: 1; font-weight: 800; }
.hcb-progress__dot { width: 10px; height: 10px; border-radius: 999px; background: currentColor; opacity: .55; }
.hcb-progress__step.is-active .hcb-progress__dot { opacity: 1; }
.hcb-progress__line { flex: 1; height: 1px; background: rgba(0,0,0,.14); }

/* Cart note */
.hcb-flow-note{
  max-width: 1100px; margin: 10px auto 12px; padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(6px);
}
.hcb-flow-note__title { font-weight: 900; margin-bottom: 6px; }
.hcb-flow-note__text { line-height: 1.5; opacity: .92; }

/* WhatsApp */
.hcb-wa{
  position: fixed; bottom: 18px; left: 18px; z-index: 999999;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 14px; border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.92);
  text-decoration: none; color: inherit;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
}
.hcb-wa__icon { font-size: 18px; line-height: 1; }
.hcb-wa__label { font-weight: 800; }

/* ===== Cart improvements ===== */

/* Remove any shipping method line text from CART (leave only our note) */
.woocommerce-cart .cart_totals tr.shipping,
.woocommerce-cart .woocommerce-shipping-totals,
.woocommerce-cart .wc-block-components-totals-shipping,
.woocommerce-cart .wc-block-components-totals__shipping {
  display: none !important;
}

/* Bigger cart thumbnails + typography */
.woocommerce-cart .product-thumbnail img { width: 120px !important; height: auto !important; }
.wc-block-cart-item__image img { width: 120px !important; height: auto !important; }

.woocommerce-cart .product-name a,
.wc-block-cart-item__name {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: rgba(0,0,0,.88) !important;
}
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.wc-block-components-product-price,
.wc-block-components-formatted-money-amount {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: rgba(0,0,0,.80) !important;
}

/* Strong "Proceed to checkout" button */
.woocommerce-cart .checkout-button,
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
  background: var(--hcb-green) !important;
  border-color: var(--hcb-green) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  padding: 16px 22px !important;
  border-radius: 16px !important;
  width: 100% !important;
  text-align: center !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
}

/* ===== Checkout improvements ===== */

/* Hide the default privacy policy english block */
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .wc-privacy-policy-text {
  display: none !important;
}

/* Green primary action buttons (checkout) */
.wc-block-checkout__actions .wc-block-components-button,
.wc-block-checkout__place-order .wc-block-components-button,
.woocommerce-checkout #place_order {
  background: var(--hcb-green) !important;
  border-color: var(--hcb-green) !important;
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  padding: 18px 26px !important;
  border-radius: 16px !important;
  width: 100% !important;
  text-align: center !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Add spacing around button text area for clarity */
.woocommerce-checkout #place_order { line-height: 1.2 !important; }

/* Compact checkout width */
.wc-block-checkout,
.woocommerce-checkout form.checkout {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.wc-block-checkout { padding-left: 14px !important; padding-right: 14px !important; }

/* Classic checkout: 2 columns on desktop to reduce scroll */
@media (min-width: 900px) {
  .woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    align-items: start;
  }
  .woocommerce-checkout form.checkout .form-row-wide { grid-column: 1 / -1; }
  .woocommerce-checkout form.checkout .form-row-first,
  .woocommerce-checkout form.checkout .form-row-last { width: auto !important; float: none !important; }
  .woocommerce-checkout form.checkout .form-row { margin-bottom: 10px !important; }
}

/* Shipping choice: make it clickable + remove forced opacity/disabled feel */
.woocommerce-checkout ul#shipping_method,
.woocommerce-checkout ul#shipping_method li,
.woocommerce-checkout ul#shipping_method li label,
.woocommerce-checkout ul#shipping_method li input,
.woocommerce-checkout .woocommerce-shipping-methods,
.woocommerce-checkout .woocommerce-shipping-methods * {
  cursor: pointer !important;
}

/* When our JS adds hcb-shipping-focus, force visibility & pointer events */
body.hcb-shipping-focus .woocommerce-checkout tr.shipping,
body.hcb-shipping-focus .woocommerce-checkout .woocommerce-shipping-totals,
body.hcb-shipping-focus .woocommerce-checkout #shipping_method,
body.hcb-shipping-focus .woocommerce-checkout .woocommerce-shipping-methods,
body.hcb-shipping-focus .wc-block-checkout__shipping-method,
body.hcb-shipping-focus .wc-block-components-radio-control__option {
  opacity: 1 !important;
  pointer-events: auto !important;
  filter: none !important;
}
body.hcb-shipping-focus .woocommerce-checkout #shipping_method input,
body.hcb-shipping-focus .woocommerce-checkout #shipping_method label,
body.hcb-shipping-focus .wc-block-components-radio-control__option input,
body.hcb-shipping-focus .wc-block-components-radio-control__option label {
  pointer-events: auto !important;
}

/* Tighten blocks spacing */
.wc-block-checkout__main,
.wc-block-checkout__sidebar { padding-top: 8px !important; }
.wc-block-components-checkout-step__heading { margin-bottom: 6px !important; }
.wc-block-components-text-input,
.wc-block-components-select-control,
.wc-block-components-textarea { margin-bottom: 10px !important; }

/* Mobile */
@media (max-width: 560px) {
  .hcb-progress__label { font-size: 13px; }
  .hcb-wa { left: 12px; bottom: 12px; padding: 10px 12px; }
  .woocommerce-cart .product-thumbnail img,
  .wc-block-cart-item__image img { width: 96px !important; }
}


/* ===== v1.0.4 tweaks ===== */

/* CART: bigger product title */
.woocommerce-cart .product-name a,
.woocommerce-cart td.product-name a,
.wc-block-cart-item__name {
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

/* CART: table framed with borders + header text black */
.woocommerce-cart table.shop_table,
.woocommerce-cart .woocommerce-cart-form table,
.wc-block-cart .wc-block-cart-items,
.wc-block-cart__items {
  border: 1px solid rgba(0,0,0,.14) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.85) !important;
}
.woocommerce-cart table.shop_table thead th,
.woocommerce-cart .shop_table thead th,
.wc-block-cart .wc-block-cart-items__header,
.wc-block-cart .wc-block-cart-items__header span,
.wc-block-cart .wc-block-cart-items__header * {
  color: rgba(0,0,0,.86) !important;
}

/* Some themes paint table headers white via background/opacity; ensure readable */
.woocommerce-cart table.shop_table thead th {
  background: rgba(0,0,0,.04) !important;
}

/* Checkout: reduce "bold" feel on labels/inputs */
.woocommerce-checkout label,
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .form-row label,
.wc-block-checkout label,
.wc-block-components-text-input label,
.wc-block-components-select-control label {
  font-weight: 600 !important;
  color: rgba(0,0,0,.86) !important;
}
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-select-control select,
.wc-block-components-textarea textarea {
  font-weight: 500 !important;
}

/* Checkout: force two-column layout on checkout-new even if wrappers differ */
@media (min-width: 900px) {
  .woocommerce-checkout form .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout form .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout form .woocommerce-address-fields__field-wrapper,
  .woocommerce-checkout form .form-row {
    box-sizing: border-box;
  }

  /* If standard wrappers exist, grid them */
  .woocommerce-checkout form .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout form .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout form .woocommerce-address-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 14px !important;
  }

  /* If not, grid the top-level .woocommerce-billing-fields / .woocommerce-shipping-fields content */
  .woocommerce-checkout form .woocommerce-billing-fields,
  .woocommerce-checkout form .woocommerce-shipping-fields,
  .woocommerce-checkout form .woocommerce-additional-fields {
    display: block;
  }
  .woocommerce-checkout form .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .woocommerce-checkout form .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper .form-row-wide,
  .woocommerce-checkout form .woocommerce-address-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1 !important;
  }

  /* Fallback: if a builder removed wrappers, apply grid to direct children form rows in billing/shipping containers */
  .woocommerce-checkout form .woocommerce-billing-fields > .form-row,
  .woocommerce-checkout form .woocommerce-shipping-fields > .form-row,
  .woocommerce-checkout form .woocommerce-billing-fields .form-row,
  .woocommerce-checkout form .woocommerce-shipping-fields .form-row {
    width: auto !important;
    float: none !important;
    margin-bottom: 10px !important;
  }

  /* Reduce section gaps */
  .woocommerce-checkout form .woocommerce-billing-fields,
  .woocommerce-checkout form .woocommerce-shipping-fields,
  .woocommerce-checkout form .woocommerce-additional-fields {
    margin-bottom: 12px !important;
  }
}

/* Checkout: reduce extra vertical whitespace in order review */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order {
  margin-top: 10px !important;
}


/* ===== v1.0.5: solid white cart/checkout panels (no dotted background bleed) ===== */

/* CART + CHECKOUT: create clean white "cards" so background patterns never interfere */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout{
  background: transparent !important;
  background-image: none !important;
}

/* Cart main + sidebar as solid panels */
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar{
  background: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 18px !important;
  padding: 14px !important;
}

/* Cart items table itself: solid background */
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__row{
  background: #fff !important;
  background-image: none !important;
}

/* Remove any pseudo-element patterns inside cart containers */
body.woocommerce-cart .wc-block-cart__main::before,
body.woocommerce-cart .wc-block-cart__sidebar::before,
body.woocommerce-cart .wp-block-woocommerce-cart::before,
body.woocommerce-cart .wc-block-cart::before{
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Checkout: make main + sidebar look like clean cards too */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar{
  background: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 18px !important;
  padding: 14px !important;
}
body.woocommerce-checkout .wc-block-checkout__main::before,
body.woocommerce-checkout .wc-block-checkout__sidebar::before{
  content: none !important;
  display: none !important;
  background: none !important;
}


/* ===== v1.0.6: Cart totals should NOT include shipping (Woo Blocks "estimated total") ===== */

/* CART (Blocks): hide shipping line + estimated total footer (it includes shipping) */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
body.woocommerce-cart .wc-block-components-totals-shipping,
body.woocommerce-cart .wc-block-components-totals__shipping,
body.woocommerce-cart .wc-block-components-totals-item--shipping {
  display: none !important;
}

/* "Estimated total" row (footer item) */
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  display: none !important;
}

/* If theme duplicates totals footer label/value wrappers */
body.woocommerce-cart .wc-block-components-totals-footer-item-tax-label,
body.woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
  display: none !important;
}


/* ===== v1.0.7: shipping method selection (show clear V and highlight) ===== */

/* Classic shipping list: highlight selected + show check */
.woocommerce-checkout #shipping_method li {
  position: relative;
  padding: 10px 12px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  background: rgba(255,255,255,.85) !important;
}
.woocommerce-checkout #shipping_method li.hcb-selected {
  border-color: rgba(47,143,91,.55) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.08) !important;
}
.woocommerce-checkout #shipping_method li.hcb-selected::after {
  content: "✓";
  position: absolute;
  top: 10px;
  left: 12px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--hcb-green);
  color: #fff;
  font-weight: 900;
  line-height: 1;
}

/* Blocks shipping options */
.wc-block-components-radio-control__option {
  position: relative;
  padding: 12px 12px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  background: rgba(255,255,255,.85) !important;
}
.wc-block-components-radio-control__option.hcb-selected {
  border-color: rgba(47,143,91,.55) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.08) !important;
}
.wc-block-components-radio-control__option.hcb-selected::after {
  content: "✓";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--hcb-green);
  color: #fff;
  font-weight: 900;
  line-height: 1;
}

/* Make label area clickable and leave room for the check */
.wc-block-components-radio-control__option label,
.woocommerce-checkout #shipping_method li label {
  display: block !important;
  padding-left: 42px !important;
}


/* ===== v1.0.8: cart total without shipping + coupon button visibility + better shipping toggling ===== */

/* CART: keep subtotal, hide shipping + estimated total (we add our own "before shipping") */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
body.woocommerce-cart .wc-block-components-totals-shipping,
body.woocommerce-cart .wc-block-components-totals__shipping,
body.woocommerce-cart .wc-block-components-totals-item--shipping {
  display: none !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  display: none !important;
}

/* Our custom row styling */
body.woocommerce-cart .hcb-total-before-shipping{
  border-top: 1px dashed rgba(0,0,0,.14);
  padding-top: 10px;
  margin-top: 8px;
}
body.woocommerce-cart .hcb-total-before-shipping .wc-block-components-totals-item__label{
  font-weight: 900 !important;
}
body.woocommerce-cart .hcb-total-before-shipping .wc-block-components-totals-item__value{
  font-weight: 900 !important;
}

/* Coupon button: make visible and on-brand */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-button,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-coupon button {
  background: var(--hcb-green) !important;
  border-color: var(--hcb-green) !important;
  color: #fff !important;
  font-weight: 900 !important;
  border-radius: 14px !important;
}

/* Blocks coupon apply inside input row */
body.woocommerce-cart .wc-block-components-coupon-form button,
body.woocommerce-cart .wc-block-components-coupon-form .wc-block-components-button {
  background: var(--hcb-green) !important;
  border-color: var(--hcb-green) !important;
  color: #fff !important;
}

/* Shipping option cards: ensure they stay clickable even with our checkmark */
.wc-block-components-radio-control__option,
.woocommerce-checkout #shipping_method li{
  cursor: pointer !important;
}
.wc-block-components-radio-control__option::after,
.woocommerce-checkout #shipping_method li::after{
  pointer-events: none !important;
}

/* v1.0.9: make sure custom total row is visible and prominent */
body.woocommerce-cart .hcb-total-before-shipping{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0 2px;
}
body.woocommerce-cart .hcb-total-before-shipping .wc-block-components-totals-item__label{
  max-width: 70%;
}

/* ===== v1.0.11: restore cart total row + resilient shipping selection ===== */

/* CART: hide shipping line and estimated total only (keep subtotal and our custom row) */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
body.woocommerce-cart .wc-block-components-totals-shipping,
body.woocommerce-cart .wc-block-components-totals__shipping,
body.woocommerce-cart .wc-block-components-totals-item--shipping{
  display:none !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-item.wc-block-components-totals-footer-item{
  display:none !important;
}

/* Custom total row */
body.woocommerce-cart .hcb-total-before-shipping{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px dashed rgba(0,0,0,.14);
  padding-top:10px;
  margin-top:8px;
}
body.woocommerce-cart .hcb-total-before-shipping .wc-block-components-totals-item__label,
body.woocommerce-cart .hcb-total-before-shipping .wc-block-components-totals-item__value{
  font-weight:900 !important;
}

/* Ensure selected checkmark doesn't block clicks */
.wc-block-components-radio-control__option::after,
.woocommerce-checkout #shipping_method li::after{
  pointer-events:none !important;
}

/* ===== v1.0.13: loader overlay on transitions ===== */
.hcb-loader{
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(2px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999999;
}
body.hcb-loading .hcb-loader{ display: flex; }
.hcb-loader__box{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 18px;
  padding: 18px 20px;
  min-width: 240px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  text-align: center;
}
.hcb-loader__spin{
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,.12);
  border-top-color: var(--hcb-green);
  margin: 0 auto 10px;
  animation: hcbspin .85s linear infinite;
}
.hcb-loader__text{
  font-weight: 900;
}
@keyframes hcbspin { to { transform: rotate(360deg);} }

/* ===== v1.0.15: stronger selected state for shipping options ===== */
.wc-block-components-radio-control__option.hcb-selected{
  outline: 2px solid var(--hcb-green);
  outline-offset: 2px;
}
.wc-block-components-radio-control__option.hcb-selected .hcb-check{
  opacity: 1;
  transform: scale(1);
}


/* ===== v1.0.16: fix checkmark positioning + broader shipping option selectors ===== */
.wc-block-components-radio-control__option,
.wc-block-components-shipping-rates-control__option,
.wc-block-components-shipping-rates-control__shipping-rate{
  position: relative;
  padding-left: 44px !important; /* room for ✓ at left */
}

.wc-block-components-radio-control__option.hcb-selected::after,
.wc-block-components-shipping-rates-control__option.hcb-selected::after,
.wc-block-components-shipping-rates-control__shipping-rate.hcb-selected::after{
  content: "✓";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--hcb-green);
  color: #fff;
  font-weight: 900;
  line-height: 1;
}

.woocommerce-checkout #shipping_method li{
  position: relative;
  padding-left: 44px !important;
}
.woocommerce-checkout #shipping_method li.hcb-selected::after{
  content: "✓";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--hcb-green);
  color: #fff;
  font-weight: 900;
  line-height: 1;
}

/* Loader: ensure it always sits above cookie banners and blocks overlays */
.hcb-loader{ z-index: 2147483647 !important; }
body.hcb-loading{ cursor: progress; }

/* ===== v1.0.17: hide required asterisks + fix thankyou alignment ===== */

/* Remove "star" required markers (Blocks + Classic) */
.wc-block-components-text-input__required,
.wc-block-components-checkbox__label .required,
.wc-block-components-checkout-step__title .required,
.woocommerce form .form-row .required,
.woocommerce form .form-row label .required,
.woocommerce form .form-row label .woocommerce-asterisk{
  display:none !important;
}

/* Some themes add pseudo '*' */
.woocommerce form .form-row label abbr.required{
  display:none !important;
}

/* Thank you / order received page: avoid centered layout */
.woocommerce-order-received .woocommerce,
.woocommerce-order-received .entry-content,
.woocommerce-order-received .woocommerce-order{
  text-align: right !important;
}
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-order-overview li,
.woocommerce-order-received .woocommerce-thankyou-order-received{
  text-align: right !important;
}
.woocommerce-order-received .woocommerce-order-overview{
  justify-content: flex-start !important;
}

/* ===== v1.0.18: restore cart subtotal row + fix checkout alignment + remove required stars ===== */

/* CART: keep subtotal and show our custom total row */
body.woocommerce-cart .hcb-total-before-shipping{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px dashed rgba(0,0,0,.14);
  padding-top:10px;
  margin-top:8px;
}

/* Make sure subtotal isn't hidden by theme */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-subtotal-block{
  display:block !important;
}

/* Hide required stars (Blocks adds pseudo after labels sometimes) */
.wc-block-components-text-input label::after,
.wc-block-components-text-input__label::after,
.wc-block-components-text-input__label-text::after,
.wc-block-components-address-form__field label::after,
.wc-block-components-checkout-step__content label::after{
  content:none !important;
}
.wc-block-components-validation-error::before,
.wc-block-components-validation-error::after{
  content:none !important;
}

/* Checkout: order summary above payment should be right-aligned (not centered) */
.woocommerce-checkout .wc-block-checkout__order-summary,
.woocommerce-checkout .wc-block-checkout__order-summary *{
  text-align: right !important;
}
.woocommerce-checkout .wc-block-checkout__order-summary{
  margin-inline: 0 !important;
}

/* ===== v1.0.19: shipping ✓ visible, remove decorative stars, center order-pay summary, restore required markers ===== */

/* Make shipping options positionable and show ✓ for selected option */
.woocommerce-checkout .wc-block-components-shipping-rates-control__option,
.woocommerce-checkout .wc-block-components-shipping-rates-control__shipping-rate,
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-checkout [role="radio"]{
  position: relative !important;
  padding-left: 44px !important; /* space for ✓ */
}

.woocommerce-checkout .hcb-selected::after{
  content: "✓";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  border-radius: 999px;
  background: var(--hcb-green);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
}

/* Remove decorative star icons (theme bullets/pseudo) inside checkout + order-pay UI */
.woocommerce-checkout .wc-block-components-shipping-rates-control__option::before,
.woocommerce-checkout .wc-block-components-shipping-rates-control__shipping-rate::before,
.woocommerce-checkout .wc-block-components-radio-control__option::before,
.woocommerce-checkout .wc-block-components-shipping-rates-control__option::marker,
.woocommerce-checkout .wc-block-components-shipping-rates-control__shipping-rate::marker,
.woocommerce-checkout .wc-block-components-radio-control__option::marker,
.woocommerce-checkout .wc-block-checkout [role="radio"]::before,
.woocommerce-checkout .wc-block-checkout [role="radio"]::marker,
.woocommerce-order-pay .woocommerce::before,
.woocommerce-order-pay .woocommerce *::before{
  content: none !important;
  background: none !important;
}

/* Specifically kill star bullets in lists that may render as ★ */
.woocommerce-checkout ul, .woocommerce-order-pay ul{
  list-style: none !important;
}
.woocommerce-checkout ul li::before,
.woocommerce-order-pay ul li::before{
  content: none !important;
}

/* Order-pay page: center the order summary text block above payment form */
.woocommerce-order-pay .woocommerce-order{
  text-align: center !important;
}
.woocommerce-order-pay .woocommerce-order-overview,
.woocommerce-order-pay .woocommerce-order-overview li{
  text-align: center !important;
  justify-content: center !important;
}

/* Restore required markers that were hidden in earlier versions */
.wc-block-components-text-input__required,
.wc-block-components-checkbox__label .required,
.wc-block-components-checkout-step__title .required,
.woocommerce form .form-row .required,
.woocommerce form .form-row label .required,
.woocommerce form .form-row label .woocommerce-asterisk,
.woocommerce form .form-row label abbr.required{
  display: inline !important;
}

.wc-block-components-text-input label::after,
.wc-block-components-text-input__label::after,
.wc-block-components-text-input__label-text::after,
.wc-block-components-address-form__field label::after,
.wc-block-components-checkout-step__content label::after{
  /* Let Woo show its own required state (don't force-hide) */
  content: unset !important;
}

/* ===== v1.0.20: stronger centering for order-pay summary ===== */
.woocommerce-order-pay .woocommerce,
.woocommerce-order-pay .woocommerce *{
  text-align: center !important;
}
.woocommerce-order-pay .woocommerce-order-overview{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:12px 18px !important;
  margin: 0 auto 18px auto !important;
  padding: 0 !important;
}
.woocommerce-order-pay .woocommerce-order-overview li{
  float:none !important;
  display:inline-flex !important;
  justify-content:center !important;
  text-align:center !important;
  margin:0 !important;
}

/* ===== v1.0.21: cart subtotal visible + stronger selected shipping mark ===== */

/* Cart: ensure subtotal/values visible */
body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value{
  color:#111 !important;
  opacity:1 !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-cart__totals-title{
  color:#111 !important;
}

/* Shipping selected (in case theme overrides after pseudo) */
.woocommerce-checkout .hcb-selected{ outline: 2px solid rgba(140,170,67,.25) !important; }

/* ===== v1.0.21: restore cart subtotal visibility + stronger ✓ on shipping ===== */

/* CART: always show subtotal row */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-subtotal-block,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-subtotal-block *{
  display:block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* CART: ensure totals rows are readable */
body.woocommerce-cart .wc-block-components-totals-item{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}

/* SHIPPING: make ✓ always visible even if theme overrides pseudo */
.woocommerce-checkout .hcb-selected::after{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index: 9 !important;
}

/* ===== v1.0.24: ensure shipping options clickable (Blocks) ===== */
.woocommerce-checkout .wc-block-components-shipping-rates-control__option,
.woocommerce-checkout .wc-block-components-shipping-rates-control__shipping-rate,
.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-shipping-rates-control [role="radio"]{
  pointer-events: auto !important;
  cursor: pointer !important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control__option * ,
.woocommerce-checkout .wc-block-components-shipping-rates-control__shipping-rate * ,
.woocommerce-checkout .wc-block-components-radio-control__option *{
  pointer-events: auto !important;
}

/* ===== v1.0.25: Shipping status badge (shows if price updated) ===== */
.woocommerce-checkout .hcb-shipping-status{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:10px 12px;
  border:1px dashed rgba(0,0,0,.18);
  border-radius:12px;
  margin: 0 0 12px 0;
  font-weight:700;
  background: rgba(255,255,255,.55);
}
.woocommerce-checkout .hcb-shipping-status__label{
  opacity:.8;
}
.woocommerce-checkout .hcb-shipping-status__value{
  font-weight:800;
}
.woocommerce-checkout .hcb-shipping-status.is-pending .hcb-shipping-status__hint{
  opacity:.85;
}

/* ===== v1.0.26: Classic WooCommerce shipping ✓ ===== */
.woocommerce-checkout .woocommerce-shipping-methods li.hcb-selected,
.woocommerce-checkout .woocommerce-shipping-methods label.hcb-selected{
  position: relative !important;
  padding-left: 44px !important;
}
.woocommerce-checkout .woocommerce-shipping-methods li.hcb-selected::after,
.woocommerce-checkout .woocommerce-shipping-methods label.hcb-selected::after{
  content:"✓";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  line-height:22px;
  text-align:center;
  border-radius:999px;
  background: var(--hcb-green);
  color:#fff;
  font-weight:800;
  font-size:14px;
  z-index: 9;
}

/* ===== v1.0.27: Classic shipping selected marker (more robust wrappers) ===== */
.woocommerce-checkout .hcb-ship-classic-selected{
  position: relative !important;
}
.woocommerce-checkout .hcb-ship-classic-selected{
  padding-left: 44px !important;
}
.woocommerce-checkout .hcb-ship-classic-selected::after{
  content:"✓";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  line-height:22px;
  text-align:center;
  border-radius:999px;
  background: var(--hcb-green);
  color:#fff;
  font-weight:800;
  font-size:14px;
  z-index: 999;
  opacity:1;
  visibility:visible;
  pointer-events:none;
}
