/* NEW WOOD ART — внутренние страницы в стиле «лаборатории» ------------------
   Категория, карточка товара, поиск, вход, регистрация, контакты, текстовые
   страницы, каталог NWA, «Жертва 2.0», корзина и оформление заказа — то есть
   всё, кроме главной.

   У корзины, оформления и «Жертвы» есть СВОИ файлы (nwa-cart.css,
   checkout.css, nwa-zhertva.css), но они не заменяют этот, а дополняют:
   палитра, панель, подвал и формы приходят отсюда. Своя палитра осталась
   только у главной — nwa-lab-home.css.

   Как это работает
   ----------------
   Тема UniShop2 целиком построена на CSS-переменных: .top-menu берёт фон из
   --top-menu-bg, тот — из --nwa-bg-block, и так до горстки базовых --nwa-*,
   которые задаёт custom-dark-theme.css в :root. Поэтому здесь не перебиваются
   селекторы темы (это была бы бесконечная гонка специфичности), а
   переопределяется сама палитра на body.nwa-page.

   Класс nwa-page ставит uni_new_data.php по маршруту страницы. Без него файл
   не действует ни на что.
   -------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

body.nwa-page{
	/* --- Базовая палитра: те же цвета, что в nwa-lab-home.css -------------- */
	--nwa-bg-body:#F2F2F0;
	--nwa-bg-block:#FFFFFF;
	--nwa-bg-card:#FFFFFF;
	--nwa-text:#2A2C2E;
	--nwa-text-secondary:#5A5D60;
	--nwa-accent:#DE4E10;
	--nwa-accent-hover:#BD420E;
	--nwa-accent-text:#FFFFFF;
	--nwa-accent-dark:#BD420E;
	--nwa-accent-dark-hover:#DE4E10;
	--nwa-border:rgba(42,44,46,.14);
	--nwa-scrim:rgba(12,13,15,.7);

	--body-font:'Montserrat', 'Helvetica Neue', Arial, sans-serif;

	/* --- Кнопка «В корзину» -----------------------------------------------
	   Тема держит её цвета в отдельных переменных, включая состояние «уже в
	   корзине», — переопределяем их, а не селекторы.
	   Ведёт себя как название товара: спокойный бежевый, при наведении
	   оранжевый. Фона нет ни в одном состоянии — кнопка читается как ссылка.
	   Добавленный товар подсвечен тем же оранжевым, что и наведение: так
	   видно, что он уже в корзине, без лишней заливки. */
	--add-to-cart-btn-c:#BD420E;
	--add-to-cart-btn-bg:transparent;
	--add-to-cart-btn-c-hover:#F06529;
	--add-to-cart-btn-bg-hover:transparent;
	--add-to-cart-btn-c-incart:#F06529;
	--add-to-cart-btn-bg-incart:transparent;

	/* Подвал на главной остался тёмным, с фоновой картой — светлая палитра
	   выше его перекрасила бы, потому что --footer-bg завязан на
	   --nwa-bg-block. Возвращаем ему прежние цвета явно. */
	--footer-bg:#0C0D0F;
	--footer-c:rgba(255,255,255,.78);
	--footer-heading-c:#FFFFFF;

	/* --- Полоса вкладок карточки товара ------------------------------------
	   «Описание | Отзывы | Вопрос-ответ». Была тёмной с тёмным текстом: фон
	   #0E141B, надписи #2A2C2E — не читалось вообще.

	   ⚠️ ЗДЕСЬ ВАЖНАЯ ЛОВУШКА ПЕРЕМЕННЫХ, ОНА КАСАЕТСЯ НЕ ТОЛЬКО ВКЛАДОК.
	   В теме `.nav-tabs{background:var(--nav-tabs-bg)}`, а сама
	   --nav-tabs-bg объявлена в custom-dark-theme.css строкой
	   `--nav-tabs-bg: var(--nwa-bg-block)` — и объявлена НА :root.

	   Переменная в объявлении другой переменной вычисляется там, где стоит
	   объявление, то есть на :root, где --nwa-bg-block ещё тёмный. Дальше вниз
	   по дереву наследуется уже готовый тёмный цвет. Наша светлая палитра стоит
	   на body.nwa-page — ниже по дереву, и на это вычисление она не влияет
	   НИКАК. Правило «переопределяй палитру, а не селекторы» работает только
	   для тех мест, где --nwa-* используется напрямую.

	   Поэтому переменные второго уровня приходится задавать здесь поимённо.
	   Если ещё где-то всплывёт тёмное пятно на светлой странице — искать
	   такую же цепочку: var() внутри объявления на :root. */
	--nav-tabs-bg:#FFFFFF;
	--nav-tabs-c:#5A5D60;
	--nav-tabs-c-active:#2A2C2E;

	/* Высота липкой панели. Нужна не только ей: полоса вкладок в карточке
	   товара тоже липкая и должна останавливаться под панелью, а не под
	   верхним краем окна. Держим одним числом, чтобы не разъезжались. */
	--nwa-topbar-h:130px;

	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* Фон подвала задан в stylesheet.css прямым значением .footer{background:
   #33333333} — полупрозрачным серым, а не переменной --footer-bg. На тёмном
   полотне он выглядел тёмным, на светлом стал светло-серым. Задаём явно. */
/* Фон подвала не задаётся вовсе: он остаётся полупрозрачным, как в теме, и
   сквозь него видна карта на body — точно так же, как на главной. Любое
   собственное значение фона здесь привязало бы картинку к подвалу. */

/* ==========================================================================
   БОКОВАЯ КОЛОНКА, СОРТИРОВКА, КНОПКИ СТРАНИЦЫ
   ==========================================================================
   Модуль категорий в колонке — это .menu-module__*, а НЕ .menu__level-* (те
   относятся к главному меню в шапке). Из-за путаницы в классах пункты
   оставались белыми на белом.
   -------------------------------------------------------------------------- */

/* Подкатегории — отдельный класс .menu-module__children-a, из-за чего
   оставались белыми, когда пункты верхнего уровня уже стали тёмными.
   Звёздочка в конце ловит и всё остальное внутри модуля: тёмная тема красит
   его содержимое под чёрный фон. */
/* Цвет задан прямым значением, а не через var(--nwa-text): переменную
   переопределяет generated.0.css (он подключается после тёмной темы и ставит
   свой --body-c), из-за чего пункты уходили в синевато-бирюзовый тон. */
body.nwa-page .menu-module,
body.nwa-page .menu-module *,
body.nwa-page .menu-module__a,
body.nwa-page .menu-module__li,
body.nwa-page .menu-module__pm,
body.nwa-page .menu-module__children,
body.nwa-page .menu-module__children-a,
body.nwa-page .menu__level-1-a,
body.nwa-page .menu__level-2-a,
body.nwa-page .menu__level-3-a{
	color:#2A2C2E !important;
}
body.nwa-page .menu-module__a:hover,
body.nwa-page .menu-module__pm:hover,
body.nwa-page .menu-module__children-a:hover,
body.nwa-page .menu__level-1-a:hover,
body.nwa-page .menu__level-2-a:hover,
body.nwa-page .menu__level-3-a:hover{
	color:var(--nwa-accent) !important;
}
/* Подкатегории мельче и спокойнее по тону — это второй уровень. */
body.nwa-page .menu-module__children-a{
	font-size:.92em;
	color:#5A5D60 !important;
}

/* --- Вид панели ----------------------------------------------------------
   Тёмная тема даёт ей тень 0 6px 18px rgba(0,0,0,.35) — на светлом полотне
   это грязное пятно; и подсветку плюсиков белым по белому, которой не видно.
   Приводим к спокойному виду: тонкая рамка, лёгкая тень, мягкие разделители. */

body.nwa-page .menu-module__ul{
	background:#FFFFFF !important;
	border:1px solid #E2E2DE !important;
	/* Верхней границы нет — её роль играет нижний край заголовка, чтобы
	   заголовок и список читались одной карточкой. Скругление только снизу. */
	border-top:0 !important;
	border-radius:0 0 10px 10px !important;
	/* Без тени: на светлом полотне она читается грязным пятном, а на главной
	   у блоков теней нет вовсе — только тонкая рамка. */
	box-shadow:none !important;
	overflow:hidden;
	margin:0 0 20px !important;
	padding:0 !important;
}
body.nwa-page .menu-module__li{
	/* Ни отступов, ни собственного фона: иначе заливка активного пункта не
	   доходит до края и слева остаётся светлая полоса. */
	margin:0 !important;
	padding:0 !important;
	background:none !important;
	border-left:0 !important;
	border-right:0 !important;
}
/* Активный пункт заливается во всю ширину строки. */
body.nwa-page .menu-module__a{
	display:flex !important;
	width:100% !important;
	box-sizing:border-box;
}

/* Тени у остальных блоков страницы — по той же причине. */
body.nwa-page .uni-wrapper,
body.nwa-page .product-thumb,
body.nwa-page .uni-item,
body.nwa-page .panel,
body.nwa-page .well,
body.nwa-page .content-block,
body.nwa-page .sorts-block__wrapper{
	box-shadow:none !important;
}

/* Заголовок «Категории» входит в ту же белую карточку, что и список под ним:
   он получает верхнюю половину рамки со скруглением, список — нижнюю без
   верхней границы. Вместе они читаются одним блоком, и его верхний край
   встаёт вровень с блоком товаров справа. */
body.nwa-page #column-left .heading,
body.nwa-page #column-right .heading{
	margin:0 !important;
	padding:14px 14px 12px !important;
	background:#FFFFFF !important;
	border:1px solid #E2E2DE !important;
	border-bottom:0 !important;
	border-radius:10px 10px 0 0 !important;
	align-items:center;
}
body.nwa-page .menu-module__li:not(:first-child){
	border-top:1px solid #EDEDEA !important;
}
body.nwa-page .menu-module__a{
	padding:11px 14px !important;
	font-weight:500;
	line-height:1.35;
	transition:background-color .15s ease, color .15s ease;
}
/* Отклик на нажатие. Страница категории приходит с сервера примерно за
   секунду, и всё это время браузер показывает старую — клик выглядит
   «проглоченным». :active срабатывает мгновенно, до всякой загрузки, и сразу
   показывает, какой пункт выбран.

   transition здесь намеренно отключён: плавное появление съедало бы те самые
   доли секунды, ради которых правило и добавлено. */
body.nwa-page .menu-module__a:active,
body.nwa-page .menu-module__children-a:active{
	background:#F06529 !important;
	color:#FFFFFF !important;
	transition:none !important;
}
body.nwa-page .menu-module__a:active *,
body.nwa-page .menu-module__children-a:active *{
	color:#FFFFFF !important;
}

/* Наведение подсвечивает всю строку — по ней и попадают курсором.
   Бежевого в колонке нет: он остался акцентом карточек, а здесь читался
   блёкло на белом. Отклик и выделение — оранжевые, как активные состояния
   в остальном интерфейсе. */
body.nwa-page .menu-module__li:hover > .menu-module__a{
	/* Серая подложка под оранжевым текстом — оранжевый на оранжевом читался
	   плохо (владелец, 23.09.2026). */
	background:#EEEEEA !important;
	color:#F06529 !important;
}
/* Текущая категория: сплошная оранжевая заливка и белый текст. */
/* Звёздочка нужна: правило .menu-module * выше красит тёмным всё содержимое
   модуля, включая текст внутри активного пункта. Без неё на оранжевой заливке
   оставался тёмный текст. */
body.nwa-page .menu-module__a.active,
body.nwa-page .menu-module__a.active *,
body.nwa-page .menu-module__li.active > .menu-module__a,
body.nwa-page .menu-module__li.active > .menu-module__a *{
	color:#FFFFFF !important;
}
body.nwa-page .menu-module__a.active,
body.nwa-page .menu-module__li.active > .menu-module__a{
	background:#F06529 !important;
	border-left:0 !important;
	padding-left:14px !important;
	font-weight:600;
	/* Тема кладёт на активный пункт внутреннюю тень
	   box-shadow: inset 8px 0 8px 0 rgb(0 209 216 / 18%) — бирюзовую полосу
	   вдоль левого края. Именно она читалась как затенение и как «бирюзовый»,
	   который не удавалось найти: цвет задан не в свойстве color и не фоном,
	   поэтому в поиске по палитре не всплывал. */
	box-shadow:none !important;
}
/* Наведение на активный пункт. Селекторов несколько, потому что подсветка
   строки висит на .menu-module__li:hover > .menu-module__a — она срабатывает
   и когда курсор над строкой, но не над самой ссылкой, и в этот момент
   перекрывала оранжевую заливку бледным фоном. */
body.nwa-page .menu-module__a.active:hover,
body.nwa-page .menu-module__li.active > .menu-module__a:hover,
body.nwa-page .menu-module__li:hover > .menu-module__a.active,
body.nwa-page .menu-module__li.active:hover > .menu-module__a{
	background:#DE4E10 !important;
	color:#FFFFFF !important;
}
body.nwa-page .menu-module__li:hover > .menu-module__a.active *,
body.nwa-page .menu-module__li.active:hover > .menu-module__a *{
	color:#FFFFFF !important;
}
/* Плюс-минус внутри активного пункта — тоже белые, иначе теряются. */
body.nwa-page .menu-module__a.active .menu-module__pm,
body.nwa-page .menu-module__li.active > .menu-module__a .menu-module__pm{
	color:#FFFFFF !important;
}
/* Кнопка «плюс/минус» — серая, на наведении оранжевая. */
body.nwa-page .menu-module__pm{
	color:#A9ACAF !important;
	border-radius:6px;
	transition:background-color .15s ease, color .15s ease;
}
body.nwa-page .menu-module__pm:hover{
	background:#EEEEEA !important;
	color:#F06529 !important;
}
/* Подкатегории: отступ слева, чтобы читалась вложенность. */
body.nwa-page .menu-module__children-a{
	padding-left:26px !important;
	transition:color .15s ease;
}
body.nwa-page .menu-module__children-a:hover,
body.nwa-page .menu-module__children-a.active{
	color:#F06529 !important;
}

/* Заголовок колонки отделён линией — как разделители секций на главной. */
/* Заголовок страницы в категории убран: он повторяет последний пункт хлебных
   крошек прямо над ним. Крошки остаются — по ним ещё и переходят обратно.
   На остальных страницах (товар, контакты, текстовые) h1 сохраняется: там он
   несёт название, которого больше нигде нет. */
body.nwa-page #product-category > .breadcrumb-h1 > h1{
	display:none !important;
}
/* Блок с крошками и кнопкой «Назад» — без лишнего отступа снизу, чтобы
   колонка категорий и сетка товаров начинались на одной высоте. */
body.nwa-page #product-category > .breadcrumb-h1{
	margin-bottom:14px !important;
	padding-bottom:0 !important;
}
body.nwa-page #column-left,
body.nwa-page #column-right{
	padding-top:0 !important;
}
body.nwa-page #column-left .heading{
	margin-top:0 !important;
}

/* Заголовок колонки собран темой из трёх частей: .heading:before —
   вертикальная полоска-акцент, .heading__text — сам текст,
   .heading__divider — линия, растягивающаяся до края. Своя нижняя граница
   здесь лишняя: вместе с divider она читалась рамкой вокруг заголовка. */
/* Оформление заголовка колонки — выше, там он склеен со списком в одну
   карточку. Здесь раньше стояло правило, снимавшее фон и рамку: находясь
   дальше по файлу, оно перебивало нужное, и карточка не собиралась. */
body.nwa-page #column-left .heading,
body.nwa-page #column-right .heading{
	font-size:15px;
}
body.nwa-page .heading__text{
	color:#2A2C2E !important;
	font-weight:600;
	letter-spacing:0.12em;
	text-transform:uppercase;
}
/* Полоска-акцент — оранжевая, как выделение в списке под ней. */
body.nwa-page #column-left .heading:before,
body.nwa-page #column-right .heading:before{
	background:#F06529 !important;
}
body.nwa-page .heading__divider{
	background:#E2E2DE !important;
}
/* Оформление активной категории — ниже, в разделе «Вид панели»: оранжевая
   заливка и белый текст. Прежнее правило с бежевым цветом стояло здесь и,
   находясь дальше по файлу, перебивало белый — при равной специфичности
   побеждает то, что записано позже. */

/* Заголовок колонки «Категории» — в общей типографике страницы. */
body.nwa-page .heading{
	color:var(--nwa-text) !important;
	font-weight:300;
	text-transform:uppercase;
	letter-spacing:0.12em;
}

