/**
 * Single product — force purchase UI into normal document flow (beats sticky/fixed DB templates).
 */

body.single-product main,
body.il-wc-product main {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

body.single-product main .wp-block-columns.is-stacked-on-mobile,
body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
	width: 100% !important;
}

@media (min-width: 782px) {
	body.single-product main .wp-block-columns.is-stacked-on-mobile,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
		display: grid !important;
		grid-template-columns: minmax(0, 42%) minmax(0, 1fr) !important;
		align-items: start !important;
	}

	body.single-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:last-child,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column:last-child {
		grid-column: 2 !important;
		width: 100% !important;
		min-width: 0 !important;
	}
}

@media (max-width: 781px) {
	body.single-product main .wp-block-columns.is-stacked-on-mobile,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile {
		display: flex !important;
		flex-direction: column !important;
		gap: var(--wp--preset--spacing--medium, 1.25rem) !important;
		align-items: stretch !important;
	}

	body.single-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column,
	body.il-wc-product main .wp-block-columns.is-stacked-on-mobile > .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex-basis: 100% !important;
		grid-column: unset !important;
	}

	body.single-product .ilnatural-purchase-toolbar,
	body.il-wc-product .ilnatural-purchase-toolbar {
		grid-template-columns: 1fr !important;
		gap: 0.65rem !important;
	}

	body.single-product .ilnatural-purchase-toolbar > .wp-block-add-to-cart-with-options-quantity-selector,
	body.il-wc-product .ilnatural-purchase-toolbar > .wp-block-add-to-cart-with-options-quantity-selector,
	body.single-product .ilnatural-purchase-toolbar > .wc-block-add-to-cart-with-options__quantity-selector,
	body.il-wc-product .ilnatural-purchase-toolbar > .wc-block-add-to-cart-with-options__quantity-selector,
	body.single-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button,
	body.il-wc-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button {
		grid-column: 1 !important;
		width: 100% !important;
	}

	body.single-product .ilnatural-atc-actions,
	body.il-wc-product .ilnatural-atc-actions,
	body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
	body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector {
		max-width: 100% !important;
	}

	body.single-product .wc-block-components-product-button,
	body.il-wc-product .wc-block-components-product-button {
		width: 100% !important;
		max-width: 100% !important;
	}
}

body.single-product header .wp-block-columns,
body.il-wc-product header .wp-block-columns {
	display: flex !important;
	grid-template-columns: unset !important;
}

/* Purchase UI must never render inside the sticky header */
body.single-product header .wp-block-add-to-cart-with-options,
body.il-wc-product header .wp-block-add-to-cart-with-options,
body.single-product header .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.il-wc-product header .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.single-product header .ilnatural-atc-actions,
body.il-wc-product header .ilnatural-atc-actions,
body.single-product header .ilnatural-purchase-line-total,
body.il-wc-product header .ilnatural-purchase-line-total,
body.single-product header .wc-block-components-quantity-selector,
body.il-wc-product header .wc-block-components-quantity-selector,
body.single-product header .wc-block-components-product-button,
body.il-wc-product header .wc-block-components-product-button {
	display: none !important;
}

body.single-product .wp-block-column:last-child,
body.il-wc-product .wp-block-column:last-child {
	position: relative !important;
	contain: layout style !important;
	min-width: 0 !important;
}

body.single-product .ilnatural-single-product-add-to-cart,
body.il-wc-product .ilnatural-single-product-add-to-cart,
body.single-product .ilnatural-purchase-mount,
body.il-wc-product .ilnatural-purchase-mount {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	contain: layout style !important;
}

