/**
 * Кастомная ПК-шапка Напольщика — две строки.
 */

:root {
	--nl-dh-accent: #9c2422;
	--nl-dh-accent-dark: #7a1c1a;
	--nl-dh-accent-soft: #f7eceb;
	--nl-dh-text: #1f1a1a;
	--nl-dh-muted: #6b6564;
	--nl-dh-border: #e8e0db;
	--nl-dh-surface: #faf7f4;
	--nl-dh-bar: #f6f1ec;
	--nl-dh-radius: 14px;
	--nl-dh-shadow: 0 12px 28px rgba(41, 35, 35, 0.1);
}

.nl-header {
	display: none;
}

@media (min-width: 1025px) {
	.nl-has-custom-desktop-header .nl-header {
		display: block;
	}

	.nl-has-custom-desktop-header .whb-main-header {
		display: none !important;
	}
}

.nl-header__shell {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 24px;
}

.nl-header__sticky-sentinel {
	height: 1px;
	margin: 0;
	pointer-events: none;
	visibility: hidden;
}

/* Sticky-док: лого + контакты + меню */
.nl-header__sticky {
	position: sticky;
	top: 0;
	z-index: 300;
	background: rgba(246, 241, 236, 0.94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(31, 26, 26, 0.06);
	transition: box-shadow 0.2s ease;
}

.nl-header__sticky.is-stuck {
	box-shadow: 0 8px 24px rgba(41, 35, 35, 0.08);
}

/* Row 1: logo + contacts */
.nl-header__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 96px;
	padding: 14px 0 8px;
	transition: min-height 0.2s ease, padding 0.2s ease;
}

.nl-header__sticky.is-stuck .nl-header__top {
	min-height: 56px;
	padding: 8px 0 6px;
	gap: 16px;
}

.nl-header__logo {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	text-decoration: none;
}

.nl-header__logo-img {
	display: block;
	width: auto;
	height: 88px;
	max-width: 240px;
	object-fit: contain;
	transition: height 0.2s ease, max-width 0.2s ease;
}

.nl-header__sticky.is-stuck .nl-header__logo-img {
	height: 44px;
	max-width: 140px;
}

.nl-header__contacts,
.nl-header__tools,
.nl-header__nav,
.nl-header__nav-row {
	display: flex;
	align-items: center;
	min-width: 0;
}

.nl-header__contacts {
	flex: 1 1 auto;
	justify-content: flex-end;
	gap: 12px;
}

/* Row 2: nav + tools */
.nl-header__nav-row {
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 12px;
	transition: padding 0.2s ease;
}

.nl-header__sticky.is-stuck .nl-header__nav-row {
	padding: 0 0 8px;
}

.nl-header__nav {
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 8px;
	padding: 8px;
	border: 1px solid rgba(31, 26, 26, 0.08);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.72);
}

.nl-header__tools {
	flex: 0 0 auto;
	gap: 6px;
	margin-left: auto;
}

/* Nav pills */
.nl-dh-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--nl-dh-text);
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nl-dh-pill:hover,
.nl-dh-pill:focus-visible,
.nl-dh-catalog.is-open .nl-dh-pill--catalog {
	background: #fff;
	border-color: rgba(31, 26, 26, 0.1);
	color: var(--nl-dh-accent);
	outline: none;
}

.nl-dh-pill--catalog {
	background: #fff;
	border-color: rgba(31, 26, 26, 0.12);
	box-shadow: 0 1px 2px rgba(41, 35, 35, 0.04);
}

.nl-dh-pill--accent {
	color: var(--nl-dh-accent);
	background: var(--nl-dh-accent-soft);
}

.nl-dh-pill__icon,
.nl-dh-pill__chevron {
	display: inline-flex;
	color: currentColor;
}

.nl-dh-pill__icon .nl-dh-icon {
	width: 14px;
	height: 14px;
}

.nl-dh-pill__chevron .nl-dh-icon {
	width: 13px;
	height: 13px;
	transition: transform 0.2s ease;
}

.nl-dh-catalog {
	position: relative;
}