/* ==========================================================================
   ХЛЕБНЫЕ КРОШКИ
   ==========================================================================
   Разметка у темы есть всегда, но в custom-dark-theme.css стоит
   .breadcrumb{display:none !important} — крошки скрыты намеренно, вместо них
   оставлена кнопка «Назад». Возвращаем их и приводим к типографике страницы:
   мелкий текст, разделители, последний пункт — серый, как текущая страница.
   -------------------------------------------------------------------------- */

body.nwa-page .breadcrumb{
	display:flex !important;
	flex-wrap:wrap;
	align-items:center;
	gap:0;
	margin:0 0 10px !important;
	padding:0 !important;
	background:none !important;
	border:0 !important;
	border-radius:0 !important;
	list-style:none;
	font-size:12px;
	letter-spacing:0.04em;
	text-transform:uppercase;
}
body.nwa-page .breadcrumb li{
	display:inline-flex;
	align-items:center;
	color:#8A8D90 !important;
}
body.nwa-page .breadcrumb li a{
	color:#BD420E !important;
	text-decoration:none !important;
	transition:color .2s ease;
}
body.nwa-page .breadcrumb li a:hover{
	color:#F06529 !important;
}
/* Последний пункт — текущая страница, ссылкой не является: серым и без
   выделения, чтобы не спорил с заголовком под ним. */
body.nwa-page .breadcrumb li:last-child{
	color:#8A8D90 !important;
}
/* Разделитель между пунктами. Тема рисует его иконкой шрифта в li+li:before —
   оставляем сам приём, меняем цвет и отступы. */
body.nwa-page .breadcrumb li + li:before{
	color:#B9BCBF !important;
	margin:0 8px;
	font-size:9px;
}
body.nwa-page .breadcrumb .fa-home{
	font-size:12px;
	color:#BD420E !important;
}

/* Кнопка «Назад»: была тёмной плашкой — делаем светлой с рамкой, как кнопки
   на светлом полотне главной. */
body.nwa-page .uni-back-btn{
	background:transparent !important;
	border:1px solid #E2E2DE !important;
	color:var(--nwa-text) !important;
	border-radius:6px !important;
	font-weight:500;
	letter-spacing:0.04em;
	transition:color .2s ease, border-color .2s ease;
}
body.nwa-page .uni-back-btn:hover{
	color:var(--nwa-accent) !important;
	border-color:var(--nwa-accent) !important;
}
body.nwa-page .uni-back-btn i{
	color:inherit !important;
	margin-right:8px;
}

/* Сортировка: тёмная плашка у выбранного пункта заменена на акцентный текст —
   на светлом полотне заливка выглядит чужеродно. */
body.nwa-page .sorts-block__span{
	background:transparent !important;
	border:0 !important;
	color:var(--nwa-text) !important;
	transition:color .2s ease;
}
body.nwa-page .sorts-block__span:hover{
	color:var(--nwa-accent) !important;
}
/* У выбранного пункта тема рисует тёмно-бирюзовую плашку с голубой рамкой:
   .sorts-block__span.selected{background:#0e3239; border:1px solid #0ba6ff}.
   Убираем и заливку, и рамку — на светлом полотне это чужая палитра. */
body.nwa-page .sorts-block__span.selected{
	background:transparent !important;
	border:0 !important;
	color:var(--nwa-accent) !important;
	font-weight:600;
}

/* Селекты сортировки и количества.
   ВАЖНО: только background-color. Стрелка выпадающего списка — это фоновая
   картинка (select.form-control{background:url(../image/chevron.png) …}), и
   shorthand background её стирает: список остаётся без указателя. */
body.nwa-page .sorts-block__select,
body.nwa-page .sorts-block__limit,
body.nwa-page .sorts-block__wrapper select,
body.nwa-page select.form-control{
	background-color:#FFFFFF !important;
	color:var(--nwa-text) !important;
	border:1px solid #E2E2DE !important;
	border-radius:6px !important;
	/* Своя галочка вместо картинки темы: она нарисована прямо здесь, поэтому
	   её цвет задаётся тут же и не зависит от файла chevron.png. */
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%232A2C2E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") !important;
	background-repeat:no-repeat !important;
	background-position:right 10px center !important;
	background-size:11px 8px !important;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	padding-right:30px !important;
}

/* Иконки-стрелки на странице — в общей палитре. Тёмная тема красит часть из
   них своим цветом, который на светлом полотне выглядит чужеродно. */
body.nwa-page main .fa-angle-down,
body.nwa-page main .fa-angle-up,
body.nwa-page main .fa-angle-left,
body.nwa-page main .fa-angle-right,
body.nwa-page main .fa-chevron-down,
body.nwa-page main .fa-chevron-up,
body.nwa-page main .fa-chevron-left,
body.nwa-page main .fa-chevron-right,
body.nwa-page main .fa-caret-down,
body.nwa-page main .fa-caret-up,
body.nwa-page main .fa-arrow-left,
body.nwa-page main .fa-arrow-right,
body.nwa-page main .fa-long-arrow-alt-down,
body.nwa-page main .fa-long-arrow-alt-up,
body.nwa-page main .fa-sort-amount-down,
body.nwa-page main .fa-sort-amount-up{
	color:var(--nwa-text) !important;
}
body.nwa-page main a:hover .fa-angle-right,
body.nwa-page main a:hover .fa-arrow-right,
body.nwa-page main a:hover .fa-arrow-left{
	color:var(--nwa-accent) !important;
}

/* Переключатели «плитка / список» — .sorts-block__btn внутри
   .sorts-block__btn-group. В теме это тёмные квадраты с классом btn-default,
   поэтому нужен и !important, и точное имя класса. */
body.nwa-page .sorts-block__btn,
body.nwa-page .sorts-block__btn-group .btn,
body.nwa-page .sorts-block__wrapper .btn{
	background:#FFFFFF !important;
	background-image:none !important;
	border:1px solid #E2E2DE !important;
	color:var(--nwa-text) !important;
	border-radius:6px !important;
	box-shadow:none !important;
	transition:color .2s ease, border-color .2s ease;
}
body.nwa-page .sorts-block__btn i,
body.nwa-page .sorts-block__btn-group .btn i{
	color:inherit !important;
}
/* Отзыв на курсор — как у кнопки корзины и счётчика количества. */
body.nwa-page .sorts-block__btn:hover,
body.nwa-page .sorts-block__btn-group .btn:hover{
	color:#F06529 !important;
	border-color:#F06529 !important;
}
/* Выбранный вид — акцентом, без заливки.
   Класс здесь selected, а не active: тема помечает активную кнопку именно им.
   Плюс отдельный псевдоэлемент .sorts-block__btn.selected:before заливает её
   бирюзовым rgba(0,209,216,.15) — его гасим тоже, иначе подсветка остаётся
   поверх любого фона. */
body.nwa-page .sorts-block__btn.selected,
body.nwa-page .sorts-block__btn.active,
body.nwa-page .sorts-block__btn-group .btn.selected,
body.nwa-page .sorts-block__btn-group .btn.active{
	background:#FFFFFF !important;
	color:var(--nwa-accent) !important;
	border-color:var(--nwa-accent) !important;
}
body.nwa-page .sorts-block__btn.selected:before,
body.nwa-page .sorts-block__btn.active:before,
body.nwa-page .sorts-block__btn-group .btn.selected:before{
	background:transparent !important;
	display:none !important;
}

/* Стрелка направления сортировки — псевдоэлемент после выбранного пункта.
   Цвет наследует от него, но задаём явно: в теме он свой. */
body.nwa-page .sorts-block__span.selected:after,
body.nwa-page .sorts-block__span:after{
	color:var(--nwa-accent) !important;
}

/* Подвал: текст и ссылки светлые, как на главной. !important нужен потому же,
   почему и везде в этом файле — тёмная тема задаёт цвета жёстко. */
body.nwa-page .footer,
body.nwa-page .footer p,
body.nwa-page .footer li,
body.nwa-page .footer span,
body.nwa-page .footer div,
body.nwa-page footer,
body.nwa-page footer p,
body.nwa-page footer li,
body.nwa-page footer span,
body.nwa-page footer div{
	color:rgba(255,255,255,.80) !important;
}
body.nwa-page .footer a,
body.nwa-page footer a{
	color:rgba(255,255,255,.80) !important;
}
body.nwa-page .footer a:hover,
body.nwa-page footer a:hover{
	color:#BD420E !important;
}
body.nwa-page .footer h1,
body.nwa-page .footer h2,
body.nwa-page .footer h3,
body.nwa-page .footer h4,
body.nwa-page .footer h5,
body.nwa-page .footer__title,
body.nwa-page footer h1,
body.nwa-page footer h2,
body.nwa-page footer h3,
body.nwa-page footer h4,
body.nwa-page footer h5{
	color:#FFFFFF !important;
	text-transform:none;
	letter-spacing:0.01em;
}

/* --- Полотно устроено ровно как на главной -------------------------------
   Там body остаётся тёмным и с фоновой картой (/image/catalog/Fon/333.jpg из
   темы), а светлое поле — это секция .nwa-lab внутри <main>. Подвал лежит
   ВНЕ <main> и полупрозрачен (.footer{background:#33333333} в stylesheet.css),
   поэтому карта просвечивает сквозь него и не привязана к его размеру.

   Здесь то же самое: фон body не трогаем, светлым красим <main>. Прежняя
   попытка — погасить фон body и прикрепить картинку к подвалу — давала не тот
   результат: изображение масштабировалось под высоту подвала. */
body.nwa-page main{
	background:var(--nwa-bg-body);
}

/* Сам body остаётся тёмным и с картой — как на главной. Иначе светлая палитра
   выше перекрасила бы и его: custom-dark-theme.css применяет
   body{background-color:var(--nwa-bg-body)!important}, и карта в подвале
   просто перестала бы просвечивать. Значения — те же, что тема ставит по
   умолчанию в stylesheet.css. */
body.nwa-page{
	background-color:#0E141B !important;
	background-image:url('/image/catalog/Fon/333.jpg') !important;
}

/* ==========================================================================
   СТАРАЯ ШАПКА МАГАЗИНА УБРАНА
   ==========================================================================
   Вместо неё выводится nwa_topbar.twig — та же панель, что на главной.
   Разметка старой шапки остаётся в HTML: скрыть её стилями безопаснее, чем
   вырезать из шаблона темы, который правят обновления и другие модули.
   Скрипты магазина при этом продолжают работать со своими элементами и не
   падают на отсутствующих узлах.
   -------------------------------------------------------------------------- */

/* Скрывается весь <header> целиком. Раньше здесь перечислялись отдельные
   блоки, и логотип оставался на экране вторым: header-block__item-logo лежит
   не внутри .header-block, а рядом с ним, и под правило не попадал.
   Панель nwa_topbar.twig стоит перед <header> и потому не затрагивается. */
body.nwa-page > header,
body.nwa-page header{
	display:none !important;
}

/* ==========================================================================
   ПАНЕЛЬ КАК НА ГЛАВНОЙ, ТОЛЬКО УЗКОЙ ПОЛОСОЙ
   ==========================================================================
   Разметка и классы совпадают с главной, поэтому оформление приходит готовым
   из nwa-lab-home.css — он подключается на этих страницах вместе с текущим
   файлом. Здесь только то, что отличает узкую шапку от высокого hero-блока.
   -------------------------------------------------------------------------- */

body.nwa-page .nwa-topbar{
	/* На главной секция занимает min(70vh, 680px) — почти экран. Здесь это
	   узкая полоса. Высота задана явно: при height:auto блок схлопывался по
	   содержимому, фон превращался в тонкую ленту, а логотип вываливался из
	   неё на светлое полотно страницы.

	   10.09.2026 полоса уменьшена вдвое: было 132px, стало 66. Причина —
	   панель стала липкой и висит на экране постоянно, а 132px съедали
	   заметную долю окна, особенно на ноутбуках и телефонах. Вместе с высотой
	   вдвое уменьшены логотип и нижний отступ: высоту полосы задаёт логотип,
	   и без него одна min-height ничего бы не изменила.

	   Затем в панель добавилась вторая строка с разделами каталога, и общая
	   высота стала 107: 78 у верхней строки, 28 у нижней и 1 у разделительной
	   линии. Собственного нижнего отступа у секции больше нет — он отодвигал
	   разделы от кромки, а их просили к ней прижать; просвет под текстом
	   задаёт сама полоса. Значение ниже — страховка на случай, если обе строки
	   почему-то схлопнутся.

	   11.09.2026 верхнюю строку увеличили вдвое: 78 → 156. Полоса разделов
	   осталась 28 — её содержимое занимает 19 пикселей, и прибавка ушла бы в
	   пустоту. Вместе с ростом строки вдвое вырос логотип: высоту строки задаёт
	   он, и без него одна min-height дала бы пустую ленту.

	   Тогда же прежняя разделительная линия в 1 пиксель заменена светлой
	   полоской в 2 — она рисуется границей секции и потому входит в высоту.
	   Итог 186: 156 у верхней строки, 28 у полосы разделов, 2 у полоски.

	   22.09.2026 владелец: «шапку на 30% меньше по высоте». Верхняя строка
	   156 → 100, полоса разделов и полоска прежние: 100 + 28 + 2 = 130.
	   Знак и название уменьшены в той же пропорции (около 0,64). */
	min-height:130px;
	height:auto;
	padding-bottom:0;
	/* clip-path на главной срезает выступающий фон снизу. Тут фон никуда не
	   выступает, а лишнее отсечение мешало бы выпадающим меню панели. */
	clip-path:none;
	overflow:visible;
}

/* ── Фон верхней строки: как у подвала — карта под тонировкой ──────────────
   Фотография цеха убрана: на высоком hero главной она работает, а в узкой
   ленте от неё остаётся пестрота, мешающая читать меню. Блок .nwa-hero__bg не
   вырезан из разметки, а погашен — он общий с главной.

   ⚠️ КАРТА ЗАДАНА СВОЯ, А НЕ ЧЕРЕЗ ПРОЗРАЧНОСТЬ, И ЭТО ПРИНЦИПИАЛЬНО.
   Подвалу хватает быть полупрозрачным: он лежит ВНЕ <main> и показывает фон
   самого body. С шапкой так нельзя — она липкая, при прокрутке под неё
   заезжает <main> со светлой заливкой #F2F2F0. Сквозь по-настоящему
   прозрачную панель просвечивало бы светлое поле, и белые надписи по нему не
   читались бы: наверху страницы вид был бы верный, а стоило прокрутить —
   ломался.

   Поэтому фон у панели СВОЙ, непрозрачный. Это остаётся верным и после
   15.09.2026, когда карту сменили на снимок цеха.

   ⚠️ ИСТОРИЯ, ЧТОБЫ НЕ ВЕРНУЛИ СЛУЧАЙНО. Пока в полосе была та же карта, что
   у body, к ней прилагался background-attachment:fixed: кадр привязывался к
   окну и совпадал с полотном пиксель в пиксель, отчего панель выглядела
   прозрачной, не будучи ею. Со своим снимком совпадать не с чем, приём стал
   лишним и снят — подробности в самом правиле ниже.

   Значения больше НЕ обязаны совпадать с фоном body: у панели свой кадр. */
