/*
 * «Прайс на услуги» — information/nwa_pricing, оформление.
 *
 * Подключается ПОСЛЕДНИМ, после nwa-pricing.css и nwa-bazis.css, — как у
 * «Наших программ»: первый экран с плашкой, знаком и растушёвкой к белой
 * колонке берётся из nwa-bazis.css (класс nwa-bz на странице). Здесь только
 * своё: фон плашки и иконки тарифов.
 *
 * Отдельным файлом, а не правкой nwa-pricing.css: тот общий для трёх
 * страниц (прайс, «Программы Базис», «Наши программы»).
 */

/*
 * Плашка — бирюза нашего знака (средний цвет бирюзовой полосы в
 * nwa-logo-mark.png, #27A18D): у Базиса синий, у программ оранжевый, у услуг
 * свой. Расчёт тот же: node dev/make-bazis-gradient.js "#27A18D".
 *
 * Слои сверху вниз:
 *  - чёрная вуаль — знак и название стоят на тёмном, как на других плашках;
 *  - карта раскроя листа: детали, присадка, петли, бирки
 *    (node dev/make-services-pattern.js). Уходит за правый нижний край, чтобы
 *    читалась как кусок листа, а не как рамка;
 *  - бирюзовый переход наискосок.
 * Знака Базиса в углу нет — подпись во всю ширину (--bz-mark: 0).
 * Селектор с .nwa-sv весит больше правил nwa-bazis.css, в том числе в
 * медиазапросах.
 */
body.nwa-page .nwa-sv .nwa-bz-dealer{
	--bz-mark:0px;
	background:
		linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,.975) 6%,rgba(0,0,0,.908) 12%,rgba(0,0,0,.768) 20%,rgba(0,0,0,.593) 28%,rgba(0,0,0,.407) 36%,rgba(0,0,0,.232) 44%,rgba(0,0,0,.092) 52%,rgba(0,0,0,0) 64%),
		url('/image/catalog/nwa/nwa-nesting-map.svg?v=1') right -96px bottom -74px/540px auto no-repeat,
		linear-gradient(30deg,#27A18D 0%,#27A08C 12%,#239482 24%,#1C7E6E 36%,#146356 48%,#0C473D 60%,#052F28 72%,#021D18 84%,#011310 100%);
}

/* Растушёвка к белой колонке чуть уже, чем у «Программ Базис» (130 против
   150px): строка фактов здесь длиннее (612px), и на 1380–1919 третий факт
   уходил на вторую строку. Замер: node dev/measure-pricing-hero.js. */
@media(min-width:1380px){
	body.nwa-page .nwa-sv .nwa-pr-hero{--bz-over:130px}
}

/* --- Иконки тарифов ----------------------------------------------------- */
/*
 * Свои рисунки вместо значков Font Awesome (владелец, 29.09.2026: «придумай
 * своё», и чтобы в иконках не было цены). Смысл — «глубина внедрения», как в
 * заголовке раздела: у базовой один лист ЛДСП с раскроем, у расширенной тот
 * же лист поверх ещё двух слоёв. Рисунок в шаблоне (nwa_pricing.twig), цвет —
 * currentColor от плашки: у базовой светлая с оранжевым, у расширенной
 * тёмная с персиковым (nwa-pricing.css).
 */
body.nwa-page .nwa-sv .nwa-pr-plan__icon svg{display:block;width:40px;height:40px}

/* --- Конструктор услуг (.nwa-so) ---------------------------------------- */
/*
 * 29.09.2026, владелец: клиент сам собирает набор, итог считается сразу,
 * «Заказать» — сообщение «заказ принят», счёт — в кабинете. Разметка —
 * nwa_service_offer.twig, поведение — js/nwa-service-offer.js.
 *
 * Слева выбор (1 — тариф, 2 — отдельные услуги), справа карточка «Ваше
 * предложение»; она едет вместе с прокруткой (sticky), пока список длиннее.
 * Уже 1200px — одна колонка: карточка под списком, а внизу экрана панель с
 * итогом и кнопкой «К заказу».
 *
 * Поля ввода — длинными селекторами: общее правило nwa-inner.css для
 * input[type="text"] и textarea иначе перебивает рамку и высоту.
 */
