/**
 * First-paint / hydration contract.
 *
 * Only fragments that are physically relocated/rebuilt after HTML parsing are
 * gated. Normal server-rendered pages stay untouched. The head runtime arms the
 * contract; without JavaScript this stylesheet hides nothing.
 */

/* Single product: Woo/Printcart outputs a functional native form first, then
 * single-product.js turns it into the PIUROPRINT configurator. Preserve its
 * geometry while booting, but never paint the transient native buttons/layout. */
html[data-pp-render-stability="armed"] body.pp-single-product
.pp-sp-page:is([data-pp-sp-state="booting"], [data-pp-sp-state="initializing"], [data-pp-sp-state="waiting-for-printcart"])
.summary.entry-summary > form.cart {
	visibility: hidden;
	pointer-events: none;
}

/* View order: my-account.js groups the already-rendered address/invoice nodes
 * into one aside. Keep their original space during the very short relocation,
 * then reveal them only in their final parent. */
html[data-pp-render-stability="armed"]:not(.pp-render-ready-account-order)
body.pp-ma-endpoint-view-order .pp-account-shell .woocommerce-MyAccount-content .woocommerce-order-details,
html[data-pp-render-stability="armed"]:not(.pp-render-ready-account-order)
body.pp-ma-endpoint-view-order .pp-account-shell .woocommerce-MyAccount-content .woocommerce-customer-details,
html[data-pp-render-stability="armed"]:not(.pp-render-ready-account-order)
body.pp-ma-endpoint-view-order .pp-account-shell .woocommerce-MyAccount-content .flexible-invoices-document {
	visibility: hidden;
	pointer-events: none;
}

/* Checkout: Woo initially renders shipping/payment inside #order_review; the
 * checkout module relocates those same native nodes into the left flow cards. */
html[data-pp-render-stability="armed"]:not(.pp-render-ready-checkout)
body.pp-co-body .pp-checkout .pp-co-review #payment,
html[data-pp-render-stability="armed"]:not(.pp-render-ready-checkout)
body.pp-co-body .pp-checkout #order_review tr.pp-co-delivery-heading,
html[data-pp-render-stability="armed"]:not(.pp-render-ready-checkout)
body.pp-co-body .pp-checkout #order_review tr.woocommerce-shipping-totals {
	display: none;
}

/* Quote popup is hidden by Printcart at page load, but an immediate user click
 * can race the theme's popup normalization. Keep only the popup card gated until
 * request-quote.js marks the existing plugin node as ready. */
html[data-pp-render-stability="armed"] #nbdq-form-popup:not([data-pp-quote-ready]) .main-popup {
	visibility: hidden;
}

/* FAQ deep-links are browser-only state (URL fragments never reach PHP). When a
 * page opens at #faq-<slug>, arm a tiny gate in <head> so the default first
 * panel is never painted before theme.js activates the requested panel. */
html[data-pp-render-stability="armed"].pp-render-pending-faq-hash:not(.pp-render-ready-faq)
[data-vz-faq-cats] {
	visibility: hidden;
	pointer-events: none;
}