body.nwa-page .nwa-topbar .nwa-hero__bg{
	display:none;
}
body.nwa-page .nwa-topbar{
	/* 15.09.2026, по просьбе владельца: в полосе тот же снимок цеха, что в
	   первом экране главной и в подвале. Было — карта `Fon/333.jpg` под
	   тонировкой .2, то есть тот же фон, что у `body`.

	   Задаётся здесь только ВЕРХНЯЯ строка панели (около 156px): нижняя полоса
	   разделов рисует свой непрозрачный фон поверх и до этих слоёв не
	   пропускает. Так и задумано — на ленте разделов мелкие подписи, и снимок
	   под ними читался бы хуже.

	   Цвет-подложка нужен на случай, если снимок не загрузился: без него
	   сквозь тонировку просвечивало бы содержимое страницы.

	   ⚠️ background-attachment СТАЛ scroll, БЫЛ fixed — И ВЕРНУТЬ НЕЛЬЗЯ.
	   `fixed` стоял ради конкретного приёма: картинка привязывалась к окну так
	   же, как у `body`, кадр совпадал с полотном пиксель в пиксель, и полоса
	   выглядела прозрачной, не будучи ею. Теперь у полосы СВОЙ снимок, а не
	   тот же, что у страницы, — совпадать больше не с чем, и приём потерял
	   смысл. Зато `fixed` дёргает фон при прокрутке в мобильных браузерах, а на
	   iOS часто не работает вовсе. Поэтому scroll.

	   ⚠️ ЗАТЕМНЕНИЕ ПОВТОРЯЕТ ПОДВАЛ — ОДНА ФОРМА НА ОБА БЛОКА.
	   Владелец, 15.09.2026: «затемнение шапки некрасиво, сделай как у подвала».
	   Правильное замечание: у подвала перепад маленький (.90 → .84), поэтому
	   тень читается как ровная, а здесь стояло .94 → .56 — на нижней трети
	   полосы снимок вываливался светлым пятном, и граница перехода была видна
	   как отдельная линия. Теперь значения и стопы те же, что в подвале
	   (`nwa-lab-home.css`, правило `.footer`): .90 держится до 72%, дальше
	   мягко до .84.

	   ⚠️ МЕНЯЕТЕ ЗДЕСЬ — МЕНЯЙТЕ И В ПОДВАЛЕ. Это два блока одного вида, и
	   расходиться им нельзя: они видны на одной странице, только сверху и
	   снизу. Файла два (`nwa-inner.css` и `nwa-lab-home.css`), потому что
	   подвал общий для всего сайта, а полоса — только для внутренних страниц.

	   ⚠️ ПЛОТНОЕ ПОЛЕ НАЧИНАЕТСЯ ОТ САМОЙ ВЕРХНЕЙ КРОМКИ (0%), а не от строки
	   меню, и внутри зоны текста значение ОДНО. Это отдельное требование
	   владельца: «затемняем не только за текстом, но и сверху, чтоб пятнами не
	   было». Глаз ловит именно перепад, а не яркость, — версия с переходом
	   внутри текстовой зоны выглядела пятнистой при том же контрасте.

	   ⚠️ Замерено на 1440px при высоте полосы 186: логотип занимает y 36…120,
	   строка меню y 25…47, то есть весь текст лежит выше 65%, а лента разделов
	   начинается с y 156 (84%) и рисует свой фон поверх. Меняете размер
	   логотипа или высоту полосы (--nwa-topbar-h:186px) — пересчитайте стоп.

	   ⚠️ ПЛОТНОСТЬ ПРАВИТСЯ ЗНАЧЕНИЯМИ АЛЬФЫ, больше — темнее. Подбирал
	   владелец: .74/.66 → .88/.82 → .82/.76 → .88 до 65% → .94 до 62%, далее
	   .56 → сейчас .90 до 72%, далее .84. Без затемнения тот же снимок даёт
	   контраст 1.02 — надписи пропадают на бликах станков. */
	background-color:#0B0D10;
	background-image:
		linear-gradient(180deg,
			rgba(8,9,11,.90) 0%,
			rgba(8,9,11,.90) 72%,
			rgba(8,9,11,.84) 100%),
		url('/image/catalog/nwa/nwa-hero-bg-workers.jpg?v=1');
	background-position:center 30%, center 30%;
	background-repeat:no-repeat, no-repeat;
	background-size:cover, cover;
	background-attachment:scroll, scroll;
}
/* Затемнение больше ни на что не влияет: фон панели и так сплошной чёрный.
   Блок погашен, а не вырезан из шаблона, — он общий с главной, где нужен. */
body.nwa-page .nwa-topbar .nwa-hero__scrim{
	display:none;
}
/* ── Светлая полоска по низу панели ───────────────────────────────────────
   Цвет тот же, которым залито поле страницы: var(--nwa-bg-body) стоит на
   <main> ниже по файлу. Полоска продолжает это поле вверх, под самую панель.

   ЗАЧЕМ ОНА. Панель липкая, и при прокрутке под неё заезжает содержимое
   страницы. Без просвета карточки и заголовки подходят вплотную к тёмной
   полосе разделов и на ходу касаются её. Полоска даёт постоянный светлый
   зазор, и содержимое всегда уходит под панель через него.

   ПОЧЕМУ ГРАНИЦА, А НЕ ОТДЕЛЬНЫЙ БЛОК. Граница — часть самой панели: она
   липнет вместе с ней, занимает место в потоке (страница сама начинается ниже)
   и не может отстать при прокрутке. Отдельный блок под панелью уехал бы вверх
   первым же движением, а абсолютно позиционированная полоса не занимала бы
   места, и содержимое пришлось бы отодвигать вручную.

   Раньше здесь стояла тёплая линия в 1 пиксель — она отделяла ленту от тёмного
   полотна за краями светлого поля. Полоска делает то же самое и заметнее,
   поэтому линия убрана: двух границ у элемента не бывает, а рисовать её тенью
   ради шва под тёмной полосой не стоит.

   ⚠️ Толщина входит в общую высоту панели: 156 + 28 + 2 = 186. Меняя её,
   поправить min-height секции выше и тот же расчёт в комментариях к нему.

   Начинали с 8 пикселей, по просьбе пользователя полоса стала тоньше. Взято
   целое число: деление 8 на 5 дало бы 1,6 — дробную границу браузер всё равно
   округлит до пикселя экрана, и толщина поехала бы от масштаба системы. */
body.nwa-page .nwa-topbar{
	border-bottom:2px solid var(--nwa-bg-body);
}

/* Панель остаётся на экране при прокрутке (10.09.2026).
   z-index нужен и сам по себе: выпадающие меню панели должны ложиться поверх
   содержимого страницы.

   Почему sticky, а не fixed. Sticky оставляет элемент в потоке: он занимает
   своё место, и содержимое страницы начинается под ним само. С fixed панель
   выпала бы из потока, налезла на начало страницы, и пришлось бы держать
   отступ сверху, равный её высоте, — а высота у неё разная на разных ширинах
   экрана, и любая правка полосы требовала бы правки отступа в другом месте.

   Работает это потому, что панель — прямой ребёнок <body>: она лежит выше
   <main>, вставляет её header.twig сразу после открытия <body>. Прокручивается
   сам документ, поэтому липнет панель к окну.

   Два условия, которые легко сломать не глядя:
   - НЕЛЬЗЯ ставить overflow (в т.ч. overflow-x:hidden) или clip-path ни на
     html, ни на body, ни на любого предка панели: sticky тогда молча
     перестаёт работать, без ошибок в консоли. У самой панели overflow:visible
     стоит выше по файлу — он нужен выпадающим меню, его тоже не трогать.
   - НЕЛЬЗЯ давать предкам transform или filter: они создают новую систему
     координат, и панель залипнет внутри неё, а не в окне.

   На главной этих правил нет: там шапка своя, у секции класс nwa-hero без
   nwa-topbar, и селектор до неё не достаёт. Прокрутка главной не изменилась.

   Оговорка про высоту: полоса занимает 132px и остаётся такой при прокрутке.
   На узких экранах это заметная доля окна — если мешает, панель можно
   уменьшать при прокрутке, но это уже требует скрипта. */
/* Без этого правила липкая панель отрывается на длинных страницах.

   Тема задаёт html{height:100%} и body{height:100%; display:flex}. Body
   получает высоту окна и НЕ растёт вместе с содержимым: измерено в Chrome —
   при документе 1914px сам body был 805px, содержимое просто вылезало за его
   границы. Липкий элемент держится только в пределах своего родителя, поэтому
   панель проезжала 673px (805 минус её собственные 132) и дальше уходила
   вверх вместе со страницей.

   Коварство в том, что на коротких страницах это незаметно: корзина и
   контакты прокручиваются на 174 и 514 пикселей, до предела не доходят, и
   панель ведёт себя правильно. Ломалось только там, где страница длиннее
   примерно 1500px.

   height:auto возвращает body обычное поведение — расти по содержимому.
   min-height:100% сохраняет то, ради чего стояло height:100%: короткая
   страница по-прежнему занимает не меньше экрана, а main{flex:1 0 auto} из
   темы по-прежнему прижимает подвал к низу. Проверено на всех страницах. */
body.nwa-page{
	height:auto;
	min-height:100%;
}

body.nwa-page .nwa-topbar{
	position:sticky;
	top:0;
	/* Слой поднят с 60 до 1000 вместе с переходом на sticky.
	   Пока панель уезжала вверх вместе со страницей, 60 хватало. Теперь под
	   неё проезжает содержимое, и всё, что лежит выше по слоям, полезло бы
	   поверх: у раскрытой карточки товара .product-thumb.hover z-index 99,
	   у стрелок карусели .owl-nav — 100, у меню темы .menu — 998.
	   1000 перекрывает их все и при этом остаётся НИЖЕ плавающего меню
	   (.fly-menu, 1020) и модальных окон темы (1050 и выше) — они должны
	   закрывать панель, а не наоборот. Поднимать выше 1020 нельзя. */
	z-index:1000;
	/* Мягкая тень отделяет полосу от уезжающего под неё содержимого. */
	box-shadow:0 6px 18px rgba(12,13,15,.18);
}

/* Логотип в узкой полосе меньше, чем на главной: там он рассчитан на высокий
   hero и занял бы всю шапку целиком. */
/* ── Логотип в узкой полосе: показываем только знак ────────────────────────
   Файл nwa-logo.png (556×486) — это знак сверху и под ним две строки текста,
   «ЛАБОРАТОРИЯ NESTING» и «NEW WOOD ART», набранные тонким светлым шрифтом.
   На высоком hero главной это читается. В ленте 66px весь логотип ужимается
   до 48px, знак становится 19px, а буквы — меньше пяти: не подпись, а грязь.

   Поэтому здесь картинка обрезается до одного знака. Ссылка получает нужный
   размер и overflow:hidden, а сама картинка внутри увеличивается и сдвигается
   так, чтобы в окно попал только знак.

   Числа взяты из самого файла: знак занимает по вертикали примерно с 18-го по
   205-й пиксель из 486, то есть 187. Чтобы он вышел ростом 46px, вся картинка
   должна быть 486 × 46 / 187 ≈ 120px, а поднять её надо на 18 × 120 / 486 ≈ 4px.
   Если логотип когда-нибудь перерисуют, эти три числа придётся пересчитать —
   других зависимостей от файла в стилях нет. */
/* На главной строка панели прижата к верхнему краю: .nwa-hero__top-inner
   задаёт align-items:flex-start, а логотип и меню доводятся до места каждый
   своим сдвигом — так было рассчитано под высокий hero. В ленте 66px это
   выглядит как текст, приклеенный к потолку. Здесь всё выравнивается по
   центру, а прежние сдвиги гасятся, иначе они складываются с центрированием. */
/* Верхняя строка кладётся ПОВЕРХ нижней полосы.

   Обе лежат в одной секции и обе с z-index:4 — при равном слое побеждает та,
   что ниже в разметке, то есть полоса. Из-за этого выпадающие списки «Вход» и
   «Онлайн программы», раскрываясь вниз, ныряли под неё и обрезались.

   Слой 6 против 4 у полосы. Достаточно поднять саму строку: списки лежат
   внутри неё и поднимаются вместе. */
body.nwa-page .nwa-topbar .nwa-hero__top{
	z-index:6;
}

body.nwa-page .nwa-topbar .nwa-hero__top-inner{
	align-items:center;
	/* ⚠️ Отступ справа — владелец, 15.09.2026: «текст отодвинем от правого края
	   на две буквы». Замерено до правки: строка меню кончалась на x=1419 при
	   окне 1440, то есть в 21px от кромки, и «Вход» читался как приклеенный.
	   Две буквы при кегле 15px — примерно 18px, берём 22.

	   ⚠️ Задаётся ИМЕННО здесь, а не на .nwa-nav: на главной у этого блока
	   стоит padding-right:0 (там строка идёт по сетке hero, см. nwa-lab-home.css),
	   и общее правило разъехалось бы с главной.

	   ⚠️ Отступ съедает ширину строки. На 1300px и уже зазор между пунктами
	   уменьшается до 14 (медиа-правило в конце файла) — если меню когда-нибудь
	   начнёт переноситься на вторую строку, сначала трогать зазор, а не это
	   число. */
	padding-right:22px;
	/* Верхняя строка: логотип, название, каталог, инструменты, связь, корзина,
	   аккаунт. Было 58px, поднято на 35% до 78 — вместе с ней подрос логотип,
	   иначе прибавка ушла бы в пустоту по бокам от него.

	   11.09.2026 строка увеличена вдвое: 78 → 156. Полоса разделов под ней не
	   тронута, растёт только верх. Числа, которые обязаны меняться вместе с
	   этим: высота логотипа и высота его картинки ниже по файлу, min-height
	   самой секции выше (156 + 28 + 1) и тот же блок в медиазапросе для
	   телефонов — там строка намеренно осталась прежней.

	   22.09.2026: 156 → 100 (вся шапка −30%, см. min-height секции). */
	min-height:100px;
}

/* ── Нижняя строка панели: разделы каталога ────────────────────────────────
   Часть той же липкой секции, а не отдельный блок под ней: вынесенная наружу
   полоса уехала бы вверх при прокрутке, оставив шапку без половины меню.

   Своего фона у неё нет. Затемнение .nwa-hero__scrim растянуто на всю секцию
   (inset:0) и накрывает обе строки, поэтому стекло у них общее. Строки
   разделяет только тонкая линия.

   Высота панели складывается из трёх чисел: 156 у верхней строки, 28 у нижней
   и 1 у разделительной линии — 185. Меняя одно, пересчитайте остальные: то же
   значение стоит в комментарии к min-height самой полосы. На телефонах верхняя
   строка остаётся 78, и там сумма прежняя — 107. */
