/* WRAPING – purchase layout v1.0.0
 * A style-only repair; Stripe/PayPal wallets remain in their native DOM.
 * CSS is limited to WooCommerce single-product pages.
 */

/* Approved WRFS-style templates: don't allow gateway widgets to share the add-to-cart row. */
body.single-product #wrfs-single .wrfs-purchase {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
body.single-product #wrfs-single .wrfs-purchase > form.cart {
  flex: none !important;
  clear: both !important;
}

/* Simple WC products: quantity 90px | full-width add-to-cart. */
body.single-product #wrfs-single .wrfs-purchase > form.cart:not(.variations_form):not(.grouped_form),
body.single-product .summary.entry-summary > form.cart:not(.variations_form):not(.grouped_form),
body.single-product .wrfs-info > form.cart:not(.variations_form):not(.grouped_form) {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  flex: none !important;
  margin: 0 0 12px !important;
  align-items: stretch !important;
}
body.single-product #wrfs-single .wrfs-purchase > form.cart:not(.variations_form):not(.grouped_form) > .quantity,
body.single-product .summary.entry-summary > form.cart:not(.variations_form):not(.grouped_form) > .quantity,
body.single-product .wrfs-info > form.cart:not(.variations_form):not(.grouped_form) > .quantity {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 !important;
  width: 90px !important;
  min-width: 0 !important;
  max-width: 90px !important;
  height: 54px !important;
  float: none !important;
}
body.single-product #wrfs-single .wrfs-purchase > form.cart:not(.variations_form):not(.grouped_form) > button.single_add_to_cart_button,
body.single-product .summary.entry-summary > form.cart:not(.variations_form):not(.grouped_form) > button.single_add_to_cart_button,
body.single-product .wrfs-info > form.cart:not(.variations_form):not(.grouped_form) > button.single_add_to_cart_button {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  float: none !important;
  padding: 12px 14px !important;
  color: #14100b !important;
  background: #ddb46e !important;
  border: 1px solid #ddb46e !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  text-align: center !important;
  line-height: 1.3 !important;
  cursor: pointer;
}
body.single-product #wrfs-single .wrfs-purchase > form.cart button.single_add_to_cart_button:hover,
body.single-product .summary.entry-summary > form.cart button.single_add_to_cart_button:hover {
  background: #f0cf94 !important;
  border-color: #f0cf94 !important;
}
body.single-product form.cart .quantity input.qty {
  height: 54px !important;
  min-height: 54px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 16px !important;
  text-align: center !important;
}

/* If a payment integration injects children into form.cart, they begin BELOW row 1. */
body.single-product #wrfs-single .wrfs-purchase > form.cart:not(.variations_form):not(.grouped_form) > :not(.quantity):not(.single_add_to_cart_button),
body.single-product .summary.entry-summary > form.cart:not(.variations_form):not(.grouped_form) > :not(.quantity):not(.single_add_to_cart_button) {
  grid-column: 1 / -1;
  max-width: 100%;
  min-width: 0;
}

/* Variable products: leave variation selection and price intact; align only the purchase controls. */
body.single-product #wrfs-single .woocommerce-variation-add-to-cart.variations_button,
body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button {
  display: grid !important;
  grid-template-columns: 90px minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  align-items: stretch !important;
}
body.single-product #wrfs-single .woocommerce-variation-add-to-cart.variations_button > .quantity,
body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button > .quantity {
  grid-column: 1; width: 90px !important; margin: 0 !important;
}
body.single-product #wrfs-single .woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button,
body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button > button.single_add_to_cart_button {
  grid-column: 2;
  width: 100% !important; min-width: 0 !important; max-width: 100% !important;
  min-height: 54px !important; height: 54px !important; margin: 0 !important;
  background: #ddb46e !important; color: #14100b !important;
}
body.single-product #wrfs-single .woocommerce-variation-add-to-cart.variations_button > :not(.quantity):not(.single_add_to_cart_button),
body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button > :not(.quantity):not(.single_add_to_cart_button) {
  grid-column: 1 / -1;
}

/* Native gateway containers: full width BELOW the form; do not reposition or recreate iframes. */
body.single-product #wrfs-single .wrfs-purchase > :not(form),
body.single-product #wrfs-single .wrfs-purchase > :is(#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper,.ppc-button-wrapper),
body.single-product #wrfs-single .wrfs-purchase form.cart > :is(#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper,.ppc-button-wrapper),
body.single-product .summary.entry-summary > :is(#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper,.ppc-button-wrapper) {
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 0 0 100% !important;
}
body.single-product #wrfs-single .wrfs-purchase :is(#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper,.wc-stripe-product-checkout-container,.wc-stripe-express-checkout-container,.wcpay-payment-request-wrapper),
body.single-product .summary.entry-summary :is(#wc-stripe-express-checkout-element,.wc-stripe-express-checkout-wrapper,.wc-stripe-product-checkout-container,.wc-stripe-express-checkout-container,.wcpay-payment-request-wrapper) {
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
  margin-top: 12px;
}
/* Stripe's actual row is a flex container. Preserve display:none for unavailable methods. */
body.single-product :is(#wrfs-single .wrfs-purchase,.summary.entry-summary) #wc-stripe-express-checkout-element {
  gap: 12px !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}
body.single-product :is(#wrfs-single .wrfs-purchase,.summary.entry-summary) #wc-stripe-express-checkout-element > div {
  flex: 1 1 calc(50% - 6px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.single-product :is(#wrfs-single .wrfs-purchase,.summary.entry-summary) #wc-stripe-express-checkout-element iframe {
  max-width: 100% !important;
}

/* Tablet and mobile: prevent a wallet/long translation from escaping the container. */
@media(max-width: 680px) {
  body.single-product #wrfs-single .wrfs-purchase,
  body.single-product #wrfs-single .wrfs-info { min-width: 0 !important; }
  body.single-product #wrfs-single .wrfs-purchase > form.cart:not(.variations_form):not(.grouped_form),
  body.single-product .summary.entry-summary > form.cart:not(.variations_form):not(.grouped_form),
  body.single-product #wrfs-single .woocommerce-variation-add-to-cart.variations_button,
  body.single-product .summary.entry-summary .woocommerce-variation-add-to-cart.variations_button {
    grid-template-columns: 78px minmax(0,1fr) !important;
    gap: 8px !important;
  }
  body.single-product :is(#wrfs-single .wrfs-purchase,.summary.entry-summary) #wc-stripe-express-checkout-element > div {
    flex-basis: 100% !important;
  }
  body.single-product #wrfs-single .wrfs-purchase form.cart .quantity { width: 78px !important; max-width: 78px !important; }
  body.single-product #wrfs-single .wrfs-purchase button.single_add_to_cart_button { font-size: 12px !important; padding: 8px 10px !important; }
}
