/* v1.13.0 — Responsive QA hardening: 320px through large desktop. */
html, body { max-width: 100%; }
img, svg, video, iframe { max-width: 100%; }
.hb-main, .hb-container, .woocommerce, .woocommerce-page,
.woocommerce form, .woocommerce table, .woocommerce div.product,
.hb-header-main, .hb-footer-main { min-width: 0; }
.woocommerce input, .woocommerce select, .woocommerce textarea,
.hb-search-form input, .hb-mobile-header-search input { max-width: 100%; min-width: 0; }
.woocommerce-product-details__short-description,
.hb-product-description__content, .hb-source-info__content,
.hb-additional-info-content, .hb-manufacturer-info-content { overflow-wrap: anywhere; word-break: normal; }

/* Compact phones: 320–374px */
@media (max-width: 374px) {
  .hb-container { width: calc(100% - 24px) !important; }
  .hb-announcement .hb-container { width: 100% !important; padding-inline: 10px !important; font-size: 10px !important; }
  .hb-header .hb-container.hb-header-main { padding: 10px 12px !important; gap: 7px !important; }
  .hb-header-main .hb-logo .custom-logo { max-width: 82px !important; max-height: 52px !important; }
  .hb-mobile-header-search { min-width: 0 !important; }
  .hb-mobile-header-search input { font-size: 13px !important; padding-right: 8px !important; }
  .hb-header-actions { flex: 0 0 auto; }
  .hb-header-actions .hb-icon-btn { width: 32px !important; height: 32px !important; }
  .woocommerce ul.products, .hb-products { gap: 22px 10px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; }
  body.single-product .woocommerce div.product .product_title { font-size: 27px !important; }
  body.single-product .hb-delivery-estimate { padding: 10px !important; }
  .hb-footer-main { padding-inline: 0 !important; }
}

/* Phones */
@media (max-width: 760px) {
  body { font-size: 15px; }
  .hb-main { overflow-x: clip; }
  .hb-section-head { gap: 12px !important; }
  .hb-section-head h2 { font-size: clamp(24px, 7vw, 30px) !important; }
  .hb-section-head p { font-size: 14px; }
  .hb-view-link { white-space: nowrap; }
  .hb-mobile-drawer { width: min(88vw, 360px) !important; }
  .woocommerce ul.products li.product img { max-width: 100%; height: auto; }
  body.single-product .woocommerce-product-gallery,
  body.single-product .summary,
  body.single-product .hb-product-accordion,
  body.single-product .hb-source-manufacturer { max-width: 100% !important; }
  .woocommerce-cart-form, .cart_totals, .hb-checkout-shell,
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { width: 100% !important; max-width: 100% !important; }
  .woocommerce table.shop_table { display: table; width: 100% !important; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100% !important; float: none !important; }
  .hb-footer-main { grid-template-columns: 1fr !important; }
}