body.nwa-page .nwa-topbar__rail{
	position:relative;
	/* Над затемнением, иначе оно закроет ссылки. Тот же слой, что у верхней
	   строки (.nwa-hero__top в nwa-lab-home.css). */
	z-index:4;
	/* Полоса непрозрачная, в отличие от верхней строки: та показывает фоновую
	   карту под тонировкой, а здесь ровная заливка. Разделы читаются на ней
	   одинаково по всей ширине, без светлых пятен от карты под мелким
	   шрифтом. Цвет тот же, что у подвала.

	   Верхние 8 пикселей заливка набирает плотность из ничего. Так стык двух
	   строк не читается как линия: карта верхней строки не обрывается резко, а
	   растворяется в заливке. Разделительной рамки здесь поэтому нет — она
	   давала ровно тот шов, который просили убрать.

	   8 пикселей выбраны не наугад: содержимое полосы прижато к низу и
	   занимает около 19 пикселей из 28, то есть верх текста начинается примерно
	   на девятом. Растяжка заканчивается выше него, и надписи лежат на
	   полностью плотном фоне. Меняя высоту полосы или отступ под текстом,
	   проверьте, что растяжка по-прежнему заканчивается выше надписей. */
	background:linear-gradient(to bottom, rgba(12,13,15,0) 0, #0C0D0F 8px);
}
body.nwa-page .nwa-topbar__rail-inner{
	display:flex;
	/* Содержимое прижато к низу, а не по центру: так разделы стоят у самой
	   кромки панели, и свободное место остаётся сверху, под верхней строкой,
	   где оно и уместно. */
	align-items:flex-end;
	/* Высота менялась много раз: 42 → 21 (уменьшили вдвое) → 30 и 34 вслед за
	   ростом иконок → 28 сейчас, когда полосу попросили сделать уже. Строка
	   обязана быть выше значка (23px) вместе с отступом ниже, иначе он
	   вылезет за край.

	   На такой высоте пункты держатся только если убрать у них собственные
	   вертикальные отступы — те приходят с классом .nwa-nav__link из
	   nwa-lab-home.css и рассчитаны на панель главной. */
	min-height:28px;
	/* Небольшой просвет под текстом. Совсем без него надписи упираются в
	   кромку и выглядят обрезанными. */
	padding-bottom:4px;
}
body.nwa-page .nwa-topbar__rail-nav .nwa-nav__link{
	padding-top:0;
	padding-bottom:0;
	line-height:1;
}
/* Меню верхней строки прижато вправо, это — влево, под логотип: строка
   разделов читается как продолжение названия, а не как хвост меню аккаунта.

   Правится одной цифрой: justify-content:flex-end вернёт её вправо.

   Три свойства снимаются с класса .nwa-nav, они рассчитаны на панель главной,
   где меню стоит в одной строке с логотипом и прижато к правому краю:
   justify-content:flex-end, отступ справа и margin-top в vh — последний на
   широких экранах даёт заметный провал вниз. */
body.nwa-page .nwa-topbar__rail-nav{
	justify-content:flex-start;
	margin:0;
	padding:0;
	/* Перенос разрешён: на узких экранах строка станет выше, но пункты не
	   уползут за край.

	   ⚠️ Зазор — это ресурс, а не украшение. 11.09.2026 разделов стало девять
	   (добавились «Услуги»), и им нужно 1298 пикселей. На ширине окна 1600 и
	   больше полосе достаётся 1470 — помещаются. На 1440 достаётся 1270, и не
	   хватало 28: «Услуги» переносились на вторую строку, панель вырастала со
	   186 до 212. Зазор уменьшен с 22 до 18 — это ровно 8 промежутков по 4
	   пикселя, 32 сэкономленных. Добавишь десятый раздел — считай заново. */
	flex-wrap:wrap;
	gap:6px 18px;
}
body.nwa-page .nwa-topbar__cat{
	display:inline-flex;
	align-items:center;
	gap:9px;
	/* Росло дважды: 12 → 13 → 14. На 12 рисунок иконок рассыпался, а названия
	   читались с усилием. Дальше увеличивать некуда — строка из восьми
	   разделов упрётся в ширину контейнера и перенесётся на вторую.
	   19.09.2026, владелец: снова 12 — как верхняя строка меню (там тоже 12,
	   см. nwa-lab-home.css). Иконки не уменьшались. */
	font-size:12px;
	font-weight:500;
	letter-spacing:.02em;
	white-space:nowrap;
}
/* Иконка — картинка, а не значок шрифта: цвет зашит в сам файл, и через color
   его не поменять. Белый получается фильтром: brightness(0) гасит рисунок в
   чёрный силуэт, invert(1) переворачивает его в белый. Приём работает с любым
   исходным цветом, поэтому иконки можно менять, не думая об их палитре.

   Разноцветными они здесь не годятся: на мелком кегле восемь пёстрых значков
   в строку рассыпают её на части, а рядом стоит одноцветное меню шрифтовыми
   значками — вместе это читалось как две разные панели. */
body.nwa-page .nwa-topbar__cat-icon{
	display:block;
	/* Росли дважды: 16 → 20 → 23. Иконки — тонкая линейная графика, и на 16
	   пикселях рисунок сливался в пятно: узнать раздел по значку было нельзя. */
	width:23px;
	height:23px;
	flex:0 0 auto;
	/* Иконка рисуется цветом ТЕКСТА: сама картинка работает маской, а виден
	   сквозь неё фон элемента, то есть currentColor. Поэтому значок белеет и
	   бежевеет вместе с надписью сам, безо всяких правил для наведения.

	   Так сделано вместо прежнего filter:brightness(0) invert(1). Тот умел
	   красить только в белый: чтобы получить бежевый #CD802D, пришлось бы
	   подбирать вслепую длинную цепочку sepia/saturate/hue-rotate, и при
	   любой правке палитры подбирать заново.

	   ⚠️ Отсюда требование к файлам иконок: фон должен быть ПРОЗРАЧНЫМ.
	   Маска берёт альфа-канал, и белая подложка в SVG даст сплошной квадрат
	   вместо рисунка. Собственный цвет внутри файла значения не имеет — все
	   девять сейчас оранжевые, и это никак не видно.

	   Разметка поэтому не <img>, а пустой <span>: адрес приходит из шаблона
	   переменной --nwa-cat-icon, потому что взять его из атрибута src
	   средствами CSS нельзя.

	   ⚠️ Адрес в переменной обязан начинаться со СЛЭША. Относительный путь в
	   url() внутри пользовательского свойства браузер считает не от страницы,
	   а от файла стилей, где свойство используется, — то есть от папки
	   stylesheet. Замер в Chrome показал итог: он искал значок по адресу
	   .../theme/unishop2/stylesheet/image/catalog/... и, конечно, не находил.
	   В <img> тот же относительный путь работает, поэтому ошибка не бросается
	   в глаза: ломаются только иконки, нарисованные маской. Слэш ставит
	   шаблон: url('/{{ category.icon }}'). */
	background-color:currentColor;
	-webkit-mask-image:var(--nwa-cat-icon);
	mask-image:var(--nwa-cat-icon);
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:center;
	mask-position:center;
	-webkit-mask-size:contain;
	mask-size:contain;
	/* Тень отделяет тонкие линии от фона и не даёт им теряться. Раньше стояла
	   в той же цепочке, что и побелка; здесь осталась одна. */
	filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));
	transition:transform .15s ease;
}
/* При наведении значок слегка подрастает — на строке без заливки это
   единственный отклик, который заметен, кроме цвета самой надписи. */
body.nwa-page .nwa-topbar__cat:hover .nwa-topbar__cat-icon{
	transform:scale(1.12);
}

/* ------------------------------------------------------------------------
   Выпадающие списки подкатегорий в полосе разделов

   Раскрытие, фон, рамка и подсветка пунктов приходят готовыми с классов
   .nwa-nav__soft* из nwa-lab-home.css — теми же, что у «Онлайн программ» в
   верхней строке. Здесь правится только то, чем полоса отличается от неё.

   Список появляется у любого раздела, где в админке есть вложенные
   категории: состав приходит из базы, в коде своего перечня нет.
   ------------------------------------------------------------------------ */
body.nwa-page .nwa-topbar__cat-wrap{
	/* Обёртка встаёт на место самой ссылки и не должна тянуть строку вверх:
	   содержимое полосы прижато к нижней кромке (align-items:flex-end у
	   .nwa-topbar__rail-inner), а класс .nwa-nav__soft приносит с собой
	   align-items:center, рассчитанный на высокую панель главной. */
	align-items:flex-end;
}
/* Запасное короткое название для узких экранов.

   Показывается только у разделов с классом --long, то есть у тех, кому в
   catalog_cards.php задано поле 'tiny'. Сейчас такой один: «Услуги и
   Настройки» — полное название на 90 пикселей длиннее прежних «Услуг», и ниже
   1366 строка разделов от него переносилась на вторую, а панель росла со 186
   до 212. Там выводится просто «Услуги».

   Порог 1365, а не 1499: между этими значениями контейнер ещё широкий (1270) и
   полное название помещается. Проверено замером на семи ширинах.

   ⚠️ Селекторы длиннее, чем кажется нужным, и укорачивать их нельзя. Надписи
   внутри пунктов панели уже накрыты правилом
   `.nwa-nav__link > span:not(.nwa-nav__cart-icon):not(.nwa-nav__cart-count)`
   из nwa-lab-home.css, которое ставит им display:inline-block. Два :not()
   считаются за классы, и вес у него выше обычного `body.nwa-page .класс` —
   короткое правило молча проигрывало, на экране висели оба названия сразу.
   Замерено через вычисленные стили в Chrome, по коду это не видно. */
body.nwa-page .nwa-topbar .nwa-topbar__cat .nwa-topbar__cat-name--tiny{
	display:none;
}
@media (max-width:1365px){
	body.nwa-page .nwa-topbar .nwa-topbar__cat--long .nwa-topbar__cat-name{
		display:none;
	}
	body.nwa-page .nwa-topbar .nwa-topbar__cat--long .nwa-topbar__cat-name--tiny{
		display:inline-block;
	}
}

/* Признак того, что у раздела есть вложения: маленький треугольник вниз.

   Без него список выглядит сюрпризом — курсор попадает на пункт случайно.
   Отрицательный отступ гасит часть промежутка между значком и надписью
   (gap:9px у .nwa-topbar__cat): целиком девять пикселей здесь слишком много,
   треугольник должен читаться как часть надписи, а не как третий элемент.

   ⚠️ Ширина полосы — ресурс, см. комментарий к gap у .nwa-topbar__rail-nav.
   Треугольник добавляет по 9 пикселей тем разделам, у которых есть
   подкатегории. Прибавятся новые такие разделы — проверьте, что строка
   по-прежнему помещается на 1280. */
body.nwa-page .nwa-topbar__cat--has-sub:after{
	content:"";
	width:0;
	height:0;
	margin-left:-4px;
	border-left:4px solid transparent;
	border-right:4px solid transparent;
	border-top:5px solid currentColor;
	opacity:.75;
	transition:opacity .15s ease;
}
body.nwa-page .nwa-topbar__cat-wrap.is-open .nwa-topbar__cat--has-sub:after{
	opacity:1;
}
body.nwa-page .nwa-topbar__cat-menu{
	/* По левому краю пункта, а не по центру. Центрирование из
	   nwa-lab-home.css рассчитано на меню у правого края экрана; здесь разделы
	   прижаты влево, и у первых из них половина списка ушла бы за край
	   контейнера. */
	left:0;
	transform:none;
	/* Выпадает из-под полосы, а не из-под самой надписи: содержимое прижато к
	   нижней кромке, и 4 пикселя отступа пришлись бы ровно на кромку.
	   Разрыв перекрыт фоновым мостиком .nwa-nav__soft-menu:before высотой
	   10px, чтобы открытый список визуально примыкал к панели. */
	top:calc(100% + 8px);
	min-width:184px;
	/* ⚠️ overflow сюда не добавлять: он срежет тот самый фоновый мостик. Если
	   подкатегорий однажды станет столько, что список не влезет в экран,
	   разбивайте его на колонки, а не заводите прокрутку. */
}
body.nwa-page .nwa-topbar__cat-menu .nwa-nav__soft-item{
	/* Тот же кегль, что у надписей нижней панели. */
	font-size:12px;
	padding:8px 16px;
}
body.nwa-page .nwa-topbar .nwa-nav{
	margin-top:0;
}
/* Меню покупателя поднято к верхней кромке строки — как на главной, где
   .nwa-hero__top-inner выравнивает содержимое по flex-start и меню стоит сразу
   под краем панели. Здесь строка выровнена по центру, потому что знак и
   название прижаты к её низу каждый своим align-self; меню поэтому поднимается
   тоже поимённо.

   ⚠️ Селектор обязан быть привязан к верхней строке. Класс .nwa-nav висит и на
   полосе разделов — там <nav class="nwa-nav nwa-topbar__rail-nav">, — а её
   содержимое наоборот прижато к нижней кромке. Общее правило по .nwa-nav
   подняло бы и разделы, сведя на нет всю нижнюю полосу.

   ⚠️ ЧИСЛО ВЗЯТО ОБМЕРОМ ГЛАВНОЙ, А НЕ НА ГЛАЗ. 11.09.2026 в Chrome сняты
   вычисленные стили меню на обеих страницах и сверены свойство за свойством:
   шрифт, кегль, разрядка, цвет, высота, зазоры и отступы совпадали полностью,
   расходился только отступ сверху. На главной меню стоит в 25 пикселях от
   верхнего края окна — 20 даёт сама секция hero, ещё 5 её margin-top в vh.
   Здесь панель начинается от нуля, поэтому те же 25 записаны одним числом:
   при переходе с главной на внутреннюю страницу меню не должно прыгать.

   В пикселях, а не calc(2px + 0.4vh), как на главной: там значение в vh
   подстраивалось под высокий hero, а здесь высота панели постоянная. */
body.nwa-page .nwa-topbar .nwa-hero__top-inner .nwa-nav{
	align-self:flex-start;
	margin-top:25px;
}

/* Размер знака подрос вместе с верхней строкой (было 52×46 при строке 58px,
   затем 70×62 при строке 78px).
   Пересчитывается по формуле из комментария выше: знак занимает 187 пикселей
   по вертикали из 486, поэтому при росте знака H картинка должна быть
   486 × H / 187, а поднять её надо на 18 × (эта высота) / 486. При H = 84
   выходит 218 и 8 — они и стоят ниже.

   ⚠️ ШИРИНА ОКНА СЧИТАЕТСЯ ПО ЗНАКУ, А НЕ НА ГЛАЗ. 11.09.2026 картинка
   обмерена по пикселям в Chrome: знак лежит в прямоугольнике x 209…345,
   y 18…205, то есть 137 × 188 из 556 × 486; ниже идут три текстовые строки,
   и они заметно шире. Прежние 70 и 95 были взяты пропорцией от высоты и
   оказались шире знака на треть — по бокам оставалось пустое поле, из-за
   которого название рядом выглядело отодвинутым, сколько ни уменьшай отступ.
   Ширина = 137 × (высота картинки) / 486: при 218 это 61,5 → 62.

   После удвоения строки знак подбирали тремя заходами: 124 занял её почти
   целиком и перевесил панель, 104 остался крупноват, остановились на 84.
   Высоту строки логотип не задаёт — её держит min-height, поэтому панель от
   этих правок не меняется. */
body.nwa-page .nwa-topbar .nwa-logo{
	position:relative;
	display:block;
	/* 22.09.2026, шапка −30%: знак 84 → 54, картинка 218 → 140, сдвиг
	   -8 → -5, ширина окна 137 × 140 / 486 ≈ 40.
	   Там же владелец: «логотип на страницах меньше» — знак 54 → 40,
	   картинка 140 → 104, сдвиг -5 → -4, ширина 137 × 104 / 486 ≈ 29. */
	width:29px;
	height:40px;
	overflow:hidden;
	/* Знак и название стоят по центру строки, а не у нижней кромки, как было
	   до 11.09.2026: меню справа поднято к верху, и прижатый к низу логотип
	   висел в противоположном углу, разрывая строку по диагонали.

	   Выравнивание задаётся поимённо через align-self, а не общим align-items
	   на всей строке: у меню справа своё положение. Знак и название центруются
	   независимо, но их середины совпадают, потому что оба стоят по центру
	   одной и той же строки. */
	align-self:center;
	margin-bottom:0;
	/* Перебивает сдвиг из nwa-lab-home.css, рассчитанный на полный логотип. */
	transform:none;
}
body.nwa-page .nwa-topbar .nwa-logo__img{
	position:absolute;
	left:50%;
	top:-4px;
	height:104px;
	width:auto;
	max-width:none;
	transform:translateX(-50%);
}

/* Название рядом со знаком — набрано текстом в nwa_topbar.twig. Начертание
   повторяет то, что нарисовано в самом логотипе: тонкий вес, прописные,
   широкая разрядка; вторая строка мельче и приглушена, как в файле. */
body.nwa-page .nwa-topbar__wordmark{
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:5px;
	/* Название придвинуто к знаку вплотную — просили именно так. Отступ
	   считается от окна .nwa-logo, а не от самого рисунка, поэтому сперва окно
	   сузили ровно по знаку (см. обмер выше), и только после этого число здесь
	   стало означать реальный просвет. */
	margin-left:10px;
	/* ⚠️ Автоматического отступа справа здесь БЫТЬ НЕ ДОЛЖНО, хотя напрашивается.
	   Он стоял тут и отбирал у меню свободное место: 11.09.2026 замер показал,
	   что меню получало 792 пикселя вместо доступных 920 и переносило «Вход»
	   на вторую строку. Название и без него стоит вплотную к знаку — меню
	   справа растяжимое (flex:1 1 auto) и само занимает всю оставшуюся ширину,
	   а свои пункты прижимает к правому краю. */
	white-space:nowrap;
	/* Стоит по центру строки вместе со знаком — см. комментарий у
	   .nwa-topbar .nwa-logo. Прежние flex-end и отступ снизу убраны: они
	   прижимали название к нижней кромке панели. */
	align-self:center;
	margin-bottom:0;
}
/* Интерлиньяж задан числом больше единицы намеренно.

   Раньше здесь стояло line-height:1 на всём блоке — строка получалась ровно в
   кегль, и у букв с выносом вниз («Д» в «ЛАБОРАТОРИЯ») ножки упирались в край
   строки и выглядели срезанными. Измерено: при кегле 13px высота строки была
   тоже 13px. Единицу сюда не возвращать. */
body.nwa-page .nwa-topbar__wordmark-main{
	font-family:var(--body-font);
	/* Было 13px, затем 16. Увеличено вместе с верхней строкой панели: на 156
	   пикселях высоты и знаке 124px прежний кегль терялся рядом с ним.
	   Кегль намеренно НЕ удвоен: 32px спорили бы со знаком и ломали строку
	   на экранах уже 1400px, где справа стоит меню из семи пунктов.
	   22.09.2026: 24 → 17 вместе с уменьшением шапки на 30%. */
	font-size:17px;
	line-height:1.3;
	font-weight:300;
	letter-spacing:.20em;
	color:#FFFFFF;
}
body.nwa-page .nwa-topbar__wordmark-sub{
	font-family:var(--body-font);
	/* Было 8px — на грани читаемости, затем 10. Вторая строка должна
	   оставаться заметно мельче первой, иначе спорит с ней: держим примерно
	   0.6 от кегля первой строки. 22.09.2026: 14 → 10, вслед за первой. */
	font-size:10px;
	line-height:1.4;
	font-weight:400;
	letter-spacing:.34em;
	color:rgba(255,255,255,.45);
}
/* Ниже 1600px полосе разделов тесно: девяти пунктам нужно около 1300 пикселей
   при зазоре 18, а контейнер на этой ширине уже сузился до 1270. Кегль и зазор
   уменьшаются на ступень — этого хватает, чтобы строка не переносилась ни на
   1500, ни на ноутбучных 1440 и 1366.

   ⚠️ Порог был 1499 и поднят до 1599 12.09.2026, когда «Услуги» стали «Услугами
   и Настройками». Замер показал ровно ту дыру, которую он оставлял: на 1500
   контейнер уже 1270, а шрифт ещё крупный — строка переносилась на вторую и
   панель росла со 186 до 212. Ниже 1366 длинного названия не хватает и с мелким
   кеглем, там показывается запасное «Услуги» — см. .nwa-topbar__cat--long. */
