/**
 * Popup Checkout — Buy Now & storefront trigger buttons.
 */

/* Shared Buy now CTA (classic + block themes) */
.rixes-occ-buy-now-button,
button.rixes-occ-buy-now-button,
a.rixes-occ-buy-now-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0.875rem 1.5rem !important;
	min-height: 3.25rem !important;
	height: auto !important;
	width: auto !important;
	max-width: 100% !important;
	font-family: inherit !important;
	font-size: 1em !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: nowrap !important;
	overflow: visible !important;
	vertical-align: middle !important;
	border-radius: 4px !important;
	border: 1px solid transparent !important;
	background: var(--rixes-occ-buy-now-bg, var(--rixes-occ-popup-accent, #2271b1)) !important;
	color: var(--rixes-occ-buy-now-color, #fff) !important;
	cursor: pointer;
	transition: background 0.15s ease;
}

/* Shop loops, shortcodes, blocks — styled CTA */
.woocommerce ul.products .rixes-occ-buy-now-button,
.woocommerce-page ul.products .rixes-occ-buy-now-button,
.rixes-occ-checkout-button.rixes-occ-buy-now-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0.875rem 1.5rem !important;
	min-height: 3.25rem !important;
	width: auto;
	max-width: 100%;
	font-size: 1em !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	text-transform: none !important;
	border-radius: 4px !important;
	border: 1px solid transparent !important;
	background: var(--rixes-occ-buy-now-bg, var(--rixes-occ-popup-accent, #2271b1)) !important;
	color: var(--rixes-occ-buy-now-color, #fff) !important;
	cursor: pointer;
	transition: background 0.15s ease;
}

.woocommerce ul.products .rixes-occ-buy-now-button:hover,
.rixes-occ-checkout-button.rixes-occ-buy-now-button:hover {
	background: var(--rixes-occ-buy-now-bg-hover, var(--rixes-occ-popup-accent, #135e96)) !important;
	color: var(--rixes-occ-buy-now-color, #fff) !important;
}

.rixes-occ-checkout-button.rixes-occ-buy-now-button {
	margin: 0.5em 0;
}

/* Shop loop: Add to cart + Buy now side by side */
.woocommerce ul.products li.product .rixes-occ-shop-loop-buy-now,
.woocommerce-page ul.products li.product .rixes-occ-shop-loop-buy-now,
.wc-block-product .rixes-occ-shop-loop-buy-now,
.wc-block-grid__product .rixes-occ-shop-loop-buy-now {
	margin-inline-start: 0.5em !important;
	vertical-align: middle;
}

/* Legacy duplicate: Buy now appended outside the button row (pre-fix cache) */
.wp-block-woocommerce-product-button > .rixes-occ-shop-loop-buy-now {
	display: none !important;
}

/* Block theme — shop / archive product cards */
.wc-block-product .wp-block-woocommerce-product-button,
.wc-block-grid__product .wp-block-woocommerce-product-button,
li.wc-block-product .wp-block-woocommerce-product-button,
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	text-align: center !important;
}

.wp-block-woocommerce-product-button .wc-block-components-product-button,
.wc-block-components-product-button,
.wp-block-woocommerce-product-button .wp-block-button,
.wc-block-product .wp-block-woocommerce-product-button .wc-block-components-product-button {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	gap: 0.5rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Block shop only: full-width row, Buy now centered inside */
.rixes-occ-block-shop-buy-now-wrap {
	display: flex !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wc-block-components-product-button .rixes-occ-block-shop-buy-now-wrap,
.wp-block-woocommerce-product-button .rixes-occ-block-shop-buy-now-wrap {
	align-self: stretch !important;
}

.rixes-occ-block-shop-buy-now-wrap .rixes-occ-shop-loop-buy-now {
	flex: 0 0 auto !important;
	margin: 0 !important;
	margin-inline: 0 !important;
}

.wp-block-woocommerce-product-button .wc-block-components-product-button__button,
.wc-block-components-product-button__button.wp-element-button {
	flex: 0 0 auto !important;
	margin-inline: 0 !important;
}

/*
 * Single product: qty → Add to cart → Pay now (DOM order).
 *
 * On classic themes the wrap is `inline-flex` so it sits next to the Add-to-cart
 * button. On block themes the form is rendered as `flex; flex-wrap: wrap` by
 * WC, and product columns are usually too narrow to fit qty + Add to cart +
 * Buy now on one row — so we give the wrap a full-width flex basis on block
 * themes which produces a clean row 2 instead of an orphaned tail.
 */
.rixes-occ-buy-now-wrap,
.woocommerce div.product form.cart .rixes-occ-buy-now-wrap,
.woocommerce-page div.product form.cart .rixes-occ-buy-now-wrap {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	box-sizing: border-box;
	float: none !important;
	margin: 0 0 0 0.5em;
	padding: 0;
	border: 0;
}

/*
 * Block theme — give the wrap a full-width flex basis so it lands on its own
 * row 2 (qty + Add to cart fill row 1), but keep the button itself at its
 * natural inline width so it doesn't stretch across the column.
 */
.wp-block-woocommerce-add-to-cart-form form.cart .rixes-occ-buy-now-wrap,
.wp-block-woocommerce-add-to-cart-form .variations_form .rixes-occ-buy-now-wrap,
.wc-block-add-to-cart-form form.cart .rixes-occ-buy-now-wrap {
	display: inline-flex !important;
	flex: 0 0 100% !important;
	width: auto !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin: 0.5em 0 0 !important;
	padding: 0 !important;
}

/* Classic themes (Storefront etc.): Buy now matches the WC "single_add_to_cart_button" sizing. */
.woocommerce div.product form.cart .rixes-occ-buy-now-button.button,
.woocommerce-page div.product form.cart .rixes-occ-buy-now-button.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto;
	max-width: none;
	min-height: 3.25rem !important;
	margin: 0 !important;
	padding: 0.875rem 1.5rem !important;
	line-height: 1.25 !important;
	background: var(--rixes-occ-buy-now-bg, var(--rixes-occ-popup-accent, #2271b1)) !important;
	color: var(--rixes-occ-buy-now-color, #fff) !important;
}

/*
 * Block theme single product — Buy now button keeps its natural size on
 * its dedicated row (matches theme button styling via `wp-element-button`).
 */
.wp-block-woocommerce-add-to-cart-form .rixes-occ-buy-now-wrap .rixes-occ-buy-now-button,
.wc-block-add-to-cart-form .rixes-occ-buy-now-wrap .rixes-occ-buy-now-button {
	width: auto !important;
	max-width: 100% !important;
}

.woocommerce div.product form.cart .rixes-occ-buy-now-button.button:hover,
.woocommerce-page div.product form.cart .rixes-occ-buy-now-button.button:hover {
	background: var(--rixes-occ-buy-now-bg-hover, var(--rixes-occ-popup-accent, #135e96)) !important;
	color: var(--rixes-occ-buy-now-color, #fff) !important;
}

.woocommerce div.product form.cart .rixes-occ-buy-now-button.button:focus-visible,
.woocommerce-page div.product form.cart .rixes-occ-buy-now-button.button:focus-visible {
	outline: 2px solid var(--rixes-occ-popup-accent, #2271b1);
	outline-offset: 2px;
}

/* --- Hide native Add to cart per product (matched Buy now rule only) --- */

.rixes-occ-single-hide-atc form.cart .single_add_to_cart_button,
.rixes-occ-single-hide-atc form.cart button[type="submit"]:not(.rixes-occ-buy-now-button),
.rixes-occ-single-hide-atc .wp-block-woocommerce-add-to-cart-form button[type="submit"]:not(.rixes-occ-buy-now-button) {
	display: none !important;
}

/* Per-product only (marked by footer script from rule replaceMap). */
.rixes-occ-product-hide-loop-atc a.add_to_cart_button:not([data-rixes-occ-checkout]):not(.rixes-occ-shop-loop-buy-now),
.rixes-occ-product-hide-loop-atc .add_to_cart_button:not([data-rixes-occ-checkout]):not(.rixes-occ-shop-loop-buy-now),
.rixes-occ-product-hide-loop-atc a.ajax_add_to_cart:not([data-rixes-occ-checkout]),
.rixes-occ-product-hide-loop-atc .wp-block-button.wc-block-components-product-button a:not([data-rixes-occ-checkout]),
.rixes-occ-product-hide-loop-atc .wc-block-components-product-button__button:not([data-rixes-occ-checkout]),
.rixes-occ-product-hide-loop-atc .wp-block-woocommerce-product-button a:not([data-rixes-occ-checkout]):not(.rixes-occ-shop-loop-buy-now),
.rixes-occ-product-hide-loop-atc .wp-block-woocommerce-product-button button:not([data-rixes-occ-checkout]):not(.rixes-occ-shop-loop-buy-now) {
	display: none !important;
}
