/* nik-design.css — очищено и проверено 31.10.2026 */

/* ===== СБРОС ASTRA ===== */
.ast-container,.site-content,.ast-article-single,
.entry-content,.ast-page-builder-template,
#content,.ast-single-post,.ast-separate-container {
  padding:0!important;margin:0!important;max-width:100%!important;
}
.entry-content>* {max-width:none!important; }
/* Восстановить отступы блоков после сброса Astra */
.entry-content > .nik-hero,
.entry-content > .nik-page .nik-hero,
.nik-hero {
  margin-left:  clamp(10px,2vw,24px) !important;
  margin-right: clamp(10px,2vw,24px) !important;
  margin-top:   20px !important;
}
.entry-content > .nik-section,
.entry-content > .nik-page .nik-section,
.nik-section {
  margin-left:  clamp(10px,2vw,24px) !important;
  margin-right: clamp(10px,2vw,24px) !important;
}
.entry-content > .nik-cta,
.nik-cta,
.entry-content > .nik-seo,
.nik-seo {
  margin-left:  clamp(10px,2vw,24px) !important;
  margin-right: clamp(10px,2vw,24px) !important;
}
.ast-article-single {padding:0!important; }
#main {display:block; }
/* Глобальный сброс границ таблиц Astra/WP */
.nvn-table, .nvn-table * {
  border-color: transparent;
}
.nvn-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  border: none !important;
}
.nvn-table th, .nvn-table td {
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  box-shadow: none !important;
}
/* ===== ПЕРЕМЕННЫЕ ===== */
:root {
  /* ── Светлая тема ── */
  --nik-bg:           #f5f7f7;
  --nik-surface:      #ffffff;
  --nik-surface-alt:  #f0f4f4;
  --nik-card:         #ffffff;
  --nik-card-deep:    #eef2f2;
  --nik-hero-from:    #1a3333;
  --nik-hero-mid:     #264d4d;
  --nik-cta-from:     #336666;
  --nik-cta-to:       #285252;
  --nik-submenu-bg:   #f5f7f7;
  --nik-border:       rgba(0,0,0,0.08);
  --nik-accent:       #336666;
  --nik-accent-lt:    #4a8a8a;
  --nik-accent-bg:    rgba(51,102,102,0.07);
  --nik-accent-brd:   rgba(51,102,102,0.2);
  /* Обратная совместимость — gold → accent */
  --nik-gold:         #336666;
  --nik-gold-lt:      #4a8a8a;
  --nik-green:        #2e7d5a;
  --nik-green-lt:     #3da070;
  --nik-text:         #1a1e1e;
  --nik-muted:        #3d4848;
  --nik-subtle:       #6b7878;
  --nik-radius:       12px;
  --nik-radius-lg:    20px;
  --nik-max:          1180px;
  --nik-pad:          clamp(18px,5vw,56px);
  --nik-shadow:       0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  --nik-shadow-lg:    0 8px 32px rgba(0,0,0,0.1);
  --nik-card-trans:   rgba(255,255,255,0.9);
  /* Таблицы */
  --nik-tbl-head:    #f0f4f4;
  --nik-tbl-section: #eef2f2;
  --nik-tbl-row-alt: rgba(51,102,102,0.03);
  --nik-tbl-total:   rgba(51,102,102,0.06);
}
/* ===== ГЛОБАЛЬНЫЙ ФОН ===== */
body {
  background-color: var(--nik-bg) !important;
}
.ast-container,
.site-content,
#content,
#primary,
#main {
  background-color: transparent !important;
}
/* ===== БАЗА ===== */
.nik-page {
  background: var(--nik-bg);
  color: var(--nik-text);
  font-family: 'Segoe UI','Helvetica Neue',Arial,sans-serif;
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  padding: 10px 0 10px;
}
.nik-page *,
.nik-page *::before,
.nik-page *::after {
  box-sizing: border-box;
}
.nik-page img {
  max-width: 100%;
  height: auto;
  display: block;
}
.nik-page a {
  text-decoration: none;
}
.nik-wrap {
  max-width: var(--nik-max);
  margin: 0 auto;
  padding: 0 var(--nik-pad);
}
/* ===== БАЗОВАЯ КАРТОЧКА (общий паттерн) ===== */
/* ===== СЕКЦИИ ===== */
.nik-section {
  background: var(--nik-surface);
  border-radius: var(--nik-radius-lg);
  margin: 0 clamp(10px,2vw,24px) 20px;
  padding: 60px clamp(20px,4vw,56px);
  box-shadow: var(--nik-shadow);
}
.nik-section-alt {
  background: var(--nik-surface-alt);
  border: 1px solid var(--nik-border);
}
/* ===== ТИПОГРАФИЯ ===== */
.nik-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nik-accent);
  border: 1px solid var(--nik-accent-brd);
  padding: 5px 14px;
  border-radius: 20px;
  margin-bottom: 18px;
}
.nik-h2,
.nik-h2 h2 {
  font-size: clamp(24px,3.2vw,42px);
  font-weight: 300;
  color: var(--nik-text);
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
.nik-h2 span {
  color: var(--nik-accent);
}
.nik-lead {
  font-size: clamp(15px,1.8vw,18px);
  color: var(--nik-muted);
  max-width: 580px;
  line-height: 1.7;
}
/* ===== КНОПКИ ===== */
.nik-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  padding: 15px 30px;
  border-radius: 50px;
  transition: all 0.18s ease;
  cursor: pointer;
  border: none;
  letter-spacing: 0.01em;
}
.nik-btn-primary {
  background: var(--nik-accent);
  color: #ffffff !important;
  border: 1.5px solid var(--nik-accent);
  box-shadow: 0 8px 22px rgba(22, 92, 90, 0.12);
}
.nik-btn-primary:hover {
  background: var(--nik-accent-lt);
  border-color: var(--nik-accent-lt);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(22, 92, 90, 0.16);
}
.nik-btn-gold {
  background: var(--nik-accent);
  color: #ffffff !important;
}
.nik-btn-gold:hover {
  background: var(--nik-accent-lt);
  transform: translateY(-1px);
  color: #ffffff !important;
}
.nik-btn-ghost {
  background: transparent;
  color: var(--nik-accent) !important;
  border: 1.5px solid var(--nik-accent-brd);
}
.nik-btn-ghost:hover {
  border-color: var(--nik-accent);
  background: var(--nik-accent-bg);
  color: var(--nik-accent) !important;
}
/* Ghost кнопка внутри hero — на тёмном фоне всегда белая */
.nik-hero .nik-btn-ghost {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.45);
}
.nik-hero .nik-btn-ghost:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.7);
  color: #ffffff !important;
}
/* ===== HERO ===== */
.nik-hero {
  background: linear-gradient(145deg,var(--nik-hero-from) 0%,var(--nik-hero-mid) 55%,var(--nik-hero-from) 100%);
  background-size: cover;
  background-position: center;
  border-radius: var(--nik-radius-lg);
  margin: 20px clamp(10px,2vw,24px) 20px;
  padding: clamp(80px,11vw,130px) clamp(24px,5vw,80px) clamp(70px,9vw,110px);
  text-align: center;
  position: relative;
  overflow: hidden;
  min-height: clamp(500px,65vh,780px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 32px rgba(0,0,0,0.4);
}
.nik-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 55% at 50% 35%,rgba(201,169,110,0.08) 0%,transparent 65%);
  pointer-events: none;
}
.nik-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 55%,rgba(0,0,0,0.35) 100%);
  pointer-events: none;
}
.nik-hero > * {
  position: relative;
  z-index: 1;
}
.nik-hero .nik-eyebrow {
  color: #d4ad74;
  border-color: rgba(212,173,116,0.35);
}
.nik-hero h1 {
  font-size: clamp(34px,5.8vw,72px);
  font-weight: 200;
  line-height: 1.1;
  color: #ffffff;
  max-width: 880px;
  margin: 0 auto 22px;
  letter-spacing: -0.03em;
}
.nik-hero h1 em {
  font-style: normal;
  color: #d4ad74;
}
.nik-hero-sub {
  font-size: clamp(15px,2vw,20px);
  color: rgba(255,255,255,0.7);
  max-width: 520px;
  margin: 0 auto 44px;
  line-height: 1.65;
  font-weight: 300;
}
.nik-hero-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.nik-chip {
  font-size: 12px;
  color: var(--nik-accent);
  background: var(--nik-accent-bg);
  border: 1px solid var(--nik-accent-brd);
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 500;
}
/* ===== ПРЕИМУЩЕСТВА ===== */
.nik-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
  gap: 16px;
  margin-top: 44px;
}
.nik-benefit {
  background: var(--nik-card-trans);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 26px 22px;
}
.nik-benefit-icon {
  font-size: 26px;
  margin-bottom: 14px;
}
.nik-benefit-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--nik-text);
  margin-bottom: 8px;
}
.nik-benefit-text {
  font-size: 14px;
  color: var(--nik-muted);
  line-height: 1.65;
}
/* ===== ШАГИ ===== */
.nik-steps {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
  gap: 16px;
  margin-top: 44px;
  counter-reset: steps;
}
.nik-step {
  background: var(--nik-card-trans);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 28px 22px;
  counter-increment: steps;
}
.nik-step::before {
  content: counter(steps,decimal-leading-zero);
  font-size: 38px;
  font-weight: 200;
  color: rgba(51,102,102,0.15);
  letter-spacing: -0.04em;
  line-height: 1;
  display: block;
  margin-bottom: 14px;
}
.nik-step-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--nik-text);
  margin-bottom: 8px;
}
.nik-step-text {
  font-size: 14px;
  color: var(--nik-muted);
  line-height: 1.65;
}
/* ===== FAQ ===== */
.nik-faqs {
  margin-top: 36px;
}
.nik-faq {
  border-bottom: 1px solid var(--nik-border);
}
.nik-faq summary {
  list-style: none;
  padding: 20px 0;
  font-size: 16px;
  font-weight: 500;
  color: var(--nik-text);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.nik-faq summary::-webkit-details-marker {
  display: none;
}
.nik-faq summary::after {
  content: '+';
  font-size: 22px;
  font-weight: 200;
  color: var(--nik-accent);
  flex-shrink: 0;
}
.nik-faq[open] summary::after {
  content: '−';
}
.nik-faq-body {
  font-size: 15px;
  color: var(--nik-muted);
  line-height: 1.75;
  padding-bottom: 20px;
}
/* ===== CTA ===== */
.nik-cta {
  background: var(--nik-accent);
  border-radius: var(--nik-radius-lg);
  margin: 0 clamp(10px,2vw,24px) 20px;
  padding: clamp(48px,6vw,80px) clamp(24px,5vw,72px);
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--nik-shadow-lg);
}
.nik-cta::before {
  content: '';
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 500px;
  height: 380px;
  background: radial-gradient(circle,rgba(201,169,110,0.06) 0%,transparent 65%);
  pointer-events: none;
}
.nik-cta h2 {
  font-size: clamp(24px,3.2vw,44px);
  font-weight: 300;
  color: #ffffff;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}
.nik-cta p {
  font-size: 16px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.nik-cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.nik-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  padding: 16px 28px;
  border-radius: 50px;
  transition: all 0.18s ease;
  white-space: nowrap;
}
.nik-cta-btn-phone {
  background: #ffffff;
  color: var(--nik-accent) !important;
}
.nik-cta-btn-phone:hover {
  background: rgba(255,255,255,0.9);
  transform: translateY(-1px);
  color: var(--nik-accent) !important;
}
.nik-cta-btn-tg {
  background: #006DAE;
  color: #ffffff !important;
}
.nik-cta-btn-tg:hover {
  background: #005d96;
  transform: translateY(-1px);
  color: #ffffff !important;
}
.nik-cta-btn-wa {
  background: #128C4A;
  color: #ffffff !important;
}
.nik-cta-btn-wa:hover {
  background: #0e7040;
  transform: translateY(-1px);
  color: #ffffff !important;
}
.nik-cta-note {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-top: 8px;
}
/* ===== SEO ТЕКСТ ===== */
.nik-seo {
  background: var(--nik-surface);
  border: 0.5px solid var(--nik-border);
  border-radius: var(--nik-radius-lg);
  margin: 0 clamp(10px,2vw,24px) 20px;
  padding: 48px clamp(20px,4vw,56px);
  box-shadow: var(--nik-shadow);
}
.nik-seo h2 {
  font-size: clamp(20px,2.5vw,30px);
  font-weight: 400;
  color: var(--nik-text);
  margin-bottom: 18px;
}
.nik-seo p {
  font-size: 15px;
  color: var(--nik-muted);
  line-height: 1.8;
  margin-bottom: 14px;
  max-width: 860px;
}
/* ===== ВЫПАДАЮЩЕЕ МЕНЮ ===== */
.main-header-menu .sub-menu {
  background: #ffffff !important;
  border: 1px solid var(--nik-border) !important;
  border-radius: var(--nik-radius) !important;
  box-shadow: var(--nik-shadow-lg) !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
  top: 100% !important;
  margin-top: 6px !important;
}
.main-header-menu .sub-menu .menu-link {
  color: var(--nik-muted) !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  border-bottom: none !important;
  transition: all 0.15s ease !important;
}
.main-header-menu .sub-menu .menu-link:hover {
  background: var(--nik-accent-bg) !important;
  color: var(--nik-accent) !important;
}
.main-header-menu .sub-menu .menu-item:not(:last-child) {
  border-bottom: 1px solid var(--nik-border) !important;
}
.main-header-menu .sub-menu .menu-item:first-child .menu-link {
  border-radius: var(--nik-radius) var(--nik-radius) 0 0 !important;
}
.main-header-menu .sub-menu .menu-item:last-child .menu-link {
  border-radius: 0 0 var(--nik-radius) var(--nik-radius) !important;
}
/* Скрыть стрелку-иконку Astra */
.main-header-menu .dropdown-menu-toggle,
.main-header-menu .ast-header-navigation-arrow {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.main-header-menu .menu-item-has-children > .menu-link::after {
  display: none !important;
}
.main-header-menu {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}
/* Сброс любых margin от Astra на menu-item */
.main-header-menu > .menu-item {
  margin: 0 !important;
  padding: 0 !important;
}
.main-header-menu > .menu-item > .menu-link {
  padding: 8px 16px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  white-space: nowrap !important;
}
.main-header-menu > .menu-item > .menu-link:hover {
  background: var(--nik-accent-bg) !important;
  color: var(--nik-accent) !important;
}
/* Стрелки у пунктов с подменю — скрыть */
.main-header-menu > .menu-item-has-children > .menu-link {
  padding-right: 16px !important;
}
.main-header-menu .menu-item-has-children > .menu-link::after {
  display: none !important;
}
/* ===== МЕНЮ ASTRA — область касания ===== */
.ast-header-navigation-arrow {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.main-header-menu .menu-link {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
/* ===== УБРАТЬ ПОДЧЁРКИВАНИЕ ===== */
.nik-page a,
.nik-hero,
.nik-page a:hover,
.nik-hero-actions,
.nik-hero-actions a:hover,
.nik-btn,
.nik-btn:hover,
.nik-btn-primary,
.nik-btn-primary:hover,
.nik-btn-ghost,
.nik-btn-ghost:hover,
.nik-btn-gold,
.nik-btn-gold:hover,
.nik-cta-btn,
.nik-cta-btn:hover {
  text-decoration: none !important;
}
/* ===== АДАПТИВ ===== */
@media(max-width:768px) {
  .nik-benefits-grid {
    grid-template-columns: 1fr;
  }
  .nik-steps {
    grid-template-columns: 1fr;
  }
  .nik-section,
  .nik-hero,
  .nik-cta,
  .nik-seo {
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
    border-radius: var(--nik-radius-lg);
  }
  .nik-wrap {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  /* Проекты домов */
}
@media(max-width:480px) {
  .nik-cta-btns {
    flex-direction: column;
    align-items: center;
  }
  /* Проекты домов */
}
/* ===== КНОПКА НАВЕРХ ASTRA ===== */
.ast-scroll-top-icon {
  background: #ffffff !important;
  border: 1px solid var(--nik-border) !important;
  color: var(--nik-accent) !important;
  border-radius: 50% !important;
  box-shadow: var(--nik-shadow) !important;
  transition: all 0.2s ease !important;
}
.ast-scroll-top-icon:hover {
  background: var(--nik-accent) !important;
  color: #ffffff !important;
  border-color: var(--nik-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--nik-shadow-lg) !important;
}
/* ===== МОБИЛЬНОЕ МЕНЮ — фон панели и пунктов ===== */
#ast-mobile-popup,
.ast-mobile-popup {
  background: transparent !important;
}
.ast-mobile-header-wrap {
  background: transparent !important;
  padding: 0 !important;
}
.ast-mobile-header-content,
.ast-mobile-header-wrap .ast-mobile-header-content,
#ast-mobile-header .ast-mobile-header-content,
.ast-main-header-nav-open.ast-header-break-point #ast-desktop-header .ast-desktop-header-content,
.ast-main-header-nav-open .ast-mobile-header-wrap .ast-mobile-header-content,
.ast-builder-menu-mobile,
.ast-builder-menu-mobile .ast-builder-grid-row,
.ast-builder-menu-mobile .ast-builder-layout-element,
.ast-main-header-bar-wrap,
.ast-header-break-point .ast-main-header-bar {
  background: transparent !important;
  background-color: transparent !important;
}
.ast-header-break-point .main-navigation,
.ast-header-break-point .ast-navigation-layout-1,
.ast-header-break-point .ast-navigation {
  background: transparent !important;
}
.ast-header-break-point .main-header-menu > .menu-item > .menu-link,
.ast-header-break-point .main-header-menu > .menu-item > a {
  color: var(--nik-muted) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--nik-border) !important;
}
.ast-header-break-point .ast-header-navigation-arrow {
  color: var(--nik-gold) !important;
  border-color: var(--nik-border) !important;
}
.ast-header-break-point .sub-menu {
  background: var(--nik-submenu-bg) !important;
  border-top: 1px solid var(--nik-border) !important;
}
.ast-header-break-point .sub-menu .menu-link,
.ast-header-break-point .sub-menu a {
  color: var(--nik-accent) !important;
  padding-left: 32px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--nik-border) !important;
  font-size: 14px !important;
}
.ast-header-break-point .sub-menu .menu-link:hover,
.ast-header-break-point .sub-menu a:hover {
  color: var(--nik-accent-lt) !important;
  background: rgba(201,169,110,0.06) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .sub-menu,
.ast-hfb-header .ast-builder-menu-mobile .main-navigation ul.sub-menu {
  background: var(--nik-surface) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .sub-menu .menu-link,
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .sub-menu a {
  color: var(--nik-gold) !important;
  background: transparent !important;
  padding-left: 32px !important;
  border-bottom: 1px solid var(--nik-border) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .sub-menu .menu-link:hover,
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .sub-menu a:hover {
  color: var(--nik-gold-lt) !important;
  background: rgba(201,169,110,0.07) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link {
  color: var(--nik-text) !important;
  background: transparent !important;
  border-bottom: 1px solid var(--nik-border) !important;
}
.ast-hfb-header .ast-builder-menu-mobile .ast-header-navigation-arrow,
.ast-hfb-header .ast-builder-menu-mobile .dropdown-menu-toggle {
  color: var(--nik-gold) !important;
}
.ast-builder-menu-mobile .main-navigation,
.ast-builder-menu-mobile .main-navigation ul,
.ast-builder-menu-mobile .main-navigation li,
.ast-builder-menu-mobile .main-header-menu,
.ast-builder-menu-mobile .main-header-menu > li,
.ast-builder-menu-mobile .main-header-menu > li > a,
.ast-builder-menu-mobile .ast-menu-toggle {
  background: transparent !important;
  background-color: transparent !important;
}
.ast-mobile-header-wrap .ast-builder-menu-mobile .main-navigation,
.ast-header-break-point .main-navigation,
#ast-mobile-popup .main-navigation,
.ast-mobile-popup .main-navigation {
  background: #ffffff !important;
  border-radius: var(--nik-radius-lg) !important;
  overflow: hidden !important;
  margin: 8px 12px !important;
  box-shadow: var(--nik-shadow-lg) !important;
}
.ast-builder-menu-mobile .main-navigation li a,
.ast-builder-menu-mobile .main-navigation li .menu-link {
  color: var(--nik-text) !important;
  border-bottom: 1px solid var(--nik-border) !important;
}
.ast-builder-menu-mobile .main-header-menu > .menu-item > .menu-link,
.ast-builder-menu-mobile .main-header-menu > .menu-item > a {
  color: var(--nik-text) !important;
  font-size: 15px !important;
  letter-spacing: 0.01em !important;
  background: transparent !important;
}
.ast-builder-menu-mobile .ast-header-navigation-arrow,
.ast-builder-menu-mobile .dropdown-menu-toggle {
  color: var(--nik-gold) !important;
  border-color: var(--nik-border) !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ast-builder-menu-mobile .main-navigation > ul > li:last-child > .menu-link,
.ast-builder-menu-mobile .main-header-menu > li:last-child > a {
  border-bottom: none !important;
}
.ast-header-navigation-arrow svg,
.ast-header-navigation-arrow i,
.ast-header-navigation-arrow::before,
.ast-header-navigation-arrow::after,
.dropdown-menu-toggle svg,
.dropdown-menu-toggle i,
.dropdown-menu-toggle::before,
.dropdown-menu-toggle::after {
  display: none !important;
}
button.ast-menu-toggle {
  color: #ffffff !important;
}
button.ast-menu-toggle::before,
button.ast-menu-toggle::after {
  border-color: #ffffff !important;
  color: #ffffff !important;
}
/* ===== Полупрозрачные карточки ===== */
.nik-benefit,
.nik-step {
  background: var(--nik-card-trans);
}
/* ===== ОТСТУП НАД ФУТЕРОМ — только главная ===== */
.home .nik-page {
  padding-bottom: 15px !important;
}
.home .nik-seo:last-of-type {
  margin-bottom: 15px !important;
}
/* ===== HERO КОНТАКТОВ ===== */
.nik-hero--contacts {
  min-height: 550px;
  padding-top:    clamp(80px,10vw,120px);
  padding-bottom: clamp(60px,7vw,90px);
  justify-content: flex-start;
}
.nik-contacts-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  justify-content: space-between;
  align-items: flex-start;
}
.nik-contacts-intro {
  flex: 1;
  min-width: 260px;
}
.nik-hero-title {
  font-size: clamp(32px,5vw,60px);
  font-weight: 200;
  line-height: 1.1;
  color: #ffffff;
  letter-spacing: -0.03em;
  margin: 0 0 16px;
}
.nik-hero-title em {
  font-style: normal;
  color: #d4ad74;
}
.nik-contacts-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.nik-office-card {
  flex: 1;
  min-width: 260px;
  max-width: 360px;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--nik-radius-lg);
  padding: 28px 24px;
}
.nik-office-card__title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #78bcbc;
  margin-bottom: 20px;
}
.nik-office-card__list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.nik-office-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 16px;
  color: #e7e9ea;
  line-height: 1.55;
}
.nik-office-card__icon {
  flex-shrink: 0;
  font-size: 18px;
  margin-top: 1px;
}
.nik-office-card__link {
  color: #d9eeee;
  transition: color 0.15s;
}
.nik-office-card__link:hover {
  color: #ffffff;
}
.nik-office-card__legal {
  font-size: 13px;
  color: rgba(255,255,255,0.72);
  line-height: 1.6;
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 16px;
}
/* ===== АДАПТИВ ===== */
@media (max-width: 768px) {
  .nik-contacts-layout {
    flex-direction: column;
    gap: 28px;
  }
  .nik-office-card {
    max-width: 100%;
  }
  .nik-contacts-btns {
    flex-direction: column;
  }
  .nik-contacts-btns .nik-cta-btn {
    justify-content: center;
    width: 100%;
  }
}
.nik-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.95);
  backdrop-filter: blur(8px);
  align-items: center;
  justify-content: center;
}
/* ===== АДАПТИВ ===== */
/* ======================================================
   nikvideon.ru — Дополнительные блоки
   Добавлено к CSS_full_nik: калькулятор, таблицы,
   портфолио, гарантии, прайс, смета, модалка галереи
   ====================================================== */
/* ===== HERO — фичи ===== */
.nik-hero-features {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 36px;
}
.nik-hero-feature {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  padding: 7px 16px;
  border-radius: 50px;
}
/* ===== CTA — дополнительные кнопки ===== */
.nik-cta-phone {
  font-size: 30px;
  font-weight: 300;
  color: rgba(255,255,255,0.9);
  letter-spacing: -0.02em;
  display: block;
  margin-bottom: 28px;
  text-decoration: none !important;
  transition: color 0.18s;
}
.nik-cta-phone:hover { color: var(--nik-gold-lt); }
.nik-cta-btn-max {
  background: linear-gradient(135deg, #10204d 0%, #2f96db 100%);
  color: #ffffff !important;
}
.nik-cta-btn-max:hover {
  transform: translateY(-1px);
  color: #ffffff !important;
}
/* ===== ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ — ДОПОЛНЕНИЯ ===== */
/* Номер раздела */
.nik-section-num {
  font-size: 38px;
  font-weight: 200;
  color: rgba(51,102,102,0.15);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 12px;
}
/* Info-блок с золотой левой полосой */
.nik-info {
  background: var(--nik-accent-bg);
  border: 1px solid var(--nik-accent-brd);
  border-left: 3px solid var(--nik-accent);
  border-radius: 0 var(--nik-radius) var(--nik-radius) 0;
  padding: 18px 22px;
  margin-top: 16px;
}
.nik-info p {
  font-size: 14px;
  color: var(--nik-accent);
  line-height: 1.7;
  margin: 0;
}
/* Разделитель между секциями внутри .nik-section */
.nik-policy-block {
  padding-bottom: 48px;
  margin-bottom: 48px;
  border-bottom: 1px solid var(--nik-border);
}
.nik-policy-block:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
/* Список с золотым тире */
.nik-list {
  list-style: none;
  padding: 0;
  margin: 16px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nik-list li {
  font-size: 14px;
  color: var(--nik-muted);
  line-height: 1.65;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.nik-list li::before {
  content: '—';
  color: var(--nik-gold);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.nik-list li strong {
  color: var(--nik-text);
}
/* Таблица для политики — без right-align последней колонки */
.nvn-table--policy thead th:first-child { width: auto; }
.nvn-table--policy tbody td:last-child { text-align: left; font-weight: 400; color: var(--nik-muted); }
.nvn-table--policy tbody td:first-child { color: var(--nik-text); font-weight: 500; font-size: 14px; }
/* Навигация по разделам */
.nik-nav-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.nik-nav-chips .nik-chip {
  transition: color 0.18s, border-color 0.18s, background 0.18s;
}
.nik-nav-chips .nik-chip:hover,
.nik-nav-chips .nik-chip.active {
  color: var(--nik-accent);
  border-color: rgba(201,169,110,0.3);
  background: rgba(201,169,110,0.07);
}
.ast-footer-copyright a[style] {
  color: var(--nik-accent) !important;
}
/* ================================================================
   HOW-TO ШАГИ — страница "Как подключить"
   Перенесено из контента страницы
================================================================ */
.nvn-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}
.nvn-step {
  background: var(--nik-surface);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: border-color 0.22s, transform 0.22s, box-shadow 0.22s;
}
.nvn-step::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nik-gold), transparent);
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 1;
}
.nvn-step:hover { border-color: var(--nik-accent-brd); transform: translateY(-4px); box-shadow: var(--nik-shadow-lg); }
.nvn-step:hover::before { opacity: 1; }
.nvn-step__num {
  position: absolute;
  top: 14px; left: 14px;
  z-index: 2;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  color: #ffffff;
  background: var(--nik-accent);
  border: none;
  border-radius: 50px;
  backdrop-filter: none;
}
.nvn-step__img-wrap {
  width: 100%; aspect-ratio: 1 / 1;
  overflow: hidden; background: var(--nik-card-deep);
  flex-shrink: 0; position: relative;
}
.nvn-step__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.nvn-step:hover .nvn-step__img-wrap img { transform: scale(1.04); }
.nvn-step__body { padding: 16px 18px 20px; flex: 1; }
.nvn-step__text { font-size: 14px; color: var(--nik-muted); line-height: 1.65; }
.nvn-step__text strong { color: var(--nik-text); font-weight: 600; }
.nvn-tips {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 14px;
  margin-top: 36px;
}
.nvn-tip {
  background: var(--nik-surface);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 20px 18px;
  display: flex; gap: 14px; align-items: flex-start;
}
.nvn-tip__icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.nvn-tip__title { font-size: 12px; font-weight: 700; color: var(--nik-accent); margin-bottom: 5px; text-transform: uppercase; letter-spacing: 0.08em; }
.nvn-tip__text { font-size: 13px; color: var(--nik-muted); line-height: 1.6; }
/* ================================================================
   ТАБЛИЦЫ — страница "Договор"/прайс
   Перенесено из контента страницы
================================================================ */
.nvn-table-wrap {
  overflow-x: auto;
  position: relative;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.nvn-table-wrap::-webkit-scrollbar { display: none; }
.nvn-scroll-hint {
  display: none;
  position: absolute;
  top: 10px; right: 10px;
  z-index: 2;
  align-items: center;
  gap: 5px;
  font-size: 11px; font-weight: 500; letter-spacing: 0.04em;
  color: var(--nik-subtle);
  background: rgba(255,255,255,0.95);
  border: 1px solid var(--nik-border);
  border-radius: 20px;
  padding: 5px 10px 5px 8px;
  backdrop-filter: blur(6px);
  pointer-events: none;
  transition: opacity 0.3s;
}
.nvn-scroll-hint svg { flex-shrink: 0; animation: nvn-nudge 1.6s ease-in-out infinite; }
@keyframes nvn-nudge {
  0%,100% { transform: translateX(0); }
  45%      { transform: translateX(4px); }
  65%      { transform: translateX(1px); }
}
.nvn-table {
  width: 100%; border-collapse: collapse; border-spacing: 0;
  min-width: 540px; background: var(--nik-surface);
}
body .nvn-table th, body .nvn-table td,
body .nvn-table tr th, body .nvn-table tr td,
body .nvn-table thead th, body .nvn-table tbody td,
body .nvn-table tbody tr td {
  border-left: none !important; border-right: none !important;
  box-shadow: none !important; outline: none !important;
}
.nik-page table.nvn-table, .nik-page .nvn-table { border-collapse: collapse !important; border-spacing: 0 !important; border: none !important; }
.nik-page .nvn-table th, .nik-page .nvn-table td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
.nik-page .nvn-table thead th { border-bottom: 1px solid rgba(255,255,255,.14) !important; }
.nik-page .nvn-table tbody td { border-bottom: 1px solid rgba(42,108,112,.11) !important; }
.nik-page .nvn-row-section td { border-top: 1px solid rgba(42,108,112,.14) !important; border-bottom: 1px solid rgba(42,108,112,.14) !important; }
.nik-page .nvn-row-total td { border-top: 1px solid rgba(201,169,110,0.2) !important; border-bottom: 0 !important; }
.nvn-table thead th {
  background: var(--nik-tbl-head); padding: 13px 16px;
  text-align: left; font-size: 11px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--nik-subtle);
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
}
.nvn-table thead th:first-child { width: 36px; }
.nvn-table thead th:last-child { text-align: right; }
.nvn-table tbody tr { background: var(--nik-surface); }
.nvn-table tbody tr:nth-child(even) { background: var(--nik-tbl-row-alt); }
.nvn-table tbody td {
  padding: 12px 16px; font-size: 14px;
  color: var(--nik-muted);
  border-bottom: 1px solid rgba(42,108,112,.11) !important;
  vertical-align: middle; background: inherit;
}
.nvn-table tbody tr:hover { background: var(--nik-accent-bg); }
.nvn-table tbody td:first-child { color: var(--nik-subtle); font-size: 12px; }
.nvn-table tbody td:last-child { text-align: right; font-weight: 600; color: var(--nik-text); }
.nvn-row-section { background: var(--nik-tbl-section) !important; }
.nvn-row-section td {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--nik-accent); background: var(--nik-tbl-section) !important;
  padding: 9px 16px;
  border-top: 1px solid rgba(42,108,112,.14) !important;
  border-bottom: 1px solid rgba(42,108,112,.14) !important;
}
.nvn-row-total { background: rgba(201,169,110,0.07) !important; }
.nvn-row-total td {
  font-weight: 700; font-size: 15px;
  background: var(--nik-tbl-total) !important;
  color: var(--nik-text) !important;
  border-top: 1px solid rgba(201,169,110,0.2) !important;
  border-bottom: none !important;
}
.nvn-row-total td:last-child { color: var(--nik-accent) !important; }
.nvn-note {
  font-size: 13px; color: var(--nik-muted);
  padding: 14px 18px;
  background: var(--nik-surface-alt);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  line-height: 1.65; margin-top: 18px;
}
/* ================================================================
   СМЕТЫ И ПРАЙС — .nik-price-card / .nik-totals-row / .nik-services-wrap
   Раньше грузились через calculator.css (только на странице калькулятора),
   перенесено сюда, т.к. используются и на главной без шорткода [nvn_calculator]
================================================================ */
.nik-services-wrap {
  background: var(--nik-card);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius-lg);
  overflow: hidden;
  margin-top: 32px;
}
.nik-free { color: #1e6b47 !important; font-weight: 800 !important; }
.nik-totals-row {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-bottom: 36px;
}
.nik-total-card {
  background: var(--nik-surface);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 20px 16px;
  text-align: center;
  font-size: 12px;
  color: var(--nik-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.nik-total-card strong {
  display: block;
  font-size: clamp(18px,2.2vw,26px);
  font-weight: 300;
  color: var(--nik-accent);
  letter-spacing: -0.02em;
  margin-top: 8px;
}
.nik-total-card--accent {
  background: var(--nik-tbl-total);
  border-color: rgba(51,102,102,0.3);
}
.nik-total-card--accent strong { color: var(--nik-accent); font-weight: 600; }
.nik-price-card {
  background: var(--nik-card);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius-lg);
  padding: 32px 28px;
  margin-bottom: 20px;
}
.nik-price-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nik-gold);
  background: rgba(51,102,102,0.1);
  border: 1px solid rgba(51,102,102,0.22);
  padding: 5px 14px;
  border-radius: 50px;
  margin-bottom: 14px;
}
.nik-price-card h3 { font-size: clamp(18px,2.2vw,26px); font-weight: 400; color: var(--nik-text); margin-bottom: 10px; }
.nik-price-card p { font-size: 14px; color: var(--nik-muted); line-height: 1.75; margin-bottom: 22px; }
@media (max-width: 900px) {
  .nik-totals-row { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .nik-price-card { padding: 22px 16px; }
  .nik-totals-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .nik-totals-row { grid-template-columns: 1fr; }
}
/* ================================================================
   ПОРТФОЛИО — .nik-portfolio-grid/-item/-overlay
   Тоже раньше грузилось только через calculator.css
================================================================ */
.nik-portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
  margin-top: 40px;
}
.nik-portfolio-item {
  position: relative;
  border-radius: var(--nik-radius);
  overflow: hidden;
  cursor: pointer;
  aspect-ratio: 1;
  background: var(--nik-card);
  border: 1px solid var(--nik-border);
}
.nik-portfolio-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}
.nik-portfolio-item:hover img { transform: scale(1.06); }
.nik-portfolio-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(51,102,102,0.9) 100%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 18px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.nik-portfolio-item:hover .nik-portfolio-overlay { opacity: 1; }
.nik-portfolio-caption { font-size: 13px; font-weight: 600; color: #fff; line-height: 1.4; }
.nik-portfolio-icon { font-size: 22px; margin-bottom: 8px; }
/* ================================================================
   ГАРАНТИИ — .nik-guarantees-grid/.nik-guarantee
   Тоже раньше грузилось только через calculator.css
================================================================ */
.nik-guarantees-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
  gap: 16px;
  margin-top: 44px;
}
.nik-guarantee {
  background: var(--nik-card-trans);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 26px 22px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.nik-guarantee__icon { font-size: 30px; flex-shrink: 0; }
.nik-guarantee__title { font-size: 16px; font-weight: 600; color: var(--nik-text); margin-bottom: 8px; }
.nik-guarantee__text { font-size: 14px; color: var(--nik-muted); line-height: 1.65; }
@media (max-width: 900px) {
  .nik-portfolio-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .nik-guarantees-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .nik-portfolio-grid { grid-template-columns: 1fr; }
}
/* ================================================================
   МОДАЛКА ГАЛЕРЕИ — актуальная разметка (BEM с __)
   Старые .nik-modal-content/.nik-modal-close и т.п. ниже по файлу
   относятся к прежней разметке и разметке модалки больше не соответствуют
================================================================ */
.nik-modal__close {
  position: absolute; top: 20px; right: 24px;
  font-size: 32px; color: #fff; cursor: pointer;
  background: none; border: none; line-height: 1; opacity: 0.65; transition: opacity 0.2s;
}
.nik-modal__close:hover { opacity: 1; }
.nik-modal__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  font-size: 32px; color: #fff; cursor: pointer;
  background: rgba(0,0,0,0.08); border: none;
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
.nik-modal__nav:hover { background: rgba(255,255,255,0.22); }
.nik-modal__prev { left: 16px; }
.nik-modal__next { right: 16px; }
.nik-modal__caption { margin-top: 16px; font-size: 14px; color: rgba(255,255,255,0.65); }
.nik-modal.is-open { display: flex; }
.nik-modal img { max-width: 90vw; max-height: 80vh; border-radius: 12px; object-fit: contain; }
/* ================================================================
   АДАПТИВ — таблицы и шаги
================================================================ */
@media (max-width: 640px) {
  .nvn-scroll-hint { display: flex; }
  .nvn-table-wrap::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 80px;
    background: linear-gradient(to right, transparent, var(--nik-surface) 85%);
    pointer-events: none;
    transition: opacity 0.35s;
    border-radius: 0 var(--nik-radius) var(--nik-radius) 0;
  }
  .nvn-table-wrap.nvn-scrolled::after { opacity: 0; }
}
@media (max-width: 600px) {
  .nvn-steps-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .nvn-step__body { padding: 12px 12px 14px; }
  .nvn-step__text { font-size: 13px; }
  .nvn-step__num { width: 28px; height: 28px; font-size: 12px; top: 10px; left: 10px; }
}
@media (max-width: 360px) {
  .nvn-steps-grid { grid-template-columns: 1fr; }
}
/* ================================================================
   СТРАНИЦА ДОГОВОРА (.dkp-*)
   Стили для страницы договора подряда на видеонаблюдение
================================================================ */
/* Переменные договора */
:root {
  --dkp-gold:        #b8945a;
  --dkp-gold-lt:     #c9a96e;
  --dkp-gold-bg:     rgba(184,148,90,0.08);
  --dkp-gold-border: rgba(184,148,90,0.25);
  --dkp-bg-warm:     #eeeae2;
  --dkp-surface:     #ffffff;
  --dkp-card:        #faf9f6;
  --dkp-border:      rgba(0,0,0,0.09);
  --dkp-border-md:   rgba(0,0,0,0.14);
  --dkp-text:        #1a1a18;
  --dkp-muted:       #3d3b34;
  --dkp-subtle:      #5a5850;
  --dkp-shadow-sm:   0 1px 4px rgba(0,0,0,0.07), 0 4px 16px rgba(0,0,0,0.05);
}
/* Hero договора */
.dkp-hero {
  background: linear-gradient(160deg, #0e1f12 0%, #192c1e 55%, #0e1f12 100%);
  padding: clamp(60px,8vw,100px) clamp(24px,5vw,72px) clamp(52px,7vw,80px);
  position: relative; overflow: hidden;
  margin: 16px 16px 0; border-radius: var(--nik-radius-lg);
}
.dkp-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 75% 55% at 50% 20%, rgba(201,169,110,0.09), transparent 65%);
  pointer-events: none;
}
.dkp-hero-inner { max-width: 860px; margin: 0 auto; position: relative; }
.dkp-hero h1 {
  font-size: clamp(32px,5vw,58px); font-weight: 300; line-height: 1.1;
  color: #fff; letter-spacing: -.02em; margin: 0 0 14px;
}
.dkp-hero h1 em { font-style: normal; color: #d4ad74; }
.dkp-hero-sub { font-size: clamp(14px,1.6vw,17px); color: rgba(255,255,255,0.6); font-weight: 300; margin: 0 0 36px; max-width: 560px; }
.dkp-hero-meta { display: flex; flex-wrap: wrap; gap: 10px; }
.dkp-hero-meta-item {
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px; padding: 8px 14px; font-size: 12px; color: rgba(255,255,255,0.7);
}
/* Оглавление */
.dkp-toc-wrap { max-width: 900px; margin: 24px auto 0; padding: 0 16px; }
.dkp-toc { background: var(--dkp-surface); border: 1px solid var(--dkp-border); border-radius: var(--nik-radius-lg); padding: 28px 32px; box-shadow: var(--dkp-shadow-sm); }
.dkp-toc-label { font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--dkp-gold); margin-bottom: 16px; }
.dkp-toc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 4px; }
.dkp-toc-item {
  display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px;
  cursor: pointer; transition: background .15s; font-size: 13px; color: var(--dkp-muted);
  border: none; background: none; text-align: left; width: 100%; font-family: inherit; text-decoration: none;
}
.dkp-toc-item:hover { background: var(--dkp-bg-warm); color: var(--dkp-text); }
.dkp-toc-num { font-size: 10px; font-weight: 700; color: var(--dkp-gold); min-width: 20px; letter-spacing: .04em; }
/* Контент */
.dkp-content { max-width: 900px; margin: 0 auto; padding: 0 16px 60px; }
/* Секции */
.dkp-section { background: var(--dkp-surface); border: 1px solid var(--dkp-border); border-radius: var(--nik-radius-lg); margin-top: 16px; box-shadow: var(--dkp-shadow-sm); overflow: hidden; }
.dkp-section-head { display: flex; align-items: center; gap: 16px; padding: 22px 32px; border-bottom: 1px solid var(--dkp-border); background: var(--dkp-card); }
.dkp-section-num { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dkp-gold); min-width: 24px; }
.dkp-section-title { font-size: 19px; font-weight: 400; color: var(--dkp-text); letter-spacing: -.01em; margin: 0; }
.dkp-section-body { padding: 28px 32px; }
/* Пункты */
.dkp-clause { display: grid; grid-template-columns: 40px 1fr; gap: 0 8px; margin-bottom: 16px; }
.dkp-clause:last-child { margin-bottom: 0; }
.dkp-cn { font-size: 11px; font-weight: 600; color: var(--dkp-gold); padding-top: 3px; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.dkp-ct { font-size: 14px; color: var(--dkp-muted); line-height: 1.8; margin: 0; }
.dkp-ct strong { color: var(--dkp-text); font-weight: 500; }
/* Выделенный пункт */
.dkp-clause-highlight {
  background: var(--dkp-gold-bg); border: 1px solid var(--dkp-gold-border);
  border-radius: var(--nik-radius); padding: 16px 20px; margin-bottom: 14px;
  display: grid; grid-template-columns: 40px 1fr; gap: 0 8px;
}
.dkp-clause-highlight .dkp-cn { color: var(--dkp-gold); }
.dkp-clause-highlight .dkp-ct { color: var(--dkp-text); }
/* Инфо-карточки */
.dkp-info-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 12px; margin: 20px 0 8px; }
.dkp-info-card { background: var(--dkp-card); border: 1px solid var(--dkp-border); border-radius: var(--nik-radius); padding: 18px 20px; }
.dkp-info-card-label { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--dkp-subtle); margin-bottom: 6px; }
.dkp-info-card-value { font-size: 15px; font-weight: 500; color: var(--dkp-text); }
.dkp-info-card-value.gold { color: var(--dkp-gold); }
/* Подписи */
.dkp-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 8px; }
.dkp-sig-block { background: var(--dkp-card); border: 1px solid var(--dkp-border); border-radius: var(--nik-radius); padding: 24px 24px 20px; }
.dkp-sig-role { font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dkp-gold); margin-bottom: 14px; }
.dkp-sig-field { border-bottom: 1px solid var(--dkp-border-md); height: 36px; margin-bottom: 8px; }
.dkp-sig-caption { font-size: 11px; color: var(--dkp-subtle); }
.dkp-sig-block p { font-size: 12px; line-height: 1.6; color: #1a1a18 !important; margin: 0 0 16px; font-weight: 400; }
.dkp-sig-block p strong { color: #000; font-weight: 600; }
/* Приложение — шапка */
.dkp-appendix-header {
  background: linear-gradient(135deg, #0e1f12, #1a3020);
  border-radius: var(--nik-radius-lg) var(--nik-radius-lg) 0 0;
  padding: 32px 32px 28px; position: relative; overflow: hidden;
}
.dkp-appendix-header::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(201,169,110,0.08), transparent); pointer-events: none; }
.dkp-appendix-header > * { position: relative; }
.dkp-appendix-eyebrow { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #d4ad74; border: 1px solid rgba(201,169,110,0.3); padding: 4px 12px; border-radius: 20px; margin-bottom: 14px; }
.dkp-appendix-title { font-size: clamp(20px,3vw,30px); font-weight: 300; color: #fff; letter-spacing: -.02em; margin: 0; line-height: 1.2; }
.dkp-appendix-title em { font-style: normal; color: #d4ad74; }
/* Согласие */
.dkp-consent-block { background: var(--dkp-gold-bg); border: 1px solid var(--dkp-gold-border); border-radius: var(--nik-radius); padding: 24px 28px; margin-top: 32px; }
.dkp-consent-text { font-size: 14px; color: var(--dkp-muted); line-height: 1.8; margin: 0 0 24px; }
/* uz-eyebrow (алиас для этой страницы) */
.uz-eyebrow {
  display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--dkp-gold);
  border: 1px solid rgba(184,148,90,0.3); padding: 5px 14px;
  border-radius: 20px; margin-bottom: 18px;
}
/* Адаптив */
@media (max-width: 700px) {
  .dkp-hero { margin: 8px 8px 0; padding: 48px 20px 44px; }
  .dkp-signatures { grid-template-columns: 1fr; }
  .dkp-section-head, .dkp-section-body { padding: 18px 20px; }
  .dkp-toc { padding: 20px; }
  .dkp-toc-grid { grid-template-columns: 1fr; }
}
/* ============================================================
   ПОРТФОЛИО — добавить в конец nik-design.css
   ============================================================ */
/* Статистика на странице портфолио */
.nvp-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 28px;
}
.nvp-stat {
  background: var(--nik-surface-alt);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nvp-stat strong {
  font-size: 22px;
  font-weight: 600;
  color: var(--nik-accent);
  line-height: 1.2;
}
.nvp-stat span {
  font-size: 12px;
  color: var(--nik-subtle);
}
/* Фильтры */
.nvp-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.nvp-filter,
.nvp-filter-link {
  padding: 6px 14px;
  border: 1px solid var(--nik-accent-brd);
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  background: transparent;
  color: var(--nik-subtle);
  transition: all .15s;
  text-decoration: none;
  line-height: 1.4;
}
.nvp-filter:hover,
.nvp-filter-link:hover {
  border-color: var(--nik-accent);
  color: var(--nik-accent);
  background: var(--nik-accent-bg);
}
.nvp-filter.active,
.nvp-filter-link.active {
  background: var(--nik-accent);
  color: #fff;
  border-color: var(--nik-accent);
}
.nvp-filter__count {
  font-size: 11px;
  opacity: .65;
  margin-left: 3px;
}
/* Счётчик результатов */
.nvp-counter {
  font-size: 13px;
  color: var(--nik-subtle);
  margin-bottom: 16px;
  min-height: 18px;
}
/* Лоадер */
.nvp-loader {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 20px 0;
}
.nvp-loader span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nik-accent);
  animation: nvp-pulse 1.2s ease-in-out infinite;
}
.nvp-loader span:nth-child(2) { animation-delay: .2s; }
.nvp-loader span:nth-child(3) { animation-delay: .4s; }
@keyframes nvp-pulse {
  0%, 80%, 100% { opacity: .2; transform: scale(.8); }
  40%            { opacity: 1;  transform: scale(1); }
}
/* Сетка карточек */
.nvp-grid {
  display: grid;
  gap: 18px;
}
.nvp-grid--3 { grid-template-columns: repeat(3, 1fr); }
.nvp-grid--2 { grid-template-columns: repeat(2, 1fr); }
.nvp-ajax-grid { transition: opacity .2s; }
/* Карточка объекта */
.nvp-card {
  background: var(--nik-card);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  overflow: hidden;
  box-shadow: var(--nik-shadow);
  transition: box-shadow .2s, transform .2s;
}
.nvp-card:hover {
  box-shadow: var(--nik-shadow-lg);
  transform: translateY(-2px);
}
.nvp-card__img-wrap {
  display: block;
  overflow: hidden;
}
.nvp-card__img-wrap img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.nvp-card:hover .nvp-card__img-wrap img {
  transform: scale(1.03);
}
.nvp-card__img-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 210px;
  font-size: 40px;
  background: var(--nik-card-deep);
  text-decoration: none;
}
.nvp-card__body {
  padding: 14px 16px 16px;
}
.nvp-card__type {
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: var(--nik-accent);
  padding: 3px 9px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 8px;
  letter-spacing: .03em;
}
.nvp-card__title {
  font-size: 14px;
  font-weight: 500;
  color: var(--nik-text);
  margin: 0 0 8px;
  line-height: 1.45;
}
.nvp-card__title a {
  color: inherit;
  text-decoration: none;
}
.nvp-card__title a:hover { color: var(--nik-accent); }
.nvp-card__meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.nvp-card__meta span {
  font-size: 12px;
  color: var(--nik-subtle);
}
.nvp-card__price {
  font-size: 17px;
  font-weight: 600;
  color: var(--nik-accent);
  margin-top: 10px;
}
.nvp-card__link {
  display: inline-block;
  margin-top: 10px;
  font-size: 12px;
  color: var(--nik-accent);
  text-decoration: none;
  font-weight: 500;
}
.nvp-card__link:hover { text-decoration: underline; }
/* Кнопка «Показать ещё» */
.nvp-more-wrap {
  display: none;
  justify-content: center;
  margin-top: 28px;
}
.nvp-more-btn {
  padding: 11px 32px;
  border: 1px solid var(--nik-accent);
  border-radius: var(--nik-radius);
  background: transparent;
  color: var(--nik-accent);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
}
.nvp-more-btn:hover {
  background: var(--nik-accent);
  color: #fff;
}
/* ---- Страница одного объекта ---- */
/* Хлебные крошки */
.nvp-breadcrumbs {
  font-size: 13px;
  color: var(--nik-subtle);
  padding: 14px 0 0;
}
.nvp-breadcrumbs a { color: var(--nik-accent); text-decoration: none; }
.nvp-breadcrumbs a:hover { text-decoration: underline; }
/* Сетка параметров объекта */
.nvp-params-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0;
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  overflow: hidden;
  margin-bottom: 12px;
}
.nvp-pg-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 18px;
  border-right: 1px solid var(--nik-border);
  border-bottom: 1px solid var(--nik-border);
  background: var(--nik-surface);
}
.nvp-pg-item:last-child { border-right: none; }
.nvp-pg-item--price {
  background: var(--nik-accent-bg);
}
.nvp-pg-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--nik-subtle);
}
.nvp-pg-val {
  font-size: 15px;
  font-weight: 500;
  color: var(--nik-text);
}
.nvp-pg-item--price .nvp-pg-val {
  font-size: 20px;
  font-weight: 700;
  color: var(--nik-accent);
}
.nvp-equipment {
  padding: 12px 18px;
  background: var(--nik-surface-alt);
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  font-size: 13px;
  color: var(--nik-muted);
}
/* Галерея объекта */
.nvp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.nvp-gl-item { display: block; overflow: hidden; border-radius: var(--nik-radius); }
.nvp-gl-item img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  transition: transform .3s, opacity .2s;
}
.nvp-gl-item:hover img { transform: scale(1.04); opacity: .9; }
/* Задача / решение */
.nvp-task-result {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  overflow: hidden;
}
.nvp-tr-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  padding: 16px 20px;
  align-items: baseline;
}
.nvp-tr-row + .nvp-tr-row {
  border-top: 1px solid var(--nik-border);
  background: var(--nik-surface-alt);
}
.nvp-tr-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--nik-accent);
  padding-top: 2px;
}
.nvp-tr-text {
  font-size: 14px;
  line-height: 1.65;
  color: var(--nik-muted);
  margin: 0;
}
/* Ссылка назад */
.nvp-back-link {
  font-size: 13px;
  color: var(--nik-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.nvp-back-link:hover { text-decoration: underline; }
/* Пагинация */
.nvp-pagination { margin-top: 32px; }
.nvp-pagination .nav-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.nvp-pagination .page-numbers {
  padding: 6px 14px;
  border: 1px solid var(--nik-border);
  border-radius: var(--nik-radius);
  color: var(--nik-muted);
  text-decoration: none;
  font-size: 13px;
}
.nvp-pagination .page-numbers.current,
.nvp-pagination .page-numbers:hover {
  background: var(--nik-accent);
  color: #fff;
  border-color: var(--nik-accent);
}
/* Пустой результат */
.nvp-empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--nik-subtle);
  font-size: 14px;
}
/* ── Адаптив ── */
@media (max-width: 900px) {
  .nvp-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .nvp-stat-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .nvp-grid--3,
  .nvp-grid--2 { grid-template-columns: 1fr; }
  .nvp-stat-row { grid-template-columns: repeat(2, 1fr); }
  .nvp-card__img-wrap img,
  .nvp-card__img-placeholder { height: 180px; }
  .nvp-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .nvp-tr-row { grid-template-columns: 1fr; gap: 4px; }
  .nvp-params-grid { grid-template-columns: repeat(2, 1fr); }
}
/* ===== HERO УСТАНОВКА: ЛЕВОЕ ВЫРАВНИВАНИЕ + ЛОКАЛЬНЫЙ ГРАДИЕНТ ===== */
.nik-page .nik-hero.nik-hero--left {
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:600px;
  padding:72px clamp(24px,3vw,48px);
  text-align:left;
  background-size:cover;
  background-position:center center;
  overflow:hidden;
}
.nik-page .nik-hero.nik-hero--left::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(7,18,20,.84) 0%,
    rgba(7,18,20,.72) 28%,
    rgba(7,18,20,.48) 46%,
    rgba(7,18,20,.18) 62%,
    rgba(7,18,20,0) 76%
  );
}
.nik-page .nik-hero.nik-hero--left .nik-hero__content {
  position:relative;
  z-index:1;
  width:min(700px,48vw);
  margin:0 auto 0 0;
  align-self:flex-start;
  text-align:left;
}
.nik-page .nik-hero.nik-hero--left h1,
.nik-page .nik-hero.nik-hero--left .nik-hero-sub {
  text-align:left;
  margin-left:0;
  margin-right:0;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-sub {
  max-width:600px;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-features,
.nik-page .nik-hero.nik-hero--left .nik-hero-actions {
  justify-content:flex-start;
}
.nik-page .nik-hero.nik-hero--left h1 {
  font-size:clamp(42px,3.4vw,54px);
  line-height:1.06;
  max-width:700px;
  margin:0 0 24px;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-title-main {
  white-space:nowrap;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-sub {
  max-width:560px;
  margin-bottom:28px;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.55;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-features {
  gap:10px;
  margin-bottom:28px;
}
.nik-page .nik-hero.nik-hero--left .nik-hero-actions {
  gap:12px;
}
@media(max-width:921px) {
  .nik-page .nik-hero.nik-hero--left .nik-hero__content {width:min(620px,70vw) }
  .nik-page .nik-hero.nik-hero--left h1 {font-size:clamp(40px,6vw,50px) }
  .nik-page .nik-hero.nik-hero--left .nik-hero-title-main {white-space:normal }
  .nik-page .nik-hero.nik-hero--left {
    min-height:540px;
    padding:52px 24px;
    background-position:68% center;
  }
  .nik-page .nik-hero.nik-hero--left::before {
    background:linear-gradient(
      90deg,
      rgba(7,18,20,.88) 0%,
      rgba(7,18,20,.74) 45%,
      rgba(7,18,20,.32) 72%,
      rgba(7,18,20,.08) 100%
    );
  }
}
@media(max-width:640px) {
  .nik-page .nik-hero.nik-hero--left .nik-hero__content {width:100% }
  .nik-page .nik-hero.nik-hero--left h1 {font-size:clamp(34px,10vw,40px);line-height:1.08 }
  .nik-page .nik-hero.nik-hero--left .nik-hero-sub {font-size:16px;line-height:1.5 }
  .nik-page .nik-hero.nik-hero--left {
    min-height:500px;
    padding:40px 18px;
    background-position:72% center;
  }
  .nik-page .nik-hero.nik-hero--left::before {
    background:linear-gradient(
      90deg,
      rgba(7,18,20,.92) 0%,
      rgba(7,18,20,.82) 56%,
      rgba(7,18,20,.45) 100%
    );
  }
  .nik-page .nik-hero.nik-hero--left .nik-hero-features {
    justify-content:flex-start;
  }
}
/* ===== ГОТОВЫЕ РЕШЕНИЯ: ШАПКИ КАРТОЧЕК ===== */
.nik-page .nvn-install-offer .nvn-install-offer__head {
  position:relative;
  min-height:112px;
  padding:20px 22px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.12),transparent 34%),
    linear-gradient(135deg,#347f80 0%,#2c6d70 55%,#285f64 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.nik-page .nvn-install-offer .nvn-install-offer__head::after {
  content:"";
  position:absolute;
  left:22px;
  bottom:0;
  width:48px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#d4ad74;
}
.nik-page .nvn-install-offer .nvn-install-offer__head h3 {
  position:relative;
  z-index:1;
  margin:0;
  max-width:310px;
  color:#fff;
  font-size:20px;
  line-height:1.22;
  font-weight:650;
  letter-spacing:-.015em;
  text-wrap:balance;
}
.nik-page .nvn-install-offer:nth-child(2) .nvn-install-offer__head {
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.12),transparent 34%),
    linear-gradient(135deg,#367b82 0%,#306c73 58%,#295f67 100%);
}
.nik-page .nvn-install-offer:nth-child(3) .nvn-install-offer__head {
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.11),transparent 34%),
    linear-gradient(135deg,#316f77 0%,#2a626a 58%,#25565e 100%);
}
@media(max-width:640px) {
  .nik-page .nvn-install-offer .nvn-install-offer__head {
    min-height:100px;
    padding:18px 20px 16px;
  }
  .nik-page .nvn-install-offer .nvn-install-offer__head h3 {
    font-size:18px;
  }
  .nik-page .nvn-install-offer .nvn-install-offer__head::after {
    left:20px;
  }
}
/* ===== ТАБЛИЦЫ ПРАЙСОВ: ВЫРАЗИТЕЛЬНАЯ ШАПКА ===== */
.nik-page .nvn-table-wrap {
  border:1px solid rgba(42,108,112,.14);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(25,63,66,.06);
}
.nik-page .nvn-table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:0;
}
.nik-page .nvn-table thead th {
  position:relative;
  padding:18px 20px;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.12),transparent 36%),
    linear-gradient(135deg,#357f80 0%,#2f7073 58%,#285f64 100%);
  color:#fff;
  border:0;
  border-right:1px solid rgba(255,255,255,.14);
  border-bottom:0;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
  vertical-align:middle;
}
.nik-page .nvn-table thead th:last-child {
  border-right:0;
}
.nik-page .nvn-table thead th::after {
  content:"";
  position:absolute;
  left:20px;
  bottom:0;
  width:42px;
  height:3px;
  border-radius:3px 3px 0 0;
  background:#d4ad74;
  opacity:.95;
}
.nik-page .nvn-table tbody td {
  padding:16px 20px;
  border-bottom:1px solid rgba(42,108,112,.11);
  background:#fff;
  vertical-align:top;
}
.nik-page .nvn-table tbody tr:nth-child(even) td {
  background:#f7fafa;
}
.nik-page .nvn-table tbody tr:last-child td {
  border-bottom:0;
}
.nik-page .nvn-table tbody tr:hover td {
  background:#f1f7f7;
}
.nik-page .nvn-table tbody td:last-child,
.nik-page .nvn-table thead th:last-child {
  text-align:right;
}
@media(max-width:640px) {
  .nik-page .nvn-table thead th {
    padding:14px 12px;
    font-size:10px;
    letter-spacing:.06em;
  }
  .nik-page .nvn-table thead th::after {
    left:12px;
    width:32px;
  }
  .nik-page .nvn-table tbody td {
    padding:14px 12px;
  }
}
/* ===== HERO СТРАНИЦЫ ЦЕН ===== */
.nik-page .nik-hero.nik-hero--price {
  min-height:600px;
  background-position:center center;
}
.nik-page .nik-hero.nik-hero--price .nik-hero__content {
  width:min(680px,48vw);
}
.nik-page .nik-hero.nik-hero--price h1 {
  font-size:clamp(42px,3.4vw,54px);
  line-height:1.06;
  max-width:680px;
}
.nik-page .nik-hero.nik-hero--price .nik-hero-sub {
  max-width:580px;
}
@media(max-width:921px) {
  .nik-page .nik-hero.nik-hero--price {
    min-height:540px;
    background-position:68% center;
  }
  .nik-page .nik-hero.nik-hero--price .nik-hero__content {
    width:min(620px,70vw);
  }
}
@media(max-width:640px) {
  .nik-page .nik-hero.nik-hero--price {
    min-height:500px;
    background-position:72% center;
  }
  .nik-page .nik-hero.nik-hero--price .nik-hero__content {
    width:100%;
  }
}
/* ===== КОМПАКТНЫЙ CTA С ТОЧНЫМ РАСЧЁТОМ ===== */
.nik-page .nik-section.nik-section--compact-cta {
  padding-top:28px;
  padding-bottom:28px;
}
.nik-page .nik-price-card.nik-price-card--compact {
  margin:0 auto;
  max-width:980px;
  padding:28px 34px 30px;
}
.nik-page .nik-price-card.nik-price-card--compact .nik-price-card__badge {
  margin-bottom:12px;
}
.nik-page .nik-price-card.nik-price-card--compact h3 {
  margin:0 0 10px;
  font-size:clamp(24px,2.3vw,34px);
  line-height:1.2;
}
.nik-page .nik-price-card.nik-price-card--compact p {
  max-width:820px;
  margin:0 auto 20px;
  line-height:1.5;
}
.nik-page .nik-price-card.nik-price-card--compact .nik-hero-actions {
  gap:12px;
  margin-top:0;
}
.nik-page .nik-price-card.nik-price-card--compact .nik-btn {
  min-height:50px;
  padding:13px 24px;
}
@media(max-width:640px) {
  .nik-page .nik-section.nik-section--compact-cta {
    padding-top:20px;
    padding-bottom:20px;
  }
  .nik-page .nik-price-card.nik-price-card--compact {
    padding:22px 18px 24px;
  }
  .nik-page .nik-price-card.nik-price-card--compact h3 {
    font-size:24px;
  }
  .nik-page .nik-price-card.nik-price-card--compact p {
    margin-bottom:16px;
  }
}
/* ===== ТАРИФЫ ОБСЛУЖИВАНИЯ ===== */
.nik-page .nvn-service-tariffs {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:900px;
  gap:20px;
}
.nik-page .nvn-service-tariff {
  position:relative;
  padding:28px;
  overflow:hidden;
}
.nik-page .nvn-service-tariff--premium {
  border-top:3px solid #32787a;
}
.nik-page .nvn-service-tariff__label {
  display:block;
  margin-bottom:10px;
  color:#2d7073;
  font-size:12px;
  line-height:1;
  font-weight:750;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nik-page .nvn-service-tariff__mark {
  position:absolute;
  top:22px;
  right:24px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef5f5;
  color:#2d7073;
  font-size:11px;
  line-height:1;
  font-weight:650;
}
.nik-page .nvn-service-tariff__price {
  margin-bottom:22px;
  color:#172326;
  font-size:clamp(28px,2.6vw,38px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.025em;
}
.nik-page .nvn-service-tariff__price small {
  font-size:15px;
  font-weight:550;
  color:#657477;
}
.nik-page .nvn-service-tariff__rows {
  border-top:1px solid #e1e9e9;
}
.nik-page .nvn-service-tariff__rows>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid #e1e9e9;
  font-size:14px;
  line-height:1.4;
}
.nik-page .nvn-service-tariff__rows span {color:#687679 }
.nik-page .nvn-service-tariff__rows strong {
  color:#172326;
  font-weight:650;
  text-align:right;
}
@media(max-width:720px) {
  .nik-page .nvn-service-tariffs {grid-template-columns:1fr }
  .nik-page .nvn-service-tariff {padding:22px 20px }
  .nik-page .nvn-service-tariff__mark {
    position:static;
    display:inline-block;
    margin:-2px 0 14px;
  }
}
/* ===== УСИЛЕННЫЙ ПРАЙС МОНТАЖНЫХ РАБОТ ===== */
.nik-page .nvn-work-price-highlights {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:30px 0 26px;
}
.nik-page .nvn-work-price-highlight {
  position:relative;
  padding:20px 22px;
  border:1px solid rgba(45,112,115,.16);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,58,61,.045);
}
.nik-page .nvn-work-price-highlight::before {
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:#32787a;
}
.nik-page .nvn-work-price-highlight>span {
  display:block;
  margin-bottom:7px;
  color:#647477;
  font-size:13px;
  font-weight:600;
}
.nik-page .nvn-work-price-highlight>strong {
  display:block;
  color:#172326;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.02em;
}
.nik-page .nvn-work-price-highlight>small {
  display:block;
  margin-top:6px;
  color:#788689;
  font-size:12px;
}
.nik-page .nvn-work-price-highlight--free {
  background:linear-gradient(135deg,#f2f8f8,#fff);
}
.nik-page .nvn-work-price-highlight--free>strong {
  color:#2d7073;
}
@media(max-width:760px) {
  .nik-page .nvn-work-price-highlights {
    grid-template-columns:1fr;
    gap:10px;
  }
}
/* ===== HERO СТРАНИЦЫ ОБСЛУЖИВАНИЯ ===== */
.nik-page .nik-hero.nik-hero--service {
  min-height:600px;
  background-position:center center;
}
.nik-page .nik-hero.nik-hero--service .nik-hero__content {
  width:min(700px,48vw);
}
.nik-page .nik-hero.nik-hero--service h1 {
  font-size:clamp(40px,3.2vw,52px);
  line-height:1.06;
  max-width:700px;
}
.nik-page .nik-hero.nik-hero--service .nik-hero-title-main {
  white-space:nowrap;
}
.nik-page .nik-hero.nik-hero--service .nik-hero-sub {
  max-width:590px;
}
@media(max-width:1100px) {
  .nik-page .nik-hero.nik-hero--service .nik-hero-title-main {
    white-space:normal;
  }
}
@media(max-width:921px) {
  .nik-page .nik-hero.nik-hero--service {
    min-height:540px;
    background-position:68% center;
  }
  .nik-page .nik-hero.nik-hero--service .nik-hero__content {
    width:min(620px,70vw);
  }
}
@media(max-width:640px) {
  .nik-page .nik-hero.nik-hero--service {
    min-height:500px;
    background-position:72% center;
  }
  .nik-page .nik-hero.nik-hero--service .nik-hero__content {
    width:100%;
  }
}
/* ===== КАРТОЧКИ ГОТОВЫХ РЕШЕНИЙ: БАЗОВЫЕ СТИЛИ ===== */
.nik-page .nvn-install-offers {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:32px;
  align-items:stretch;
}
.nik-page .nvn-install-offer {
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#fff;
  border:1px solid #dfe6e8;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(22,48,55,.08);
}
.nik-page .nvn-install-offer__body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:18px;
}
.nik-page .nvn-install-offer__list {
  list-style:none;
  margin:0;
  padding:0;
}
.nik-page .nvn-install-offer__list li {
  position:relative;
  margin:0;
  padding:11px 0 11px 25px;
  border-bottom:1px solid #d9e0e1;
  font-size:15px;
  line-height:1.35;
}
.nik-page .nvn-install-offer__list li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:11px;
  color:#2f7475;
  font-weight:800;
}
.nik-page .nvn-install-offer__price {
  margin-top:auto;
  padding-top:24px;
  text-align:center;
  font-size:15px;
}
.nik-page .nvn-install-offer__price strong {
  display:inline-block;
  margin-left:5px;
  font-size:26px;
  color:#1e2b2d;
}
.nik-page .nvn-install-offer__action {
  padding-top:16px;
  text-align:center;
}
.nik-page .nvn-install-offer__action .nik-btn {
  width:100%;
  justify-content:center;
  box-sizing:border-box;
}
@media(max-width:1100px) {
  .nik-page .nvn-install-offers {grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:640px) {
  .nik-page .nvn-install-offers {grid-template-columns:1fr }
}
/* ===== NIK FOOTER NAP ===== */
.nik-footer-nap__col {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:180px;
}
/* =========================================================
   HOME v8 — services + advantages
   ========================================================= */
.nik-home-services {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.nik-home-service {
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:290px;
  padding:34px 34px 30px;
  border:1px solid rgba(21,73,75,.14);
  border-radius:24px;
  background:#fff;
  color:inherit;
  text-decoration:none!important;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.nik-home-service:before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#2f7071;
  opacity:.85;
}
.nik-home-service:hover {
  transform:translateY(-4px);
  border-color:rgba(47,112,113,.30);
  box-shadow:0 18px 42px rgba(24,62,64,.10);
}
.nik-home-service__num {
  display:block;
  margin-bottom:28px;
  color:#2f7071;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
}
.nik-home-service h3 {
  margin:0 0 14px;
  color:#17292a;
  font-size:24px;
  line-height:1.22;
}
.nik-home-service p {
  margin:0 0 24px;
  color:#465657;
  font-size:17px;
  line-height:1.65;
}
.nik-home-service__link {
  margin-top:auto;
  color:#2f7071;
  font-size:16px;
  font-weight:800;
}
.nik-home-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:24px;
  padding:25px 28px;
  border:1px solid rgba(21,73,75,.12);
  border-radius:22px;
  background:linear-gradient(135deg,#f6f9f8,#fff);
}
.nik-home-tools strong,
.nik-home-tools span {display:block }
.nik-home-tools strong {
  margin-bottom:4px;
  color:#17292a;
  font-size:18px;
}
.nik-home-tools span {
  color:#5a6869;
  line-height:1.5;
}
.nik-home-tools__actions {
  display:flex;
  flex:0 0 auto;
  gap:10px;
}
.nik-home-advantages {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.nik-home-advantage {
  position:relative;
  padding:30px 30px 28px;
  border:1px solid rgba(21,73,75,.10);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(24,62,64,.035);
}
.nik-home-advantage:before {
  content:"";
  position:absolute;
  top:0;
  left:30px;
  width:54px;
  height:3px;
  border-radius:0 0 3px 3px;
  background:#2f7071;
}
.nik-home-advantage__num {
  display:block;
  margin-bottom:18px;
  color:#7c9091;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}
.nik-home-advantage h3 {
  margin:0 0 10px;
  color:#17292a;
  font-size:20px;
  line-height:1.3;
}
.nik-home-advantage p {
  margin:0;
  color:#4e5d5e;
  font-size:16px;
  line-height:1.65;
}
@media (max-width:760px) {
  .nik-home-services,
  .nik-home-advantages {grid-template-columns:1fr }
  .nik-home-service {min-height:0;padding:28px 26px 25px }
  .nik-home-service h3 {font-size:21px }
  .nik-home-service p {font-size:16px }
  .nik-home-tools {align-items:flex-start;flex-direction:column;padding:22px }
  .nik-home-tools__actions {width:100%;flex-wrap:wrap }
}
/* =========================================================
   FOOTER v17 — Nikvideon
   ========================================================= */
.nik-footer-nap {
  margin:0;
  padding:0 34px;
  border-top:1px solid rgba(27,64,66,.10);
  background:#f7f9f8;
  color:#344748;
  font-size:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.nik-footer-nap__inner {
  display:grid;
  grid-template-columns:minmax(300px,1.35fr) minmax(220px,.8fr) minmax(220px,.8fr);
  gap:70px;
  max-width:1260px;
  margin:0 auto;
  padding:54px 0 42px;
}
.nik-footer-nap__brand {
  min-width:0;
}
.nik-footer-nap__title {
  display:inline-block;
  margin:0 0 8px;
  color:#153f41!important;
  font-size:23px;
  font-weight:800;
  letter-spacing:-.02em;
  text-decoration:none!important;
}
.nik-footer-nap__tagline {
  max-width:360px;
  margin-bottom:24px;
  color:#738182;
  font-size:14px;
  line-height:1.55;
}
.nik-footer-nap__contacts {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.nik-footer-nap__addr {
  color:#617172;
  font-size:15px;
  line-height:1.55;
}
.nik-footer-nap__link {
  color:#2f7071!important;
  font-size:15px;
  line-height:1.5;
  text-decoration:none!important;
  transition:color .18s ease;
}
.nik-footer-nap__phone {
  font-size:18px;
  font-weight:750;
}
.nik-footer-nap__link:hover {
  color:#173f41!important;
}
.nik-footer-nap__heading {
  margin:2px 0 17px;
  color:#1d3132;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nik-footer-nap__nav {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.nik-footer-nap__nav a {
  position:relative;
  color:#425657!important;
  font-size:15px;
  line-height:1.45;
  text-decoration:none!important;
  transition:color .18s ease,transform .18s ease;
}
.nik-footer-nap__nav a:hover {
  color:#2f7071!important;
  transform:translateX(3px);
}
.nik-footer-nap__bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:1260px;
  margin:0 auto;
  padding:20px 0 24px;
  border-top:1px solid rgba(27,64,66,.09);
  color:#7a8889;
  font-size:13px;
}
.nik-footer-nap__legal {
  display:flex;
  align-items:center;
  gap:20px;
}
.nik-footer-nap__legal a {
  color:#687879!important;
  text-decoration:none!important;
}
.nik-footer-nap__legal a:hover {
  color:#2f7071!important;
}
@media (max-width:900px) {
  .nik-footer-nap {padding:0 24px }
  .nik-footer-nap__inner {
    grid-template-columns:1.2fr 1fr;
    gap:38px 44px;
    padding:44px 0 34px;
  }
  .nik-footer-nap__brand {
    grid-column:1 / -1;
  }
}
@media (max-width:560px) {
  .nik-footer-nap {padding:0 20px }
  .nik-footer-nap__inner {
    grid-template-columns:1fr;
    gap:30px;
    padding:38px 0 28px;
  }
  .nik-footer-nap__brand {
    grid-column:auto;
  }
  .nik-footer-nap__bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}