@media (max-width:1599px){
	body.nwa-page .nwa-topbar__rail-nav{
		gap:6px 14px;
	}
	body.nwa-page .nwa-topbar__cat{
		/* 19.09.2026: 12, как на широком экране — ступень кегля больше не нужна. */
		font-size:12px;
		gap:7px;
	}
	body.nwa-page .nwa-topbar__cat-icon{
		width:21px;
		height:21px;
	}
}

/* Треугольник-признак остаётся только на широких экранах.

   Причина в ширине контейнера. От 1600 и выше строке достаётся 1470 пикселей
   при нужных 1266 — запас в две сотни, треугольники помещаются свободно. Ниже
   1600 контейнер сжимается до 1270, и запас становится ровно 4 пикселя: это
   тот самый предел, ради которого 11.09 зазор уменьшали с 22 до 18. Любой
   добавленный элемент переносит строку на вторую, панель растёт со 186 до 212.

   Замерено в Chrome на шести ширинах: без этого правила ломались и 1500, и
   1280. Списки подкатегорий при этом никуда не деваются — они раскрываются по
   нажатию, пропадает только значок-подсказка. */
@media (max-width:1599px){
	body.nwa-page .nwa-topbar__cat--has-sub:after{
		display:none;
	}
}

/* Ниже порога меню занимает почти всю ширину, и название с ним не уживается:
   пункты начинают наезжать друг на друга. Прячем — знак остаётся.

   Порог поднят с 1199 до 1449 после того, как в меню добавились «Главная» и
   «Услуги». Замер в Chrome: семи пунктам нужно 878 пикселей в строку.
   Свободное место считается как ширина окна минус знак (62), название (400 и
   10 отступа) и два зазора по 24. На 1440 это 920 — впритык, на 1366 уже 846,
   и «Вход» уезжает на вторую строку. На 1450 получается 930, с запасом.

   Название занимает 400px: освободив их, меню получает всю ширину и умещается
   в строку на любом экране. Добавляя пункты, порог пересчитывать по той же
   формуле. */
/* ==========================================================================
   НАЗВАНИЕ РЯДОМ СО ЗНАКОМ — СЖИМАЕТСЯ, А НЕ ПРОПАДАЕТ
   ==========================================================================

   15.09.2026, владелец: «при уменьшении ширины экрана компоновать и уменьшать,
   чтоб текст оставался с логотипом до нормального вида, а уже после убирай
   текст».

   Как было: одно правило `@media (max-width:1699px){display:none}` — название
   исчезало разом при 1699 и больше не появлялось никогда. Порог когда-то
   считали честно (название занимает около 400px, восьми пунктам меню нужно
   примерно 1100, на 1500–1600 не хватало), но лечили не тем: вместо того чтобы
   уменьшить название, его выключали целиком.

   ⚠️ ГЛАВНОЕ, ЧТО УПУСКАЛИ: НИЖЕ 1100px МЕНЮ УХОДИТ В БУРГЕР.
   Строка из восьми пунктов заменяется кнопкой «Меню» и корзиной — это около
   150px вместо 1100. Замерено на 1000px: между знаком и кнопкой «Меню»
   оставалось больше 600 пикселей пустоты, а названия при этом не было. Теперь
   на этих ширинах оно возвращается.

   Отсюда форма правил: ступени вниз по кеглю, ОДИН узкий провал 1101…1199, где
   меню ещё строкой и места действительно нет, и возврат ниже 1100.

   ⚠️ Разрядка уменьшается ВМЕСТЕ с кеглем. При .20em каждая буква добавляет
   ширины, и «ЛАБОРАТОРИЯ NESTING» из 19 знаков на мелком кегле без сокращения
   разрядки съедает столько же места, сколько на крупном.

   ⚠️ Добавите девятый пункт в меню — пересчитайте провал 1101…1199 по формуле:
   свободное место это ширина окна минус знак (62), минус название с отступом,
   минус два зазора по 24. */

/* 1440…1699 — первая ступень вниз. 22.09.2026: 18/11 → 16/10 — базовый кегль
   стал 17 после уменьшения шапки, ступень обязана быть мельче базы. */
@media (max-width:1699px){
	body.nwa-page .nwa-topbar__wordmark-main{
		font-size:16px;
		letter-spacing:.16em;
	}
	body.nwa-page .nwa-topbar__wordmark-sub{
		font-size:10px;
		letter-spacing:.28em;
	}
}

/* 1200…1439 — вторая ступень. Ниже уже не ужимается: при кегле меньше 15px
   прописные с разрядкой начинают читаться как набор букв, а не как название. */
@media (max-width:1439px){
	body.nwa-page .nwa-topbar__wordmark-main{
		font-size:15px;
		letter-spacing:.12em;
	}
	body.nwa-page .nwa-topbar__wordmark-sub{
		font-size:9px;
		letter-spacing:.24em;
	}
}

/* 1101…1199 — ЕДИНСТВЕННЫЙ участок, где название убирается совсем.
   Меню здесь ещё идёт строкой из восьми пунктов, и даже ужатому названию места
   не остаётся: иначе «Вход» переносится на вторую строку и панель растёт. */
@media (max-width:1199px) and (min-width:1101px){
	body.nwa-page .nwa-topbar__wordmark{
		display:none;
	}
}

/* ≤1100 — меню ушло в бургер, место освободилось: название возвращается и
   становится крупнее, чем на предыдущей ступени. 22.09.2026: 18/11 → 16/10
   вместе с уменьшением шапки на 30%. */
@media (max-width:1100px){
	body.nwa-page .nwa-topbar__wordmark-main{
		font-size:16px;
		letter-spacing:.16em;
	}
	body.nwa-page .nwa-topbar__wordmark-sub{
		font-size:10px;
		letter-spacing:.28em;
	}
}

/* ≤640 — на телефоне рядом со знаком стоят кнопка «Меню» (93px) и корзина
   (48px). Замер на 390px: им с зазорами нужно около 190, знак забирает 46,
   на название остаётся примерно 140. Кегль 12 с разрядкой .06em укладывается
   в эту ширину. */
@media (max-width:640px){
	body.nwa-page .nwa-topbar__wordmark{
		margin-left:8px;
		gap:2px;
	}
	body.nwa-page .nwa-topbar__wordmark-main{
		font-size:12px;
		letter-spacing:.06em;
	}
	body.nwa-page .nwa-topbar__wordmark-sub{
		font-size:8px;
		letter-spacing:.14em;
	}
}

/* 22.09.2026: справа теперь три кнопки «Каталог», «Корзина», «Вход» (~180px
   вместо ~140 у «Меню» с корзиной). Название мельче — 10/7, а порог, ниже
   которого оно убирается, поднят с 359 до 389: замер на 375 и 360 показал,
   что иначе кнопки выезжают за экран. */
/* Владелец, 22.09.2026: название на телефоне «не убирать, а сделать
   меньше». Кегль 8/6 с малой разрядкой — так оно помещается между знаком и
   кнопками, стоящими в 20px от края. */
@media (max-width:575px){
	body.nwa-page .nwa-topbar__wordmark{
		margin-left:6px;
		gap:1px;
	}
	body.nwa-page .nwa-topbar__wordmark-main{
		font-size:8px;
		letter-spacing:.03em;
	}
	body.nwa-page .nwa-topbar__wordmark-sub{
		font-size:6px;
		letter-spacing:.08em;
	}
}
/* ≤374: при названии 8px кнопки упирались в край на 360 и вылезали на
   320 — кнопки плотнее и ближе к краю, название ещё на ступень мельче. */
@media (max-width:374px){
	body.nwa-page .nwa-topbar .nwa-mobile-actions{margin-right:8px}
	body.nwa-page .nwa-topbar .nwa-mobile-menu-toggle,
	body.nwa-page .nwa-topbar .nwa-mobile-cart{padding:0 4px;font-size:11px}
	body.nwa-page .nwa-topbar__wordmark-main{font-size:7px;letter-spacing:.02em}
	body.nwa-page .nwa-topbar__wordmark-sub{font-size:5px;letter-spacing:.06em}
}

/* Узкие экраны: восьми пунктам не хватает места даже без названия.

   Замер: на 1200 контейнер сжимается до 1140, из них знак забирает 62, и меню
   остаётся около 1070 при нужных примерно 1100. Не хватает совсем немного,
   поэтому вместо уменьшения кегля сначала сокращается зазор — на семи
   промежутках это даёт 70 пикселей, и строка снова собирается в одну. */
@media (max-width:1300px){
	body.nwa-page .nwa-topbar .nwa-nav{
		gap:14px;
	}
}


/* ==========================================================================
   ЧИТАЕМОСТЬ ТЕКСТА НА СВЕТЛОМ ПОЛОТНЕ
   ==========================================================================
   Тёмная тема местами задаёт цвет прямо, а не переменной, и такие правила не
   поменялись вместе с палитрой — текст остался белым на ставшем светлым фоне.
   Главный виновник: .uni-wrapper{background:var(--nwa-bg-block)!important;
   color:#ffffff} в custom-dark-theme.css. Перекрываем точечно.
   -------------------------------------------------------------------------- */

body.nwa-page .uni-wrapper,
body.nwa-page .uni-wrapper p,
body.nwa-page .uni-wrapper li,
body.nwa-page .uni-wrapper td,
body.nwa-page .uni-wrapper span:not(.uni-badge):not([class*="cart-count"]),
body.nwa-page .uni-wrapper div{
	color:var(--nwa-text);
}
body.nwa-page .uni-wrapper a{
	color:var(--nwa-text);
}
body.nwa-page .uni-wrapper a:hover{
	color:var(--nwa-accent);
}

/* Пустая категория остаётся тёмной плашкой из stylesheet.css. Общее правило
   выше красит все div внутри .uni-wrapper в тёмный цвет и делало сообщение
   нечитаемым. Возвращаем контраст только этому состоянию каталога. */
body.nwa-page #product-category .uni-wrapper .div-text-empty,
body.nwa-page #product-category .nwa-vw-cat-calc + .uni-wrapper .div-text-empty{
	color:#FFFFFF !important;
}

/* Нижняя навигация каталога. Общие правила светлой .uni-wrapper перекрашивали
   span внутри тёмной кнопки «Показать ещё» и активной страницы в тёмный цвет.
   Ссылки пагинации возвращаем на светлые карточки, а текущую страницу отмечаем
   тем же оранжевым акцентом, что активную категорию слева. */
body.nwa-page #product-category .show-more__btn{
	background:#111921 !important;
	border-color:#111921 !important;
	color:#FFFFFF !important;
}
body.nwa-page #product-category .show-more__btn span,
body.nwa-page #product-category .show-more__btn i{
	color:#FFFFFF !important;
}
body.nwa-page #product-category .show-more__btn:hover,
body.nwa-page #product-category .show-more__btn:focus{
	background:var(--nwa-accent) !important;
	border-color:var(--nwa-accent) !important;
}
body.nwa-page #product-category .pagination li a,
body.nwa-page #product-category .pagination li a:visited{
	background:#FFFFFF !important;
	border:1px solid var(--nwa-border);
	color:var(--nwa-text) !important;
}
body.nwa-page #product-category .pagination li a:hover,
body.nwa-page #product-category .pagination li a:focus{
	border-color:var(--nwa-accent);
	color:var(--nwa-accent) !important;
}
body.nwa-page #product-category .pagination li.active span,
body.nwa-page #product-category .pagination li.active span:hover,
body.nwa-page #product-category .pagination li.active span:focus{
	background:var(--nwa-accent) !important;
	color:#FFFFFF !important;
}

/* Панель — исключение: она намеренно тёмная, и текст в ней остаётся белым. */
body.nwa-page .nwa-topbar,
body.nwa-page .nwa-topbar a,
body.nwa-page .nwa-topbar span,
body.nwa-page .nwa-topbar div,
body.nwa-page .nwa-topbar button{
	color:#FFFFFF;
}
body.nwa-page .nwa-topbar a:hover,
body.nwa-page .nwa-topbar button:hover{
	color:#DE4E10;
}
/* ⚠️ Вложенные узлы приходится перечислять отдельно, и вот почему.

   На главной наведение работает само: .nwa-nav a:hover красит ссылку, а
   значок <i> и надпись <span> внутри неё цвет НАСЛЕДУЮТ — своего у них нет.

   Здесь наследование разорвано правилом выше: оно называет span и div
   поимённо, чтобы сделать белым весь текст панели. Формально это тот же
   белый, но заданный НАПРЯМУЮ, и на наведении он не меняется — надпись
   остаётся белой рядом с бежевой ссылкой. Именно это и было видно глазами:
   «на главной цвет меняется, здесь нет».

   Счётчик товаров в корзине исключён: у него своя оранжевая заливка и белая
   цифра, и бежевой она стать не должна. */
body.nwa-page .nwa-topbar a:hover i,
body.nwa-page .nwa-topbar a:hover span:not([class*="cart-count"]),
body.nwa-page .nwa-topbar button:hover i,
body.nwa-page .nwa-topbar button:hover span{
	color:#DE4E10;
}

/* --- Типографика ---------------------------------------------------------
   Заголовки как на главной: тонкое начертание, прописные, широкий трекинг. */

body.nwa-page h1,
body.nwa-page h2,
body.nwa-page .page-title{
	font-weight:300;
	text-transform:uppercase;
	letter-spacing:0.12em;
	line-height:1.3;
}
body.nwa-page h3,
body.nwa-page h4,
body.nwa-page h5{
	font-weight:500;
	letter-spacing:0.04em;
}

/* --- Карточки товара -----------------------------------------------------
   Эталон — карточки «решений» на главной (.nwa-card в nwa-lab-home.css):
   белое поле, тонкая рамка #E2E2DE, картинка на почти белом #FAFAF8 и
   ПРЯМЫЕ углы. Скругления здесь были моей ошибкой: на главной их нет. */

/* Классы здесь — настоящие, из темы (БЭМ: product-thumb__name, __price и так
   далее). Бутстраповские .name/.caption в этой вёрстке не встречаются, и
   правила по ним просто ни на что не попадали.

   !important обязателен: фон карточки задан в custom-dark-theme.css как
   .uni-item{background:#0E1114!important} плюс тёмный градиент — без
   !important его не перебить никакой специфичностью. */
body.nwa-page .product-thumb,
body.nwa-page .uni-item,
body.nwa-page .product-layout .product-thumb,
body.nwa-page .panel,
body.nwa-page .well,
body.nwa-page .content-block{
	background:#FFFFFF !important;
	background-image:none !important;
	border:1px solid #E2E2DE !important;
	border-radius:0 !important;
}
/* Поведение при наведении — как у карточек «решений» на главной:
   рамка светлеет до #DEA568, карточка приподнимается на 3px, картинка внутри
   подрастает на 3%. Длительности и кривые взяты оттуда же, чтобы движение
   ощущалось одинаково. */
body.nwa-page .product-thumb,
body.nwa-page .uni-item{
	transition:border-color .2s ease, transform .25s ease;
}
body.nwa-page .product-thumb:hover,
body.nwa-page .uni-item:hover{
	border-color:#F38454 !important;
	transform:translateY(-3px);
}

body.nwa-page .product-thumb__image{
	background:#FAFAF8 !important;
	overflow:hidden;
}
body.nwa-page .product-thumb__image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .45s ease;
}
body.nwa-page .product-thumb:hover .product-thumb__image img{
	transform:scale(1.03);
}

/* Текст карточки: тёмный, как на светлом полотне главной. */
/* Общий цвет текста карточки. Кнопка корзины и название исключены: у них свои
   цвета, а звёздочку :not() приходится ставить здесь, иначе это правило
   перебивало бы их — оно тоже с !important. */
body.nwa-page .product-thumb,
body.nwa-page .product-thumb__caption,
body.nwa-page .product-thumb__caption *:not(.product-thumb__add-to-cart):not(.product-thumb__add-to-cart span):not(.product-thumb__add-to-cart i):not(.product-thumb__name),
body.nwa-page .qty-indicator__text,
body.nwa-page .product-thumb__attribute-value{
	color:var(--nwa-text) !important;
}
/* Название товара оформлено как заголовок карточки на главной
   (.nwa-card__title): бежевый #DEA568, прописные, вес 700, разрядка .14em,
   кегль .9rem — и переход в оранжевый #ff6600 при наведении на карточку,
   а не только на саму надпись. */
