/* Purchase controls: override Astra's 50% width and negative margin together.
   Keep the actual WooCommerce forms, quantity fields and payment widgets. */
body.single-product #page #main div.product .summary form.cart .single_add_to_cart_button,
body.single-product .ast-sticky-add-to-cart form.cart .single_add_to_cart_button {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:52px!important;
  margin:0!important;
  padding:14px 18px!important;
  font-family:inherit!important;
  font-size:15px!important;
  line-height:1.4!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
  border:0!important;
  border-radius:12px!important;
  background:#744693!important;
  color:#fff!important;
}
body.single-product #page #main div.product .summary form.cart .single_add_to_cart_button:focus-visible,
body.single-product .ast-sticky-add-to-cart .single_add_to_cart_button:focus-visible {
  outline:3px solid #463251;outline-offset:3px;
}
/* Sold individually: the hidden quantity must not reserve an empty column. */
body.single-product .summary form.cart .quantity:has(input[type="hidden"]):not(:has(input:not([type="hidden"]))),
body.single-product .ast-sticky-add-to-cart .quantity:has(input[type="hidden"]):not(:has(input:not([type="hidden"]))) {
  display:none!important;
}
@media(max-width:768px) {
  body.single-product #content .ast-container {padding-left:12px;padding-right:12px}
  body.single-product #main div.product {width:100%;margin:16px 0 24px;padding:18px;border-radius:20px}
  body.single-product #main div.product>.summary {margin:20px 0 0!important;min-width:0}
  body.single-product #main div.product>.woocommerce-product-gallery {margin-bottom:0!important}
  body.single-product .summary .woocommerce-breadcrumb {font-size:12px;line-height:1.65;margin:0 0 16px;color:#756c7b;overflow-wrap:anywhere}
  body.single-product #main .summary .product_title {font-size:clamp(23px,6vw,28px)!important;line-height:1.25!important;letter-spacing:-.025em;margin:0 0 12px!important;overflow-wrap:anywhere}
  body.single-product .summary .jp-condition-badge {font-size:12px;padding:6px 10px;margin-bottom:14px;line-height:1.5}
  body.single-product #main .summary .price {font-size:30px!important;line-height:1.25;margin-bottom:12px!important}
  body.single-product .summary .stock {font-size:14px;line-height:1.6}
  body.single-product .summary form.cart {display:flex!important;align-items:stretch!important;flex-wrap:wrap!important;gap:12px!important;margin:18px 0!important}
  body.single-product .summary form.cart>.quantity {flex:0 0 auto;margin:0!important}
  body.single-product .summary form.cart>.single_add_to_cart_button {flex:1 1 180px!important}
  body.single-product .summary form.cart>.variations,
  body.single-product .summary form.cart>.single_variation_wrap {width:100%;min-width:0}
  body.single-product .summary .woocommerce-variation-add-to-cart {display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
  body.single-product .summary .woocommerce-variation-add-to-cart>.single_add_to_cart_button {flex:1 1 180px!important}
  body.single-product .summary input.qty,
  body.single-product .ast-sticky-add-to-cart input.qty {font-size:16px!important;min-height:52px;box-sizing:border-box}
  body.single-product .summary .product_meta {font-size:12px;line-height:1.8;overflow-wrap:anywhere}
  body.single-product .summary .jp-product-details-box,
  body.single-product .summary .jp-info-box {padding:16px!important;border-radius:14px!important;box-shadow:none!important}
  body.single-product .summary .jp-product-details-box h3 {font-family:inherit;font-size:19px!important}
  body.single-product .summary .jp-info-box div {font-size:13px!important;line-height:1.65!important}
  body.single-product #main div.product>.woocommerce-tabs {margin:24px 0;padding:20px 0}
  body.single-product .woocommerce-tabs table {font-size:13px;overflow-wrap:anywhere}
  /* Native Astra sticky behavior stays responsible for visibility and actions. */
  body.single-product .ast-sticky-add-to-cart.bottom {background:#fff;border-top:1px solid #e8dfed;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 24px #46325112}
  body.single-product .ast-sticky-add-to-cart .ast-container {padding:0 16px;max-width:100%}
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-content {padding:10px 0;min-height:0;gap:12px}
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-title-wrap,
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-price {display:none!important}
  body.single-product .ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-wrap {width:100%;min-width:0}
  body.single-product .ast-sticky-add-to-cart form.cart {width:100%;margin:0!important;gap:10px;min-width:0}
  body.single-product .ast-sticky-add-to-cart form.cart .single_add_to_cart_button {flex:1 1 auto!important}
  body.single-product:has(.ast-sticky-add-to-cart.bottom.is-active) #jptc-chat-button {bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;width:48px;height:48px;font-size:23px}
  body.single-product:has(.ast-sticky-add-to-cart.bottom.is-active) #jptc-chat-box {bottom:calc(148px + env(safe-area-inset-bottom,0px))!important;max-height:calc(100dvh - 180px);max-height:calc(100svh - 180px)}
  body.single-product:has(.ast-sticky-add-to-cart.bottom.is-active) {padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce) {
  body.single-product .ast-sticky-add-to-cart {transition:none!important}
}
