/* Shared storefront button interaction colors. Keep component dimensions and resting states. */
:root {
	--grx-button-hover-bg: #b8913c;
	--grx-button-hover-ink: #111111;
}

body:not(.wp-admin) :is(
	button, input[type="button"], input[type="submit"], input[type="reset"],
	a.button, .grx-button, .wp-element-button, .wp-block-button__link,
	.wc-block-components-button, [role="button"], .site-action, .shop-tab,
	[data-coa-link], .grx-coa-library__button,
	.woocommerce-pagination a.page-numbers, .woocommerce-MyAccount-navigation a,
	.woocommerce-tabs ul.tabs a, .woocommerce a.remove,
	.woocommerce table.cart tr.cart_item td.product-remove a.remove
):not(:where(#wpadminbar, #wpadminbar *, [inert], [inert] *)):not(:disabled, [disabled], [aria-disabled="true"], .disabled, .loading, [aria-busy="true"]) {
	transition: background-color .2s, color .2s, border-color .2s, opacity .2s;
}

/* These color-only overrides also cover WooCommerce's !important remove-link colors. */
body:not(.wp-admin) :is(
	button, input[type="button"], input[type="submit"], input[type="reset"],
	a.button, .grx-button, .wp-element-button, .wp-block-button__link,
	.wc-block-components-button, [role="button"], .site-action, .shop-tab,
	[data-coa-link], .grx-coa-library__button,
	.woocommerce-pagination a.page-numbers, .woocommerce-MyAccount-navigation a,
	.woocommerce-tabs ul.tabs a, .woocommerce a.remove,
	.woocommerce table.cart tr.cart_item td.product-remove a.remove
):not(:where(#wpadminbar, #wpadminbar *, [inert], [inert] *)):not(:disabled, [disabled], [aria-disabled="true"], .disabled, .loading, [aria-busy="true"]):is(:hover, :focus-visible) {
	background-color: var(--grx-button-hover-bg) !important;
	border-color: var(--grx-button-hover-ink) !important;
	color: var(--grx-button-hover-ink) !important;
}

body:not(.wp-admin) :is(
	button, input[type="button"], input[type="submit"], input[type="reset"],
	a.button, .grx-button, .wp-element-button, .wp-block-button__link,
	.wc-block-components-button, [role="button"], .site-action, .shop-tab,
	[data-coa-link], .grx-coa-library__button,
	.woocommerce-pagination a.page-numbers, .woocommerce-MyAccount-navigation a,
	.woocommerce-tabs ul.tabs a, .woocommerce a.remove,
	.woocommerce table.cart tr.cart_item td.product-remove a.remove
):not(:where(#wpadminbar, #wpadminbar *, [inert], [inert] *)):not(:disabled, [disabled], [aria-disabled="true"], .disabled, .loading, [aria-busy="true"]):focus-visible {
	outline: 2px solid var(--grx-button-hover-ink) !important;
	outline-offset: 3px;
}

/* Prices, filter counts and checkout totals have their own resting text colors. */
body:not(.wp-admin) :is(.grx-size, .shop-tab, .grx-summary-toggle, .wc-block-components-button):not(:where(#wpadminbar *, [inert], [inert] *)):not(:disabled, [disabled], [aria-disabled="true"], .disabled, .loading, [aria-busy="true"]):is(:hover, :focus-visible) :is(.grx-size__price, .shop-tab > span, .grx-summary-toggle__label, .grx-summary-toggle__total, .wc-block-components-button__text) {
	color: var(--grx-button-hover-ink) !important;
}

@media (prefers-reduced-motion: reduce) {
	body:not(.wp-admin) :is(
		button, input[type="button"], input[type="submit"], input[type="reset"],
		a.button, .grx-button, .wp-element-button, .wp-block-button__link,
		.wc-block-components-button, [role="button"], .site-action, .shop-tab,
		[data-coa-link], .grx-coa-library__button,
		.woocommerce-pagination a.page-numbers, .woocommerce-MyAccount-navigation a,
		.woocommerce-tabs ul.tabs a, .woocommerce a.remove
	):not(:where(#wpadminbar, #wpadminbar *)) {
		transition-duration: 0s !important;
	}
}