body.nwa-page .nwa-so__layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
body.nwa-page .nwa-so__group{min-width:0;margin:0 0 30px;padding:0;border:0}
body.nwa-page .nwa-so__group:last-child{margin-bottom:0}
body.nwa-page .nwa-so__legend{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 16px;padding:0;border:0;color:var(--pr-ink);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body.nwa-page .nwa-so__step{display:inline-flex;flex:0 0 28px;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--pr-accent);color:#fff;font-size:13px;letter-spacing:0}

/* Тарифы — три карточки-переключателя. Отмеченная — оранжевая рамка
   (вторая линия — тенью внутрь, чтобы карточка не прыгала на пиксель). */
body.nwa-page .nwa-so__plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.nwa-page .nwa-so__plan{position:relative;display:block;margin:0;font-weight:400;cursor:pointer}
/* Само поле спрятано — рисуется своя карточка. ⚠️ Селектор длиннее общего
   правила nwa-inner.css для input[type=radio|checkbox] (position:relative,
   14px): тот файл подключается на сайте ПОЗЖЕ этого, и при равном весе
   побеждал — поле вставало в раскладку лишним блоком (живой сайт,
   29.09.2026; на превью порядок стилей был обратный). */
body.nwa-page .nwa-so .nwa-so__plan input[type="radio"]{position:absolute;top:0;left:0;width:1px;height:1px;min-width:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
body.nwa-page .nwa-so__plan-box{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 18px 16px;background:#fff;border:1px solid var(--pr-line);transition:border-color .2s ease,box-shadow .2s ease}
body.nwa-page .nwa-so__plan:hover .nwa-so__plan-box{border-color:#F3A07C}
body.nwa-page .nwa-so__plan.is-checked .nwa-so__plan-box{border-color:var(--pr-accent);box-shadow:inset 0 0 0 1px var(--pr-accent),0 12px 26px rgba(189,66,14,.12)}
body.nwa-page .nwa-so__plan input:focus-visible+.nwa-so__plan-box{outline:2px solid var(--pr-hot);outline-offset:2px}
/* Кружок переключателя в правом верхнем углу. */
body.nwa-page .nwa-so__plan-box:after{content:'';position:absolute;right:16px;top:18px;width:20px;height:20px;border:2px solid #C9CBCC;border-radius:50%;background:#fff;transition:border-color .2s ease}
body.nwa-page .nwa-so__plan.is-checked .nwa-so__plan-box:after{border-color:var(--pr-accent);background:radial-gradient(circle,var(--pr-accent) 0 4.5px,#fff 5.5px)}
body.nwa-page .nwa-so__plan-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 0 6px;border-radius:12px;background:#F5E4DA;color:var(--pr-accent)}
body.nwa-page .nwa-so__plan-icon svg{display:block}
body.nwa-page .nwa-so__plan--pro .nwa-so__plan-icon{background:#292C2E;color:#FFB08E}
body.nwa-page .nwa-so__plan--none .nwa-so__plan-icon{background:var(--pr-soft);color:#A7A9AA}
body.nwa-page .nwa-so__plan-name{padding-right:26px;color:var(--pr-ink);font-size:15px;font-weight:600;line-height:1.3}
body.nwa-page .nwa-so__plan-price{margin-top:auto;color:var(--pr-accent);font-size:20px;font-weight:700;line-height:1.2;white-space:nowrap}
body.nwa-page .nwa-so__plan--none .nwa-so__plan-price{color:var(--pr-muted);font-size:13px;font-weight:500;white-space:normal}
body.nwa-page .nwa-so__flag{position:absolute;left:18px;top:-11px;padding:4px 8px;background:var(--pr-accent);color:#fff;font-size:9px;font-weight:700;letter-spacing:.09em;line-height:1.3;text-transform:uppercase}

/* Отдельные услуги — список с отметками, цена справа. */
body.nwa-page .nwa-so__extras{margin:0;padding:0;list-style:none;background:#fff;border:1px solid var(--pr-line)}
body.nwa-page .nwa-so__extra{border-top:1px solid var(--pr-line);transition:background .2s ease}
body.nwa-page .nwa-so__extra:first-child{border-top:0}
body.nwa-page .nwa-so__extra.is-checked{background:#FDF6F2}
body.nwa-page .nwa-so__extra-label{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;align-items:start;margin:0;padding:16px 20px;font-weight:400;cursor:pointer}
body.nwa-page .nwa-so__extra:not(.is-checked) .nwa-so__extra-label:hover{background:#FBFAF7}
/* Флажок спрятан так же и по той же причине, что переключатель тарифа выше:
   иначе он становился лишней ячейкой сетки строки, и название, цена и
   отметка разъезжались. */
body.nwa-page .nwa-so .nwa-so__extra-label input[type="checkbox"]{position:absolute;top:0;left:0;width:1px;height:1px;min-width:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
body.nwa-page .nwa-so__check{position:relative;width:22px;height:22px;margin-top:1px;border:2px solid #C9CBCC;background:#fff;transition:background .15s ease,border-color .15s ease}
body.nwa-page .nwa-so__extra-label:hover .nwa-so__check{border-color:#F3A07C}
body.nwa-page .nwa-so__extra.is-checked .nwa-so__check{border-color:var(--pr-accent);background:var(--pr-accent)}
body.nwa-page .nwa-so__extra.is-checked .nwa-so__check:after{content:'';position:absolute;left:5px;top:1px;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
body.nwa-page .nwa-so__extra-label input:focus-visible~.nwa-so__check{outline:2px solid var(--pr-hot);outline-offset:2px}
body.nwa-page .nwa-so__extra-main{display:flex;flex-direction:column;gap:3px;min-width:0}
body.nwa-page .nwa-so__extra-title{color:var(--pr-ink);font-size:15px;font-weight:600;line-height:1.4}
body.nwa-page .nwa-so__extra-text{color:var(--pr-muted);font-size:13px;line-height:1.5}
body.nwa-page .nwa-so__extra-price{color:var(--pr-accent);font-size:17px;font-weight:700;line-height:1.4;white-space:nowrap}
body.nwa-page .nwa-so__extra.is-free .nwa-so__extra-price{color:#2F7A3F}

/* Часы поддержки — под отмеченной строкой. */
body.nwa-page .nwa-so__qty{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 20px 16px 56px}
body.nwa-page .nwa-so__qty[hidden]{display:none}
body.nwa-page .nwa-so__qty-label{color:var(--pr-muted);font-size:13px}
body.nwa-page .nwa-so__stepper{display:inline-flex;align-items:center;border:1px solid #D9D6CE;background:#fff}
body.nwa-page .nwa-so__step-btn{width:36px;height:36px;padding:0;border:0;background:var(--pr-soft);color:var(--pr-ink);font-size:18px;line-height:1;cursor:pointer}
body.nwa-page .nwa-so__step-btn:hover{background:#EDE8DE;color:var(--pr-accent)}
body.nwa-page .nwa-so .nwa-so__stepper input[type="text"]{width:44px;height:36px;min-height:0;margin:0;padding:0;border:0!important;border-radius:0;background:#fff;box-shadow:none!important;color:var(--pr-ink);font-size:15px;font-weight:600;text-align:center}
body.nwa-page .nwa-so__qty-unit{padding:0 10px 0 2px;color:var(--pr-muted);font-size:13px}

/* «Ваше предложение». */
body.nwa-page .nwa-so__summary{position:sticky;top:150px}
body.nwa-page .nwa-so__summary-card{padding:24px;background:#fff;border:1px solid var(--pr-line);border-top:3px solid var(--pr-accent);box-shadow:0 14px 34px rgba(20,22,24,.08)}
body.nwa-page .nwa-so__summary-card>.nwa-pr-kicker{margin-bottom:14px}
body.nwa-page .nwa-so__empty{margin:0 0 6px;color:var(--pr-muted);font-size:14px;line-height:1.55}
body.nwa-page .nwa-so__empty[hidden]{display:none}
body.nwa-page .nwa-so__lines{margin:0;padding:0;list-style:none}
body.nwa-page .nwa-so__line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed #DDDAD2;font-size:14px;line-height:1.45}
body.nwa-page .nwa-so__line-main{display:flex;flex-direction:column;min-width:0}
body.nwa-page .nwa-so__line-name{color:var(--pr-ink);font-weight:500}
body.nwa-page .nwa-so__line-main small{color:var(--pr-muted);font-size:12px}
body.nwa-page .nwa-so__line-price{color:var(--pr-ink);font-weight:600;white-space:nowrap}
body.nwa-page .nwa-so__line.is-free .nwa-so__line-price{color:#2F7A3F}
body.nwa-page .nwa-so__total{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:16px 0 20px}
body.nwa-page .nwa-so__total span{color:var(--pr-ink);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body.nwa-page .nwa-so__total strong{color:var(--pr-accent);font-size:30px;font-weight:700;line-height:1.1;white-space:nowrap}
body.nwa-page .nwa-so__comment{display:block;margin:0 0 16px;font-weight:400}
body.nwa-page .nwa-so__comment-label{display:block;margin:0 0 6px;color:var(--pr-ink);font-size:13px;font-weight:600}
body.nwa-page .nwa-so__comment-label small{color:var(--pr-muted);font-size:12px;font-weight:400}
body.nwa-page .nwa-so .nwa-so__comment textarea{display:block;width:100%;min-height:78px;margin:0;padding:10px 12px;border:1px solid var(--pr-line)!important;border-radius:0;background:#fff;box-shadow:none!important;color:var(--pr-ink);font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}
body.nwa-page .nwa-so .nwa-so__comment textarea:focus{border-color:var(--pr-accent)!important;outline:none}
body.nwa-page .nwa-so__submit{width:100%}
body.nwa-page .nwa-so__submit:disabled{opacity:.45;cursor:not-allowed;transform:none}
body.nwa-page .nwa-so__submit:disabled:hover{background:var(--pr-accent);border-color:var(--pr-accent)}
body.nwa-page .nwa-so__error{margin:12px 0 0;padding:10px 12px;background:#FDECEA;color:#A0271B;font-size:13px;line-height:1.5}
body.nwa-page .nwa-so__error[hidden]{display:none}
body.nwa-page .nwa-so__note{margin:12px 0 0;color:var(--pr-muted);font-size:12px;line-height:1.55}

/* Панель итога внизу экрана — только в одну колонку (≤1199). */
body.nwa-page .nwa-so__bar{display:none}

/* Сообщение «Заказ принят». Слой выше липкой панели сайта. */
html.nwa-so-locked,html.nwa-so-locked body{overflow:hidden}
body.nwa-page .nwa-so__modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(18,20,22,.55);animation:nwa-so-fade .2s ease}
body.nwa-page .nwa-so__modal[hidden]{display:none}
body.nwa-page .nwa-so__modal-box{position:relative;width:100%;max-width:470px;max-height:calc(100vh - 32px);overflow:auto;padding:36px 30px 28px;background:#fff;border-top:3px solid var(--pr-accent);box-shadow:0 24px 60px rgba(0,0,0,.25);text-align:center;outline:none;animation:nwa-so-rise .25s ease}
body.nwa-page .nwa-so__modal-close{position:absolute;right:8px;top:6px;width:40px;height:40px;padding:0;border:0;background:none;color:#8C9093;font-size:28px;line-height:1;cursor:pointer}
body.nwa-page .nwa-so__modal-close:hover{color:var(--pr-ink)}
body.nwa-page .nwa-so__modal-icon{display:inline-flex;margin:0 0 14px;color:#2F7A3F}
body.nwa-page .nwa-so__modal-box .nwa-pr-kicker{margin-bottom:8px}
body.nwa-page .nwa-so__modal-title{margin:0 0 12px;color:var(--pr-ink);font-size:26px;font-weight:300;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
body.nwa-page .nwa-so__modal-text{margin:0 0 10px;color:var(--pr-ink);font-size:16px;line-height:1.55}
body.nwa-page .nwa-so__modal-invoice{margin:0 0 24px;color:var(--pr-muted);font-size:14px;line-height:1.55}
body.nwa-page .nwa-so__modal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@keyframes nwa-so-fade{from{opacity:0}to{opacity:1}}
@keyframes nwa-so-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
	body.nwa-page .nwa-so__modal,body.nwa-page .nwa-so__modal-box{animation:none}
}

@media(max-width:1199px){
	body.nwa-page .nwa-so__layout{grid-template-columns:1fr}
	body.nwa-page .nwa-so__summary{position:static;max-width:560px}
	body.nwa-page .nwa-so__bar:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--pr-line);box-shadow:0 -8px 24px rgba(20,22,24,.12)}
	body.nwa-page .nwa-so__bar-text{display:flex;flex-direction:column;line-height:1.2}
	body.nwa-page .nwa-so__bar-text small{color:var(--pr-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
	body.nwa-page .nwa-so__bar-text strong{color:var(--pr-accent);font-size:22px;font-weight:700;white-space:nowrap}
	body.nwa-page .nwa-so__bar .nwa-pr-btn{min-height:42px;padding:10px 18px}
	/* Кнопка темы «наверх» — над панелью, а не поверх «К заказу». */
	html.nwa-so-bar-on body.nwa-page .fly-block{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;transition:bottom .2s ease}
}
@media(max-width:767px){
	body.nwa-page .nwa-so__plans{grid-template-columns:1fr;gap:10px}
	/* Карточка тарифа строкой: значок слева, название и цена справа. */
	body.nwa-page .nwa-so__plan-box{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:14px 16px}
	body.nwa-page .nwa-so__plan-icon{grid-row:1/3;width:44px;height:44px;margin:0}
	body.nwa-page .nwa-so__plan-icon svg{width:28px;height:28px}
	body.nwa-page .nwa-so__plan-name{padding-right:30px}
	body.nwa-page .nwa-so__plan-price{margin-top:0;font-size:18px}
	body.nwa-page .nwa-so__plan-box:after{top:50%;right:16px;margin-top:-10px}
	body.nwa-page .nwa-so__flag{left:auto;right:14px}
	body.nwa-page .nwa-so__extra-label{grid-template-columns:22px minmax(0,1fr);row-gap:6px;padding:14px 16px}
	body.nwa-page .nwa-so__extra-price{grid-column:2}
	body.nwa-page .nwa-so__qty{justify-content:flex-start;padding:0 16px 14px 52px}
}
@media(max-width:575px){
	body.nwa-page .nwa-so__summary-card{padding:20px}
	body.nwa-page .nwa-so__total strong{font-size:26px}
	body.nwa-page .nwa-so__modal-box{padding:32px 20px 22px}
	body.nwa-page .nwa-so__modal-title{font-size:22px;letter-spacing:.08em}
	body.nwa-page .nwa-so__modal-actions .nwa-pr-btn{width:100%}
}
