/* ==== durchdacht new-web: товарные карточки, сетки, бейджи (cards.css) ====
   Грузится ПОСЛЕ inner.css на маршрутах category / catalog / search / page / oblibene.
   Токены совпадают с inner.css: --brand:#A9633A --brand-dark:#8A4E28 --ink:#101828
   --mut:#667085 --line:#E4E7EC --green:#12805C, akce #D92D20. */

/* --- шапка страницы каталога/категории --- */
.nwc-pagehead h1 { margin-bottom:8px; }
.nwc-pagehead .nw-lead { margin-bottom:20px; }
.nwc-sec-title { font-size:22px; font-weight:800; letter-spacing:-0.02em; margin:30px 0 16px; }

/* --- фильтр-чипы категорий (каталог) --- */
.nwc-chips { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; }
.nwc-chip { display:inline-block; padding:8px 15px; border-radius:99px; border:1px solid var(--line);
  background:#fff; font:600 13px Inter, sans-serif; color:var(--ink); transition:border-color .15s, color .15s; }
a.nwc-chip:hover { border-color:var(--brand); color:var(--brand); text-decoration:none; }
.nwc-chip.is-on { background:var(--ink); color:#fff; border-color:var(--ink); }

/* --- сетка карточек: 4 / 3 / 2 / 1-2 колонки --- */
.nwc-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
@media (max-width:1200px) { .nwc-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:900px)  { .nwc-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; } }
@media (max-width:420px)  { .nwc-grid { grid-template-columns:1fr; } }
.nwc-grid-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); max-width:920px; }
@media (max-width:640px)  { .nwc-grid-2 { grid-template-columns:1fr; } }

/* --- карточка --- */
.nwc { position:relative; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
  transition:transform .2s ease, box-shadow .25s ease, border-color .2s ease; }
.nwc:hover { transform:translateY(-2px); border-color:var(--brand);
  box-shadow:0 14px 30px rgba(16,24,40,.1); }

