/* Мобильная совместимость: 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));
	}
}

/* Главная мобилка: кнопка «К коллекции ГОСТ» — чёрный текст на белом (не Tailwind) */
.narine-front-hero-banner__mobile-cta a.narine-home-gost-cta-mobile,
a.narine-home-gost-cta-mobile,
#page .narine-front-hero-banner a.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 !important;
	border-radius: 0 !important;
	background-color: #fff !important;
	background-image: none !important;
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}

.narine-front-hero-banner__mobile-cta a.narine-home-gost-cta-mobile:hover,
.narine-front-hero-banner__mobile-cta a.narine-home-gost-cta-mobile:focus-visible,
a.narine-home-gost-cta-mobile:hover,
a.narine-home-gost-cta-mobile:focus-visible {
	opacity: 0.88;
	color: #000 !important;
	-webkit-text-fill-color: #000 !important;
	background-color: #fff !important;
}

/* Карточка товара: плотнее блок название + цена */
.narine-sp-fragment-col2 > h1 + .narine-sp-price-headline {
	margin-top: 0.25rem;
}

.narine-sp-product-tabs .narine-sp-tab-panel {
	background: transparent;
}

@media (max-width: 767px) {
	body.narine-mobile-app-layout .products-loop {
		gap: 1.125rem !important;
	}
}

@media (min-width: 640px) {
	.narine-home-gost-cta-mobile {
		max-width: 18rem;
		padding: 0.75rem 1rem;
		font-size: 0.875rem;
	}
}

/* Hero-баннер: на всю ширину, кадр по центру, выше на широких экранах */
.narine-front-hero-banner {
	width: 100%;
	max-width: none;
}

.narine-front-hero-banner__frame {
	height: 185px;
}

@media (min-width: 640px) {
	.narine-front-hero-banner__frame {
		height: clamp(300px, 42vw, 560px);
	}
}

.narine-front-hero-banner__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center center;
}

/* Футер ПК: логотип-значок (не зависит от Tailwind md:block) */
.footer-logo-desktop {
	display: none;
}

.footer-logo-mobile {
	display: block;
	width: auto;
	max-width: min(240px, 100%);
	height: auto;
	max-height: 2.5rem;
	object-fit: contain;
}

@media (min-width: 768px) {
	.footer-logo-desktop {
		display: block !important;
		max-height: 3.25rem;
		width: auto;
		max-width: min(320px, 100%);
		height: auto;
	}

	.footer-logo-mobile {
		display: none !important;
	}
}

/* Футер: центрирование текста на мобилке и планшете */
@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;
	}
}

/* Карточка товара: кнопка «В корзину» слева, без серой подложки */
.narine-sp-buy-panel,
.narine-sp-buy-panel .narine-sp-cart-host,
.narine-sp-variable-row,
.narine-sp-variable-wrap,
.narine-variation-form-shell,
.narine-variation-form-shell form.variations_form,
.narine-variation-form-shell .woocommerce-variation-add-to-cart,
.narine-variation-form-shell .single_variation_wrap {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.narine-sp-buy-panel {
	padding: 0 !important;
}

.narine-sp-buy-panel .narine-sp-state-cart,
.narine-sp-buy-panel .narine-sp-simple-row,
.narine-sp-buy-panel .narine-sp-variable-row,
.narine-sp-buy-panel .narine-sp-variable-wrap,
.narine-sp-buy-panel .narine-variation-form-shell,
.narine-sp-buy-panel .woocommerce-variation-add-to-cart {
	justify-content: flex-start;
}

.narine-variation-picker .narine-variation-option img {
	object-fit: contain !important;
}

.narine-sp-buy-panel .narine-sp-btn-add {
	width: auto !important;
	max-width: 100%;
}
