/* v1.54.90 — Huuguu VUI/VUIEO product form final containment.
   Never let theme single-product add-to-cart flex/grid rules put the submit
   button beside the variable UI or the extra-services UI. */
body.single-product div.product form.cart.huu-vui-hide-native,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .single_variation_wrap,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .single_variation_wrap,
body.single-product div.product form.cart.huu-vui-hide-native .woocommerce-variation-add-to-cart,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .woocommerce-variation-add-to-cart,
body.single-product div.product form.cart.huu-vui-hide-native .variations_button,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .variations_button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .huu-vui,
body.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo,
body.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__block,
body.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__summary,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .huu-vui,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__block,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__summary {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__summary,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .huu-vuieo__summary {
  margin-top: var(--hgg-wc-single-extra-summary-gap, 16px) !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .single_add_to_cart_button,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .single_add_to_cart_button,
body.single-product div.product form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt {
  grid-column: 1 / -1 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  display: inline-flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: var(--hgg-wc-single-button-height, 48px) !important;
  margin: var(--hgg-wc-single-plugin-button-gap, 16px) 0 0 !important;
  padding: var(--hgg-wc-single-button-padding-y, 14px) var(--hgg-wc-single-button-padding-x, 22px) !important;
  flex: none !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.15 !important;
  z-index: 1 !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .quantity,
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .quantity {
  grid-column: 1 / -1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  flex: none !important;
}

body.single-product div.product form.cart.huu-vui-hide-native .quantity:has(input[type="hidden"]),
body.woocommerce-page.single-product div.product form.cart.huu-vui-hide-native .quantity:has(input[type="hidden"]) {
  display: none !important;
}

/* v1.54.91 — definitive VUI/VUIEO add-to-cart flow.
   The parent may still be forced to flex by older Woo single CSS; keep it flex,
   but force a vertical column so VUI/VUIEO and the submit button never compete
   in the same horizontal row. */
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.single_variation_wrap,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.single_variation_wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .huu-vui,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .huu-vuieo,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .quantity,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .huu-vui,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .huu-vuieo,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .quantity,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button {
  position: static !important;
  float: none !important;
  clear: both !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}

html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .quantity:has(input[type="hidden"]),
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > .quantity:has(input[type="hidden"]) {
  display: none !important;
}

html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: var(--hgg-wc-single-button-height, 48px) !important;
  height: auto !important;
  margin-top: var(--hgg-wc-single-plugin-button-gap, 18px) !important;
  padding: var(--hgg-wc-single-button-padding-y, 14px) var(--hgg-wc-single-button-padding-x, 22px) !important;
  white-space: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  text-align: center !important;
  line-height: 1.15 !important;
}


/* v1.54.93 — mobile safe VUI/VUIEO submit button.
   Do not hide the Woo button while the variation wrapper is disabled; some
   mobile browsers keep wc-variation-selection-needed longer than desktop.
   Keep it in the vertical flow, full width, and let Woo enable it normally. */
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart > button.single_add_to_cart_button,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native div.woocommerce-variation-add-to-cart > button.single_add_to_cart_button,
html body.single-product.woocommerce div.product div.summary form.variations_form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt,
html body.woocommerce-page.single-product div.product div.summary form.variations_form.cart.huu-vui-hide-native button.single_add_to_cart_button.button.alt {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  grid-column: 1 / -1 !important;
  order: 90 !important;
  position: static !important;
  float: none !important;
  clear: both !important;
  flex: 0 0 auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: var(--hgg-wc-single-button-height, 48px) !important;
  margin: var(--hgg-wc-single-plugin-button-gap, 18px) 0 0 !important;
  padding: var(--hgg-wc-single-button-padding-y, 14px) var(--hgg-wc-single-button-padding-x, 22px) !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.15 !important;
}

/* Reconnect single product H1 to the existing Woo single title variable. */
body.single-product div.product .summary h1.product_title.entry-title,
body.woocommerce-page.single-product div.product .summary h1.product_title.entry-title {
  font-size: var(--hgg-wc-single-title-size, 52px) !important;
}