/* Tablets / small laptops */
@media (min-width: 761px) and (max-width: 1040px) {
  .hb-container { width: min(calc(100% - 36px), var(--hb-container)) !important; }
  .hb-header .hb-container.hb-header-main { padding-inline: 18px !important; }
  .hb-mobile-header-search { min-width: 0 !important; }
  .woocommerce ul.products, .hb-products { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  body.single-product .woocommerce div.product { column-gap: 28px !important; }
  .woocommerce-checkout form.checkout { grid-template-columns: minmax(0,1fr) !important; }
  .woocommerce-checkout #order_review { position: static !important; }
}

/* Standard laptops */
@media (min-width: 1041px) and (max-width: 1366px) {
  .hb-container { width: min(calc(100% - 48px), var(--hb-container)) !important; }
  .hb-header-main { column-gap: 18px !important; }
  .hb-primary-menu { gap: 24px !important; }
  .hb-header .hb-mobile-header-search { max-width: 420px; }
  body.single-product .woocommerce div.product { column-gap: 42px !important; }
}

/* Large displays: keep readable line lengths instead of stretching UI. */
@media (min-width: 1600px) {
  :root { --hb-container: 1320px; }
  .hb-policy-page, .hb-about-page { max-width: 980px; margin-inline: auto; }
  body.single-product .hb-source-description-full { max-width: 1320px; margin-inline: auto; }
}


/* v1.17.0 — keyboard and motion accessibility hardening */
.hb-skip-link{position:fixed;left:12px;top:12px;z-index:99999;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:#07585c;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none}.hb-skip-link:focus{transform:translateY(0)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(242,122,26,.55);outline-offset:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v1.19.8 — Final Additional Information width/overflow fix.
 * responsive-qa.css loads after commerce-cleanup.css, so keep this final override here.
 */
body.single-product details.hb-product-accordion.hb-source-additional,
body.single-product details.hb-source-additional,
body.single-product .hb-source-additional {
  display: block !important;
  width: 80% !important;
  max-width: 80% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  clear: both !important;
}
body.single-product .hb-source-additional > .hb-product-accordion__summary,
body.single-product .hb-source-additional > .hb-product-accordion__content,
body.single-product .hb-source-additional .hb-source-info__content,
body.single-product .hb-source-additional .hwi-additional-info,
body.single-product .hb-source-additional .hwi-additional-info__block,
body.single-product .hb-source-additional .hwi-additional-info__text {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}


/* v1.20.0 — Shipping info / delivery timeline reduced a further 10 percentage points on product pages. */
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
  width: 75% !important;
  max-width: 75% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}


/* v1.20.1 — Delivery timeline boundary-safe width fix.
 * The previous 75% box still crossed the visible summary divider on some layouts.
 * Reduce it a further 20% from the current visual size and harden wrapping/overflow.
 */
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
  display: flex !important;
  width: 60% !important;
  max-width: 60% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  contain: layout !important;
}
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__copy,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__title,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__range,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__note {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}


/* v1.20.2 — Delivery card: constrain to the visible summary column, not a percentage of an oversized box.
 * This intentionally uses a right-side safety inset so the rounded delivery card ends before the
 * product-column divider even when legacy WooCommerce/theme sizing makes the summary box wider.
 */
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
  display: flex !important;
  width: calc(100% - 72px) !important;
  max-width: calc(100% - 72px) !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 72px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  clear: both !important;
  align-self: start !important;
}
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__copy {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__title,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__range,
body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__note {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media (min-width: 761px) and (max-width: 1040px) {
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
    margin-right: 48px !important;
  }
}
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}


/* v1.20.3 — delivery width is now enforced inline on the actual card markup.
 * Keep only layout safety here so cached/legacy styles cannot widen it. */
