/* =========================================================
   AMK 0.8.3 — PREMIUM PRODUCT PAGE TRANSITION
   ========================================================= */

.amk-page-transition {
	position: fixed;
	inset: 0;
	z-index: 2147482000;
	display: grid;
	place-items: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .26s ease, visibility .26s ease;
}

.amk-page-transition.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}

.amk-page-transition__backdrop {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(249,251,254,.975) 0%, rgba(243,247,252,.97) 58%, rgba(237,242,250,.975) 100%);
	-webkit-backdrop-filter: blur(15px) saturate(.86);
	backdrop-filter: blur(15px) saturate(.86);
}

.amk-page-transition__ambient {
	position: absolute;
	width: min(48vw, 680px);
	aspect-ratio: 1;
	border-radius: 50%;
	filter: blur(12px);
	opacity: .34;
	pointer-events: none;
}

.amk-page-transition__ambient--one {
	top: -24%;
	right: -8%;
	background: radial-gradient(circle, rgba(66,91,145,.14), rgba(66,91,145,0) 67%);
}

.amk-page-transition__ambient--two {
	bottom: -30%;
	left: -13%;
	background: radial-gradient(circle, rgba(36,53,90,.09), rgba(36,53,90,0) 68%);
}

.amk-page-transition__content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(430px, 100%);
	padding: 38px 34px 32px;
	border: 1px solid rgba(36,53,90,.105);
	border-radius: 30px;
	background:
		linear-gradient(145deg, rgba(255,255,255,.94), rgba(247,250,254,.89));
	box-shadow:
		0 34px 90px rgba(24,39,70,.14),
		0 8px 24px rgba(24,39,70,.055),
		inset 0 1px 0 rgba(255,255,255,1);
	transform: translateY(10px) scale(.985);
	transition: transform .34s cubic-bezier(.22,.61,.36,1);
}

.amk-page-transition.is-visible .amk-page-transition__content {
	transform: translateY(0) scale(1);
}

.amk-page-transition__brand {
	position: relative;
	display: grid;
	place-items: center;
	width: 146px;
	height: 146px;
	margin-bottom: 25px;
}

.amk-page-transition__brand-card {
	position: relative;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	padding: 9px;
	border: 1px solid rgba(36,53,90,.08);
	border-radius: 24px;
	background: rgba(255,255,255,.94);
	box-shadow:
		0 18px 42px rgba(36,53,90,.12),
		inset 0 1px 0 rgba(255,255,255,1);
	animation: amk-page-logo-breathe 2.2s ease-in-out infinite;
}

.amk-page-transition__logo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.amk-page-transition__fallback {
	color: #24355a;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: .12em;
}

.amk-page-transition__orbit {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(36,53,90,.09);
}

.amk-page-transition__orbit--outer {
	inset: 0;
}

.amk-page-transition__orbit--inner {
	inset: 15px;
}

.amk-page-transition__orbit::after {
	position: absolute;
	inset: -2px;
	content: "";
	border-radius: inherit;
	border: 2px solid transparent;
}

.amk-page-transition__orbit--outer::after {
	border-top-color: #2f4779;
	border-right-color: rgba(53,79,132,.30);
	animation: amk-page-orbit 1.22s linear infinite;
}

.amk-page-transition__orbit--inner::after {
	border-bottom-color: rgba(64,91,145,.58);
	border-width: 1px;
	animation: amk-page-orbit-reverse 1.85s linear infinite;
}

.amk-page-transition__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}

.amk-page-transition__eyebrow {
	margin-bottom: 9px;
	color: #6c778d;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.amk-page-transition__title {
	color: #202c43;
	font-size: clamp(17px, 2vw, 20px);
	font-weight: 740;
	line-height: 1.35;
	letter-spacing: -.014em;
}

.amk-page-transition__product {
	max-width: 330px;
	margin-top: 8px;
	color: #7a8599;
	font-size: 13px;
	font-weight: 550;
	line-height: 1.42;
}

.amk-page-transition__progress {
	position: relative;
	display: block;
	width: min(235px, 72%);
	height: 3px;
	margin-top: 23px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(36,53,90,.075);
}

