/* --------------------------------------------------------------------------
 * GRZ Gaming — purchase readiness and scoped rail colors (v2.0.3)
 *
 * This layer changes no rail geometry. It gives Buy Now, Add to Cart and the
 * total independent theme tokens, and keeps invalid variation actions visibly
 * unavailable until WooCommerce resolves a purchasable variation.
 * ----------------------------------------------------------------------- */

body.single-product.grz-product-design .grz-tp-rail {
	--grz-rail-buy: var(--grz-product-buy, #0762e6);
	--grz-rail-buy-dark: var(--grz-product-buy-dark, #064ec4);
	--grz-rail-buy-rgb: var(--grz-product-buy-rgb, 7, 98, 230);
	--grz-rail-cart: var(--grz-product-cart, #0762e6);
	--grz-rail-cart-rgb: var(--grz-product-cart-rgb, 7, 98, 230);
	--grz-rail-total: var(--grz-product-total, #0762e6);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-total__now,
body.single-product.grz-product-design .grz-tp-rail .grz-tp-total__now .amount,
body.single-product.grz-product-design .grz-tp-rail .grz-tp-total__now bdi {
	color: var(--grz-rail-total);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary button.grz-tp-add-cart-secondary {
	border-color: var(--grz-rail-cart);
	background: #fff;
	color: var(--grz-rail-cart);
	box-shadow: 0 5px 14px rgba(var(--grz-rail-cart-rgb), .08);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary button.grz-tp-add-cart-secondary:hover:not(:disabled):not(.disabled) {
	border-color: var(--grz-rail-cart);
	background: rgba(var(--grz-rail-cart-rgb), .075);
	color: var(--grz-rail-cart);
	box-shadow: 0 8px 18px rgba(var(--grz-rail-cart-rgb), .15);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary button.grz-tp-add-cart-secondary:focus-visible {
	outline: 3px solid rgba(var(--grz-rail-cart-rgb), .24);
	outline-offset: 2px;
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary .single_add_to_cart_button,
body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary button.single_add_to_cart_button.button.alt {
	border: 1px solid var(--grz-rail-buy-dark);
	background: linear-gradient(180deg, var(--grz-rail-buy), var(--grz-rail-buy-dark));
	color: #fff;
	box-shadow: 0 12px 24px rgba(var(--grz-rail-buy-rgb), .24);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary .single_add_to_cart_button:hover:not(:disabled):not(.disabled),
body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary button.single_add_to_cart_button.button.alt:hover:not(:disabled):not(.disabled) {
	filter: brightness(1.06);
	box-shadow: 0 14px 28px rgba(var(--grz-rail-buy-rgb), .3);
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary .single_add_to_cart_button:focus-visible {
	outline: 3px solid rgba(var(--grz-rail-buy-rgb), .26);
	outline-offset: 2px;
}

body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary :is(
	button.grz-tp-add-cart-secondary,
	.single_add_to_cart_button
):is(.disabled, .wc-variation-selection-needed, .wc-variation-is-unavailable),
body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary :is(
	button.grz-tp-add-cart-secondary,
	.single_add_to_cart_button
):disabled {
	opacity: .46;
	filter: saturate(.35);
	box-shadow: none;
	cursor: not-allowed;
	transform: none;
}

@media (forced-colors: active) {
	body.single-product.grz-product-design .grz-tp-rail .grz-tp-card--summary :is(
		button.grz-tp-add-cart-secondary,
		.single_add_to_cart_button
	) {
		border-color: ButtonText;
	}
}
