/* Hello theme – checkout layout fix */
body.woocommerce-checkout .site-main {
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}


/* CART PAGE: stop Elementor full-width container from causing horizontal scroll */
@media (max-width: 767px) {
  body.woocommerce-cart {
    overflow-x: hidden !important;
  }

  /* The culprit */
  body.woocommerce-cart .e-con-full,
  body.woocommerce-cart .e-con {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Prevent 100vw tricks that cause extra width on mobile */
  body.woocommerce-cart .e-con-full,
  body.woocommerce-cart .e-con-full > .e-con-inner,
  body.woocommerce-cart .e-con > .e-con-inner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
  }

  /* Safety: keep all Elementor wrappers inside the viewport */
  body.woocommerce-cart .elementor,
  body.woocommerce-cart .elementor-section,
  body.woocommerce-cart .elementor-container,
  body.woocommerce-cart .elementor-column,
  body.woocommerce-cart .elementor-widget-wrap {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* Force Elementor popup to center and stay fixed */
.elementor-popup-modal .dialog-widget-content{
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  max-height: 90vh !important;
  overflow: auto !important;
}

.elementor-popup-modal{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hide only "Select purchase type" text */
body.single-product .wcsatt-options-prompt-text-label {
  display: none !important;
}
/* Single product: make purchase options flush left */
body.single-product .woocommerce div.product form.cart {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

body.single-product .woocommerce div.product form.cart ul {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

body.single-product .woocommerce div.product form.cart li {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* SINGLE PRODUCT SPACING POLISH, TARGET ELEMENTOR WOO WIDGETS */

/* Title widget spacing */
body.single-product .elementor-widget-woocommerce-product-title {
  margin-bottom: 8px !important;
}
body.single-product .elementor-widget-woocommerce-product-title .product_title {
  margin-bottom: 0 !important;
}

/* Price widget spacing */
body.single-product .elementor-widget-woocommerce-product-price {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}
body.single-product .elementor-widget-woocommerce-product-price .price,
body.single-product .elementor-widget-woocommerce-product-price p,
body.single-product .elementor-widget-woocommerce-product-price span {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Short description widget spacing */
body.single-product .elementor-widget-woocommerce-product-short-description {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}
body.single-product .elementor-widget-woocommerce-product-short-description p {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Bullets to purchase options spacing */
body.single-product .elementor-widget-text-editor:has(ul.besties-ppu) {
  margin-bottom: 10px !important;
}
body.single-product .woocommerce div.product form.cart {
  margin-top: 6px !important;
}
/* Tighten spacing between Short Description widget and the bullets widget */
body.single-product .elementor-widget-woocommerce-product-short-description {
  margin-bottom: 6px !important;
}

/* Tighten spacing inside the short description itself */
body.single-product .elementor-widget-woocommerce-product-short-description p {
  margin-bottom: 6px !important;
}

/* Tighten spacing for the bullets text editor widget */
body.single-product .elementor-widget-text-editor {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

/* Tighten spacing under the ACF bullet list */
body.single-product .elementor-widget-text-editor ul.besties-ppu {
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

/* Tighten spacing above the purchase options area */
body.single-product .elementor-widget-woocommerce-product-add-to-cart {
  margin-top: 0 !important;
}

body.single-product .woocommerce div.product form.cart {
  margin-top: 0 !important;
}
/* Tighten space between bullets and purchase options */
body.single-product ul.besties-ppu {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.single-product .woocommerce div.product form.cart {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Subscription options wrapper spacing */
body.single-product .wcsatt-options-wrapper,
body.single-product .wcsatt-options,
body.single-product .wcsatt-options-product {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