body.single-product .wp-block-column:last-child > .wp-block-group[style*="min-height"],
body.il-wc-product .wp-block-column:last-child > .wp-block-group[style*="min-height"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

body.single-product .ilnatural-product-meta-badges,
body.il-wc-product .ilnatural-product-meta-badges {
	order: 3 !important;
	margin-top: 0.35rem !important;
	width: 100% !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.35rem !important;
}

body.single-product .ilnatural-secure-checkout-badge,
body.il-wc-product .ilnatural-secure-checkout-badge {
	display: flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	margin-top: 0.35rem !important;
	margin-bottom: 0 !important;
}

body.single-product .ilnatural-secure-checkout-badge p,
body.il-wc-product .ilnatural-secure-checkout-badge p {
	margin: 0 !important;
	color: var(--wp--preset--color--secondary, #4a5d4e);
}

body.single-product .ilnatural-product-details,
body.il-wc-product .ilnatural-product-details {
	gap: 0.35rem !important;
}

body.single-product .ilnatural-product-purchase-stack,
body.il-wc-product .ilnatural-product-purchase-stack {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
}

body.single-product .ilnatural-single-product-add-to-cart,
body.il-wc-product .ilnatural-single-product-add-to-cart {
	margin-top: 0 !important;
	width: 100% !important;
}

body.single-product .wp-block-add-to-cart-with-options,
body.il-wc-product .wp-block-add-to-cart-with-options,
body.single-product .ilnatural-atc-layout-fix,
body.il-wc-product .ilnatural-atc-layout-fix,
body.single-product .ilnatural-purchase-mount,
body.il-wc-product .ilnatural-purchase-mount {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	margin-top: 0 !important;
	width: 100% !important;
}

body.single-product .wp-block-add-to-cart-with-options > .wp-block-group,
body.il-wc-product .wp-block-add-to-cart-with-options > .wp-block-group {
	align-items: flex-start !important;
	width: 100% !important;
	gap: 0.5rem !important;
}

body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector {
	gap: 0.35rem !important;
	margin: 0.5rem 0 0 !important;
	width: 100% !important;
	max-width: 22rem !important;
}

body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-description:empty,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-description:empty {
	display: none !important;
	margin: 0 !important;
}

body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-description,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-description {
	margin: 0 !important;
}

body.single-product .ilnatural-atc-actions,
body.il-wc-product .ilnatural-atc-actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	width: 100% !important;
	max-width: 28rem !important;
	margin-top: 0.35rem !important;
}

body.single-product .ilnatural-purchase-toolbar,
body.il-wc-product .ilnatural-purchase-toolbar {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	align-items: center !important;
	gap: 0.75rem !important;
	width: 100% !important;
}

body.single-product .ilnatural-purchase-toolbar > .wp-block-add-to-cart-with-options-quantity-selector,
body.il-wc-product .ilnatural-purchase-toolbar > .wp-block-add-to-cart-with-options-quantity-selector,
body.single-product .ilnatural-purchase-toolbar > .wc-block-add-to-cart-with-options__quantity-selector,
body.il-wc-product .ilnatural-purchase-toolbar > .wc-block-add-to-cart-with-options__quantity-selector {
	grid-column: 1;
	justify-self: start;
	min-width: 0;
}

body.single-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button,
body.il-wc-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button {
	grid-column: 2;
	min-width: 0;
	width: 100%;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	width: max-content !important;
	max-width: none !important;
	justify-self: start !important;
	margin: 0 !important;
	overflow: visible !important;
	border: 1px solid var(--wp--preset--color--border-light, #ddd) !important;
	border-radius: 8px !important;
	padding: 0.15rem !important;
	background: var(--wp--preset--color--base, #fff) !important;
	gap: 0.25rem !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.625rem !important;
	min-width: 2.625rem !important;
	flex-shrink: 0 !important;
	opacity: 1 !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button:disabled,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button:disabled,
body.single-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button[aria-disabled="true"],
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__button[aria-disabled="true"] {
	opacity: 0.45 !important;
	cursor: not-allowed;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__input,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-quantity-selector__input,
body.single-product .ilnatural-purchase-toolbar input.qty,
body.il-wc-product .ilnatural-purchase-toolbar input.qty {
	background: var(--wp--preset--color--tertiary, #f4f1ea) !important;
	border-radius: 4px !important;
	pointer-events: none;
	cursor: default;
	text-align: center;
}

body.single-product .ilnatural-purchase-variation-notice,
body.il-wc-product .ilnatural-purchase-variation-notice {
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	color: var(--wp--preset--color--secondary, #4a5d4e);
	font-weight: 500;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-product-button,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-product-button,
body.single-product .ilnatural-purchase-toolbar .wp-block-woocommerce-product-button,
body.il-wc-product .ilnatural-purchase-toolbar .wp-block-woocommerce-product-button {
	min-width: 0 !important;
	width: 100% !important;
	max-width: none !important;
	justify-self: stretch !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-product-button__button,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-product-button__button {
	width: 100% !important;
	min-height: 2.85rem !important;
	padding-inline: 1.25rem !important;
	border-radius: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-product-button__button::before,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-product-button__button::before {
	content: "";
	display: inline-block;
	width: 1.15rem;
	height: 1.15rem;
	flex-shrink: 0;
	background-color: currentColor;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='black' d='M96,216a16,16,0,1,1-16-16A16,16,0,0,1,96,216Zm88,0a16,16,0,1,1-16-16A16,16,0,0,1,184,216ZM231.71,74.14l-25.64,92.28A12,12,0,0,1,194.61,176H72.34a12,12,0,0,1-11.44-8.42L34.1,44.56A12,12,0,0,0,22.61,36H12A12,12,0,0,1,12,12a12,12,0,0,1,12,12h6.78l22.07,77.49,25.64,92.28h0L194.61,176l25.64-92.28,6.78-24.49H40.14a12,12,0,0,1,0-24h176.43a12,12,0,0,1,11.44,15.14Z'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='black' d='M96,216a16,16,0,1,1-16-16A16,16,0,0,1,96,216Zm88,0a16,16,0,1,1-16-16A16,16,0,0,1,184,216ZM231.71,74.14l-25.64,92.28A12,12,0,0,1,194.61,176H72.34a12,12,0,0,1-11.44-8.42L34.1,44.56A12,12,0,0,0,22.61,36H12A12,12,0,0,1,12,12a12,12,0,0,1,12,12h6.78l22.07,77.49,25.64,92.28h0L194.61,176l25.64-92.28,6.78-24.49H40.14a12,12,0,0,1,0-24h176.43a12,12,0,0,1,11.44,15.14Z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

body.single-product .ilnatural-purchase-line-total,
body.il-wc-product .ilnatural-purchase-line-total {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	text-align: left;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

body.single-product .ilnatural-purchase-line-total__label,
body.il-wc-product .ilnatural-purchase-line-total__label {
	font-weight: 500;
	color: var(--wp--preset--color--secondary, #4a5d4e);
}

body.single-product .ilnatural-purchase-line-total__label::after,
body.il-wc-product .ilnatural-purchase-line-total__label::after {
	content: ":";
}

body.single-product .ilnatural-purchase-line-total__amount,
body.il-wc-product .ilnatural-purchase-line-total__amount {
	font-weight: 600;
	color: var(--wp--preset--color--main, #4a5d4e);
}

body.single-product .ilnatural-view-cart-notice,
body.il-wc-product .ilnatural-view-cart-notice {
	margin: 0.35rem 0 0 !important;
	font-size: var(--wp--preset--font-size--small, 0.875rem) !important;
	color: var(--wp--preset--color--secondary, #4a5d4e) !important;
}

body.single-product .ilnatural-view-cart-notice__text,
body.il-wc-product .ilnatural-view-cart-notice__text {
	color: #2e7d32;
	font-weight: 500;
}

body.single-product .ilnatural-view-cart-notice__link,
body.il-wc-product .ilnatural-view-cart-notice__link {
	color: var(--wp--preset--color--main, #4a5d4e) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.single-product .ilnatural-view-cart-notice__link:hover,
body.il-wc-product .ilnatural-view-cart-notice__link:hover {
	text-decoration-thickness: 2px;
}

body.single-product .ilnatural-atc-actions .wc-block-components-product-button,
body.il-wc-product .ilnatural-atc-actions .wc-block-components-product-button,
body.single-product .ilnatural-atc-actions .wp-block-woocommerce-product-button,
body.il-wc-product .ilnatural-atc-actions .wp-block-woocommerce-product-button {
	width: auto !important;
	max-width: none !important;
}

body.single-product .ilnatural-purchase-line-total.is-ready,
body.il-wc-product .ilnatural-purchase-line-total.is-ready {
	opacity: 1;
	transform: translateY(0);
}

body.single-product .ilnatural-purchase-line-total__label,
body.il-wc-product .ilnatural-purchase-line-total__label {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: 500;
	color: var(--wp--preset--color--secondary, #4a5d4e);
}

body.single-product .ilnatural-purchase-line-total__amount,
body.il-wc-product .ilnatural-purchase-line-total__amount {
	font-size: var(--wp--preset--font-size--medium, 1.125rem);
	font-weight: 600;
	color: var(--wp--preset--color--main, #4a5d4e);
}

body.single-product .wc-block-components-product-button__button.ilnatural-is-adding,
body.il-wc-product .wc-block-components-product-button__button.ilnatural-is-adding {
	opacity: 0.72;
	cursor: wait;
}

body.single-product .ilnatural-product-purchase-stack,
body.il-wc-product .ilnatural-product-purchase-stack,
body.single-product .ilnatural-product-details,
body.il-wc-product .ilnatural-product-details,
body.single-product .ilnatural-single-product-add-to-cart,
body.il-wc-product .ilnatural-single-product-add-to-cart,
body.single-product .ilnatural-atc-layout-fix,
body.il-wc-product .ilnatural-atc-layout-fix,
body.single-product .wp-block-add-to-cart-with-options,
body.il-wc-product .wp-block-add-to-cart-with-options,
body.single-product [data-block-name="woocommerce/add-to-cart-with-options"],
body.il-wc-product [data-block-name="woocommerce/add-to-cart-with-options"] {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-inline: 0 !important;
	z-index: auto !important;
}

body.single-product .ilnatural-purchase-toolbar,
body.il-wc-product .ilnatural-purchase-toolbar {
	width: 100% !important;
	max-width: 100% !important;
}

body.single-product .ilnatural-purchase-toolbar > .wc-block-components-product-button,
body.il-wc-product .ilnatural-purchase-toolbar > .wc-block-components-product-button,
body.single-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button,
body.il-wc-product .ilnatural-purchase-toolbar > .wp-block-woocommerce-product-button {
	width: 100%;
	max-width: none;
}

body.single-product main .is-position-sticky:not(.ilnatural-product-gallery-sticky),
body.il-wc-product main .is-position-sticky:not(.ilnatural-product-gallery-sticky),
body.single-product main .is-position-fixed,
body.il-wc-product main .is-position-fixed {
	position: static !important;
	top: auto !important;
}

body.single-product .ilnatural-product-purchase-stack,
body.il-wc-product .ilnatural-product-purchase-stack {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0.65rem !important;
}

body.single-product .wp-block-add-to-cart-with-options,
body.il-wc-product .wp-block-add-to-cart-with-options,
body.single-product .ilnatural-atc-layout-fix,
body.il-wc-product .ilnatural-atc-layout-fix {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
	gap: 0.5rem !important;
}

body.single-product .wp-block-add-to-cart-with-options > .wp-block-group:not(.ilnatural-purchase-toolbar):not(.ilnatural-atc-actions),
body.il-wc-product .wp-block-add-to-cart-with-options > .wp-block-group:not(.ilnatural-purchase-toolbar):not(.ilnatural-atc-actions),
body.single-product .wp-block-add-to-cart-with-options .wp-block-group-is-layout-flex:not(.ilnatural-purchase-toolbar):not(.ilnatural-atc-actions),
body.il-wc-product .wp-block-add-to-cart-with-options .wp-block-group-is-layout-flex:not(.ilnatural-purchase-toolbar):not(.ilnatural-atc-actions) {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	gap: 0.5rem !important;
}

body.single-product .ilnatural-purchase-toolbar.wp-block-group,
body.il-wc-product .ilnatural-purchase-toolbar.wp-block-group {
	display: grid !important;
	flex-direction: unset !important;
	align-items: center !important;
	width: 100% !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-product-button,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-product-button {
	flex: none !important;
	width: 100% !important;
	max-width: none !important;
}

body.single-product .ilnatural-purchase-toolbar .wc-block-components-product-button .wc-block-components-product-button__button,
body.il-wc-product .ilnatural-purchase-toolbar .wc-block-components-product-button .wc-block-components-product-button__button {
	min-width: 0 !important;
}

body.single-product .wp-block-add-to-cart-with-options .wc-block-components-quantity-selector,
body.il-wc-product .wp-block-add-to-cart-with-options .wc-block-components-quantity-selector {
	transform: none !important;
	margin: 0 !important;
}

body.single-product .wp-block-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills,
body.il-wc-product .wp-block-add-to-cart-with-options .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
}

body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute,
body.single-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options,
body.il-wc-product .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-options,
body.single-product .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills,
body.il-wc-product .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pills,
body.single-product .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill,
body.il-wc-product .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill,
body.single-product .wc-block-components-quantity-selector,
body.il-wc-product .wc-block-components-quantity-selector {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	float: none !important;
	width: fit-content !important;
	max-width: 100% !important;
}

body.single-product .wc-block-components-product-button,
body.il-wc-product .wc-block-components-product-button {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	float: none !important;
	width: auto !important;
	max-width: 13.5rem !important;
}

body.single-product .ilnatural-purchase-line-total,
body.il-wc-product .ilnatural-purchase-line-total {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
}
