/* ============================================
   PRODUCT PAGE - CONVERSION LAYOUT
   NextChaptHer - Added via Customizer Additional CSS
   ============================================ */

/* --- Flex layout: image LEFT, text RIGHT --- */
.single-product .elementor-element-49ada074 > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 32px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
}

.single-product .elementor-element-7a69ff17 {
  order: -1 !important;
  flex: 0 0 45% !important;
  max-width: 45% !important;
  position: sticky !important;
  top: 80px !important;
}

.single-product .elementor-element-80aee94 {
  flex: 0 0 50% !important;
  max-width: 50% !important;
}

.single-product .elementor-element-49ada074 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* --- Gallery image --- */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .elementor-element-46838bd9,
.single-product .elementor-element-7a69ff17 .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
}

.single-product .flex-viewport {
  height: auto !important;
  overflow: visible !important;
}

.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
  display: block !important;
}

.single-product .woocommerce-product-gallery__image:not(:first-child),
.single-product .flex-control-nav,
.single-product .flex-control-thumbs,
.single-product ol.flex-control-nav {
  display: none !important;
}

/* --- Typography --- */
.single-product .product_title {
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 0 12px 0 !important;
  color: #1a1a2e !important;
}

.single-product .price {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin: 0 0 20px 0 !important;
  display: block !important;
}

.single-product .product_meta {
  font-size: 0.8rem !important;
  color: #999 !important;
  margin: 0 !important;
}

.single-product .stock.in-stock {
  color: #2e7d32 !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  margin: 0 0 12px 0 !important;
}

/* --- CTA box --- */
.single-product .elementor-element-3a76081 {
  background: #f8f8fc !important;
  border: 1px solid #e8e8f0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin-top: 16px !important;
}

.single-product form.cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
}

.single-product .quantity {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

.single-product .quantity input[type="number"] {
  width: 70px !important;
  padding: 10px !important;
  font-size: 1rem !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  text-align: center !important;
}

.single-product .single_add_to_cart_button {
  background: #1a1a2e !important;
  color: #fff !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  border-radius: 8px !important;
  border: none !important;
  cursor: pointer !important;
  width: 100% !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  margin: 8px 0 0 0 !important;
  display: block !important;
}

.single-product .single_add_to_cart_button:hover {
  background: #2d2d4e !important;
}

/* --- HIDE ALL ALTERNATIVE PAYMENT BUTTONS --- */
body.single-product .wcpay-express-checkout-wrapper,
body.single-product #wcpay-woopay-button,
body.single-product .woopay-express-button,
body.single-product .ppcp-messages,
body.single-product .ppc-button-wrapper,
body.single-product [id^="ppc-button"],
body.woocommerce.single-product .wcpay-express-checkout-wrapper,
body.woocommerce.woocommerce-page.single-product .wcpay-express-checkout-wrapper {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ============================================
   MOBILE RESPONSIVE — Product Page
   ============================================ */

@media (max-width: 767px) {

  /* Stack columns vertically on mobile */
  .single-product .elementor-element-49ada074 > .e-con-inner {
    flex-direction: column !important;
    padding: 0 16px !important;
    gap: 16px !important;
  }

  /* Gallery column: full width, no sticky */
  .single-product .elementor-element-7a69ff17 {
    order: -1 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    position: static !important;
  }

  /* Text column: full width */
  .single-product .elementor-element-80aee94 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Product image: full width */
  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .flex-viewport,
  .single-product .elementor-element-7a69ff17 .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border-radius: 12px !important;
  }

  /* Title sizing */
  .single-product .elementor-element-729a1874 h1,
  .single-product .elementor-element-729a1874 .product_title {
    font-size: 1.6rem !important;
  }

  /* Price sizing */
  .single-product .elementor-element-2065299a .price {
    font-size: 1.6rem !important;
  }

  /* Add to Cart button */
  .single-product .single_add_to_cart_button {
    width: 100% !important;
    padding: 14px !important;
    font-size: 1rem !important;
  }

}

/* ============================================
   CHECKOUT PAGE — Hide Express Payment Buttons
   ============================================ */

/* Hide WooPay, Apple Pay, Google Pay at checkout */
.woocommerce-checkout .wcpay-express-checkout-wrapper,
.woocommerce-checkout #wcpay-express-checkout-element,
.woocommerce-checkout #wcpay-express-checkout-button-separator,
.woocommerce-checkout #wcpay-woopay-button,
.woocommerce-checkout .woopay-express-button,
.woocommerce-checkout .wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment-continue-rule {
  display: none !important;
}

/* Hide WooPay "save my info" phone number widget at bottom of checkout */
.woopay-save-new-user-container,
#woopay-connect-iframe-container,
.woopay-save-new-user-phone-input,
.woopay-save-new-user-legal {
  display: none !important;
}

/* Hide PayPal Credit "No Interest" message at checkout */
.ppcp-messages,
.ppc-button-wrapper,
[id*="ppcp-messages"],
[class*="ppcp-message"] {
  display: none !important;
}

/* Clean up "— OR —" separator when all express buttons are hidden */
#wcpay-express-checkout-button-separator {
  display: none !important;
}

/* ============================================
   CHECKOUT PAGE — General Layout Polish
   ============================================ */

/* Ensure checkout form is well-padded and readable */
.woocommerce-checkout .woocommerce {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Style the Place Order button to match site */
.woocommerce-checkout #place_order {
  background-color: #1a1a2e !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 16px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

.woocommerce-checkout #place_order:hover {
  opacity: 0.88 !important;
}

/* Style section headings */
.woocommerce-checkout h3 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #e8e8f0 !important;
}

@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce {
    padding: 0 16px;
  }
}