.nl-dh-catalog.is-open .nl-dh-pill__chevron .nl-dh-icon {
	transform: rotate(180deg);
}

.nl-dh-catalog__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 1200;
	min-width: 230px;
	padding: 8px;
	border: 1px solid var(--nl-dh-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--nl-dh-shadow);
}

.nl-dh-catalog__panel[hidden] {
	display: none !important;
}

.nl-dh-catalog__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nl-dh-catalog__link {
	display: block;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--nl-dh-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.nl-dh-catalog__link:hover,
.nl-dh-catalog__link:focus-visible {
	background: var(--nl-dh-accent-soft);
	color: var(--nl-dh-accent);
	outline: none;
}

.nl-dh-icon {
	display: block;
	width: 18px;
	height: 18px;
}

.nl-dh-icon--chevron {
	width: 14px;
	height: 14px;
	transition: transform 0.2s ease;
}

/* Round tools */
.nl-dh-round {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(31, 26, 26, 0.1);
	border-radius: 50%;
	background: #fff;
	color: var(--nl-dh-text);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nl-dh-round:hover,
.nl-dh-round:focus-visible,
.nl-header.is-search-open .nl-dh-round--search {
	background: var(--nl-dh-accent-soft);
	border-color: rgba(156, 36, 34, 0.28);
	color: var(--nl-dh-accent);
	outline: none;
}

.nl-dh-round .nl-dh-icon {
	width: 17px;
	height: 17px;
}

/* Location pill */
.nl-dh-stores {
	position: relative;
	flex: 0 0 auto;
}

.nl-dh-stores__trigger {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	margin: 0;
	padding: 7px 12px 7px 7px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--nl-dh-text);
	box-shadow: 0 1px 2px rgba(41, 35, 35, 0.06);
	cursor: pointer;
	text-align: left;
	transition: box-shadow 0.2s ease;
}

.nl-dh-stores__trigger:hover,
.nl-dh-stores__trigger:focus-visible,
.nl-dh-stores.is-open .nl-dh-stores__trigger {
	outline: none;
	box-shadow: 0 0 0 3px rgba(156, 36, 34, 0.1);
}

.nl-dh-stores__pin {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--nl-dh-accent-soft);
	color: var(--nl-dh-accent);
}

.nl-dh-stores__pin .nl-dh-icon {
	width: 16px;
	height: 16px;
}

.nl-dh-stores__chevron {
	display: inline-flex;
	color: var(--nl-dh-muted);
}

.nl-dh-stores.is-open .nl-dh-icon--chevron {
	transform: rotate(180deg);
}

.nl-dh-stores__text {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	gap: 1px;
	line-height: 1.15;
}

.nl-dh-stores__label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nl-dh-muted);
	white-space: nowrap;
}

.nl-dh-stores__summary {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--nl-dh-text);
	white-space: nowrap;
}

.nl-dh-stores__panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 1200;
	width: min(400px, calc(100vw - 48px));
	padding: 10px;
	border: 1px solid var(--nl-dh-border);
	border-radius: var(--nl-dh-radius);
	background: #fff;
	box-shadow: var(--nl-dh-shadow);
}

.nl-dh-stores__panel[hidden] {
	display: none !important;
}

.nl-dh-stores__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: min(70vh, 460px);
	overflow: auto;
}

.nl-dh-store {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--nl-dh-border);
	border-radius: 12px;
	background: var(--nl-dh-surface);
}

.nl-dh-store__name {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--nl-dh-accent);
}

.nl-dh-store__address {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--nl-dh-text);
}

.nl-dh-store__note {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	color: var(--nl-dh-muted);
}

.nl-dh-store__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
}

.nl-dh-store__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 8px;
	background: #fff;
	color: var(--nl-dh-text);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.nl-dh-store__phone:hover,
.nl-dh-store__phone:focus-visible {
	color: var(--nl-dh-accent);
	background: var(--nl-dh-accent-soft);
	outline: none;
}

.nl-dh-store__phone-icon {
	display: inline-flex;
	color: var(--nl-dh-accent);
}