/* изображение: contain на светлом градиенте */
.nwc-media { position:relative; height:200px; flex:none;
  background:radial-gradient(70% 60% at 50% 40%, #FFFFFF 0%, #F4F6F8 70%, #E9EDF1 100%); }
.nwc-imglink { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.nwc-imglink img { width:100%; height:100%; object-fit:contain; padding:14px; box-sizing:border-box; }
.nwc-noimg { color:#C6CDD6; }

/* --- бейджи (слева сверху, стеком) --- */
.nwc-badges { position:absolute; left:12px; top:12px; z-index:2; display:flex;
  flex-direction:column; gap:6px; align-items:flex-start; pointer-events:none; }
.nwc-badge { padding:4px 9px; border-radius:5px; font:700 11px Inter, sans-serif;
  color:#fff; white-space:nowrap; }
.nwc-badge-stock { background:var(--green, #12805C); }
.nwc-badge-order { background:rgba(255,255,255,.94); color:#475467; border:1px solid var(--line); }
.nwc-badge-sale { background:#D92D20; }

/* --- сердечко (обработчик [data-fav] глобальный в cart.js) --- */
.nw-fav-btn2 { position:absolute; right:12px; top:12px; z-index:3; width:32px; height:32px;
  border-radius:50%; background:rgba(255,255,255,.94); box-shadow:0 2px 6px rgba(16,24,40,.12);
  display:flex; align-items:center; justify-content:center; color:var(--mut);
  cursor:pointer; transition:color .15s, transform .15s; }
.nw-fav-btn2:hover { color:#D92D20; transform:scale(1.08); }

/* --- тело карточки --- */
.nwc-body { display:flex; flex-direction:column; flex:1; padding:14px 16px 16px;
  border-top:1px solid var(--line); }
.nwc-title { display:block; font:700 15px/1.35 Inter, sans-serif; color:var(--ink);
  margin-bottom:12px; }
.nwc-title:hover { color:var(--brand); text-decoration:none; }
.nwc-priceblock { margin-top:auto; }

/* цена */
.nwc-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
  font:800 19px Inter, sans-serif; letter-spacing:-0.02em; color:var(--ink); }
.nwc-price.is-sale { color:#D92D20; }
.nwc-price s { font:500 13px Inter, sans-serif; color:var(--mut); }
.nwc-price-ask { font:700 15px Inter, sans-serif; color:#475467; letter-spacing:0; }
.nwc-vat { font:500 11px Inter, sans-serif; color:var(--mut); margin:3px 0 12px; }

/* --- кнопки --- */
.nwc-actions { display:flex; gap:8px; }
.nwc-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
  border-radius:8px; padding:11px 12px; font:700 13px Inter, sans-serif;
  transition:background .2s ease, color .2s ease, border-color .2s ease; }
a.nwc-btn:hover { text-decoration:none; }
.nwc-btn-primary { background:var(--brand); color:#fff !important; }
.nwc-btn-primary:hover { background:var(--brand-dark); }
.nwc-btn-cart { background:var(--bg, #F4F6F8); color:var(--ink); }
.nwc-btn-cart:hover { background:var(--brand); color:#fff; }
.nwc-btn-ghost { background:#fff; border:1.5px solid var(--line); color:var(--ink); }
.nwc-btn-ghost:hover { border-color:var(--brand); color:var(--brand); }
.nwc-btn-ico { flex:none; width:42px; padding:11px 0; background:#fff;
  border:1.5px solid var(--line); color:var(--ink); }
.nwc-btn-ico:hover { border-color:var(--brand); color:var(--brand); }
.nwc-btn-inline { display:inline-flex; flex:none; padding:11px 20px; }

/* --- пустое состояние --- */
.nwc-empty { background:#fff; border:1px dashed var(--line); border-radius:14px;
  padding:44px 24px; text-align:center; color:var(--mut); }
.nwc-empty svg { color:#C6CDD6; margin-bottom:12px; }
.nwc-empty-title { font:700 17px Inter, sans-serif; color:var(--ink); margin:0 0 6px; }
.nwc-empty-text { margin:0 0 18px; }

/* --- поиск: список страниц и статей --- */
.nwc-search-list li { display:flex; align-items:baseline; gap:10px;
  padding:12px 14px; margin-bottom:8px; border:1px solid var(--line);
  border-radius:10px; background:#fff; transition:border-color .15s; }
.nwc-search-list li:hover { border-color:var(--brand); }
.nwc-search-list a { font-weight:600; color:var(--ink); }
.nwc-search-list a:hover { color:var(--brand); }
.nwc-search-type { margin-left:auto; flex:none; font:600 11px Inter, sans-serif;
  color:#475467; background:var(--bg, #F4F6F8); border-radius:99px; padding:3px 10px; }

/* --- лендинг: секция товаров после контента --- */
.nwc-landing-sec { margin-top:44px; padding-top:28px; border-top:1px solid var(--line); }
.nwc-landing-head { display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.nwc-landing-head .nwc-sec-title { margin:0; }
.nwc-landing-all { display:inline-flex; align-items:center; gap:7px;
  font:700 13px Inter, sans-serif; color:var(--brand); }
.nwc-landing-all:hover { color:var(--brand-dark); text-decoration:none; }

/* мобильная плотность */
@media (max-width:640px) {
  .nwc-media { height:180px; }
  .nwc-body { padding:12px 13px 14px; }
  .nwc-title { font-size:14px; }
  .nwc-price { font-size:17px; }
}

/* ===== каталог с фильтрами (лаяут 2026-08: сайдбар слева, свои группы у категории) ===== */
.nwcat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:26px; margin-bottom:24px; }
.nwcat-head-l { min-width:0; max-width:720px; }
.nwcat-head-l h1 { margin-bottom:10px; }
.nwcat-intro { font-size:15.5px; line-height:1.65; color:#344054; margin:0; }
.nwcat-intro a { font-weight:600; }
/* сервисные ссылки под интро каталога (cat-*.json → service_links) */
.nwcat-slinks { display:flex; flex-wrap:wrap; gap:8px 18px; margin:10px 0 0; font-size:14px; }
.nwcat-slinks a { color:#667085; text-decoration:underline; text-underline-offset:3px; }
.nwcat-slinks a:hover { color:#B4744A; }
.nwcat-help { flex:none; width:340px; background:#fff; border:1px solid #E4E7EC; border-radius:14px;
  padding:20px 22px; box-shadow:0 8px 24px rgba(16,24,40,.05); }
.nwcat-help strong { display:block; font-size:15.5px; font-weight:800; margin-bottom:6px; }
.nwcat-help p { font-size:13.5px; line-height:1.55; color:#667085; margin:0 0 10px; }
.nwcat-help-cta { font-weight:700; font-size:14px; }

.nwcat-body { display:grid; grid-template-columns:250px minmax(0,1fr); gap:28px; align-items:start; }
.nwcat-side { background:#fff; border:1px solid #E4E7EC; border-radius:14px; padding:18px;
  box-shadow:0 8px 24px rgba(16,24,40,.05); position:sticky; top:86px; }
.nwcat-fgroup { padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #F0F2F4; }
.nwcat-fgroup:last-of-type { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.nwcat-ftitle { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#667085; margin-bottom:10px; }
.nwcat-cat { display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:9px 12px; border-radius:9px; font-size:14px; font-weight:600; color:#101828; text-decoration:none; }
.nwcat-cat span { min-width:0; }
.nwcat-cat b { font-weight:600; font-size:12.5px; color:#98A2B3; }
.nwcat-cat:hover { background:#F4F6F8; text-decoration:none; }
.nwcat-cat.is-on { background:#101828; color:#fff; }
.nwcat-cat.is-on b { color:#CDD5DF; }
.nwcat-check { display:flex; align-items:center; gap:9px; padding:7px 2px; font-size:14px;
  font-weight:500; color:#101828; text-decoration:none; }
.nwcat-check:hover { color:#A9633A; text-decoration:none; }
.nwcat-box { flex:none; width:19px; height:19px; border:1.5px solid #CDD5DF; border-radius:5px;
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:800;
  color:#fff; background:#fff; }
.nwcat-check.is-on .nwcat-box { background:#A9633A; border-color:#A9633A; }
.nwcat-chip-dot { flex:none; width:16px; height:16px; border-radius:5px; border:1px solid rgba(16,24,40,.2); }
.nwcat-reset { display:inline-block; margin-top:14px; font-size:13.5px; font-weight:600; color:#667085;
  text-decoration:underline; text-underline-offset:3px; }
.nwcat-reset:hover { color:#A9633A; }

.nwcat-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid #E4E7EC; flex-wrap:wrap; }
.nwcat-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.nwcat-achip { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid #E4E7EC;
  border-radius:99px; padding:7px 13px; font-size:13px; font-weight:600; color:#101828; text-decoration:none; }
.nwcat-achip b { font-weight:600; color:#98A2B3; }
.nwcat-achip:hover { border-color:#A9633A; text-decoration:none; }
.nwcat-achip:hover b { color:#A9633A; }
.nwcat-count { font-size:13.5px; color:#667085; }
.nwcat-sort { display:flex; align-items:baseline; gap:12px; font-size:13.5px; }
.nwcat-sort span { color:#667085; }
.nwcat-sort a { font-weight:600; color:#667085; }
.nwcat-sort a.is-on { color:#101828; border-bottom:2px solid #A9633A; padding-bottom:2px; text-decoration:none; }
.nwcat-sort a:hover { color:#A9633A; text-decoration:none; }

.nwcat-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width:1100px) { .nwcat-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }

.nwcat-rel { margin:34px 0 8px; }
.nwcat-rel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.nwcat-rel-all { font-weight:700; font-size:14px; white-space:nowrap; }
.nwcat-grid--rel { grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1100px) { .nwcat-grid--rel { grid-template-columns:repeat(2, minmax(0,1fr)); } }

.nwcat #cat-popis { margin-top:26px; scroll-margin-top:90px; }

@media (max-width:1000px) {
  .nwcat-head { flex-direction:column; }
  .nwcat-help { width:100%; }
  .nwcat-body { grid-template-columns:1fr; gap:18px; }
  .nwcat-side { position:static; }
}
@media (max-width:640px) {
  .nwcat-grid, .nwcat-grid--rel { grid-template-columns:1fr; }
  .nwcat-topbar { flex-direction:column; align-items:flex-start; }
}

/* ===== форма «Potřebujete poradit?» внизу каталога/категории ===== */
.nwcat-poradit { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px;
  align-items:center; background:#FBF4EC; border:1px solid #EAD9C6; border-radius:16px;
  padding:30px 34px; margin:26px 0 8px; box-shadow:0 8px 24px rgba(16,24,40,.05); scroll-margin-top:90px; }
.nwcat-poradit-l { min-width:0; }
.nwcat-poradit-txt { font-size:14.5px; line-height:1.6; color:#4A4238; margin:0 0 14px; }
.nwcat-poradit-adv { list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:8px; }
.nwcat-poradit-adv li { font-size:13.5px; font-weight:600; color:#4A4238; }
.nwcat-poradit .nw-pp-poradit-btns { margin-bottom:0; }
@media (max-width:900px) {
  .nwcat-poradit { grid-template-columns:1fr; gap:22px; padding:20px 16px; }
}

/* ===== AJAX-фильтры: состояние загрузки основной колонки ===== */
.nwcat-main.is-loading { opacity:.45; pointer-events:none; transition:opacity .15s ease; }

/* ===== карточки реализаций (/nase-realizace/, данные realizace.json) ===== */
.nwreal-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; margin-top:6px; }
@media (max-width:1100px) { .nwreal-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px)  { .nwreal-grid { grid-template-columns:1fr; } }
.nwreal-card { background:#fff; border:1px solid #E4E7EC; border-radius:14px; overflow:hidden;
  box-shadow:0 8px 24px rgba(16,24,40,.05); display:flex; flex-direction:column; }
.nwreal-img img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.nwreal-body { padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
.nwreal-title { font-size:16.5px; font-weight:800; letter-spacing:-0.01em; margin:0; }
.nwreal-dim { display:flex; justify-content:space-between; align-items:baseline; gap:10px;
  font-size:13.5px; color:#667085; border-bottom:1px dashed #F0F2F4; padding:6px 0; }
.nwreal-dim b { color:#101828; font-weight:700; }
.nwreal-price { font-size:19px; font-weight:800; color:#101828; margin-top:4px; }
.nwreal-note { font-size:11.5px; color:#98A2B3; }
.nwreal-cta { margin-top:auto; padding-top:12px; font-weight:700; font-size:13.5px; color:#8A4E28; }

/* WhatsApp в help-карточке каталога: крупная иконка в зелёном кружке */
.nwcat-help-cta { gap: 9px; font-size: 14.5px; }
.nwcat-help-cta .nw-wa-ico {
  width: 22px; height: 22px;
  color: #fff;
  background: #25D366;
  border-radius: 50%;
  padding: 3px;
  box-shadow: 0 2px 8px rgba(37, 211, 102, .35);
  transition: transform .15s ease;
}
.nwcat-help-cta:hover .nw-wa-ico { transform: scale(1.08); }

/* карусель «Skladem» на главной: 5 карточек в ряд */
.nwhs-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1200px) { .nwhs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nwhs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .nwhs-grid { grid-template-columns: 1fr; } }

/* ===== duo-лаяут категории: без фильтра, две широкие карточки ===== */
.nwcat-body--duo { grid-template-columns: minmax(0, 1fr); }
.nwcat-duo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nwcat-duo .nwc-media { aspect-ratio: 16 / 10; }
.nwcat-duo .nwc-title { font-size: 17px; }
.nwcat-duo .nwc-price { font-size: 22px; }
.nwcat-topbar--duo .nwcat-sort { display: none; }
.nwc-ribbon {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 7px;
  padding: 5px 10px;
  border-radius: 99px;
  background: #FBF4EC;
  border: 1px solid #EAD9C6;
  color: #8A4E28;
  font: 700 11px Inter, system-ui, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (max-width: 760px) { .nwcat-duo { grid-template-columns: 1fr; } }

/* duo-карточки: фото во всю ширину карточки (cover), без «марочной» подложки */
.nwcat-duo .nwc-media { height: auto; aspect-ratio: 16 / 9; background: #F4F6F8; }
.nwcat-duo .nwc-imglink img { object-fit: cover; padding: 0; border-radius: 0; }
.nwcat-duo .nwc-body { padding: 18px 20px 20px; }
@media (max-width: 760px) { .nwcat-duo .nwc-media { aspect-ratio: 16 / 10; } }

/* «od …» со скидкой: акционная + перечёркнутая полная */
.nwc-price.is-sale { color: #D92D20; }
.nwc-price.is-sale s { margin-left: 7px; font-size: 13px; font-weight: 500; color: #98A2B3; }

/* ===== help-карточка каталога = сообщение в мессенджере =====
   хвостик рисуется SVG-формой (как «tail-in» в WhatsApp): выходит прямо из верхнего
   левого угла, снизу изгиб, кончик острый и мягко подрезан. Два слоя: контур + белая
   заливка на 1px внутрь — так получается та же рамка 1px, что и у карточки. */
.nwcat-help {
  position: relative;
  border-radius: 0 18px 18px 18px; /* верхний левый угол прямой — в него «втекает» хвост */
  box-shadow: 14px 18px 38px rgba(16, 24, 40, .13);
}
.nwcat-help::before, .nwcat-help::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
.nwcat-help::before { /* контур хвостика */
  left: -19px;
  top: -1px;
  width: 19px;
  height: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 13' preserveAspectRatio='none'%3E%3Cpath fill='%23E4E7EC' d='M1.533%202.568L8%2011.193V0H2.812C1.042%200%20.474%201.156%201.533%202.568z'/%3E%3C/svg%3E");
}
.nwcat-help::after {  /* белая заливка поверх контура */
  left: -18px;
  top: 0;
  width: 18px;
  height: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 13' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M1.533%202.568L8%2011.193V0H2.812C1.042%200%20.474%201.156%201.533%202.568z'/%3E%3C/svg%3E");
}
@media (max-width: 1000px) {
  .nwcat-help { border-radius: 14px; box-shadow: 0 10px 26px rgba(16, 24, 40, .10); }
  .nwcat-help::before, .nwcat-help::after { display: none; }
}

/* ===== «Rady a novinky» на главной: карточки статей ===== */
.nwhb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nwhb-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #E4E7EC;
  border-radius: 12px; overflow: hidden; text-decoration: none; color: inherit;
  transition: border-color .2s ease, box-shadow .25s ease; }
.nwhb-card:hover { border-color: #A9633A; box-shadow: 0 14px 34px rgba(16, 24, 40, .10); text-decoration: none; }
.nwhb-img { display: block; position: relative; aspect-ratio: 16/9; overflow: hidden;
  background: linear-gradient(178deg, #E9E3D6 0%, #8E8578 100%); }
.nwhb-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nwhb-body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.nwhb-cat { font: 700 11px Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase;
  color: #A9633A; margin-bottom: 8px; }
.nwhb-title { font: 700 16px/1.35 Inter, sans-serif; color: #101828; margin-bottom: 8px; }
.nwhb-txt { font: 400 13px/1.6 Inter, sans-serif; color: #667085; margin-bottom: 14px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nwhb-more { margin-top: auto; font: 700 12px Inter, sans-serif; color: #A9633A; }
@media (max-width: 900px) { .nwhb-grid { grid-template-columns: 1fr; } }

/* карточка «Potřebujete poradit?» внутри узкой колонки (главная, рядом с FAQ):
   одна колонка, кнопки и форма во всю ширину — двухколоночная сетка тут не помещалась */
.nw-pp-bottom .nwcat-poradit {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  padding: 26px 28px;
  align-items: stretch;
}
.nw-pp-bottom .nwcat-poradit .nwcat-poradit-adv { margin-bottom: 0; }
.nw-pp-bottom .nwcat-poradit .nw-pp-poradit-btns { max-width: none; }
.nw-pp-bottom .nwcat-poradit .nw-pp-lead { width: 100%; }
.nw-pp-bottom .nwcat-poradit .nw-pp-lead-row { grid-template-columns: 1fr 1fr; }
@media (max-width: 1250px) {
  .nw-pp-bottom .nwcat-poradit .nw-pp-poradit-btns { flex-direction: column; }
  .nw-pp-bottom .nwcat-poradit .nw-pp-lead-row { grid-template-columns: 1fr; }
}

/* карточка «Potřebujete poradit?»: форма сразу за плюсами, контакты под кнопкой отправки */
.nwcat-poradit { align-items: start; row-gap: 16px; }
.nwcat-poradit .nwcat-poradit-l { display: flex; flex-direction: column; gap: 10px; }
.nwcat-poradit .nwcat-poradit-txt { margin: 0; }
.nwcat-poradit .nwcat-poradit-adv { margin: 2px 0 0; gap: 7px; }
.nwcat-poradit .nw-pp-poradit-btns { margin: 0; }
/* широкий вариант (каталог/лендинг): слева текст, справа форма, под ней контакты */
@media (min-width: 1001px) {
  .nwcat-poradit:not(.nw-pp-bottom .nwcat-poradit) { align-items: start; }
  .nwcat-poradit > .nwcat-poradit-l { grid-column: 1; grid-row: 1; }
  .nwcat-poradit > .nw-pp-lead { grid-column: 2; grid-row: 1; }
  .nwcat-poradit > .nw-pp-poradit-btns { grid-column: 2; grid-row: 2; }
  /* в узкой колонке (главная) всё в один столбец по порядку DOM */
  .nw-pp-bottom .nwcat-poradit > .nwcat-poradit-l,
  .nw-pp-bottom .nwcat-poradit > .nw-pp-lead,
  .nw-pp-bottom .nwcat-poradit > .nw-pp-poradit-btns { grid-column: 1; grid-row: auto; }
}

/* кнопки «телефон / WhatsApp» = ширина формы (были уже формы и смотрелись неопрятно) */
.nwcat-poradit .nw-pp-poradit-btns,
.nw-pp-poradit .nw-pp-poradit-btns { width: 100%; max-width: none; }
.nwcat-poradit .nw-pp-callbtn, .nw-pp-poradit .nw-pp-callbtn { flex: 1 1 0; }
.nwcat-poradit .nw-pp-wabtn, .nw-pp-poradit .nw-pp-wabtn { flex: 1 1 0; }

/* ссылки фильтра работают через JS (href снят, чтобы dc-runtime не роутил по пути) */
.nwcat-jslink { cursor: pointer; }
.nwcat-jslink:focus-visible { outline: 2px solid #A9633A; outline-offset: 2px; border-radius: 6px; }

/* === Главная: входы по сценарию (#sec-kategorie) === */
.nwhq-grid { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:12px; }
.nwhq { display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid #E4E7EC;
  border-radius:12px; padding:16px 16px 15px; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.nwhq:hover { border-color:#A9633A; box-shadow:0 12px 28px rgba(16,24,40,.09); transform:translateY(-2px); text-decoration:none; }
.nwhq-ico { display:flex; align-items:center; justify-content:center; width:38px; height:38px; margin-bottom:8px;
  border-radius:10px; background:#F5EBE0; color:#A9633A; }
.nwhq-t { font:700 13.5px/1.3 Inter,sans-serif; color:#101828; text-wrap:pretty; }
.nwhq-s { font:500 12px/1.4 Inter,sans-serif; color:#667085; }

/* === Главная: полка конструкций (#sec-produkty) === */
.nwhk-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.nwhk-tab { display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:8px;
  border:1px solid #E4E7EC; background:#fff; color:#101828; font:600 12px Inter,sans-serif; cursor:pointer;
  transition:border-color .15s ease, background .15s ease, color .15s ease; }
.nwhk-tab b { font-weight:700; color:#98A2B3; }
.nwhk-tab:hover { border-color:#A9633A; color:#A9633A; }
.nwhk-tab.is-on { background:#101828; border-color:#101828; color:#fff; }
.nwhk-tab.is-on b { color:rgba(255,255,255,.6); }
.nwhk-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.nwhk-i { display:flex; }
.nwhk-i > .nwc { flex:1; }
.nwhk-grid.is-vs .nwhk-i[data-typ="mnz"],
.nwhk-grid.is-mnz .nwhk-i[data-typ="vs"] { display:none; }
.nwhk-foot { margin-top:16px; display:flex; justify-content:center; }
.nwhk-all { display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:10px;
  border:1.5px solid #E4E7EC; background:#fff; font:700 13px Inter,sans-serif; color:#101828; }
.nwhk-all:hover { border-color:#A9633A; color:#A9633A; text-decoration:none; }
@media (max-width:1100px) {
  .nwhq-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .nwhk-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:700px) {
  .nwhq-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .nwhk-grid { grid-template-columns:minmax(0,1fr); }
}

/* Конструкции: фото-сцена заполняет всю область карточки (у аксессуаров остаётся contain с полями) */
.nwc--scene .nwc-imglink img { object-fit:cover; padding:0; }
.nwc--scene .nwc-media { background:#EDEFF2; }

/* ===== сравнение конструкций на главной (данные из БД + configs.json) ===== */
.nwcmp-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.nwcmp-title { margin:0; font:800 24px Inter,sans-serif; letter-spacing:-0.03em; color:#101828; }
.nwcmp-sub { font:500 13px Inter,sans-serif; color:#667085; }
.nwcmp-scroll { background:#fff; border:1px solid #E4E7EC; border-radius:14px; overflow-x:auto; }
.nwcmp-table { width:100%; min-width:720px; border-collapse:collapse; font-family:Inter,sans-serif; }
.nwcmp-table th, .nwcmp-table td { text-align:left; vertical-align:middle; }
.nwcmp-table thead th { padding:15px 18px; background:#F4F6F8; border-bottom:1px solid #E4E7EC;
  font:800 14px Inter,sans-serif; color:#101828; }
.nwcmp-table thead th.nwcmp-par { font:700 12px Inter,sans-serif; letter-spacing:.08em;
  text-transform:uppercase; color:#667085; padding-left:22px; width:26%; }
.nwcmp-table thead th a { color:inherit; text-decoration:none; }
.nwcmp-table thead th a:hover { color:#A9633A; }
.nwcmp-table tbody th { padding:13px 22px; font:600 13px Inter,sans-serif; color:#475467; width:26%; }
.nwcmp-table tbody td { padding:13px 18px; font:500 13px Inter,sans-serif; color:#344054; }
.nwcmp-table tbody tr { border-bottom:1px solid #F0F2F4; }
.nwcmp-table tbody tr:last-child { border-bottom:0; }
.nwcmp-col.is-hi { background:#FDFAF6; }
.nwcmp-table thead th.is-hi { background:#FBF4EC; }
.nwcmp-price { font:800 15px Inter,sans-serif; color:#101828; white-space:nowrap; }
.nwcmp-old { font:500 12px Inter,sans-serif; color:#98A2B3; margin-left:7px; white-space:nowrap; }
.nwcmp-akce { display:inline-block; margin-left:7px; padding:2px 7px; border-radius:5px;
  background:#D92D20; color:#fff; font:700 11px Inter,sans-serif; white-space:nowrap; }
.nwcmp-yes { display:inline-flex; color:#12805C; }
.nwcmp-no { color:#98A2B3; }
.nwcmp-pricerow td, .nwcmp-lastrow td { padding-top:15px; padding-bottom:15px; }
.nwcmp-lastrow th, .nwcmp-lastrow td { background:#FAFBFC; }
.nwcmp-lastrow .nwcmp-col.is-hi { background:#FBF4EC; }
.nwcmp-note { margin:10px 2px 0; font:500 12.5px/1.6 Inter,sans-serif; color:#667085; }
@media (max-width:700px) {
  .nwcmp-title { font-size:20px; }
  .nwcmp-table tbody th { padding:12px 14px; }
  .nwcmp-table thead th.nwcmp-par { padding-left:14px; }
}

/* ===== галерея реализаций на главной (кейсы из realizace.json) ===== */
.nwgal-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.nwgal-headl { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.nwgal-title { margin:0; font:800 24px Inter,sans-serif; letter-spacing:-0.03em; color:#101828; }
.nwgal-sub { font:500 13px Inter,sans-serif; color:#667085; }
.nwgal-all { display:inline-flex; align-items:center; gap:8px; font:700 13px Inter,sans-serif; color:#A9633A; text-decoration:none; }
.nwgal-all:hover { text-decoration:underline; }
.nwgal-grid { display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:250px; gap:14px; }
.nwgal-tile { position:relative; display:block; border-radius:12px; overflow:hidden; background:#E4E7EC; text-decoration:none; }
.nwgal-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.nwgal-tile:hover img { transform:scale(1.05); }
.nwgal-shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(16,24,40,0) 46%, rgba(16,24,40,.86) 100%); }
.nwgal-cap { position:absolute; left:18px; right:18px; bottom:16px; color:#fff; display:block; }
.nwgal-cap-t { display:block; font:700 16px Inter,sans-serif; letter-spacing:-0.01em; margin-bottom:4px; }
.nwgal-cap-m { display:block; font:500 12px Inter,sans-serif; color:rgba(255,255,255,.82); }
@media (max-width:900px) {
  .nwgal-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; }
  .nwgal-tile { grid-column:span 1 !important; }
  .nwgal-tile:first-child { grid-column:span 2 !important; }
}
/* карточка кейса, на которую пришли по якорю с главной */
.nwreal-card:target, .nwreal-card.is-target { outline:2px solid #A9633A; outline-offset:3px; }
.nwreal-card { scroll-margin-top:96px; }

/* ===== отзывы с Googlu на главной (page-data/reviews.json) ===== */
.nwrev { display:grid; grid-template-columns:300px minmax(0,1fr); gap:24px;
  background:#fff; border:1px solid #E4E7EC; border-radius:14px; padding:30px 32px; }
.nwrev-gbox { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.nwrev-glogo { display:flex; flex:none; }
.nwrev-stars { display:flex; gap:2px; margin-bottom:3px; }
.nwrev-score { font:700 14px Inter,sans-serif; color:#101828; }
.nwrev-title { margin:0 0 10px; font:800 22px Inter,sans-serif; letter-spacing:-0.03em; line-height:1.25; color:#101828; }
.nwrev-lead { margin:0 0 14px; font:400 14px Inter,sans-serif; line-height:1.6; color:#667085; }
.nwrev-all { display:inline-flex; align-items:center; gap:8px; font:700 13px Inter,sans-serif; color:#A9633A; text-decoration:none; }
.nwrev-all:hover { text-decoration:underline; }
.nwrev-btns { display:flex; flex-direction:column; gap:10px; align-items:stretch; max-width:230px; }
.nwrev-btn { display:flex; align-items:center; justify-content:center; gap:8px; background:#A9633A; color:#fff;
  border-radius:9px; padding:12px 16px; font:700 13px Inter,sans-serif; text-decoration:none; }
.nwrev-btn:hover { background:#8A4E28; text-decoration:none; }
.nwrev-btn--ghost { background:#fff; border:1.5px solid #E4E7EC; color:#101828; }
.nwrev-btn--ghost:hover { background:#fff; border-color:#A9633A; color:#A9633A; }
.nwrev-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

/* лента с прокруткой вправо (главная) */
.nwrev-carousel { position:relative; min-width:0; }
.nwrev-track { display:flex; gap:14px; overflow-x:auto; scrollbar-width:none;
  -ms-overflow-style:none; padding-bottom:2px; cursor:grab; }
.nwrev-track::-webkit-scrollbar { display:none; height:0; }
.nwrev-track > .nwrev-card { flex:0 0 290px; }
.nwrev-track.is-drag { cursor:grabbing; }
.nwrev-track.is-drag * { pointer-events:none; user-select:none; }

/* компактный блок на странице товара */
.nwrev--compact { grid-template-columns:1fr; gap:16px; }
.nwrev-chead { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.nwrev-chead-l { display:flex; align-items:center; gap:12px; }
.nwrev-chead .nwrev-title { margin:0 0 4px; font-size:20px; }
.nwrev-cmeta { display:flex; align-items:center; gap:8px; font:500 12.5px Inter,sans-serif; color:#667085; }
.nwrev-cmeta .nwrev-stars { margin:0; }

/* страница /recenze/ */
.nwrevpage { display:flex; flex-direction:column; gap:24px; }
.nwrevpage-h1 { margin:0 0 10px; font:800 30px Inter,sans-serif; letter-spacing:-0.03em; color:#101828; }
.nwrevpage-lead { margin:0 0 18px; max-width:760px; font:400 15px Inter,sans-serif; line-height:1.7; color:#475467; }
.nwrevpage-sum { display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:#fff; border:1px solid #E4E7EC; border-radius:14px; padding:18px 20px; }
.nwrevpage-score { font:800 22px Inter,sans-serif; letter-spacing:-0.02em; color:#101828; }
.nwrevpage-cnt { font:500 13px Inter,sans-serif; color:#667085; }
.nwrevpage-cta { margin-left:auto; display:inline-flex; align-items:center; gap:8px; background:#A9633A;
  color:#fff; border-radius:9px; padding:11px 16px; font:700 13px Inter,sans-serif; text-decoration:none; }
.nwrevpage-cta:hover { background:#8A4E28; text-decoration:none; }
.nwrev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
/* на светлой странице /recenze/ серые карточки сливаются с фоном */
.nwrev-grid .nwrev-card { background:#fff; border:1px solid #E4E7EC; }
@media (max-width:1100px) { .nwrev-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) {
  .nwrev-grid { grid-template-columns:1fr; }
  .nwrevpage-cta { margin-left:0; }
}
.nwrev-card { background:#F4F6F8; border-radius:11px; padding:20px; display:flex; flex-direction:column; }
.nwrev-card .nwrev-stars { margin-bottom:12px; }
.nwrev-text { margin:0 0 16px; font:400 14px Inter,sans-serif; line-height:1.6; color:#101828; text-wrap:pretty; }
.nwrev-foot { margin-top:auto; display:flex; align-items:center; gap:10px; }
.nwrev-ava { flex:none; width:34px; height:34px; border-radius:50%; object-fit:cover; background:#F5EBE0; }
.nwrev-ava--txt { color:#A9633A; display:flex; align-items:center; justify-content:center; font:700 12px Inter,sans-serif; }
.nwrev-name { font:700 12px Inter,sans-serif; color:#101828; }
.nwrev-date { font:500 11px Inter,sans-serif; color:#667085; }
@media (max-width:1100px) {
  .nwrev-list { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .nwrev { grid-template-columns:1fr; padding:24px 20px; }
  .nwrev-list { grid-template-columns:1fr; }
}

/* строка акции на странице категории (бриф T-04) */
.nwcat-akce { margin: 8px 0 0; font: 700 13px Inter, sans-serif; color: #D92D20; }
