/* =========================================================
   AMK Catalog Core 0.9.0 — PERFORMANCE & MOTION PASS
   Final motion system: smooth, restrained, GPU-friendly.
   ========================================================= */

:root {
	--amk-motion-fast: 160ms;
	--amk-motion-ui: 240ms;
	--amk-motion-card: 360ms;
	--amk-motion-slow: 520ms;
	--amk-ease-standard: cubic-bezier(.22,.61,.36,1);
	--amk-ease-soft: cubic-bezier(.2,.7,.2,1);
}

/* ---------------------------------------------------------
   Rendering isolation
   Prevent large catalog sections from triggering unnecessary
   repaint/layout work elsewhere on the page.
   --------------------------------------------------------- */
.amk-basic-catalog,
.amk-catalog-tools,
.amk-catalog-cta,
.amk-related-products,
.amk-product-main,
.amk-product-description,
.amk-product-selection-cta {
	contain: layout paint;
}

.amk-basic-card,
.amk-related-card {
	contain: layout paint style;
}

/* Off-screen cards/sections can be skipped by supporting browsers. */
@supports (content-visibility: auto) {
	.amk-basic-card,
	.amk-related-card {
		content-visibility: auto;
		contain-intrinsic-size: 420px 560px;
	}

	.amk-related-products,
	.amk-catalog-cta {
		content-visibility: auto;
		contain-intrinsic-size: 900px 650px;
	}
}

/* ---------------------------------------------------------
   Global interactive motion
   Animate compositor-friendly properties wherever possible.
   --------------------------------------------------------- */
.amk-basic-card,
.amk-related-card,
.amk-basic-card__button,
.amk-related-card__button,
.amk-catalog-category,
.amk-catalog-empty-state__reset,
.amk-catalog-empty-state__contact,
.amk-product-breadcrumbs__link,
.amk-product-gallery__thumb,
.amk-product-actions__offer,
.amk-product-selection-cta__button,
.amk-catalog-cta__button {
	transition-duration: var(--amk-motion-ui) !important;
	transition-timing-function: var(--amk-ease-standard) !important;
}

.amk-basic-card,
.amk-related-card {
	transition-duration: var(--amk-motion-card) !important;
}

/* Only promote elements while the user is interacting with them. */
@media (hover: hover) and (pointer: fine) {
	.amk-basic-card:hover,
	.amk-related-card:hover,
	.amk-basic-card__button:hover,
	.amk-related-card__button:hover {
		will-change: transform;
	}
}

/* Prevent large shadow recalculations from feeling abrupt. */
.amk-basic-card:hover,
.amk-related-card:hover {
	transform: translate3d(0, -5px, 0) !important;
}

