:root {
	--rg-motion-fast: 140ms;
	--rg-motion-base: 190ms;
	--rg-motion-slow: 280ms;
	--rg-motion-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.rg-button,
.button,
button,
input[type="submit"],
.primary-nav a,
.footer-nav a,
.site-actions__link,
.site-utility__links a,
.rg-arrow-link,
.rg-category-pill,
.rg-category-card,
.rg-shop-hero__link,
.rg-sticky-purchase a,
.woocommerce ul.products li.product a,
.rg-guide-back,
.rg-search-form__field,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"] {
	transition:
		background-color var(--rg-motion-base) var(--rg-motion-ease),
		border-color var(--rg-motion-base) var(--rg-motion-ease),
		box-shadow var(--rg-motion-base) var(--rg-motion-ease),
		color var(--rg-motion-base) var(--rg-motion-ease),
		filter var(--rg-motion-base) var(--rg-motion-ease),
		opacity var(--rg-motion-base) var(--rg-motion-ease),
		transform var(--rg-motion-base) var(--rg-motion-ease);
}

.rg-button,
.button,
button,
input[type="submit"],
.site-actions__link,
.rg-arrow-link,
.rg-category-pill,
.rg-shop-hero__link,
.rg-sticky-purchase a {
	will-change: transform;
}

.rg-button:not([aria-disabled="true"]):hover,
.button:not(:disabled):not([aria-disabled="true"]):hover,
button:not(:disabled):not([aria-disabled="true"]):hover,
input[type="submit"]:not(:disabled):not([aria-disabled="true"]):hover,
.site-actions__link:hover,
.rg-arrow-link:hover,
.rg-shop-hero__link:hover,
.rg-sticky-purchase a:hover {
	transform: translateY(-2px);
}

.rg-button:not([aria-disabled="true"]):active,
.button:not(:disabled):not([aria-disabled="true"]):active,
button:not(:disabled):not([aria-disabled="true"]):active,
input[type="submit"]:not(:disabled):not([aria-disabled="true"]):active,
.site-actions__link:active,
.rg-arrow-link:active,
.rg-category-pill:active,
.rg-category-card:active,
.rg-shop-hero__link:active,
.rg-sticky-purchase a:active {
	transform: translateY(1px) scale(0.99);
}

.primary-nav a:hover,
.primary-nav a:focus-visible,
.footer-nav a:hover,
.footer-nav a:focus-visible,
.site-utility__links a:hover,
.site-utility__links a:focus-visible {
	transform: translateY(-1px);
}

.rg-category-pill:hover,
.rg-category-pill:focus-visible,
.rg-category-card:hover,
.rg-category-card:focus-visible {
	border-color: rgba(40, 220, 164, 0.6);
	box-shadow: 0 10px 22px rgba(5, 6, 6, 0.1);
	transform: translateY(-2px);
}

.rg-guide-card,
.woocommerce ul.products li.product,
.rg-field-panel,
.rg-category-card,
.rg-shop-hero,
.rg-product-support,
.rg-sticky-purchase {
	transition:
		border-color var(--rg-motion-base) var(--rg-motion-ease),
		box-shadow var(--rg-motion-base) var(--rg-motion-ease),
		transform var(--rg-motion-base) var(--rg-motion-ease);
}

.rg-guide-card:hover,
.rg-guide-card:focus-within,
.rg-category-card:hover,
.rg-category-card:focus-within,
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
	border-color: rgba(40, 220, 164, 0.5);
	box-shadow: 0 16px 34px rgba(5, 6, 6, 0.14);
	transform: translateY(-4px);
}

.rg-guide-card__media img,
.rg-category-card__media img,
.woocommerce ul.products li.product img,
.rg-field-panel__image {
	transition:
		filter var(--rg-motion-slow) var(--rg-motion-ease),
		transform var(--rg-motion-slow) var(--rg-motion-ease);
}

.rg-guide-card:hover .rg-guide-card__media img,
.rg-guide-card:focus-within .rg-guide-card__media img,
.rg-category-card:hover .rg-category-card__media img,
.rg-category-card:focus-within .rg-category-card__media img,
.woocommerce ul.products li.product:hover img,
.woocommerce ul.products li.product:focus-within img,
.rg-field-panel:hover .rg-field-panel__image {
	filter: saturate(0.96) contrast(1.08);
	transform: scale(1.035);
}

.rg-search-form__field:focus,
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus {
	border-color: rgba(40, 220, 164, 0.72);
	box-shadow: 0 0 0 4px rgba(116, 247, 202, 0.2);
}

.rg-haptic-pulse {
	animation: rg-haptic-pulse var(--rg-motion-base) var(--rg-motion-ease);
}

@keyframes rg-haptic-pulse {
	0% {
		filter: brightness(1);
	}

	45% {
		filter: brightness(1.08);
	}

	100% {
		filter: brightness(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	.rg-button:hover,
	.button:hover,
	button:hover,
	input[type="submit"]:hover,
	.site-actions__link:hover,
	.rg-arrow-link:hover,
	.rg-category-pill:hover,
	.rg-category-card:hover,
	.rg-shop-hero__link:hover,
	.rg-sticky-purchase a:hover,
	.primary-nav a:hover,
	.footer-nav a:hover,
	.site-utility__links a:hover,
	.rg-guide-card:hover,
	.rg-guide-card:focus-within,
	.rg-category-card:hover,
	.rg-category-card:focus-within,
	.woocommerce ul.products li.product:hover,
	.woocommerce ul.products li.product:focus-within,
	.rg-guide-card:hover .rg-guide-card__media img,
	.rg-guide-card:focus-within .rg-guide-card__media img,
	.rg-category-card:hover .rg-category-card__media img,
	.rg-category-card:focus-within .rg-category-card__media img,
	.woocommerce ul.products li.product:hover img,
	.woocommerce ul.products li.product:focus-within img,
	.rg-field-panel:hover .rg-field-panel__image {
		transform: none;
	}
}