.amk-page-transition__progress span {
	position: absolute;
	top: 0;
	left: -44%;
	width: 44%;
	height: 100%;
	border-radius: inherit;
	background:
		linear-gradient(90deg, rgba(64,91,145,0), #526da4 42%, #24355a 72%, rgba(36,53,90,0));
	animation: amk-page-progress 1.18s cubic-bezier(.4,0,.2,1) infinite;
}

/* Very short destination-page entrance: no layout shift. */
html.amk-page-enter body {
	opacity: .86;
	transform: translateY(3px);
}

html.amk-page-enter.amk-page-enter--ready body {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity .34s ease,
		transform .34s cubic-bezier(.22,.61,.36,1);
}

@keyframes amk-page-orbit {
	to { transform: rotate(360deg); }
}

@keyframes amk-page-orbit-reverse {
	to { transform: rotate(-360deg); }
}

@keyframes amk-page-progress {
	0% { left: -44%; }
	100% { left: 110%; }
}

@keyframes amk-page-logo-breathe {
	0%, 100% { transform: scale(.985); }
	50% { transform: scale(1.018); }
}

@media (max-width: 640px) {
	.amk-page-transition {
		padding: 18px;
	}

	.amk-page-transition__content {
		padding: 31px 22px 27px;
		border-radius: 25px;
	}

	.amk-page-transition__brand {
		width: 126px;
		height: 126px;
		margin-bottom: 21px;
	}

	.amk-page-transition__brand-card {
		width: 80px;
		height: 80px;
		border-radius: 21px;
	}

	.amk-page-transition__title {
		font-size: 17px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.amk-page-transition,
	.amk-page-transition__content,
	.amk-page-transition__brand-card,
	.amk-page-transition__orbit::after,
	.amk-page-transition__progress span,
	html.amk-page-enter body,
	html.amk-page-enter.amk-page-enter--ready body {
		animation: none !important;
		transition-duration: .01ms !important;
		transform: none !important;
	}
}


/* =========================================================
   AMK 0.9.3 — LONG LOAD ASSISTANCE
   The loader stays clean on fast navigation. Secondary controls
   only appear when a product page genuinely takes longer.
   ========================================================= */

.amk-page-transition__slow-note {
	max-width: 330px;
	margin: 17px 0 0;
	color: #7a8599;
	font-size: 12px;
	font-weight: 520;
	line-height: 1.55;
	text-align: center;
	opacity: 0;
	transform: translate3d(0, 5px, 0);
	animation: amk-transition-helper-in .38s cubic-bezier(.22,.61,.36,1) forwards;
}

.amk-page-transition__cancel {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 42px;
	margin-top: 16px;
	padding: 9px 17px;
	border: 1px solid rgba(36,53,90,.16);
	border-radius: 999px;
	background: rgba(255,255,255,.68);
	box-shadow:
		0 8px 22px rgba(36,53,90,.055),
		inset 0 1px 0 rgba(255,255,255,.92);
	color: #40506d;
	font-family: inherit;
	font-size: 12px;
	font-weight: 680;
	line-height: 1;
	cursor: pointer;
	opacity: 0;
	transform: translate3d(0, 6px, 0);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	transition:
		transform .28s cubic-bezier(.22,.61,.36,1),
		border-color .24s ease,
		background-color .24s ease,
		box-shadow .28s ease,
		color .24s ease;
	animation: amk-transition-helper-in .42s cubic-bezier(.22,.61,.36,1) forwards;
}

.amk-page-transition__cancel[hidden],
.amk-page-transition__slow-note[hidden] {
	display: none !important;
}

.amk-page-transition__cancel:hover {
	transform: translate3d(0, -1px, 0);
	border-color: rgba(36,53,90,.27);
	background: rgba(255,255,255,.9);
	color: #24355a;
	box-shadow:
		0 11px 27px rgba(36,53,90,.08),
		inset 0 1px 0 rgba(255,255,255,1);
}

.amk-page-transition__cancel:active {
	transform: translate3d(0, 0, 0) scale(.985);
}

.amk-page-transition__cancel:focus-visible {
	outline: 2px solid rgba(36,53,90,.45);
	outline-offset: 3px;
}

.amk-page-transition__cancel-arrow {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(36,53,90,.07);
	font-size: 14px;
	transition: transform .28s cubic-bezier(.22,.61,.36,1);
}

.amk-page-transition__cancel:hover .amk-page-transition__cancel-arrow {
	transform: translate3d(-2px,0,0);
}

.amk-page-transition.is-cancelling .amk-page-transition__content {
	opacity: .68;
	transform: translate3d(0,3px,0) scale(.992);
}

.amk-page-transition.is-cancelling .amk-page-transition__cancel {
	pointer-events: none;
}

@keyframes amk-transition-helper-in {
	from {
		opacity: 0;
		transform: translate3d(0,6px,0);
	}
	to {
		opacity: 1;
		transform: translate3d(0,0,0);
	}
}

@media (max-width: 600px) {
	.amk-page-transition__slow-note {
		max-width: 285px;
		font-size: 11.5px;
	}

	.amk-page-transition__cancel {
		min-height: 40px;
		padding: 9px 15px;
		font-size: 11.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.amk-page-transition__slow-note,
	.amk-page-transition__cancel {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}
