/*
 * Анимации на сенсорных устройствах (телефоны, планшеты) — «как в iOS»: пружины и чуть дольше.
 * На компьютере с мышью остаются короткие анимации в духе macOS (css/navigation.css).
 * Решение 2026-10-15.
 *
 * Пружины записаны функцией linear() — отклик затухающего осциллятора:
 * --ios-spring       — затухание 0.9, почти без дотягивания (переходы экранов в iOS);
 * --ios-spring-soft  — затухание 0.82, дотягивание ~1% (фото товара, подсветка меню).
 */
@media (hover: none) and (pointer: coarse) {
	:root {
		--ios-spring: linear(0, 0.0236, 0.0821, 0.1611, 0.2499, 0.3415, 0.4307, 0.5144, 0.5909, 0.6593, 0.7192, 0.771, 0.8152, 0.8524, 0.8834, 0.9089, 0.9297, 0.9464, 0.9598, 0.9704, 0.9787, 0.985, 0.9899, 0.9935, 0.9962, 0.9981, 0.9995, 1.0004, 1.001, 1.0013, 1.0015, 1.0015, 1.0015, 1.0014, 1.0013, 1);
		--ios-spring-soft: linear(0, 0.0264, 0.0923, 0.1813, 0.2813, 0.3838, 0.4827, 0.5744, 0.6568, 0.7288, 0.7904, 0.8419, 0.8841, 0.9181, 0.9448, 0.9654, 0.9809, 0.9922, 1.0001, 1.0054, 1.0087, 1.0104, 1.0111, 1.011, 1.0103, 1.0094, 1.0083, 1.0072, 1.0061, 1.005, 1.0041, 1.0032, 1.0025, 1.0019, 1.0014, 1);
		--nav-shift: 28px;
	}

	/* Переходы страниц: View Transitions */
	html.nav-vt::view-transition-old(root) {
		animation-duration: 0.24s;
	}

	html.nav-vt::view-transition-new(root) {
		animation-duration: 0.45s;
		animation-timing-function: var(--ios-spring);
	}

	html.nav-vt[data-nav-dir="photo"]::view-transition-new(root) {
		animation-duration: 0.4s;
		animation-timing-function: var(--ios-spring);
	}

	::view-transition-group(product-photo) {
		animation-duration: 0.55s;
		animation-timing-function: var(--ios-spring-soft);
	}

	/* Переходы страниц: запасной вариант без View Transitions */
	body.nav-exit-left .site-page-transition,
	body.nav-exit-right .site-page-transition {
		transition-duration: 0.24s;
	}

	html.nav-enter-from-right .site-page-transition,
	html.nav-enter-from-left .site-page-transition {
		animation-duration: 0.45s;
		animation-timing-function: var(--ios-spring);
	}

	/* Жёлтая подсветка вкладки меню */
	.main-menu-slider {
		transition: transform 0.5s var(--ios-spring-soft), width 0.5s var(--ios-spring-soft);
	}
}

/* Панели острова на планшете */
@media (hover: none) and (pointer: coarse) and (min-width: 768px) {
	.navigation-site--compact .island-panel,
	.navigation-site--compact .category-list.island-panel {
		transition:
			grid-template-rows 0.45s var(--ios-spring),
			opacity 0.24s var(--ease-out),
			border-color 0.24s var(--ease-out),
			visibility 0s linear 0.45s;
	}

	.navigation-site--compact .island-panel.active,
	.navigation-site--compact .category-list.island-panel.active {
		transition:
			grid-template-rows 0.45s var(--ios-spring),
			opacity 0.24s var(--ease-out),
			border-color 0.24s var(--ease-out),
			visibility 0s linear 0s;
	}
}

@media (hover: none) and (pointer: coarse) and (prefers-reduced-motion: reduce) {
	.main-menu-slider,
	.navigation-site--compact .island-panel {
		transition: none;
	}
}