body.single-product .hb-delivery-estimate {
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.single-product .hb-delivery-estimate__copy,
body.single-product .hb-delivery-estimate__title,
body.single-product .hb-delivery-estimate__range,
body.single-product .hb-delivery-estimate__note {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}


/* v1.20.4 — Keep the post-cart short description inside the visible summary-column border. */
@media (min-width: 1041px) {
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    display: block !important;
    width: 80% !important;
    max-width: 80% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }
}
@media (min-width: 761px) and (max-width: 1040px) {
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    display: block !important;
    width: 90% !important;
    max-width: 90% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }
}
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    display: block !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    min-width: 0 !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }
}
body.single-product .woocommerce div.product div.summary .hb-post-cart-description,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description *,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description p,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h1,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h2,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h3,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h4,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ul,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ol {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
body.single-product .woocommerce div.product div.summary .hb-post-cart-description img,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description video,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description iframe,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description table {
  max-width: 100% !important;
  height: auto !important;
}


/* v1.20.5 — Manufacturer Information accordion matched to the compact reference design. */
@media (min-width: 761px) {
  body.single-product .hb-source-manufacturer {
    width: 100% !important;
    margin-top: 24px !important;
    padding: 0 !important;
  }

  body.single-product .hb-source-manufacturer__inner {
    width: min(100%, 860px) !important;
    max-width: 860px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #e2e2dd !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__summary {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #222a2c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .26em !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__icon {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
    margin-left: 16px !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__icon::before {
    width: 6px !important;
    height: 6px !important;
    border-right-width: 1.5px !important;
    border-bottom-width: 1.5px !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__content {
    padding: 16px 14px 18px !important;
    border-top: 1px solid #f1f1ec !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 760px) {
  body.single-product .hb-source-manufacturer {
    margin-top: 18px !important;
    padding: 0 !important;
  }

  body.single-product .hb-source-manufacturer__inner {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion {
    border: 1px solid #e2e2dd !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__summary {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__icon {
    width: 11px !important;
    height: 11px !important;
    flex: 0 0 11px !important;
  }

  body.single-product .hb-source-manufacturer .hb-manufacturer-accordion .hb-product-accordion__icon::before {
    width: 5px !important;
    height: 5px !important;
    border-right-width: 1.4px !important;
    border-bottom-width: 1.4px !important;
  }
}


/* v1.20.6 — Center Manufacturer Information accordion on the product page. */
@media (min-width: 761px) {
  body.single-product .hb-source-manufacturer__inner {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v1.20.7 — Show a pack/price option card on every single-product page. */
body.single-product .hb-single-option-group {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.single-product .hb-single-option-card {
  cursor: default !important;
}
body.single-product .hb-single-option-card .price,
body.single-product .hb-single-option-card .amount,
body.single-product .hb-single-option-card bdi {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}


/* v1.20.8 — purchase option/subscription block before Add to Cart on all product pages. */
body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  margin: 18px 0 8px !important;
  border: 1px solid #dce5e1 !important;
  background: #f5faf8 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.single-product .hb-purchase-plan__row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 14px 16px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
body.single-product .hb-purchase-plan__row + .hb-purchase-plan__row {
  border-top: 1px solid #dce5e1 !important;
}
body.single-product .hb-purchase-plan__row.is-active {
  background: rgba(255,255,255,.34) !important;
}
body.single-product .hb-purchase-plan__row input[type="radio"] {
  margin: 0 !important;
  accent-color: #0a6f73 !important;
}
body.single-product .hb-purchase-plan__label {
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;
  color: #2c3537 !important;
  flex: 1 1 auto !important;
}
body.single-product .hb-purchase-plan__select-wrap {
  flex: 0 0 auto !important;
}
body.single-product .hb-purchase-plan__select {
  min-width: 116px !important;
  height: 40px !important;
  border: 1px solid #d8dfdc !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #4d5b5f !important;
  font-size: 14px !important;
  padding: 0 34px 0 12px !important;
  box-sizing: border-box !important;
}
body.single-product .hb-purchase-plan__select:disabled {
  opacity: .68 !important;
  cursor: not-allowed !important;
}
body.single-product .hb-purchase-plan__note {
  padding: 0 16px 14px 44px !important;
  box-sizing: border-box !important;
}
body.single-product .hb-purchase-plan__note p {
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: #5c6668 !important;
  font-style: italic !important;
}
body.single-product .hb-purchase-plan__details {
  appearance: none !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  color: #506062 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
body.single-product .hb-purchase-plan__details-panel {
  padding: 0 16px 14px 44px !important;
  color: #5c6668 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
body.single-product .hb-purchase-plan__details-panel[hidden] { display: none !important; }

@media (max-width: 760px) {
  body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
  body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
    width: 100% !important;
    margin: 14px 0 8px !important;
  }
  body.single-product .hb-purchase-plan__row {
    flex-wrap: wrap !important;
    padding: 12px 12px !important;
    gap: 8px !important;
  }
  body.single-product .hb-purchase-plan__label {
    font-size: 11px !important;
    letter-spacing: .22em !important;
  }
  body.single-product .hb-purchase-plan__select {
    min-width: 108px !important;
    height: 38px !important;
    font-size: 13px !important;
  }
  body.single-product .hb-purchase-plan__note,
  body.single-product .hb-purchase-plan__details-panel {
    padding-left: 34px !important;
    padding-right: 12px !important;
  }
}


/* v1.20.9 — highlight purchase option section with a light reference-style background. */
body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
  background: #eef5f1 !important;
  border-color: #d6e4dd !important;
}
body.single-product .hb-purchase-plan__row {
  background: rgba(255,255,255,0.18) !important;
}
body.single-product .hb-purchase-plan__row.is-active {
  background: #e5efea !important;
}
body.single-product .hb-purchase-plan__row + .hb-purchase-plan__row {
  border-top-color: #d6e4dd !important;
}
body.single-product .hb-purchase-plan__note,
body.single-product .hb-purchase-plan__details-panel {
  background: #eef5f1 !important;
}
body.single-product .hb-purchase-plan__select {
  background: #ffffff !important;
  border-color: #d8dfdc !important;
}


/* v1.21.0 — stronger reference-style light background highlight for purchase options. */
body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
  background: #edf4ef !important;
  border: 1px solid #d8e5de !important;
  box-shadow: none !important;
}
body.single-product .hb-purchase-plan__row {
  background: #edf4ef !important;
}
body.single-product .hb-purchase-plan__row + .hb-purchase-plan__row {
  border-top: 1px solid #d8e5de !important;
}
body.single-product .hb-purchase-plan__row.is-active {
  background: #e1ece6 !important;
}
body.single-product .hb-purchase-plan__note,
body.single-product .hb-purchase-plan__details-panel {
  background: #edf4ef !important;
}
body.single-product .hb-purchase-plan__label {
  color: #314345 !important;
}
body.single-product .hb-purchase-plan__note p {
  color: #677476 !important;
}
body.single-product .hb-purchase-plan__details {
  color: #46585a !important;
}
body.single-product .hb-purchase-plan__select {
  background: #f8fbf9 !important;
  border-color: #d7e2dd !important;
}


/* v1.21.1 — reduce purchase option section height by ~25% while preserving layout. */
body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
  margin: 14px 0 6px !important;
}
body.single-product .hb-purchase-plan__row {
  padding: 10px 14px !important;
  min-height: 44px !important;
}
body.single-product .hb-purchase-plan__label {
  font-size: 11.5px !important;
  line-height: 1.1 !important;
  letter-spacing: .24em !important;
}
body.single-product .hb-purchase-plan__select {
  min-width: 108px !important;
  height: 34px !important;
  font-size: 13px !important;
  padding: 0 30px 0 10px !important;
}
body.single-product .hb-purchase-plan__note {
  padding: 0 14px 10px 42px !important;
}
body.single-product .hb-purchase-plan__note p {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
body.single-product .hb-purchase-plan__details {
  font-size: 12px !important;
}
body.single-product .hb-purchase-plan__details-panel {
  padding: 0 14px 10px 42px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
@media (max-width: 760px) {
  body.single-product .woocommerce div.product form.cart .hb-purchase-plan,
  body.single-product .woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart .hb-purchase-plan {
    margin: 12px 0 6px !important;
  }
  body.single-product .hb-purchase-plan__row {
    padding: 9px 10px !important;
    min-height: 40px !important;
    gap: 6px !important;
  }
  body.single-product .hb-purchase-plan__label {
    font-size: 10.5px !important;
    letter-spacing: .2em !important;
  }
  body.single-product .hb-purchase-plan__select {
    min-width: 98px !important;
    height: 32px !important;
    font-size: 12.5px !important;
  }
  body.single-product .hb-purchase-plan__note,
  body.single-product .hb-purchase-plan__details-panel {
    padding-left: 30px !important;
    padding-right: 10px !important;
    padding-bottom: 8px !important;
  }
  body.single-product .hb-purchase-plan__note p {
    font-size: 12.5px !important;
    margin-bottom: 5px !important;
  }
}


/* v1.21.5 — Additional Information full width on mobile only. */
@media (max-width: 760px) {
  body.single-product details.hb-product-accordion.hb-source-additional,
  body.single-product details.hb-source-additional,
  body.single-product .hb-source-additional,
  body.single-product .woocommerce div.product div.summary details.hb-source-additional,
  body.single-product .woocommerce div.product div.summary .hb-source-additional {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .hb-source-additional > .hb-product-accordion__summary,
  body.single-product .hb-source-additional > .hb-product-accordion__content,
  body.single-product .hb-source-additional .hb-source-info__content,
  body.single-product .hb-source-additional .hwi-additional-info,
  body.single-product .hb-source-additional .hwi-additional-info__block,
  body.single-product .hb-source-additional .hwi-additional-info__text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* v1.21.6 — Delivery info full width on mobile only. */
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder,
  body.single-product .hb-delivery-estimate,
  body.single-product .hb-delivery-estimate.is-instock,
  body.single-product .hb-delivery-estimate.is-preorder {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__copy,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__title,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__range,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate__note,
  body.single-product .hb-delivery-estimate__copy,
  body.single-product .hb-delivery-estimate__title,
  body.single-product .hb-delivery-estimate__range,
  body.single-product .hb-delivery-estimate__note {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}


/* v1.21.7 — remove legacy inline width lock; final responsive delivery sizing. */
@media (min-width: 761px) {
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder {
    width: 80% !important;
    max-width: 80% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-instock,
  body.single-product .woocommerce div.product div.summary .hb-delivery-estimate.is-preorder,
  body.single-product .hb-delivery-estimate {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}


/* v1.22.1 — keep WooCommerce Sale badge inside the product image area without affecting card alignment. */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.home .woocommerce ul.products li.product,
body.home .hb-category-product-feed ul.products li.product {
  position: relative !important;
  padding-top: 0 !important;
}

body.woocommerce ul.products li.product > span.onsale,
body.woocommerce-page ul.products li.product > span.onsale,
body.home .woocommerce ul.products li.product > span.onsale,
body.home .hb-category-product-feed ul.products li.product > span.onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: none !important;
  float: none !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* The image keeps a stable square regardless of whether a sale badge exists. */
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img,
body.home .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
body.home .hb-category-product-feed ul.products li.product a.woocommerce-LoopProduct-link > img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: #fff !important;
}

@media (max-width: 760px) {
  body.woocommerce ul.products li.product > span.onsale,
  body.woocommerce-page ul.products li.product > span.onsale,
  body.home .woocommerce ul.products li.product > span.onsale,
  body.home .hb-category-product-feed ul.products li.product > span.onsale {
    top: 8px !important;
    left: 8px !important;
  }
}


/* v1.22.2 — Correct Sale badge containment.
 * WooCommerce renders the sale flash INSIDE a.woocommerce-LoopProduct-link,
 * not as a direct child of li.product. Keep it over the image so it never
 * consumes vertical flow space or shifts sale cards out of alignment.
 */
body.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link,
body.home ul.products li.product > a.woocommerce-LoopProduct-link,
body.front-page ul.products li.product > a.woocommerce-LoopProduct-link,
body.home .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link,
body.front-page .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
}

body.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
body.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
body.home ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
body.front-page ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
body.home .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
body.front-page .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 12 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  float: none !important;
  transform: none !important;
  line-height: 1 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}

/* Remove any legacy layout reservation around the sale flash. */
body.home ul.products li.product.sale,
body.front-page ul.products li.product.sale,
body.woocommerce ul.products li.product.sale,
body.woocommerce-page ul.products li.product.sale {
  padding-top: 0 !important;
}

@media (max-width: 760px) {
  body.home ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
  body.front-page ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
  body.home .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale,
  body.front-page .hb-category-product-feed ul.products li.product > a.woocommerce-LoopProduct-link > span.onsale {
    top: 8px !important;
    left: 8px !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
  }
}


/* v1.23.8 — Final post-cart description containment after 5% page margins.
 * Remove legacy 80/90/calc widths and let the description follow the actual
 * summary column. The outer 5% page margin is now the only horizontal inset. */
body.single-product .woocommerce div.product div.summary {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  float: none !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description > *,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description p,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h1,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h2,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h3,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h4,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h5,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h6,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ul,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ol,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description div {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description img,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description video,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description iframe,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description table {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}


/* v1.24.0 — Balanced post-cart description spacing.
 * Remove the asymmetric viewport guard and keep a small, equal inset on both sides. */
body.single-product .woocommerce div.product div.summary {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(8px, 2vw, 14px) !important;
  padding-right: clamp(8px, 2vw, 14px) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  text-align: left !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description > *,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description p,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h1,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h2,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h3,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h4,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h5,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description h6,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ul,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description ol,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description div {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body.single-product .woocommerce div.product div.summary .hb-post-cart-description img,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description video,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description iframe,
body.single-product .woocommerce div.product div.summary .hb-post-cart-description table {
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}


/* v1.30.3 — Mobile product description edge spacing + overflow containment.
 * Keep short/full description copy away from the viewport edges without changing desktop layout. */
@media (max-width: 760px) {
  body.single-product .woocommerce-product-details__short-description,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(12px, 3.2vw, 14px) !important;
    padding-right: clamp(12px, 3.2vw, 14px) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.single-product .hb-source-description-full,
  body.single-product .hb-source-description-full__inner,
  body.single-product .hb-source-description-full__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .hb-source-description-full__inner {
    padding-left: clamp(12px, 3.2vw, 14px) !important;
    padding-right: clamp(12px, 3.2vw, 14px) !important;
  }

  body.single-product .woocommerce-product-details__short-description *,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description *,
  body.single-product .hb-source-description-full__content * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  body.single-product .woocommerce-product-details__short-description img,
  body.single-product .woocommerce-product-details__short-description video,
  body.single-product .woocommerce-product-details__short-description iframe,
  body.single-product .woocommerce-product-details__short-description table,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description img,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description video,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description iframe,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description table,
  body.single-product .hb-source-description-full__content img,
  body.single-product .hb-source-description-full__content video,
  body.single-product .hb-source-description-full__content iframe,
  body.single-product .hb-source-description-full__content table {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
  }
}


/* v1.30.5 — Definitive mobile short-description inset.
 * Use a real outer inset instead of relying only on parent padding. */
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: 14px !important;
    margin-right: 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > *,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner p,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner div,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner section,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ul,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ol,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner li,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h1,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h2,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h3,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h4,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h5,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h6 {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner img,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner video,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner iframe,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner table {
    display: block;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}


/* v1.30.8 — Hard mobile inset for the actual post-cart Short Description markup. */
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > p,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > div,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > section,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > ul,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > ol,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h1,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h2,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h3,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h4,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h5,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner > h6 {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner img,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner video,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner iframe,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner table {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* v1.30.9 — Real mobile inset for the post-cart Short Description.
 * This intentionally targets the exact section rendered after Add to Cart / Pre-Order. */
@media (max-width: 760px) {
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description {
    position: relative !important;
    left: 14px !important;
    right: auto !important;
    display: block !important;
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner p,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h1,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h2,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h3,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h4,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h5,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner h6,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ul,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ol {
    width: auto !important;
    padding-right: 0 !important;
  }

  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ul,
  body.single-product .woocommerce div.product div.summary .hb-post-cart-description__inner ol {
    padding-left: 20px !important;
  }
}
