/* Фирменный оптический маршрут: один статичный декоративный сигнал на крупный
   переход страницы. Он не создаёт новых узлов, не меняет высоту секций и не
   повторяется внутри карточек, форм, изображений или навигации. */
body.nevtech-site-shell {
	--nevtech-optical-width: 88px;
	--nevtech-optical-start: 28px;
	--nevtech-optical-line:
		radial-gradient(circle at calc(100% - 3px) 50%, #fff 0 1px, #8fc4f3 1.5px 2.5px, rgb(75 143 217 / 18%) 3px, transparent 7px),
		linear-gradient(90deg, rgb(75 143 217 / 8%) 0%, #4b8fd9 42%, #b9dcff 100%);
}

body.home :is(
	.nevtech-cycle-grid,
	.nevtech-directions-heading,
	.nevtech-home-brands__head,
	.nevtech-home-contact__intro
)::before {
	box-sizing: border-box;
	width: var(--nevtech-optical-width);
	height: 12px;
	margin-bottom: 24px;
	background-image: var(--nevtech-optical-line);
	background-position: 0 0, var(--nevtech-optical-start) 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%, calc(100% - var(--nevtech-optical-start)) 1px;
	font-size: 11px;
	line-height: 12px;
	pointer-events: none;
}

body.home .nevtech-cycle-grid::before { content: "01" / ""; }
body.home .nevtech-directions-heading::before { content: "02" / ""; }
body.home .nevtech-home-brands__head::before { content: "03" / ""; }
body.home .nevtech-home-contact__intro::before { content: "04" / ""; }

body:not(.home) .nevtech-page-main .wp-block-post-content,
body.nevtech-commerce:not(.single-product) .nevtech-catalog-title,
body.single-product .nevtech-product-shell .woocommerce-tabs {
	position: relative;
}

body:not(.home) .nevtech-page-main .wp-block-post-content::before,
body.nevtech-commerce:not(.single-product) .nevtech-catalog-title::after,
body.single-product .nevtech-product-shell .woocommerce-tabs::before {
	position: absolute;
	z-index: 1;
	left: 0;
	width: var(--nevtech-optical-width);
	height: 12px;
	background-image: var(--nevtech-optical-line);
	background-position: 0 0, 0 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%, 100% 1px;
	content: "";
	pointer-events: none;
}

body:not(.home) .nevtech-page-main .wp-block-post-content::before {
	top: -30px;
	/* Не фиксируем 20 px: при широком содержащем блоке линия должна остаться
	   на оси 1240-пиксельной смысловой колонки, а не у края страницы. */
	left: max(0px, calc((100% - 1240px) / 2));
}

body.nevtech-commerce:not(.single-product) .nevtech-catalog-title::after {
	bottom: -34px;
}

body.single-product .nevtech-product-shell .woocommerce-tabs::before {
	top: -6px;
}

@media (max-width: 781px) {
	body.nevtech-site-shell {
		--nevtech-optical-width: 56px;
		--nevtech-optical-start: 20px;
	}

	body:not(.home) .nevtech-page-main .wp-block-post-content::before {
		top: -22px;
	}

	body.nevtech-commerce:not(.single-product) .nevtech-catalog-title::after {
		bottom: -22px;
	}
}

@media (forced-colors: active), print {
	body.home :is(
		.nevtech-cycle-grid,
		.nevtech-directions-heading,
		.nevtech-home-brands__head,
		.nevtech-home-contact__intro
	)::before {
		background-image: none;
	}

	body:not(.home) .nevtech-page-main .wp-block-post-content::before,
	body.nevtech-commerce:not(.single-product) .nevtech-catalog-title::after,
	body.single-product .nevtech-product-shell .woocommerce-tabs::before {
		display: none;
	}
}

body.nevtech-site-shell .nevtech-site-header {
	min-height: 65px;
}

body.nevtech-site-shell .nevtech-site-header > .wp-block-group {
	min-height: 64px;
}

/* Порядок в DOM начинается с навигации, чтобы на мобильном клавиатура и
   визуальная строка шли одинаково: бургер, логотип, действия. На широком
   экране привычная композиция восстанавливается через order. */
body.nevtech-site-shell .nevtech-site-header .wp-block-site-title { order: 1; }
body.nevtech-site-shell .nevtech-site-header .wp-block-navigation { order: 2; }
body.nevtech-site-shell .nevtech-site-header .nevtech-header-actions { order: 3; }

body.nevtech-site-shell .nevtech-site-header .wp-block-site-title,
body.nevtech-site-shell .nevtech-site-header .wp-block-site-title a {
	width: 78px;
	min-width: 78px;
	height: 44px;
	min-height: 44px;
	font-size: 0;
}

body.nevtech-site-shell .nevtech-site-header .wp-block-site-title {
	flex: 0 0 78px;
}

body.nevtech-site-shell .nevtech-site-header .wp-block-site-title a {
	display: block;
	background: #183a5a;
	-webkit-mask: url("../images/home-v1/logo-header-no-year.png") center / contain no-repeat;
	mask: url("../images/home-v1/logo-header-no-year.png") center / contain no-repeat;
}

body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
}

body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container.is-menu-open {
	max-height: 100dvh;
	overflow-x: hidden;
	overflow-y: auto;
}

body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

body.nevtech-site-shell .nevtech-site-footer {
	--home-ink: #1d1d1f;
	--home-blue: #4b8fd9;
	--home-muted: #6e6e73;
	margin-top: 0 !important;
	padding: 16px 0 24px !important;
	background: #fff !important;
}

body.nevtech-site-shell .nevtech-footer__panel {
	box-sizing: border-box;
	max-width: 1240px !important;
	margin: 0 auto !important;
	padding: 32px 36px 20px;
	border: 0;
	border-radius: 24px;
	background: #f6f7f8;
}

body.nevtech-site-shell .nevtech-footer__columns {
	display: grid !important;
	grid-template-columns: 1.45fr 1fr .8fr 1.5fr !important;
	column-gap: 42px !important;
	row-gap: 12px !important;
	align-items: start;
	padding-bottom: 0;
}

body.nevtech-site-shell .nevtech-footer__visual,
body.nevtech-site-shell .nevtech-footer__content,
body.nevtech-site-shell .nevtech-footer__compact-wordmark,
body.nevtech-site-shell .nevtech-footer__link-grid {
	display: contents !important;
}

body.nevtech-site-shell .nevtech-footer__compact-wordmark > p:first-child {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	color: #000 !important;
	font-size: 44px !important;
	font-weight: 750;
	line-height: .88;
	letter-spacing: -.055em;
}

body.nevtech-site-shell .nevtech-footer__compact-wordmark > p:first-child span {
	display: block;
	color: var(--home-blue) !important;
}

body.nevtech-site-shell .nevtech-footer__descriptor {
	max-width: 250px;
	grid-column: 1;
	grid-row: 2;
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
}

body.nevtech-site-shell .nevtech-footer__contact {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0 !important;
	padding: 0 !important;
}

body.nevtech-site-shell .nevtech-footer__group--site {
	grid-column: 3;
	grid-row: 1 / span 2;
}

body.nevtech-site-shell .nevtech-footer__group--catalog {
	grid-column: 4;
	grid-row: 1 / span 2;
}

body.nevtech-site-shell .nevtech-footer__columns h2 {
	margin: 2px 0 8px !important;
	color: var(--home-ink) !important;
	font-size: 11px !important;
	letter-spacing: .08em;
}

body.nevtech-site-shell .nevtech-footer__links,
body.nevtech-site-shell .nevtech-footer__columns p {
	margin-top: 0;
}

body.nevtech-site-shell .nevtech-footer__links {
	margin-bottom: 0;
	padding: 0;
}

body.nevtech-site-shell .nevtech-footer__links a,
body.nevtech-site-shell .nevtech-footer__contact-links a {
	display: flex;
	min-height: 44px !important;
	align-items: flex-start;
	color: var(--home-muted);
	font-size: 13px;
	line-height: 1.55;
}

body.nevtech-site-shell .nevtech-site-footer a:hover,
body.nevtech-site-shell .nevtech-site-footer a:focus-visible {
	color: var(--home-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.nevtech-site-shell .nevtech-footer__group--catalog .nevtech-footer__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 20px;
}

@media (min-width: 901px) {
	body.nevtech-site-shell .nevtech-footer__group--catalog .nevtech-footer__links > li:first-child {
		grid-column: 1 / -1;
	}
}

body.nevtech-site-shell .nevtech-footer__contact-links {
	display: flex !important;
	margin: 0 !important;
	align-items: flex-start;
	flex-direction: column;
	gap: 0 !important;
}

body.nevtech-site-shell .nevtech-footer__contact-links p {
	margin: 0;
}

body.nevtech-site-shell .nevtech-footer__address {
	margin: 0;
	color: var(--home-muted);
	font-size: 13px;
	line-height: 1.35;
}

body.nevtech-site-shell .nevtech-footer__address-line,
body.nevtech-site-shell .nevtech-footer__address-segment {
	display: block;
	color: inherit;
}

body.nevtech-site-shell .nevtech-footer__address-line--primary {
	display: contents;
}

@media (min-width: 1280px) {
	body.nevtech-site-shell .nevtech-footer__address {
		height: 52.640625px;
		padding-top: 14px;
		line-height: 17px;
	}

	body.nevtech-site-shell .nevtech-footer__address-line--primary {
		display: block;
		white-space: nowrap;
	}

	body.nevtech-site-shell .nevtech-footer__address-line--primary .nevtech-footer__address-segment {
		display: inline;
	}

	body.nevtech-site-shell .nevtech-footer__group--site .nevtech-footer__links > li:not(:first-child) > a {
		padding-block: 0;
	}
}

body.nevtech-site-shell .nevtech-footer__legal {
	margin-top: 8px;
	padding-top: 8px !important;
	justify-content: flex-start !important;
	column-gap: 32px;
}

body.nevtech-site-shell .nevtech-footer__legal p {
	margin: 0;
	font-size: 11px !important;
}

body.nevtech-site-shell .nevtech-footer__legal a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
}

@media (min-width: 901px) {
	body.nevtech-site-shell .nevtech-footer__columns {
		margin-bottom: 0 !important;
	}

	body.nevtech-site-shell .nevtech-footer__contact h2 {
		margin-bottom: 0 !important;
	}

	body.nevtech-site-shell .nevtech-footer__group--catalog .nevtech-footer__links a {
		padding-block: 0 !important;
	}
}

@media (min-width: 1025px) and (max-width: 1271px) {
	body.nevtech-site-shell .nevtech-site-header > .wp-block-group {
		box-sizing: border-box;
		padding-inline: 16px !important;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle {
		white-space: nowrap;
	}
}

@media (max-width: 1024px) {
	body.nevtech-site-shell .nevtech-site-header > .wp-block-group {
		justify-content: flex-start !important;
		gap: 8px;
		padding-inline: 16px !important;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation {
		order: 1;
		flex: 0 0 44px;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-site-title {
		order: 2;
		flex: 0 0 78px;
		margin: 0 !important;
	}

	body.nevtech-site-shell .nevtech-site-header .nevtech-header-actions {
		order: 3;
		margin-left: auto;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-open,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-close {
		margin: 0;
		padding: 0;
		border-radius: 10px;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-open[aria-expanded="true"] {
		visibility: hidden;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		top: 65px;
		right: 0;
		bottom: auto;
		left: 0;
		box-sizing: border-box;
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: calc(100dvh - 65px);
		padding: 0 12px 12px;
		background: transparent;
		overflow: visible;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-close,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-dialog {
		width: 100%;
		height: auto;
		min-height: 0;
		max-height: calc(100dvh - 77px);
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-dialog {
		padding: 10px 12px 14px;
		border: 1px solid #dce6ef;
		border-radius: 0 0 20px 20px;
		background: #fff;
		box-shadow: 0 18px 42px rgb(24 58 90 / 14%);
		overflow: visible;
		outline: 0;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: -56px;
		left: 3px;
		z-index: 2;
		background: #fff;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-content {
		padding: 0 !important;
		max-height: calc(100dvh - 101px);
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__responsive-container-content,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__container,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-item,
	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-container {
		box-sizing: border-box;
		width: 100%;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__container {
		gap: 0;
		justify-content: flex-start !important;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-item {
		position: relative;
		flex-wrap: wrap;
		border-bottom: 1px solid #edf1f4;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-item__content {
		display: flex;
		width: 100%;
		min-height: 48px;
		flex: 1 1 auto;
		align-items: center;
		justify-content: flex-start !important;
		padding: 10px 48px 10px 12px;
		border: 1px solid transparent;
		border-radius: 10px;
		color: #1d1d1f;
		font-size: 15px;
		line-height: 1.35;
		text-align: left;
		word-break: normal;
		overflow-wrap: break-word;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-container
		.wp-block-navigation-item:not(.has-child) > .wp-block-navigation-item__content {
		padding-right: 12px;
	}

	body.nevtech-site-shell .nevtech-site-header
		.wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
		padding-right: 48px;
	}

	body.nevtech-site-shell .nevtech-site-header
		.wp-block-navigation__responsive-container.is-menu-open
		:is(
			.wp-block-navigation-item__content,
			.wp-block-navigation-submenu__toggle,
			.wp-block-navigation__responsive-container-close
	):focus-visible {
		outline: 3px solid #4b8fd9 !important;
		outline-offset: -3px;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-item__content[aria-current="page"] {
		border-color: #4b8fd9;
		background: #edf4fb;
		color: #183a5a;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-submenu__toggle {
		position: absolute;
		top: 2px;
		right: 0;
		z-index: 1;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		border-radius: 10px;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-icon {
		transition: transform 160ms ease;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation-submenu__toggle svg {
		width: 14px !important;
		height: 14px !important;
	}

	body.nevtech-site-shell .nevtech-site-header .nevtech-submenu-open > .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon {
		transform: rotate(180deg);
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-container {
		display: none !important;
		position: static !important;
		min-width: 0;
		margin: 0;
		padding: 2px 0 6px 16px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.nevtech-site-shell .nevtech-site-header
		.wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content
		.has-child > .wp-block-navigation__submenu-container {
		padding: 2px 0 6px 16px;
	}

	body.nevtech-site-shell .nevtech-site-header .nevtech-submenu-open > .wp-block-navigation__submenu-container {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-bottom: 0;
	}

	body.nevtech-site-shell .nevtech-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		min-height: 44px;
		padding-block: 8px;
		font-size: 14px;
	}

	body.nevtech-site-shell .nevtech-site-header .nevtech-mobile-email {
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid #dce6ef;
		border-bottom: 0;
	}
}

@media (max-width: 900px) {
	body.nevtech-site-shell .nevtech-footer__panel {
		width: calc(100% - 32px);
		padding: 36px 28px 24px;
	}

	body.nevtech-site-shell .nevtech-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.nevtech-site-shell .nevtech-footer__compact-wordmark > p:first-child,
	body.nevtech-site-shell .nevtech-footer__descriptor,
	body.nevtech-site-shell .nevtech-footer__group--catalog {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	body.nevtech-site-shell .nevtech-footer__contact {
		grid-column: 1;
		grid-row: auto;
	}

	body.nevtech-site-shell .nevtech-footer__group--site {
		grid-column: 2;
		grid-row: auto;
	}
}

@media (max-width: 520px) {
	body.nevtech-site-shell .nevtech-footer__panel {
		padding: 28px 24px 20px;
	}

	body.nevtech-site-shell .nevtech-footer__columns {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.nevtech-site-shell .nevtech-footer__visual,
	body.nevtech-site-shell .nevtech-footer__content,
	body.nevtech-site-shell .nevtech-footer__compact-wordmark {
		display: block !important;
	}

	body.nevtech-site-shell .nevtech-footer__compact-wordmark {
		min-height: 0 !important;
	}

	body.nevtech-site-shell .nevtech-footer__compact-wordmark > p:first-child {
		font-size: 40px !important;
	}

	body.nevtech-site-shell .nevtech-footer__link-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	body.nevtech-site-shell .nevtech-footer__descriptor {
		margin-top: 12px;
	}

	body.nevtech-site-shell .nevtech-footer__contact,
	body.nevtech-site-shell .nevtech-footer__content {
		margin-top: 20px !important;
	}

	body.nevtech-site-shell .nevtech-footer__contact-links {
		flex-flow: row wrap !important;
		column-gap: 12px !important;
	}

	body.nevtech-site-shell .nevtech-footer__group--site,
	body.nevtech-site-shell .nevtech-footer__group--catalog {
		width: 100%;
		min-width: 0;
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	body.nevtech-site-shell .nevtech-footer__legal {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	body.nevtech-site-shell .nevtech-footer__legal.alignwide {
		width: 100% !important;
		max-width: none !important;
		margin: 8px 0 0 !important;
	}

	body.nevtech-site-shell .nevtech-footer__group--site .nevtech-footer__links,
	body.nevtech-site-shell .nevtech-footer__group--catalog .nevtech-footer__links {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 12px;
	}

	body.nevtech-site-shell .nevtech-footer__group--site .nevtech-footer__links > li:last-child,
	body.nevtech-site-shell .nevtech-footer__group--catalog .nevtech-footer__links > li:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 340px) {
	body.nevtech-site-shell .nevtech-header-phone {
		display: none;
	}
}