body.nwa-page .product-thumb__name{
	/* Бежевый #DEA568 с главной на белом фоне карточки читается тяжело:
	   там он лежит на подписи из одного слова, здесь — на длинном названии
	   товара. Взят самый тёмный тон той же гаммы — #A76825, он же
	   используется как «нажатое» состояние акцента на главной. */
	color:#BD420E !important;
	font-size:1.08rem !important;
	font-weight:700 !important;
	letter-spacing:.14em !important;
	text-transform:uppercase;
	line-height:1.35;
	transition:color .2s ease;
}
body.nwa-page .product-thumb:hover .product-thumb__name,
body.nwa-page .product-thumb__name:hover{
	color:#F06529 !important;
}

/* Второстепенный текст карточки — как .nwa-card__text: серый #7A7D82. */
body.nwa-page .qty-indicator__text,
body.nwa-page .product-thumb__attribute-value,
body.nwa-page .product-thumb__rating-count{
	color:#7A7D82 !important;
	font-size:.86rem !important;
	line-height:1.55;
}
body.nwa-page .product-thumb__price,
body.nwa-page .product-thumb__price *{
	color:var(--nwa-text) !important;
	font-weight:600;
}
body.nwa-page .product-thumb__price-old,
body.nwa-page .product-thumb__rating-count{
	color:#8A8D90 !important;
}

/* Кнопка «В корзину» — акцент главной вместо оранжевого тёмной темы.
   Кегль мельче обычного: самая длинная подпись «Уже в корзине» при 14px с
   разрядкой не помещалась в кнопку и переносилась. */
/* Кнопка «В корзину».

   Цвет задаётся здесь напрямую, а не только переменными темы: правило
   .product-thumb__caption * выше красит весь текст карточки с !important и
   перебивало бы их. Поэтому переменные оставлены (тема ими пользуется), но
   продублированы явными правилами.

   Состояние «уже в корзине» — класс in_cart, его вешает скрипт темы
   (common.js: $(this).addClass('in_cart')), он же подменяет иконку и надпись.

   Рамка — как у счётчика количества рядом, чтобы пара читалась единым блоком.
   Заливки нет ни в одном состоянии. */
/* Строка «количество + кнопка» не должна вылезать за карточку: у длинной
   надписи «Уже в корзине» вместе со значком не хватало места, а перенос
   запрещён. Счётчик держит свою ширину, кнопка занимает остаток и при нехватке
   места сжимается. */
body.nwa-page .product-thumb__cart,
body.nwa-page .product-thumb .cart{
	display:flex !important;
	/* Перенос разрешён: если надпись «Уже в корзине» не помещается рядом со
	   счётчиком, кнопка уходит на свою строку и занимает всю ширину — текст
	   остаётся читаемым при любой ширине карточки. Запрет переноса приводил
	   к тому, что кнопка либо вылезала за карточку, либо обрезалась. */
	flex-wrap:wrap !important;
	align-items:center;
	gap:6px;
	width:100%;
	max-width:100%;
}
body.nwa-page .product-thumb .qty-switch{
	flex:0 0 auto !important;
	margin:0 !important;
}

body.nwa-page .product-thumb__add-to-cart{
	/* 132px — минимум, при котором помещается самая длинная надпись со
	   значком. Меньше не сжимается: вместо этого строка переносится. */
	flex:1 1 150px !important;
	min-width:150px !important;
	max-width:100% !important;
	background:transparent !important;
	border:1px solid #E2E2DE !important;
	box-shadow:none !important;
	color:#BD420E !important;
	height:30px !important;
	line-height:28px !important;
	padding:0 6px !important;
	font-size:10px !important;
	font-weight:600 !important;
	letter-spacing:0.02em !important;
	white-space:nowrap;
	border-radius:6px !important;
	transition:color .2s ease, border-color .2s ease, background-color .2s ease;
}
body.nwa-page .product-thumb__add-to-cart span,
body.nwa-page .product-thumb__add-to-cart i{
	color:inherit !important;
}
body.nwa-page .product-thumb__add-to-cart:hover{
	background:transparent !important;
	border-color:#F06529 !important;
	color:#F06529 !important;
}
/* Значок урны внутри кнопки «Уже в корзине» — подсказка, что повторное
   нажатие уберёт товар. Добавляется скриптом nwa-cart-toggle.js. */
body.nwa-page .nwa-cart-trash{
	display:inline-block;
	margin-left:4px;
	font-style:normal;
	font-size:11px;
	/* Белый задан явно, а не наследованием: кнопка в этом состоянии залита
	   оранжевым, и значок должен читаться на ней так же чётко, как надпись.
	   Полупрозрачности нет — она делала иконку блёклой. */
	color:#FFFFFF !important;
}
body.nwa-page .nwa-cart-trash i{
	color:#FFFFFF !important;
	margin:0 !important;
	font-size:11px !important;
}

/* В состоянии «уже в корзине» галочка перед надписью убрана: она дублирует
   смысл, который и так передают оранжевая заливка и значок урны, а места
   занимает около 17 пикселей — из-за них надпись не помещалась в кнопку.
   Скрывается только прямая дочерняя иконка темы; наш значок лежит в <em> и
   под это правило не попадает. */
body.nwa-page .product-thumb__add-to-cart.in_cart > i{
	display:none !important;
}

/* Товар уже в корзине — заливка оранжевым и белая надпись. Рамка при этом
   остаётся прежней, серой: так кнопка не «раздувается» визуально и держит ту
   же геометрию, что счётчик рядом. */
body.nwa-page .product-thumb__add-to-cart.in_cart{
	background:#F06529 !important;
	border-color:#E2E2DE !important;
	color:#FFFFFF !important;
}
body.nwa-page .product-thumb__add-to-cart.in_cart:hover{
	background:#DE4E10 !important;
	border-color:#E2E2DE !important;
	color:#FFFFFF !important;
}

/* ── Кнопка «В корзину» на самой карточке товара ───────────────────────────
   У неё другой класс, чем у кнопки в плитке: .product-page__add-to-cart
   против .product-thumb__add-to-cart. Правила выше до неё не достают, и в
   состоянии «уже в корзине» она оказывалась нечитаемой — это видно на живом
   сайте у вошедшего покупателя, у которого товар уже в корзине.

   Что происходило. Тема красит это состояние прямыми значениями:
   stylesheet.css:1767 — `.add_to_cart.in_cart{color:#fff; background:#1f252b}`,
   то есть белым по тёмному. Само по себе читаемо. Но надпись внутри кнопки
   лежит в <span>, а его цвет мы задаём своим правилом для светлых страниц
   (.uni-wrapper span{color:var(--nwa-text)}) — тёмным. Итог: тёмная надпись на
   тёмной заливке.

   Лечится не цветом текста, а заливкой: берём ту же оранжевую, что у кнопки в
   плитке, и белый текст. Заодно состояние выглядит одинаково в обоих местах.
   Вложенные узлы перечислены поимённо — по той же причине, по которой они
   перечислены в панели: наш собственный цвет на span перебивает наследование. */
body.nwa-page .product-page__add-to-cart.in_cart,
body.nwa-page .product-page__add-to-cart.in_cart:hover,
body.nwa-page .product-page__add-to-cart.in_cart:focus,
body.nwa-page .product-page__add-to-cart.in_cart:active{
	background:#F06529 !important;
	border-color:#F06529 !important;
	color:#FFFFFF !important;
}
body.nwa-page .product-page__add-to-cart.in_cart span,
body.nwa-page .product-page__add-to-cart.in_cart i,
body.nwa-page .product-page__add-to-cart.in_cart em,
body.nwa-page .product-page__add-to-cart.in_cart b{
	color:#FFFFFF !important;
}
body.nwa-page .product-page__add-to-cart.in_cart:hover{
	background:#DE4E10 !important;
	border-color:#DE4E10 !important;
}

/* ── Липкая полоса вкладок под липкой панелью ──────────────────────────────
   Тема делает полосу вкладок липкой: generated.0.css задаёт ей
   `position:sticky; top:0; z-index:1029`. С нашей панелью это конфликт по двум
   пунктам сразу: полоса останавливалась у верхнего края окна, то есть ПОД
   панелью и невидимо, а слой 1029 выше нашего 1000 — при прокрутке она
   всплывала поверх шапки.

   Останавливаем её на высоте панели и опускаем ниже её по слоям. Число одно,
   из переменной выше: на телефонах панель ниже, и полоса поедет за ней. */
body.nwa-page .product-page-tabs{
	top:var(--nwa-topbar-h) !important;
	z-index:990 !important;
	/* Полоса стала белой и на светлом поле страницы сливалась бы с ним.
	   Тонкая линия по низу отделяет её от текста вкладки — та же, что у рамок
	   карточек. */
	border-bottom:1px solid var(--nwa-border);
}
/* Активную вкладку надо отличать от остальных. Переменные темы --nav-tabs-c и
   --nav-tabs-c-active до неё не доходят: наше же правило .uni-wrapper a красит
   все ссылки внутри обёртки одним цветом и весит больше, чем .nav-tabs li a.
   Поэтому обе вкладки задаются здесь поимённо. */
body.nwa-page .product-page-tabs > li > a{
	color:var(--nwa-text-secondary) !important;
}
body.nwa-page .product-page-tabs > li.active > a,
body.nwa-page .product-page-tabs > li > a:hover{
	color:var(--nwa-text) !important;
}
/* Иконка тележки — под уменьшенный кегль. */
body.nwa-page .product-thumb__add-to-cart i,
body.nwa-page .product-thumb__add-to-cart .fa{
	font-size:12px !important;
	margin-right:4px;
}

/* Счётчик количества — на светлом фоне и той же высоты, что кнопка рядом:
   в теме он был 38px и рядом с кнопкой смотрелся тяжелее неё. */
body.nwa-page .qty-switch__input,
body.nwa-page .qty-switch__btn,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__input,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn{
	background:#FFFFFF !important;
	color:var(--nwa-text) !important;
	border-color:#E2E2DE !important;
	height:30px !important;
	line-height:28px !important;
	font-size:12px !important;
}
body.nwa-page .qty-switch__btn{
	width:24px !important;
	transition:color .2s ease, border-color .2s ease;
}
/* Плюс и минус отзываются так же, как кнопка корзины рядом: оранжевый знак и
   оранжевая рамка. Пара кнопок ведёт себя одинаково — это читается как один
   элемент управления.

   Селекторы длиннее, чем хотелось бы: тема задаёт своё наведение через
   .qty-switch__cart .qty-switch__btn:hover с !important, а рамку — через
   .product-thumb .qty-switch__cart .qty-switch__btn, тоже с !important.
   Чтобы перекрыть оба, приходится повторять их цепочки целиком. */
body.nwa-page .qty-switch__btn:hover,
body.nwa-page .qty-switch__cart .qty-switch__btn:hover,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn:hover,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn.fa:hover{
	color:#F06529 !important;
	border-color:#F06529 !important;
	background:#FFFFFF !important;
	cursor:pointer;
}
/* Сами знаки «+» и «−» — это глиф иконочного шрифта в псевдоэлементе :before.
   Свой цвет он от родителя не всегда берёт, поэтому красится отдельно —
   иначе при наведении оранжевой становилась только рамка. */
body.nwa-page .qty-switch__btn:hover:before,
body.nwa-page .qty-switch__cart .qty-switch__btn:hover:before,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn:hover:before,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn.fa:hover:before{
	color:#F06529 !important;
}

/* Обычное состояние — тот же бежевый, что у кнопки корзины. */
body.nwa-page .qty-switch__cart .qty-switch__btn,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn.fa{
	color:#BD420E !important;
	background:#FFFFFF !important;
	border-color:#E2E2DE !important;
}
body.nwa-page .qty-switch__cart .qty-switch__btn:before,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn:before,
body.nwa-page .product-thumb .qty-switch__cart .qty-switch__btn.fa:before{
	color:#BD420E !important;
}
body.nwa-page .qty-switch__input{
	width:32px !important;
	padding:0 !important;
	text-align:center;
}

/* Заголовок страницы и прочий текст полотна: тема красит их под чёрный фон. */
body.nwa-page h1,
body.nwa-page h2,
body.nwa-page h3,
body.nwa-page h4,
body.nwa-page .page-title{
	color:var(--nwa-text) !important;
}

/* Поля ввода и кнопки — тоже прямоугольные, как всё на главной. */
body.nwa-page .btn,
body.nwa-page .form-control,
body.nwa-page input[type="text"],
body.nwa-page input[type="email"],
body.nwa-page input[type="password"],
body.nwa-page textarea,
body.nwa-page select{
	border-radius:0;
}

/* --- Заливка полей ввода --------------------------------------------------
   13.09.2026. На светлых страницах поля оставались чёрными прямоугольниками:
   `custom-dark-theme.css:214` задаёт .form-control прямыми значениями —
   `background:#10161d` и `color:#ffffff !important`. Прямые значения светлая
   палитра на body.nwa-page не перекрывает (это та же ловушка, что описана
   выше про --nav-tabs-bg), поэтому цвета приходится задавать поимённо, а
   белый текст снимать таким же !important — иначе он останется белым на
   белом и поле будет выглядеть пустым при наборе.

   Видно это было на оформлении заказа, но правило общее: те же чёрные поля
   стояли на входе, регистрации, в контактах и в поиске.

   ⚠️ ТОЛЬКО background-color, никогда не shorthand `background`.
   Селектор .form-control включает и <select>, а у него фоном идёт нарисованная
   выше галочка (см. блок про select.form-control). Shorthand стёр бы её, и
   списки остались бы без указателя. */
body.nwa-page .form-control,
body.nwa-page input[type="text"],
body.nwa-page input[type="email"],
body.nwa-page input[type="tel"],
body.nwa-page input[type="password"],
body.nwa-page input[type="search"],
body.nwa-page input[type="number"],
body.nwa-page textarea{
	background-color:#FFFFFF !important;
	color:var(--nwa-text) !important;
	border:1px solid #E2E2DE;
}

/* Подсказка в пустом поле — приглушённая, но читаемая. Без своего правила она
   наследует белый от темы и на белом поле пропадает совсем. */
body.nwa-page .form-control::placeholder,
body.nwa-page input::placeholder,
body.nwa-page textarea::placeholder{
	color:var(--nwa-text-secondary) !important;
	opacity:1;
}

/* --- Флажки и переключатели ------------------------------------------------
   13.09.2026. Один вид на весь сайт: пустой — белый квадрат со светло-серой
   рамкой, отмеченный — оранжевый с белой галочкой. Переключатели (radio) те
   же, только круглые.

   Вид не придуман заново, а взят у темы (stylesheet.css:177-239) — так
   выглядят согласие на оформлении заказа, галочки регистрации и контактов.
   Проблема была в том, что тема рисует его ТОЛЬКО внутри обёртки
   `<label class="input">`: это она задаёт appearance:none, без которого
   браузер рисует свой системный флажок. Где разметку писали своими руками,
   обёртки не было — в корзине («выбрать все») и на странице NWA Viewer
   стояли синие системные квадратики Chrome.

   Теперь правило висит на самом теге, поэтому любой новый флажок на сайте
   получает общий вид сам, без обёртки и без отдельного CSS.

   ⚠️ Своего margin здесь намеренно НЕТ. Тема задаёт флажкам внутри .input
   отступ справа 10px с !important, а собственные разметки разносят элементы
   через gap у flex-контейнера. Задай margin здесь — во втором случае отступ
   сложился бы вдвое.

   ⚠️ Флажки, спрятанные ради своей отрисовки (в корзине input лежит под
   opacity:0, а рисуется соседний span), правило не ломает: оно не трогает
   ни position, ни opacity, и невидимым элементам новый фон безразличен. */
body.nwa-page input[type="checkbox"],
body.nwa-page input[type="radio"]{
	position:relative;
	flex:0 0 auto;
	min-width:14px;
	width:14px;
	height:14px;
	padding:0;
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	background:#FFFFFF;
	border:solid 1px #ccc;
	outline:none;
	cursor:pointer;
}
body.nwa-page input[type="checkbox"]{border-radius:2px}
body.nwa-page input[type="radio"]{border-radius:100%}

body.nwa-page input[type="checkbox"]:hover,
body.nwa-page input[type="radio"]:hover{
	border-color:#aaa;
}

body.nwa-page input[type="checkbox"]:checked,
body.nwa-page input[type="radio"]:checked{
	background:#F06529;
	border:none;
}