.amk-basic-card img,
.amk-related-card img,
.amk-product-gallery__main-image {
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* ---------------------------------------------------------
   AJAX result transitions
   --------------------------------------------------------- */
.amk-basic-catalog {
	transition:
		opacity var(--amk-motion-ui) ease,
		filter var(--amk-motion-ui) ease;
}

.amk-basic-catalog__grid {
	transition:
		opacity var(--amk-motion-ui) ease,
		transform var(--amk-motion-card) var(--amk-ease-standard);
}

.amk-basic-catalog.is-swapping .amk-basic-catalog__grid {
	opacity: .58;
	transform: translate3d(0, 3px, 0);
}

.amk-basic-card {
	animation-duration: 420ms !important;
	animation-timing-function: var(--amk-ease-standard) !important;
}

/* Loader backdrop remains premium, but the blur is reduced slightly
   for noticeably cheaper GPU composition on mid-range devices. */
.amk-catalog-processing__veil {
	-webkit-backdrop-filter: blur(7px) saturate(.88) !important;
	backdrop-filter: blur(7px) saturate(.88) !important;
}

.amk-catalog-processing__panel,
.amk-page-transition__content {
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
}

/* ---------------------------------------------------------
   Gallery
   --------------------------------------------------------- */
.amk-product-gallery__stage {
	contain: layout paint;
}

.amk-product-gallery__main-image {
	transition:
		transform 180ms ease,
		opacity 180ms ease,
		filter 220ms ease !important;
}

.amk-product-gallery__thumb {
	transition:
		transform var(--amk-motion-ui) var(--amk-ease-standard),
		border-color var(--amk-motion-ui) ease,
		box-shadow var(--amk-motion-ui) ease !important;
}

/* ---------------------------------------------------------
   Buttons
   Keep glossy sweep but avoid jerky movement.
   --------------------------------------------------------- */
.amk-basic-card__button::before,
.amk-related-card__button::before,
.amk-catalog-empty-state__contact::before,
.amk-catalog-cta__button::before {
	transition-duration: 620ms !important;
	transition-timing-function: var(--amk-ease-soft) !important;
}

.amk-basic-card__button:active,
.amk-related-card__button:active,
.amk-catalog-empty-state__contact:active,
.amk-product-selection-cta__button:active {
	transition-duration: 80ms !important;
}

/* ---------------------------------------------------------
   Page transition
   Fast enough to feel instant; smooth enough to feel branded.
   --------------------------------------------------------- */
.amk-page-transition {
	transition:
		opacity 210ms ease,
		visibility 210ms ease !important;
}

.amk-page-transition__content {
	transition:
		transform 270ms var(--amk-ease-standard),
		opacity 210ms ease !important;
}

html.amk-page-enter body {
	opacity: .92 !important;
	transform: translate3d(0, 2px, 0) !important;
}

html.amk-page-enter.amk-page-enter--ready body {
	transition:
		opacity 260ms ease,
		transform 260ms var(--amk-ease-standard) !important;
}

/* ---------------------------------------------------------
   Focus / accessibility
   --------------------------------------------------------- */
.amk-basic-card a:focus-visible,
.amk-related-card a:focus-visible,
.amk-product-breadcrumbs a:focus-visible,
.amk-catalog-tools button:focus-visible,
.amk-catalog-tools input:focus-visible,
.amk-catalog-tools select:focus-visible {
	outline: 2px solid rgba(36,53,90,.58);
	outline-offset: 3px;
}

/* ---------------------------------------------------------
   Mobile / touch
   Remove hover-only work and heavy effects that don't add value.
   --------------------------------------------------------- */
@media (hover: none), (pointer: coarse) {
	.amk-basic-card:hover,
	.amk-related-card:hover {
		transform: none !important;
	}

	.amk-basic-card:hover img,
	.amk-related-card:hover img {
		transform: translateZ(0) !important;
	}

	.amk-catalog-processing__veil,
	.amk-page-transition__backdrop {
		-webkit-backdrop-filter: blur(5px) !important;
		backdrop-filter: blur(5px) !important;
	}
}

@media (max-width: 600px) {
	.amk-basic-card,
	.amk-related-card {
		contain-intrinsic-size: 380px 520px;
	}
}

/* ---------------------------------------------------------
   Reduced motion
   --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	.amk-basic-card,
	.amk-related-card,
	.amk-page-transition__content,
	html.amk-page-enter body {
		transform: none !important;
	}
}


/* =========================================================
   AMK 0.9.1 — ULTRA-SMOOTH PRODUCT CARD HOVER
   Subtle lift, broad soft shadow, no abrupt "jump".
   ========================================================= */

.amk-basic-card {
	transform: translate3d(0, 0, 0) !important;
	will-change: auto !important;
	box-shadow:
		0 8px 24px rgba(31, 43, 67, .045),
		0 2px 7px rgba(31, 43, 67, .025) !important;
	border-color: rgba(36, 53, 90, .13) !important;
	transition:
		transform 680ms cubic-bezier(.16, 1, .3, 1),
		box-shadow 760ms cubic-bezier(.16, 1, .3, 1),
		border-color 520ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
	.amk-basic-card:hover {
		will-change: transform;
		transform: translate3d(0, -3px, 0) !important;
		border-color: rgba(36, 53, 90, .19) !important;
		box-shadow:
			0 18px 42px rgba(31, 43, 67, .075),
			0 5px 15px rgba(31, 43, 67, .035) !important;
	}

	.amk-basic-card__image img {
		transition:
			transform 720ms cubic-bezier(.16, 1, .3, 1),
			filter 720ms cubic-bezier(.16, 1, .3, 1) !important;
	}

	.amk-basic-card:hover .amk-basic-card__image img {
		transform: scale(1.018) translate3d(0, -1px, 0) !important;
		filter: drop-shadow(0 11px 16px rgba(31, 41, 55, .065)) !important;
	}

	.amk-basic-card__image::before {
		transition:
			opacity 620ms ease,
			transform 760ms cubic-bezier(.16, 1, .3, 1) !important;
	}

	.amk-basic-card:hover .amk-basic-card__image::before {
		opacity: .62 !important;
		transform: scale(.97) !important;
	}
}

/* Touch devices: cards remain completely stable. */
@media (hover: none), (pointer: coarse) {
	.amk-basic-card,
	.amk-basic-card:hover {
		transform: none !important;
		box-shadow:
			0 8px 24px rgba(31, 43, 67, .045),
			0 2px 7px rgba(31, 43, 67, .025) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.amk-basic-card,
	.amk-basic-card:hover,
	.amk-basic-card__image img,
	.amk-basic-card:hover .amk-basic-card__image img {
		transform: none !important;
		transition: none !important;
	}
}
