/* Мобильная совместимость: Huawei / HarmonyOS, планшеты, safe-area */

:root {
	--narine-mobile-bottom-bar-height: calc(0.5rem + 1.5rem + 0.25rem + 1.25rem);
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@media (max-width: 1024px) {
	html,
	body {
		overflow-x: clip;
		max-width: 100%;
	}

	#page.site {
		overflow-x: clip;
		max-width: 100%;
	}

	.site-main {
		max-width: 100%;
	}
}

/* Отступ под нижний таб-бар: класс body (Huawei Browser без :has) + современные браузеры */
@media (max-width: 768px) {
	body.narine-has-mobile-bottom-bar,
	body:has(.narine-masthead-mobile-bottom) {
		padding-bottom: calc(
			var(--narine-mobile-bottom-bar-height) + env(safe-area-inset-bottom, 0px)
		);
	}

	body.narine-has-mobile-bottom-bar .narine-masthead-mobile-bottom,
	body:has(.narine-masthead-mobile-bottom) .narine-masthead-mobile-bottom {
		box-sizing: border-box;
		min-height: var(--narine-mobile-bottom-bar-height);
		padding-bottom: env(safe-area-inset-bottom, 0px);
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* Главная: без горизонтального скролла у hero-swiper на узких экранах */
.narine-front-hero-swiper {
	overflow: hidden;
	max-width: 100%;
}

.narine-front-hero-swiper .swiper-wrapper {
	width: 100% !important;
	max-width: 100%;
}

.narine-front-hero-swiper .swiper-slide {
	width: 100% !important;
	max-width: 100%;
}

/* Мобильный main: dvh с fallback для адресной строки Huawei Browser */
body.narine-mobile-app-layout .site-main.min-h-screen {
	min-height: 100vh;
	min-height: 100dvh;
}

/* Cookie-баннер: отступ прокрутки с учётом таб-бара */
@media (max-width: 768px) {
	html.pastor-cookie-consent-open body.narine-has-mobile-bottom-bar,
	html.pastor-cookie-consent-open body:has(.narine-masthead-mobile-bottom) {
		scroll-padding-bottom: calc(10rem + var(--narine-mobile-bottom-bar-height));
	}
}

/* Нижняя навигация: равномерно по ширине, с зазорами между пунктами */
.narine-masthead-mobile-bottom .narine-mnav-bottom {
	gap: 0.875rem;
}

.narine-masthead-mobile-bottom .narine-mnav-bottom > a {
	flex: 1 1 0;
	min-width: 0;
}

/* Тач-цели в нижней навигации */
.narine-masthead-mobile-bottom nav > a {
	min-height: 44px;
	-webkit-tap-highlight-color: transparent;
}

/* Главная и каталог: меньше пустоты под сеткой товаров на мобилке */
@media (max-width: 767px) {
	body.narine-mobile-app-layout #narine-catalog-top hr {
		margin-top: 1rem !important;
		margin-bottom: 1rem !important;
	}

	body.narine-mobile-app-layout #narine-catalog-top .mt-8,
	body.narine-mobile-app-layout #narine-catalog-top .mt-6 {
		margin-top: 0.75rem !important;
	}

	body.narine-mobile-app-layout #narine-catalog-pagination {
		min-height: 0;
	}
}

/* Десктопная шапка на телефоне (если режим приложения выключен) */
@media (max-width: 767px) {
	#masthead.site-header .narine-header-primary-bar,
	#masthead.site-header > .w-full.bg-white {
		padding-left: max(0.5rem, env(safe-area-inset-left, 0px));
		padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
	}
}

/* Главная мобилка: кнопка «К коллекции ГОСТ» */
.narine-home-gost-cta-mobile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 16rem;
	padding: 0.625rem 1rem;
	border: 1px solid #000;
	background-color: #000;
	color: #fff !important;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.narine-home-gost-cta-mobile:hover {
	opacity: 0.9;
	color: #fff !important;
}

@media (min-width: 640px) {
	.narine-home-gost-cta-mobile {
		max-width: 18rem;
		padding: 0.75rem 1rem;
		font-size: 0.875rem;
	}
}

/* Футер: центрирование текста на мобилке и планшете */
@media (max-width: 767px) {
	#colophon.site-footer > div {
		text-align: center;
	}

	#colophon.site-footer > div > * {
		justify-self: center !important;
		text-align: center !important;
		margin-left: auto;
		margin-right: auto;
	}

	#colophon .pastor-cookie-consent__footer-link {
		display: inline-block;
	}
}