/* Галочка — две стороны рамки, повёрнутые на 45°. Тот же приём, что в теме. */
body.nwa-page input[type="checkbox"]:checked:after{
	position:absolute;
	content:'';
	top:50%;
	left:50%;
	width:10px;
	height:5px;
	border:solid 2px #fff;
	border-top:none;
	border-right:none;
	transform:translate(-50%, -80%) rotate(-45deg);
}

body.nwa-page input[type="radio"]:checked:after{
	position:absolute;
	content:'';
	top:50%;
	left:50%;
	width:6px;
	height:6px;
	border-radius:50%;
	/* Тема (stylesheet.css, .input input[type="radio"]:checked:after) рисует
	   вокруг точки кольцо 3px своим #ff6600 — красим его в цвет заливки,
	   иначе прежний оранжевый проступал на переключателях (23.09.2026). */
	border-color:#F06529;
	background:#fff;
	transform:translate(-50%, -50%);
}

/* Активное поле подсвечивается бежевым акцентом — тем же, что ссылки и рамки
   карточек при наведении. */
body.nwa-page .form-control:focus,
body.nwa-page input[type="text"]:focus,
body.nwa-page input[type="email"]:focus,
body.nwa-page input[type="tel"]:focus,
body.nwa-page input[type="password"]:focus,
body.nwa-page input[type="search"]:focus,
body.nwa-page input[type="number"]:focus,
body.nwa-page textarea:focus{
	border-color:var(--nwa-accent) !important;
	box-shadow:0 0 0 2px rgba(222,78,16,.18);
	outline:none;
}

/* --- Кнопки --------------------------------------------------------------
   Прописные с разрядкой — как «ПОДРОБНЕЕ →» на главной. Цвета приходят из
   переменных выше, здесь только начертание. */

body.nwa-page .btn{
	font-weight:500;
	letter-spacing:0.04em;
	text-transform:uppercase;
}

/* Главная кнопка действия — «Отправить» в контактах, «Войти», «Продолжить» и
   прочие .btn-primary.

   13.09.2026. Оставались почти чёрными (#1a1e21): цвет задан в теме ПРЯМЫМ
   значением, а не переменной, поэтому светлая палитра его не перекрывала —
   та же ловушка, что с полями ввода и панелью «Ваш заказ». Теперь тот же
   бежевый, что у кнопки оплаты в корзине и на оформлении заказа.

   !important не нужен: селектор с body.nwa-page весит больше, чем .btn-primary
   темы, а файл подключается после custom-dark-theme.css.

   ⚠️ .btn-default намеренно НЕ трогаем. Он висит на десятках мелких кнопок,
   включая согласие на cookie поверх тёмной плашки внизу страницы, — покрасив
   его разом, легко получить светлую кнопку на светлом фоне там, где её никто
   не проверял. Где такая кнопка мешает, красим точечно (так сделано с
   «Применить» на оформлении, см. checkout.css). */
body.nwa-page .btn-primary{
	background:#BD420E;
	border-color:#BD420E;
	color:#fff;
}
body.nwa-page .btn-primary:hover,
body.nwa-page .btn-primary:focus,
body.nwa-page .btn-primary:active{
	background:#F06529;
	border-color:#F06529;
	color:#fff;
}

/* --- Описание товара справа от картинки ------------------------------------
   14.09.2026. Описание переехало из вкладки под карточкой в правую колонку
   (см. product.twig). Здесь — его типографика.

   Задача была «сделать текст читаемым»: он был белым по белому из-за правила
   `#tab-description … color:white !important` в product-page.css, оставшегося
   от тёмной темы. Правило убрано, цвет теперь приходит из палитры, а тут
   добавлены кегль, интерлиньяж и отступы — в описаниях из админки абзацы идут
   сплошняком, без отбивок.

   ⚠️ Ширина ограничена 62em. Правая колонка занимает 7 из 12 долей — это около
   700px, и строка в 100+ знаков читается тяжело. Предел по em, а не по
   пикселям: он подстраивается под кегль.

   ⚠️ Шрифт задан принудительно. Тексты вставлены из редактора с разметкой
   `<font face="Verdana">` и `<span style="font-family: Verdana">` — на сайте с
   Montserrat это выглядит чужеродно. Inline-стиль перебивается !important. */
/* --- Полоса статистики отзывов ---------------------------------------------
   14.09.2026. `.review-info` залита тёмным `#161f2a` (stylesheet.css) — на
   светлой карточке получилась чёрная полоса, а текст на ней стал тёмным вслед
   за палитрой: «Отзывов: 0» и «Средняя оценка» не читались.

   Та же пара «тёмный фон + тёмный текст», что была у панели «Ваш заказ» и
   формы контактов: фон задан в теме прямым значением, мимо переменных. */
body.nwa-page .review-info{
	background:#FFFFFF;
	border:1px solid var(--nwa-border);
	color:var(--nwa-text);
}

/* --- Главное действие на странице товара -----------------------------------
   Контурная кнопка терялась внутри белой карточки и выглядела второстепенной.
   Здесь действие крупнее, чем в плитке каталога, поэтому используем фирменную
   бежевую заливку и сохраняем оранжевый цвет для наведения.

   Тема красит наведение прямым значением —
   `.add_to_cart:hover{color:white; background:#1b2127}`, и на светлой карточке
   кнопка превращалась в чёрный прямоугольник. В плитке этого не видно: там
   наведение переопределено для .product-thumb__add-to-cart, а у кнопки на
   странице товара класс другой — .product-page__add-to-cart.
*/
body.nwa-page .product-page__add-to-cart{
	min-height:44px;
	background:#BD420E !important;
	border:1px solid #BD420E !important;
	box-shadow:0 6px 16px rgba(139,111,82,.18) !important;
	color:#FFFFFF !important;
	font-weight:600;
	transition:color .2s ease, border-color .2s ease, background-color .2s ease;
}
body.nwa-page .product-page__add-to-cart span,
body.nwa-page .product-page__add-to-cart i{
	color:inherit !important;
}
body.nwa-page .product-page__add-to-cart:hover,
body.nwa-page .product-page__add-to-cart:focus,
body.nwa-page .product-page__add-to-cart:active{
	background:#F06529 !important;
	border-color:#F06529 !important;
	color:#FFFFFF !important;
}

/* --- «Купить» рядом с «В корзину» (25.09.2026) ----------------------------
   Сразу к оплате, мимо корзины (checkout/nwa_buy_now). Тот же размер и
   отступы, что у «В корзину», но контур вместо заливки: две залитые
   кнопки рядом спорили бы друг с другом. При наведении заливается так же.
   На узком экране ряд переносится, и «Купить» встаёт второй строкой во всю
   ширину — у ряда темы flex-wrap. */
body.nwa-page .product-page__buy-now{
	min-height:44px;
	margin:0 0 15px;
	background:#FFFFFF !important;
	border:1px solid #BD420E !important;
	color:#BD420E !important;
	font-weight:600;
	transition:color .2s ease, border-color .2s ease, background-color .2s ease;
}
body.nwa-page .product-page__buy-now span{
	color:inherit !important;
}
body.nwa-page .product-page__buy-now:hover,
body.nwa-page .product-page__buy-now:focus,
body.nwa-page .product-page__buy-now:active{
	background:#F06529 !important;
	border-color:#F06529 !important;
	color:#FFFFFF !important;
}
body.nwa-page .product-page__buy-now.disabled{
	opacity:.6;
	pointer-events:none;
}
@media (max-width:992px){
	body.nwa-page .product-page__cart.row-flex .product-page__buy-now{flex:1 1 auto}
}

/* --- Галерея товара: стрелки и кадр с 3D-моделью ---------------------------
   14.09.2026.

   Стрелки создавались всегда (owl, nav:true), но product-page.css скрывал весь
   .owl-nav до открытия полноэкранного просмотра. Показываем навигацию прямо
   в обычном окне большого изображения; у карусели с одним кадром owl оставляет
   контейнеру класс .disabled, и стрелки по-прежнему не выводятся.
   Круг с тенью, значок внутри оранжевый; при наведении круг заливается
   оранжевым, значок становится белым. */
body.nwa-page .product-page__image-main .owl-nav:not(.disabled){
	display:block !important;
	opacity:1 !important;
}
body.nwa-page .product-page__image .owl-nav button.owl-prev,
body.nwa-page .product-page__image .owl-nav button.owl-next{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:50%;
	background:rgba(255,255,255,.92) !important;
	border:1px solid var(--nwa-border) !important;
	box-shadow:0 2px 10px rgba(0,0,0,.12);
	color:#F06529 !important;
	font-size:16px;
	opacity:1 !important;
	transition:background .15s ease, color .15s ease, border-color .15s ease;
	z-index:3;
}
body.nwa-page .product-page__image .owl-nav button.owl-prev{left:10px}
body.nwa-page .product-page__image .owl-nav button.owl-next{right:10px}
body.nwa-page .product-page__image .owl-nav button.owl-prev:hover,
body.nwa-page .product-page__image .owl-nav button.owl-next:hover{
	background:#F06529 !important;
	border-color:#F06529 !important;
	color:#FFFFFF !important;
}
body.nwa-page .product-page__image .owl-nav button i{color:inherit !important}
/* Лента миниатюр: стрелки мельче — они не должны спорить с главными. */
body.nwa-page .product-page__image-addit .owl-nav button.owl-prev,
body.nwa-page .product-page__image-addit .owl-nav button.owl-next{
	width:26px;
	height:26px;
	font-size:12px;
	box-shadow:none;
}

/* Увеличение фотографии — «+» и «−» под картинкой.

   ⚠️ Курсор-лупа у темы убран намеренно: увеличение больше не висит на клике
   по самой картинке, им управляют эти две кнопки. Клик по фотографии теперь не
   делает ничего, и «зовущий» курсор обманывал бы. */
body.nwa-page .product-page__image-main-img{
	cursor:default;
}
/* Кнопки повторяют боковые стрелки карусели: тот же круг, та же рамка, тот же
   оранжевый значок — в галерее не должно быть двух разных видов кнопок. */
body.nwa-page .nwa-zoom{
	position:absolute;
	left:50%;
	bottom:10px;
	z-index:3;
	display:flex;
	gap:8px;
	transform:translateX(-50%);
}
body.nwa-page .nwa-zoom.is-hidden{
	display:none;
}
body.nwa-page .nwa-zoom__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	padding:0;
	border-radius:50%;
	background:rgba(255,255,255,.92) !important;
	border:1px solid var(--nwa-border) !important;
	box-shadow:0 2px 10px rgba(0,0,0,.12);
	font-size:15px;
	cursor:pointer;
	transition:background .15s ease, color .15s ease, border-color .15s ease;
}
body.nwa-page .nwa-zoom__btn,
body.nwa-page .nwa-zoom__btn i{
	color:#F06529 !important;
}
body.nwa-page .nwa-zoom__btn:hover,
body.nwa-page .nwa-zoom__btn:focus-visible{
	background:#F06529 !important;
	border-color:#F06529 !important;
}
body.nwa-page .nwa-zoom__btn:hover,
body.nwa-page .nwa-zoom__btn:hover i,
body.nwa-page .nwa-zoom__btn:focus-visible,
body.nwa-page .nwa-zoom__btn:focus-visible i{
	color:#FFFFFF !important;
}
body.nwa-page .nwa-zoom__btn[disabled]{
	opacity:.45;
	cursor:default;
}
body.nwa-page .nwa-zoom__btn[disabled]:hover{
	background:rgba(255,255,255,.92) !important;
	border-color:var(--nwa-border) !important;
}
body.nwa-page .nwa-zoom__btn[disabled]:hover,
body.nwa-page .nwa-zoom__btn[disabled]:hover i{
	color:#F06529 !important;
}

/* Окно с увеличенной фотографией.

   ⚠️ Окно — РАЗМЕРОМ С КАРТИНКУ, а не панель во весь экран: ширину ему задаёт
   nwa-product.js (ширина картинки в карточке, умноженная на масштаб). Здесь
   только потолок, чтобы окно не вылезло за экран, — дальше разницу берёт на
   себя прокрутка внутри. Первая версия занимала весь экран, и увеличенная
   картинка терялась посреди тёмного поля.

   ⚠️ Правило для [hidden] — как у окна с моделью: display:flex перебивает
   браузерное скрытие. */
body.nwa-page .nwa-img-modal{
	position:fixed;
	inset:0;
	z-index:9999;
	display:block;
	background:rgba(12,13,15,.88);
	opacity:0;
	transition:opacity .2s ease;
}
body.nwa-page .nwa-img-modal.is-open{
	opacity:1;
}
body.nwa-page .nwa-img-modal[hidden]{
	display:none;
}
/* ⚠️ Координаты окну считает nwa-product.js: оно раскрывается из картинки, с
   тем же центром, а не по центру экрана. Здесь только запасное положение (до
   первого расчёта) и потолок размеров. */
body.nwa-page .nwa-img-modal__box{
	position:absolute;
	left:8px;
	top:8px;
	max-width:calc(100vw - 16px);
	max-height:calc(100vh - 16px);
	display:flex;
	border-radius:4px;
	background:#FFFFFF;
	box-shadow:0 10px 40px rgba(0,0,0,.45);
	overflow:hidden;
	/* Окно слегка «вырастает» из картинки. ⚠️ Анимируется только transform:
	   ширину во время перехода читает nwa-product.js, чтобы поставить окно по
	   центру снимка, и промежуточное значение увело бы его в сторону. */
	transform:scale(.96);
	transform-origin:center center;
	transition:transform .2s cubic-bezier(.2,.7,.3,1);
}
body.nwa-page .nwa-img-modal.is-open .nwa-img-modal__box{
	transform:none;
}
/* «+» и «−» в окне — те же кнопки и на том же месте, что в карточке: снизу по
   центру картинки. Позицию им даёт общее правило .nwa-zoom, окно для этого
   сделано position:relative. Крестик — отдельно, в верхнем углу. */
body.nwa-page .nwa-img-modal__close{
	position:absolute;
	top:10px;
	right:10px;
	z-index:3;
}
/* Стрелки окна — по бокам, как у карусели в карточке. */
body.nwa-page .nwa-img-modal__nav{
	position:absolute;
	top:50%;
	z-index:3;
	transform:translateY(-50%);
}
body.nwa-page .nwa-img-modal__nav--prev{left:10px}
body.nwa-page .nwa-img-modal__nav--next{right:10px}
body.nwa-page .nwa-img-modal__nav.is-hidden{display:none}
body.nwa-page .nwa-img-modal__stage{
	flex:1 1 auto;
	overflow:auto;
}
body.nwa-page .nwa-img-modal__stage img{
	display:block;
	max-width:none;
	height:auto;
	background:#FFFFFF;
}
@media (max-width:520px){
	body.nwa-page .nwa-img-modal__close{top:6px;right:6px}
}

/* Кадр с 3D-моделью внутри карусели.

   ⚠️ Пропорции 1:1, как у фотографий товара (они приходят 1000×1000). При 4:3
   под кадром оставалась белая полоса: карусель держит высоту по самому
   высокому слайду, то есть по квадратной фотографии. */
body.nwa-page .nwa-3d-slide{
	position:relative;
	width:100%;
	aspect-ratio:1 / 1;
	background:#EDF1F4;
	overflow:hidden;
}
/* Размер рамки задаёт nwa-product.js, а не эти правила: чтобы просмотрщик
   показал мобильный вид с задвинутой шторкой, ему даётся окно шириной 508px,
   и оно растягивается до слайда трансформацией. Здесь — только точка отсчёта
   масштаба и запасные размеры на случай, если скрипт не отработал. */
body.nwa-page .nwa-3d-slide iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transform-origin:top left;
	border:0;
}
/* Кнопка «Развернуть» — по центру верхнего края кадра.

   ⚠️ Место выбрано по интерфейсу самого просмотрщика: у него заняты левый
   верхний угол (кнопки видов), левый край (фон и камера), левый нижний угол
   (помощь) и весь правый край — панель управления, а в мобильном виде рельс
   инструментов в правом верхнем углу. Свободна только верхняя середина.

   z-index держит кнопку над рамкой: без него нажатие уходило бы модели. */
body.nwa-page .nwa-3d-expand{
	position:absolute;
	top:10px;
	left:50%;
	z-index:3;
	transform:translateX(-50%);
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:7px 13px;
	border:0;
	border-radius:4px;
	background:rgba(12,13,15,.86) !important;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
	font-size:12px;
	font-weight:600;
	line-height:1.25;
	cursor:pointer;
	transition:background .15s ease;
}
/* ⚠️ Цвет перечислен и вложенным узлам, а не оставлен на наследование: у темы
   для надписей внутри галереи есть свои правила, и на тёмной плашке текст
   выходил тёмным по тёмному. Та же причина, по которой поимённо перечислены
   узлы в пунктах панели. */