.nl-dh-store__phone-icon .nl-dh-icon {
	width: 14px;
	height: 14px;
}

.nl-dh-store__maps {
	display: inline-flex;
	gap: 6px;
}

.nl-dh-map {
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	border-radius: 999px;
	border: 1px solid var(--nl-dh-border);
	background: #fff;
	color: var(--nl-dh-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.nl-dh-map:hover,
.nl-dh-map:focus-visible {
	color: var(--nl-dh-accent);
	border-color: #e0c9c7;
	background: var(--nl-dh-accent-soft);
	outline: none;
}

/* Phones */
.nl-dh-phones {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
}

.nl-dh-phones__pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 14px 9px 8px;
	border: 1px solid rgba(31, 26, 26, 0.08);
	border-radius: 999px;
	background: #fff;
	color: var(--nl-dh-text);
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.nl-dh-phones__pill--primary {
	background: var(--nl-dh-accent);
	border-color: var(--nl-dh-accent);
	color: #fff;
	font-weight: 800;
}

.nl-dh-phones__pill:hover,
.nl-dh-phones__pill:focus-visible {
	border-color: rgba(156, 36, 34, 0.28);
	background: var(--nl-dh-accent-soft);
	color: var(--nl-dh-accent);
	outline: none;
}

.nl-dh-phones__pill--primary:hover,
.nl-dh-phones__pill--primary:focus-visible {
	background: var(--nl-dh-accent-dark);
	border-color: var(--nl-dh-accent-dark);
	color: #fff;
}

.nl-dh-phones__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--nl-dh-surface);
	color: var(--nl-dh-accent);
}

.nl-dh-phones__pill--primary .nl-dh-phones__icon {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.nl-dh-phones__icon .nl-dh-icon {
	width: 13px;
	height: 13px;
}

/* Search panel */
.nl-header__search {
	padding: 0 0 14px;
}

.nl-header__search[hidden] {
	display: none !important;
}

.nl-header__search-form {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px;
	border: 1px solid var(--nl-dh-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--nl-dh-shadow);
}

.nl-header__search-input {
	flex: 1 1 auto;
	min-width: 0;
	height: 42px;
	padding: 0 14px;
	border: 0;
	border-radius: 10px;
	background: var(--nl-dh-surface);
	color: var(--nl-dh-text);
	font-family: Mulish, sans-serif;
	font-size: 15px;
	outline: none;
}

.nl-header__search-submit {
	flex: 0 0 auto;
	height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: var(--nl-dh-accent);
	color: #fff;
	font-family: Mulish, sans-serif;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.nl-header__search-submit:hover,
.nl-header__search-submit:focus-visible {
	background: var(--nl-dh-accent-dark);
	outline: none;
}

.nl-header__search-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--nl-dh-muted);
	cursor: pointer;
}

.nl-header__search-close:hover,
.nl-header__search-close:focus-visible {
	color: var(--nl-dh-accent);
	background: var(--nl-dh-accent-soft);
	outline: none;
}

@media (max-width: 1280px) {
	.nl-header__shell {
		padding: 0 16px;
	}

	.nl-header__logo-img {
		height: 76px;
		max-width: 200px;
	}

	.nl-header__sticky.is-stuck .nl-header__logo-img {
		height: 40px;
		max-width: 120px;
	}

	.nl-header__top {
		min-height: 84px;
		gap: 18px;
	}

	.nl-header__contacts {
		gap: 8px;
	}

	.nl-dh-phones__pill {
		font-size: 13px;
		padding: 8px 12px 8px 7px;
	}
}

@media (max-width: 1100px) {
	.nl-dh-phones__pill:not(.nl-dh-phones__pill--primary) .nl-dh-phones__icon {
		display: none;
	}
}

@media (max-width: 1024px) {
	.nl-header {
		display: none !important;
	}

	/* Старые Elementor-слоты контактов WHB не показываем на mobile. */
	.whb-general-header .elementor-172,
	.whb-general-header .elementor-2988,
	.whb-header .elementor-172,
	.whb-header .elementor-2988 {
		display: none !important;
	}
}
