/**
 * Site-wide motion. Transform and opacity only.
 */

html {
	scroll-behavior: smooth;
}

.meem-btn,
.meem-header__action,
.meem-nav a,
.meem-tabbar__item,
.meem-rail-btn,
.meem-search,
.meem-search__submit,
.meem-footer a,
.meem-social a,
.meem-section__all,
.meem-cat-card,
.meem-promo,
.meem-trust__card,
.meem-brands a,
.meem-split__panel {
	transition:
		background-color var(--meem-duration) var(--meem-ease),
		color var(--meem-duration) var(--meem-ease),
		border-color var(--meem-duration) var(--meem-ease),
		box-shadow var(--meem-duration) var(--meem-ease),
		transform var(--meem-duration) var(--meem-ease),
		opacity var(--meem-duration) var(--meem-ease);
}

.meem-btn:hover,
.meem-btn:focus-visible {
	transform: translateY(-1px);
	box-shadow: var(--meem-shadow);
}

.meem-btn:active {
	transform: translateY(0);
}

.meem-card {
	transition:
		box-shadow var(--meem-duration) var(--meem-ease),
		transform var(--meem-duration) var(--meem-ease),
		border-color var(--meem-duration) var(--meem-ease);
}

.meem-card:hover {
	transform: none;
	border-color: rgba(61, 75, 255, 0.22);
	box-shadow: 0 6px 16px rgba(22, 26, 51, 0.05);
}

.meem-card__image {
	transition: transform var(--meem-duration-slow) var(--meem-ease);
}

.meem-card:hover .meem-card__image {
	transform: scale(1.015);
}

.meem-cat-card:hover,
.meem-brands a:hover,
.meem-trust__card:hover {
	transform: translateY(-3px);
	box-shadow: var(--meem-shadow);
}

.meem-cat-card__media img,
.meem-promo img,
.meem-split__image {
	transition: transform var(--meem-duration-slow) var(--meem-ease);
}

.meem-cat-card:hover .meem-cat-card__media img,
.meem-promo:hover img,
.meem-split__panel:hover .meem-split__image {
	transform: scale(1.06);
}

.meem-promo:hover {
	transform: translateY(-3px);
	box-shadow: var(--meem-shadow);
}

.meem-nav__list > li > a:not(.meem-nav__cats)::after {
	transition: transform var(--meem-duration) var(--meem-ease);
}

.meem-nav__list .sub-menu {
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	display: block;
	transition:
		opacity var(--meem-duration) var(--meem-ease),
		transform var(--meem-duration) var(--meem-ease);
}

.meem-nav__list > .menu-item-has-children:hover > .sub-menu,
.meem-nav__list > .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.meem-drawer-backdrop {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--meem-duration) var(--meem-ease),
		visibility var(--meem-duration) var(--meem-ease);
}

.meem-drawer-backdrop.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.meem-drawer {
	transform: translateX(-105%);
	visibility: hidden;
	pointer-events: none;
	transition:
		transform var(--meem-duration-slow) var(--meem-ease),
		visibility var(--meem-duration-slow) var(--meem-ease);
}

[dir="rtl"] .meem-drawer {
	transform: translateX(105%);
}

.meem-drawer.is-open {
	transform: none;
	visibility: visible;
	pointer-events: auto;
}

.meem-search-suggest {
	opacity: 0;
	transform: translateY(6px);
	transition:
		opacity var(--meem-duration) var(--meem-ease),
		transform var(--meem-duration) var(--meem-ease);
}

.meem-search-suggest:not([hidden]) {
	opacity: 1;
	transform: none;
}

.meem-tabbar__item:hover,
.meem-tabbar__item:focus-visible {
	transform: translateY(-1px);
}

.meem-reveal {
	opacity: 0;
	transform: translateY(18px);
	content-visibility: visible;
	contain-intrinsic-size: auto;
}

.meem-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition:
		opacity var(--meem-duration-slow) var(--meem-ease),
		transform var(--meem-duration-slow) var(--meem-ease);
}

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

	.meem-theme *,
	.meem-theme *::before,
	.meem-theme *::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}

	.meem-reveal {
		opacity: 1;
		transform: none;
	}

	.meem-card:hover,
	.meem-card:hover .meem-card__image,
	.meem-btn:hover,
	.meem-cat-card:hover,
	.meem-promo:hover,
	.meem-promo:hover img {
		transform: none;
	}
}