body.nwa-page .nwa-3d-expand,
body.nwa-page .nwa-3d-expand span,
body.nwa-page .nwa-3d-expand i{
	color:#FFFFFF !important;
}
/* Оранжевый — цвет самого просмотрщика, тот же, что у миниатюры 3D.

   ⚠️ `!important` здесь обязателен: базовая заливка кнопки объявлена с ним же
   (иначе её перебивает тема), и правило наведения без него молча не
   срабатывало — кнопка оставалась тёмной под курсором. */
body.nwa-page .nwa-3d-expand:hover,
body.nwa-page .nwa-3d-expand:focus-visible{
	background:#F06529 !important;
}

/* Окно во весь экран.

   ⚠️ Правило для [hidden] обязательно и отдельной строкой: display:flex выше
   перебивает браузерное скрытие, и без него окно висело бы поверх страницы
   всегда. На странице NWA Viewer на эти же грабли уже наступали. */
body.nwa-page .nwa-3d-modal{
	position:fixed;
	inset:0;
	z-index:9999;
	display:flex;
	flex-direction:column;
	background:rgba(12,13,15,.88);
}
body.nwa-page .nwa-3d-modal[hidden]{
	display:none;
}
/* Полоса с кнопкой закрытия — НАД кадром, а не поверх него: правый верхний
   угол внутри рамки занимает сам просмотрщик. */
body.nwa-page .nwa-3d-modal__bar{
	flex:0 0 auto;
	display:flex;
	justify-content:flex-end;
	padding:8px 12px;
}
body.nwa-page .nwa-3d-modal__close{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 14px;
	border:1px solid rgba(255,255,255,.35);
	border-radius:4px;
	background:transparent;
	font-size:13px;
	font-weight:600;
	line-height:1;
	cursor:pointer;
	transition:background .15s ease, border-color .15s ease;
}
/* Цвет — тем же перечислением, что и у кнопки «Развернуть»: причина та же. */
body.nwa-page .nwa-3d-modal__close,
body.nwa-page .nwa-3d-modal__close span,
body.nwa-page .nwa-3d-modal__close i{
	color:#FFFFFF !important;
}
body.nwa-page .nwa-3d-modal__close:hover,
body.nwa-page .nwa-3d-modal__close:focus-visible{
	border-color:#F06529;
	background:#F06529;
}
body.nwa-page .nwa-3d-modal__frame{
	position:relative;
	flex:1 1 auto;
	margin:0 12px 12px;
	border-radius:4px;
	background:#EDF1F4;
	overflow:hidden;
}
body.nwa-page .nwa-3d-modal__frame iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}
/* На телефоне поля лишние: там дорог каждый пиксель высоты. */
@media (max-width:520px){
	body.nwa-page .nwa-3d-modal__bar{padding:6px 8px}
	body.nwa-page .nwa-3d-modal__frame{margin:0 6px 6px}
}
/* ⚠️ Плёнки поверх кадра (`.nwa-3d-shield`) больше нет — убрана 15.09.2026
   вместе с подписью «Нажмите, чтобы вращать модель». Она забирала первый клик
   ради того, чтобы карусель можно было листать перетаскиванием мыши поверх
   рамки; теперь мышиный drag выключен, и модель вращается сразу. Возвращать
   плёнку имеет смысл только вместе с ним. */
/* nwaviewer.ru масштабирует модель колесом, но пропускает прокрутку во внешнюю
   страницу. Класс существует только пока мышь находится над активным iframe;
   исчезновение полосы прокрутки компенсируется в nwa-product.js. */
html.nwa-3d-wheel-lock{
	overflow:hidden !important;
	overscroll-behavior:none;
}
html.nwa-3d-wheel-lock body{
	overflow:hidden !important;
	overscroll-behavior:none;
}
/* ⚠️ Правила .nwa-3d-slide__hint убраны 14.09.2026. Подпись «Модель можно
   вращать» ложилась поверх кнопок самого просмотрщика — у NWA Viewer в левом
   нижнем углу круглые кнопки, у Базиса там масштаб. Интерфейс модели и так
   говорит, что она интерактивная. */

/* Миниатюра 3D в ленте превью. Картинки у неё нет, поэтому рисуем значок с
   подписью — по ней кадр и узнают среди фотографий. */
/* ⚠️ Размер НЕ фиксирован в пикселях: миниатюры должны быть одинаковыми
   квадратами со снимками рядом, а их размер задаёт ячейка карусели и меняется
   с числом миниатюр и шириной экрана. Фиксированные 74×74 совпадали не всегда.
   Padding и рамка — как у снимков (product-page.css), чтобы совпали и
   внутренние отступы. */
body.nwa-page .nwa-3d-thumb{
	display:flex !important;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:1px;
	box-sizing:border-box;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	padding:3px;
	background:#F7F7F5;
	border:1px solid var(--nwa-border);
	color:#BD420E;
	cursor:pointer;
	transition:border-color .15s ease, color .15s ease;
}
/* Миниатюры, которые собирает nwa-product.js для товаров без своей ленты.

   ⚠️ Тема кладёт в ленту отдельные КВАДРАТНЫЕ файлы миниатюр, а у этих
   товаров их нет — берётся снимок галереи со своими пропорциями. Поэтому
   квадрат задаётся здесь, а `object-fit:contain` вписывает в него картинку
   целиком, не обрезая. Без этого снимок вытягивал ячейку, и миниатюры выходили
   разного размера. */
body.nwa-page .product-page__image-addit-img.nwa-thumb{
	box-sizing:border-box;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	object-fit:contain;
	background:#FFFFFF;
}
body.nwa-page .nwa-3d-thumb i{font-size:18px}
body.nwa-page .nwa-3d-thumb b{font-size:10px;font-weight:700;letter-spacing:.08em}
body.nwa-page .nwa-3d-thumb:hover,
body.nwa-page .nwa-3d-thumb.selected{
	border-color:#F06529;
	color:#F06529;
}

/* --- «Оплата и получение» в карточке товара --------------------------------
   14.09.2026. Три строки под характеристиками: чем платить, где забрать файл,
   куда идти с вопросом по установке. Замена блоку доставки и складов, который
   на странице физического товара стоит на этом же месте.

   Оформление намеренно спокойное — светлая подложка и тонкая рамка, без
   заливок и рамок цветом. Это справочная информация, а не призыв к действию:
   спорить за внимание с кнопкой «В корзину» блок не должен.

   ⚠️ Значки — тот же Font Awesome, что во всей теме, и того же размера, что
   в панели (18px коробка). Цвет бежевый: так они читаются как часть
   оформления, а не как ссылки. */
body.nwa-page .product-page__how{
	margin:18px 0 4px;
	padding:14px 16px;
	background:#F7F7F5;
	border:1px solid var(--nwa-border);
	border-radius:6px;
}
body.nwa-page .product-page__how-item{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:14px;
	line-height:1.5;
	color:var(--nwa-text);
}
body.nwa-page .product-page__how-item + .product-page__how-item{
	margin-top:10px;
}
body.nwa-page .product-page__how-item i{
	flex:0 0 18px;
	width:18px;
	margin-top:2px;
	text-align:center;
	color:#BD420E;
	font-size:15px;
}
body.nwa-page .product-page__how-item a{
	color:#BD420E;
	text-decoration:underline;
}
body.nwa-page .product-page__how-item a:hover{color:#F06529}

/* ⚠️ Селекторы перечислены ПАРАМИ — .product-page__desc и #tab-description.
   Первый — новое место описания (справа от картинки), второй — прежняя вкладка
   под карточкой. Оба нужны: у нового блока стоит тот же id, а пока правки
   шаблона не залиты, описание на сайте приходит старой разметкой. После
   заливки второй селектор просто совпадёт с первым элементом. */
body.nwa-page .product-page__desc,
body.nwa-page #tab-description{
	max-width:62em;
	min-width:0;
	margin:22px 0 6px;
	font-size:15px;
	line-height:1.65;
	color:var(--nwa-text);
	overflow-wrap:anywhere;
}
body.nwa-page .product-page__desc,
body.nwa-page .product-page__desc *,
body.nwa-page #tab-description,
body.nwa-page #tab-description *{
	font-family:'Montserrat', 'Helvetica Neue', Arial, sans-serif !important;
}
body.nwa-page .product-page__desc p,
body.nwa-page #tab-description p{margin:0 0 12px}
body.nwa-page .product-page__desc p:last-child,
body.nwa-page #tab-description p:last-child{margin-bottom:0}
/* Пустые абзацы с одним <br> — типичный след визуального редактора: они
   растягивают текст пустотами. Схлопываем их до обычной отбивки. */
body.nwa-page .product-page__desc p:empty,
body.nwa-page .product-page__desc p > br:only-child,
body.nwa-page #tab-description p:empty,
body.nwa-page #tab-description p > br:only-child{display:none}
body.nwa-page .product-page__desc ul,
body.nwa-page .product-page__desc ol,
body.nwa-page #tab-description ul,
body.nwa-page #tab-description ol{margin:0 0 12px;padding-left:20px}
body.nwa-page .product-page__desc li,
body.nwa-page #tab-description li{margin:0 0 6px}
body.nwa-page .product-page__desc img,
body.nwa-page #tab-description img{max-width:100%;height:auto}
body.nwa-page .product-page__desc *,
body.nwa-page #tab-description *{
	box-sizing:border-box;
	max-width:100%;
}
body.nwa-page .product-page__desc iframe,
body.nwa-page #tab-description iframe{
	display:block;
	width:100% !important;
	max-width:100% !important;
	height:auto !important;
	aspect-ratio:3 / 2;
}
body.nwa-page .product-page__desc table,
body.nwa-page #tab-description table{
	display:block;
	width:100% !important;
	max-width:100% !important;
	overflow-x:auto;
}
body.nwa-page .product-page__desc a,
body.nwa-page #tab-description a{color:var(--nwa-accent-dark)}

@media (max-width:767px){
	body.nwa-page .product-page__desc p,
	body.nwa-page .product-page__desc li,
	body.nwa-page .product-page__desc span,
	body.nwa-page #tab-description p,
	body.nwa-page #tab-description li,
	body.nwa-page #tab-description span{
		white-space:normal !important;
	}
}

/* Свёрнутое описание: высоту задаёт скрипт (по низу галереи), здесь только
   обрезка и затухание последней строки — иначе текст обрывается на середине
   буквы и выглядит как ошибка вёрстки. */
body.nwa-page .product-page__desc.is-clamped{
	position:relative;
	overflow:hidden;
}
body.nwa-page .product-page__desc.is-clamped:after{
	content:'';
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:64px;
	background:linear-gradient(to bottom, rgba(255,255,255,0), #FFFFFF 88%);
	pointer-events:none;
}
body.nwa-page .nwa-desc-more{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:6px 0 0;
	padding:0;
	border:0;
	background:none;
	font-family:inherit;
	font-size:13px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#BD420E;
	cursor:pointer;
	transition:color .15s ease;
}
body.nwa-page .nwa-desc-more:hover{color:#F06529}
body.nwa-page .nwa-desc-more i{
	font-size:11px;
	transition:transform .2s ease;
}
body.nwa-page .nwa-desc-more.is-open i{transform:rotate(180deg)}

/* --- Формы магазина -------------------------------------------------------
   Контакты, отзывы, вопрос-ответ, подписка — всё, что тема заворачивает в
   .uni-form.

   13.09.2026. Блок оставался чёрным: `stylesheet.css:1420` задаёт
   `.uni-form{background:#0e141b}` прямым значением. При этом подписи полей
   светлая палитра уже красила тёмным — измерено на контактах: яркость фона 19,
   яркость текста 44. «Ваше имя» и «Ваш E-Mail» не читались вовсе.

   Теперь это белая карточка с той же рамкой, что у карточек товара. */
body.nwa-page .uni-form{
	background:#FFFFFF;
	border:1px solid #E2E2DE;
	color:var(--nwa-text);
}
body.nwa-page .uni-form__heading,
body.nwa-page .uni-form .control-label,
body.nwa-page .uni-form label{
	color:var(--nwa-text);
}

/* --- Узкие экраны --------------------------------------------------------- */

@media (max-width:767px){
	/* Отступ и логотип уменьшены вдвое вместе с полосой. На телефоне липкая
	   панель занимает долю экрана заметнее всего, поэтому логотип здесь ещё
	   немного меньше, чем на большом экране.

	   11.09.2026 верхняя строка на большом экране выросла вдвое (78 → 156).
	   На телефон это НЕ распространяется: 156 пикселей липкой панели плюс
	   полоса разделов съели бы четверть экрана. Здесь оставлены прежние
	   числа — строка 78, знак 62, картинка 161 при сдвиге 6.

	   Раньше в этом блоке стояла одна строка height:40px на картинке. Она
	   осталась от времени, когда логотип выводился целиком и просто
	   уменьшался; после перехода на обрезку до знака она давала другое:
	   в окне 70×62 висел весь логотип ростом 40px, знак выходил 15px, а под
	   ним нечитаемые строчки текста. Теперь на телефоне тот же обрезанный
	   знак, что и на большом экране, только меньше. */
	/* Высота панели на телефоне другая — за ней едет и липкая полоса вкладок
	   в карточке товара, она берёт это же число. */
	/* 22.09.2026, шапка −30% и здесь: верхняя строка 78 → 48, знак 62 → 42,
	   картинка 161 → 109, сдвиг -6 → -4, ширина окна 137 × 109 / 486 ≈ 31.

	   Там же, владелец: «в мобильной версии убираем панель с категориями и
	   шапку делаем втрое меньше». Полоса разделов на телефоне переносилась в
	   четыре ряда и одна давала ~110px — она скрыта (разделы доступны через
	   «Каталог» в выезжающей панели). Итог 48 + 2 = 50 вместо ~188. */
	/* Там же: строка 48 → 60 — при 48 подписи кнопок стояли у самого верха
	   и на телефоне обрезались. Итог 60 + 2 = 62. Затемнение фона слабее,
	   чем на ПК (.90/.84 → .72/.64), — просьба владельца; подвал в
	   nwa-lab-home.css ослаблен так же. */
	/* Затем владелец: «чуть увеличь высоту» и «панель как на главной» —
	   строка 60 → 74, кнопки по центру высоты и на 20px от правого края, как
	   на главной. Итог 74 + 2 = 76. */
	body.nwa-page{
		--nwa-topbar-h:86px;
	}
	body.nwa-page .nwa-topbar__rail{
		display:none;
	}
	body.nwa-page .nwa-topbar{
		background-image:
			linear-gradient(180deg,
				rgba(8,9,11,.72) 0%,
				rgba(8,9,11,.72) 72%,
				rgba(8,9,11,.64) 100%),
			url('/image/catalog/nwa/nwa-hero-bg-workers.jpg?v=1');
	}
	body.nwa-page .nwa-topbar .nwa-mobile-actions{
		margin-top:0;
		/* 20px от края, как на главной (nwa-lab-home.css, блок ≤575). */
		margin-right:20px;
		align-self:center;
	}
	body.nwa-page .nwa-topbar{
		/* 84 у верхней строки и 2 у светлой полоски; полоса разделов скрыта. */
		min-height:86px;
		/* Собственный отступ снизу убран. Он остался от однострочной панели, а
		   теперь под полосой разделов показывал 6 пикселей фоновой карты — между
		   тёмной полосой и светлой полоской появлялась третья, лишняя. */
		padding-bottom:0;
	}
	/* Строка 74 → 84 с отступом сверху 32: подписи кнопок опущены на ту же
	   высоту, что на главной (≈50–62px от верха экрана), — выше их задевал
	   вырез экрана iPhone (владелец, 22.09.2026). Итог шапки 84 + 2 = 86. */
	body.nwa-page .nwa-topbar .nwa-hero__top-inner{
		min-height:84px;
		padding-top:32px;
		box-sizing:border-box;
		/* Отступ 22px справа — для строки меню на ПК; на телефоне его заменяет
		   margin-right у кнопок, иначе они налезали на край. */
		padding-right:0;
	}
	body.nwa-page .nwa-topbar .nwa-logo{
		/* Ширина — 137 × (рост картинки) / 486, ширина знака. Прежние 70 были
		   шире знака и оставляли пустое поле по бокам. */
		/* Владелец, 22.09.2026: меньше — знак 42 → 32, картинка 109 → 83,
		   ширина 137 × 83 / 486 ≈ 23. */
		width:23px;
		height:32px;
	}
	body.nwa-page .nwa-topbar .nwa-logo__img{
		top:-3px;
		height:83px;
	}
}
