/* Новый дизайн (v3, «Восточная лавка»): шапка, мобильное меню, подвал, плашка корзины.
   Подключается только при включённом переключателе nk_v3 (body.nk-v3). Все классы — с префиксом nk3-,
   чтобы не пересекаться со старыми стилями шаблона. Меню-«бургер» до 1024px — то же число в js/nk-v3.js. */

.nk-v3 {
  --nk3-olive: #3E4A1C;
  --nk3-olive-deep: #2F3915;
  --nk3-green: #657B2A;
  --nk3-gold: #C9A95B;
  --nk3-gold-deep: #9C7F3C;
  --nk3-gold-text: #82692A; /* золото для мелкого текста на кремовом фоне: контраст 4,9 (у gold-deep — 3,6) */
  --nk3-cream: #FBF7EE;
  --nk3-sand: #F1E6CC;
  --nk3-paper: #FFFCF4;
  --nk3-line: #E6D6AE;
  --nk3-line-strong: #DCC894;
  --nk3-muted: #746A52; /* контраст с кремовым фоном 5,0 — норма для мелкого текста 4,5 */
  --nk3-ink-soft: #4F4734;
  --nk3-shadow: 0 10px 28px rgba(46, 42, 31, .16);
  --nk3-ink: #2E2A1F;
  --nk3-on-olive: #F8EFDB;
  --nk3-on-olive-muted: #D9C48F;
  --nk3-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --nk3-body: "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --nk3-emboss: radial-gradient(rgba(201, 169, 91, .14) 1px, transparent 1.3px);

  /* Лестница размеров — одна на весь сайт. Для планшета и телефона ступени меньше (медиазапросы ниже). */
  --nk3-fs-title: 48px;   /* заголовок страницы */
  --nk3-fs-section: 32px; /* заголовок раздела */
  --nk3-fs-sub: 24px;     /* подзаголовок */
  --nk3-fs-lead: 18px;    /* вводный текст */
  --nk3-fs-text: 16px;    /* основной текст */
  --nk3-fs-ui: 14px;      /* кнопки, меню, ссылки-действия */
  --nk3-fs-note: 12px;    /* подписи, номера, мелкий текст */
  /* Роли текста: начертание, размер/высота строки и шрифт. Элемент получает роль одной строкой — font: var(--nk3-t-…). */
  --nk3-t-title: 700 var(--nk3-fs-title)/1.12 var(--nk3-display);
  --nk3-t-section: 700 var(--nk3-fs-section)/1.2 var(--nk3-display);
  --nk3-t-sub: 700 var(--nk3-fs-sub)/1.25 var(--nk3-display);
  --nk3-t-lead: 500 var(--nk3-fs-lead)/1.5 var(--nk3-body);
  --nk3-t-text: 400 var(--nk3-fs-text)/1.6 var(--nk3-body);
  --nk3-t-ui: 600 var(--nk3-fs-ui)/1.3 var(--nk3-body);
  --nk3-t-note: 500 var(--nk3-fs-note)/1.4 var(--nk3-body);
  /* Отступы между блоками текста и ширина колонки, удобная для чтения */
  --nk3-gap-block: 64px;   /* перед крупным блоком (форма после текста) */
  --nk3-gap-section: 48px; /* перед заголовком раздела */
  --nk3-gap-title: 40px;   /* после заголовка страницы */
  --nk3-measure: 760px;
  --nk3-hdr-h: 81px; /* высота шапки с линией: от неё начинается правая часть страниц (с 1024px — ниже) */
}
@media (min-width: 1024px) {
  .nk-v3 { --nk3-hdr-h: 101px; }
}
@media (max-width: 1199px) {
  .nk-v3 { --nk3-fs-title: 40px; --nk3-fs-section: 28px; --nk3-fs-sub: 22px; }
}
@media (max-width: 767px) {
  .nk-v3 {
    --nk3-fs-title: 30px;
    --nk3-fs-section: 24px;
    --nk3-fs-sub: 20px;
    --nk3-fs-lead: 17px;
    --nk3-fs-text: 15px;
    --nk3-gap-block: 48px;
    --nk3-gap-section: 36px;
    --nk3-gap-title: 28px;
  }
}

body.nk-v3 {
  padding-top: 0 !important;
  background: var(--nk3-cream);
}
html.nk3-lock,
html.nk3-lock body { overflow: hidden; }

.nk-v3 .nk3-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 1024px) {
  .nk-v3 .nk3-wrap { padding-left: 32px; padding-right: 32px; }
}
.nk-v3 .nk3-ico { width: 22px; height: 22px; flex: none; }
/* Мышью или пальцем — без рамки фокуса (js/nk-v3.js ставит html.nk3-pointer, клавиша Tab снимает) */
html.nk3-pointer .nk-v3 :focus,
html.nk3-pointer .nk-v3 :focus-visible { outline: 0 !important; }
html.nk3-pointer .nk-v3 .nk3-slides:focus-visible { box-shadow: none; }
.nk-v3 [class^="nk3-"] :focus-visible,
.nk-v3 [class^="nk3-"]:focus-visible { outline: 2px solid var(--nk3-gold); outline-offset: 2px; }

/* ---------- Шапка ---------- */
.nk-v3 .nk3-hdr {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--nk3-olive);
  background-image: var(--nk3-emboss);
  background-size: 11px 11px;
  border-bottom: 1px solid var(--nk3-gold);
  color: var(--nk3-on-olive);
  font-family: var(--nk3-body);
}
.nk-v3 .nk3-hdr-in {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 80px;
}
.nk-v3 .nk3-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin-right: auto;
  color: var(--nk3-on-olive);
  text-decoration: none;
}
.nk-v3 .nk3-brand:hover { color: var(--nk3-on-olive); text-decoration: none; }
/* Эмблема детальная: мельче 56 px надпись на ней не читается */
.nk-v3 .nk3-brand img { width: 64px; height: 64px; flex: none; }
.nk-v3 .nk3-brand-name { display: block; font: 700 19px/1.05 var(--nk3-display); white-space: nowrap; }
.nk-v3 .nk3-brand-sub {
  display: block;
  margin-top: 4px;
  font: 500 11px/1.2 var(--nk3-body);
  letter-spacing: .02em;
  color: var(--nk3-on-olive-muted);
  white-space: nowrap;
}

.nk-v3 .nk3-nav { display: none; gap: 2px; }
.nk-v3 .nk3-nav a {
  padding: 10px 12px;
  border-radius: 10px;
  font: 500 14px/1.2 var(--nk3-body);
  color: var(--nk3-on-olive);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease;
}
.nk-v3 .nk3-nav a:hover,
.nk-v3 .nk3-nav a.is-on { background: rgba(248, 239, 219, .12); color: #fff; }

.nk-v3 .nk3-hdr-act { display: flex; align-items: center; gap: 6px; flex: none; }
.nk-v3 .nk3-ibtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--nk3-on-olive);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.nk-v3 .nk3-ibtn:hover { background: rgba(248, 239, 219, .12); }
.nk-v3 .nk3-cart-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--nk3-gold);
  color: var(--nk3-ink);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .15s ease;
}
.nk-v3 .nk3-cart-btn:active { transform: scale(.94); }
.nk-v3 .nk3-cart-btn .nk3-ico { width: 24px; height: 24px; }
.nk-v3 .nk3-cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  box-sizing: border-box;
  min-width: 21px;
  height: 21px;
  padding: 0 4px;
  border: 2px solid var(--nk3-olive);
  border-radius: 11px;
  background: var(--nk3-on-olive);
  color: var(--nk3-olive);
  font: 700 11px/17px var(--nk3-body);
  font-style: normal;
  text-align: center;
}
.nk-v3 .nk3-cart-count[hidden] { display: none; }

/* ---------- Поиск: лупа раскрывает поле поверх строки шапки ---------- */
.nk-v3 .nk3-search-bar {
  position: absolute;
  inset: 0 16px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  background-color: var(--nk3-olive);
  background-image: var(--nk3-emboss);
  background-size: 11px 11px;
}
.nk-v3 .nk3-search-bar[hidden] { display: none; }
.nk-v3 .nk3-search-ico {
  position: absolute;
  top: 50%;
  left: 16px;
  width: 20px;
  height: 20px;
  color: var(--nk3-muted);
  transform: translateY(-50%);
  pointer-events: none;
}
.nk-v3 .nk3-search-field {
  box-sizing: border-box;
  flex: 1;
  min-width: 0;
  height: 48px;
  margin: 0;
  padding: 0 44px 0 46px;
  border: 2px solid var(--nk3-gold);
  border-radius: 24px;
  background: var(--nk3-paper);
  color: var(--nk3-ink);
  font: 500 16px/1 var(--nk3-body); /* 16px — чтобы iPhone не увеличивал страницу при вводе */
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.nk-v3 .nk3-search-field::placeholder { color: var(--nk3-muted); opacity: 1; }
.nk-v3 .nk3-search-field::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.nk-v3 .nk3-search-clear {
  position: absolute;
  top: 50%;
  right: 96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--nk3-muted);
  cursor: pointer;
  transform: translateY(-50%);
}
.nk-v3 .nk3-search-clear[hidden] { display: none; }
.nk-v3 .nk3-search-clear .nk3-ico { width: 18px; height: 18px; }
.nk-v3 .nk3-search-close {
  flex: none;
  width: 80px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--nk3-on-olive);
  font: 600 15px var(--nk3-body);
  cursor: pointer;
}

/* Подсказки поиска */
.nk-v3 .nk3-suggest {
  position: absolute;
  top: calc(100% - 6px);
  left: 0;
  right: 0;
  z-index: 2;
  max-height: min(70vh, 560px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
  border: 1px solid var(--nk3-line);
  border-radius: 18px;
  background: var(--nk3-paper);
  color: var(--nk3-ink);
  box-shadow: 0 18px 40px rgba(46, 42, 31, .28);
}
.nk-v3 .nk3-suggest[hidden] { display: none; }
.nk-v3 .nk3-suggest-title {
  margin: 8px 10px 6px;
  font: 700 11px/1.2 var(--nk3-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nk3-muted);
}
.nk-v3 .nk3-suggest-cats { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 8px 8px; }
.nk-v3 .nk3-suggest-cat {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--nk3-line-strong);
  border-radius: 18px;
  background: var(--nk3-cream);
  color: var(--nk3-ink) !important;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.nk-v3 .nk3-suggest-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  color: var(--nk3-ink) !important;
  text-decoration: none;
}
.nk-v3 .nk3-suggest-item img {
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 4px;
  background: var(--nk3-sand);
  object-fit: cover;
}
.nk-v3 .nk3-suggest-name { flex: 1; min-width: 0; font-size: 15px; line-height: 1.3; }
.nk-v3 .nk3-suggest-name mark { background: none; color: var(--nk3-gold-deep); font-weight: 700; }
.nk-v3 .nk3-suggest-price { flex: none; font: 700 16px var(--nk3-display); white-space: nowrap; }
.nk-v3 .nk3-suggest-price small { font: 500 11px var(--nk3-body); color: var(--nk3-muted); }
.nk-v3 .nk3-suggest-item:hover,
.nk-v3 .nk3-suggest-item.is-active,
.nk-v3 .nk3-suggest-cat:hover,
.nk-v3 .nk3-suggest-cat.is-active { background: var(--nk3-sand); }
.nk-v3 .nk3-suggest-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 46px;
  margin-top: 4px;
  border-top: 1px solid var(--nk3-line);
  color: var(--nk3-gold-deep) !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.nk-v3 .nk3-suggest-all .nk3-ico { width: 18px; height: 18px; }
.nk-v3 .nk3-suggest-empty { margin: 14px 10px; font-size: 15px; color: var(--nk3-muted); }

/* Затемнение страницы, пока открыт поиск (шапка остаётся над ним) */
.nk-v3 .nk3-search-dim {
  position: fixed;
  inset: 0;
  z-index: 990;
  background: rgba(46, 42, 31, .45);
  animation: nk3-fade .2s ease both;
}
.nk-v3 .nk3-search-dim[hidden] { display: none; }

@media (min-width: 1024px) {
  .nk-v3 .nk3-hdr-in { min-height: 100px; }
  .nk-v3 .nk3-brand img { width: 80px; height: 80px; }
  .nk-v3 .nk3-brand-name { font-size: 23px; }
  .nk-v3 .nk3-brand-sub { font-size: 12px; }
  .nk-v3 .nk3-search-bar { inset: 0 32px; }
  .nk-v3 .nk3-search-field { height: 52px; border-radius: 26px; }
}
@media (min-width: 1180px) {
  .nk-v3 .nk3-nav { display: flex; }
  .nk-v3 .nk3-burger { display: none; }
}
/* Телефоны: название не должно заходить на кнопки (проверять на 320, 360, 375, 390, 430 px) */
@media (max-width: 429px) {
  .nk-v3 .nk3-hdr-in { gap: 10px; min-height: 72px; }
  .nk-v3 .nk3-brand { gap: 8px; }
  .nk-v3 .nk3-brand img { width: 56px; height: 56px; }
  .nk-v3 .nk3-brand-name { font-size: 16px; }
  .nk-v3 .nk3-brand-sub { font-size: 10px; }
  .nk-v3 .nk3-hdr-act { gap: 2px; }
}
@media (max-width: 370px) {
  .nk-v3 .nk3-brand img { width: 50px; height: 50px; }
  .nk-v3 .nk3-ibtn { width: 40px; height: 40px; }
  .nk-v3 .nk3-cart-btn { width: 44px; height: 44px; }
  .nk-v3 .nk3-search-close { width: 64px; font-size: 14px; }
  .nk-v3 .nk3-search-clear { right: 80px; }
}
@media (max-width: 340px) {
  .nk-v3 .nk3-brand-name { white-space: normal; font-size: 15px; line-height: 1.1; }
  .nk-v3 .nk3-brand-sub { display: none; }
}

/* ---------- Мобильное меню: вариант «Бумага» (утверждён заказчиком 02.10.2026) ----------
   Светлый лист выезжает из-под шапки (шапка остаётся, ☰ меняется на ×): поиск, разделы сайта крупно с номерами, внизу — статус магазинов
   по кировскому времени и кнопки «Позвонить» / «Адреса магазинов». Разметка — inc/nk-v3-header.php,
   поведение — js/nk-v3.js (верх листа = низ шапки: --nk3-mm-top). */
.nk-v3 .nk3-burger .nk3-ico--x { display: none; }
.nk-v3 .nk3-burger[aria-expanded="true"] .nk3-ico--menu { display: none; }
.nk-v3 .nk3-burger[aria-expanded="true"] .nk3-ico--x { display: block; animation: nk3-turn .3s ease both; }
.nk-v3 .nk3-mm {
  position: fixed;
  top: var(--nk3-mm-top, var(--nk3-hdr-h));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999; /* под шапкой (1000): ×, поиск и корзина в шапке остаются под рукой */
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  background-color: var(--nk3-cream); /* без точек — заказчик: «в глазах рябит» */
  color: var(--nk3-ink);
  font-family: var(--nk3-body);
  outline: none;
  animation: nk3-drop .45s cubic-bezier(.2, .8, .2, 1) both;
}
.nk-v3 .nk3-mm[hidden] { display: none; }
.nk-v3 .nk3-mm-body { box-sizing: border-box; width: 100%; max-width: 680px; margin: 0 auto; padding: 18px 20px 24px; }
.nk-v3 .nk3-mm-search {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--nk3-line-strong);
  border-radius: 23px;
  background: var(--nk3-paper);
  font: 400 15px/1.2 var(--nk3-body);
  color: #6E6450;
  text-align: left;
  cursor: text;
  -webkit-tap-highlight-color: transparent;
}
.nk-v3 .nk3-mm-search .nk3-ico { width: 20px; height: 20px; color: var(--nk3-gold-text); }
.nk-v3 .nk3-mm-nav { margin-top: 18px; border-top: 1px solid var(--nk3-line-strong); }
.nk-v3 .nk3-mm-nav a,
.nk-v3 .nk3-mm-nav a:hover {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 12px 0 11px;
  border-bottom: 1px solid var(--nk3-line);
  color: var(--nk3-ink);
  text-decoration: none;
}
.nk-v3 .nk3-mm-num { flex: none; width: 22px; font: 600 12px/1 var(--nk3-body); letter-spacing: .06em; color: var(--nk3-gold-text); font-variant-numeric: tabular-nums; }
.nk-v3 .nk3-mm-text { font: 400 27px/1.15 var(--nk3-display); text-wrap: balance; }
.nk-v3 .nk3-mm-nav a.is-on { color: var(--nk3-gold-text); }
.nk-v3 .nk3-mm-nav a.is-on::after { content: ""; flex: none; align-self: center; width: 7px; height: 7px; margin-left: auto; background: var(--nk3-gold); transform: rotate(45deg); }
.nk-v3 .nk3-mm-nav a:active .nk3-mm-text { color: var(--nk3-olive); }
.nk-v3 .nk3-mm-foot { flex: none; margin-top: auto; border-top: 1px solid var(--nk3-line-strong); background: var(--nk3-sand); }
.nk-v3 .nk3-mm-foot-in { box-sizing: border-box; width: 100%; max-width: 680px; margin: 0 auto; padding: 18px 20px calc(22px + env(safe-area-inset-bottom, 0px)); }
.nk-v3 .nk3-mm-status { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 600 14px/1.4 var(--nk3-body); color: var(--nk3-ink); }
.nk-v3 .nk3-mm-status[hidden] { display: none; }
.nk-v3 .nk3-mm-status::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #8C8270; }
.nk-v3 .nk3-mm-status.is-open::before { background: #4E7A2A; box-shadow: 0 0 0 4px rgba(78, 122, 42, .18); }
.nk-v3 .nk3-mm-act { display: flex; gap: 10px; }
.nk-v3 .nk3-mm-btn {
  box-sizing: border-box;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  height: 48px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 24px;
  font: 700 14px/1 var(--nk3-body);
  text-decoration: none;
  white-space: nowrap;
}
.nk-v3 .nk3-mm-btn .nk3-ico { width: 18px; height: 18px; }
.nk-v3 .nk3-mm-btn--olive,
.nk-v3 .nk3-mm-btn--olive:hover { background: var(--nk3-olive); color: var(--nk3-on-olive); text-decoration: none; }
.nk-v3 .nk3-mm-btn--olive .nk3-ico { color: var(--nk3-gold); }
.nk-v3 .nk3-mm-btn--line,
.nk-v3 .nk3-mm-btn--line:hover { border-color: #C2A869; color: var(--nk3-ink); text-decoration: none; }
.nk-v3 .nk3-mm-btn--line .nk3-ico { color: var(--nk3-gold-deep); }
/* Появление: лист открывается сверху вниз, содержимое поднимается по очереди */
.nk-v3 .nk3-mm-search,
.nk-v3 .nk3-mm-nav a,
.nk-v3 .nk3-mm-foot { animation: nk3-rise .4s ease both; }
.nk-v3 .nk3-mm-search { animation-delay: .08s; }
.nk-v3 .nk3-mm-nav a:nth-child(1) { animation-delay: .16s; }
.nk-v3 .nk3-mm-nav a:nth-child(2) { animation-delay: .2s; }
.nk-v3 .nk3-mm-nav a:nth-child(3) { animation-delay: .24s; }
.nk-v3 .nk3-mm-nav a:nth-child(4) { animation-delay: .28s; }
.nk-v3 .nk3-mm-nav a:nth-child(n + 5) { animation-delay: .32s; }
.nk-v3 .nk3-mm-foot { animation-delay: .36s; }
@media (max-width: 370px) {
  .nk-v3 .nk3-mm-text { font-size: 24px; }
  .nk-v3 .nk3-mm-btn { gap: 6px; font-size: 13px; }
}
/* Невысокие телефоны (360×740, iPhone SE): плотнее, чтобы меню входило в экран без прокрутки */
@media (max-height: 760px) {
  .nk-v3 .nk3-mm-body { padding-top: 12px; padding-bottom: 16px; }
  .nk-v3 .nk3-mm-search { height: 42px; }
  .nk-v3 .nk3-mm-nav { margin-top: 12px; }
  .nk-v3 .nk3-mm-nav a,
  .nk-v3 .nk3-mm-nav a:hover { padding: 9px 0 8px; }
  .nk-v3 .nk3-mm-foot-in { padding-top: 14px; padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .nk-v3 .nk3-mm-status { margin-bottom: 10px; }
}

/* ---------- Подвал ---------- */
/* Старый подвал шаблона (inc/footer.php) в v3 не выводится; поиск и форма «в 1 клик» остаются в footer.php. */
.nk-v3 .nk3-ftr {
  margin-top: 48px;
  background-color: var(--nk3-olive-deep);
  background-image: radial-gradient(rgba(201, 169, 91, .1) 1px, transparent 1.3px);
  background-size: 11px 11px;
  border-top: 1px solid var(--nk3-gold);
  color: var(--nk3-on-olive);
  font-family: var(--nk3-body);
}
.nk-v3 .nk3-ftr-in {
  display: grid;
  gap: 28px;
  padding-top: 40px;
  padding-bottom: 28px;
}
@media (min-width: 720px) {
  .nk-v3 .nk3-ftr-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nk-v3 .nk3-ftr-in { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; }
}
.nk-v3 .nk3-ftr h4 {
  margin: 0 0 12px;
  font: 700 13px/1.3 var(--nk3-body);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nk3-gold);
}
.nk-v3 .nk3-ftr-col a {
  display: block;
  padding: 6px 0;
  font-size: 15px;
  line-height: 1.4;
  color: var(--nk3-on-olive);
  text-decoration: none;
}
.nk-v3 .nk3-ftr-col a:hover { color: #fff; text-decoration: underline; }
.nk-v3 .nk3-ftr-brand p {
  max-width: 340px;
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--nk3-on-olive-muted);
}
.nk-v3 .nk3-social { margin-top: 6px; }
.nk-v3 .nk3-ftr-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 20px;
  padding-top: 16px;
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); /* место под плашку корзины */
  border-top: 1px solid rgba(201, 169, 91, .25);
  font-size: 13px;
  color: var(--nk3-on-olive-muted);
}
.nk-v3 .nk3-ftr-bottom a { color: var(--nk3-on-olive-muted); }

/* От старого <footer> в v3 остаются только поиск и форма «в 1 клик» — без собственных отступов и фона */
.nk-v3 .nk3-legacy-footer {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

/* ---------- Плашка корзины: на всех страницах, когда в корзине что-то есть ---------- */
.nk-v3 .nk3-pill {
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 1050;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 62px;
  margin: 0;
  padding: 0 22px 0 9px;
  border: 0;
  border-radius: 31px;
  background: var(--nk3-olive);
  color: var(--nk3-on-olive);
  box-shadow: 0 10px 26px rgba(46, 42, 31, .32);
  font-family: var(--nk3-body);
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  animation: nk3-pill-in .35s cubic-bezier(.2, 1.3, .4, 1) both;
}
.nk-v3 .nk3-pill[hidden],
.nk-v3.close-basket-body .nk3-pill { display: none; }
.nk-v3 .nk3-pill.is-bump { animation: nk3-bump .35s ease; }
.nk-v3 .nk3-pill-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(248, 239, 219, .12);
  color: var(--nk3-gold);
}
.nk-v3 .nk3-pill-t { display: flex; flex-direction: column; line-height: 1.15; }
.nk-v3 .nk3-pill-count { font-size: 12px; font-weight: 600; color: var(--nk3-on-olive-muted); }
.nk-v3 .nk3-pill-sum { font: 700 20px/1.15 var(--nk3-display); white-space: nowrap; }

/* Панель корзины (inc/basket-v2.php) теперь на всех страницах; стили — css/nk-checkout.css */
.nk-v3 .fixed-basket { position: fixed; }

@keyframes nk3-fade { from { opacity: 0; } }
@keyframes nk3-drop { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes nk3-rise { from { opacity: 0; transform: translateY(12px); } }
@keyframes nk3-turn { from { opacity: 0; transform: rotate(-90deg); } }
@keyframes nk3-pill-in { from { transform: translateY(24px) scale(.9); opacity: 0; } }
@keyframes nk3-bump { 50% { transform: scale(1.07); } }

@media (prefers-reduced-motion: reduce) {
  .nk-v3 .nk3-mm,
  .nk-v3 .nk3-mm-search,
  .nk-v3 .nk3-mm-nav a,
  .nk-v3 .nk3-mm-foot,
  .nk-v3 .nk3-burger .nk3-ico,
  .nk-v3 .nk3-pill { animation: none; }
}

/* Переход без перезагрузки (js/nk-v3-nav.js): если страница грузится дольше мгновения — золотая полоска под шапкой */
.nk-v3 .nk3-hdr::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 2px;
  background: var(--nk3-gold); transform: scaleX(0); transform-origin: 0 50%; opacity: 0; pointer-events: none;
}
html.nk3-nav-busy .nk3-hdr::after { opacity: 1; transform: scaleX(.85); transition: transform 2.5s cubic-bezier(.1, .7, .2, 1) .15s, opacity .1s linear .15s; }
html.nk3-nav-busy { cursor: progress; }

/* Часы доставки в оформлении заказа (inc/basket-v2.php, NK_DELIVERY_HOURS) */
.nk-v3 .nk-ship-time { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font: 600 15px/1.4 var(--nk3-body); color: var(--nk3-ink); }
.nk-v3 .nk-ship-time::before { content: ""; flex: none; width: 7px; height: 7px; background: var(--nk3-gold); transform: rotate(45deg); }

/* Плашки-подсказки в оформлении заказа (inc/basket-v2.php): минимальная сумма доставки; магазин закрыт — когда забрать;
   доставка не работает — когда начнут обрабатывать. Песочная карточка, знак в кружке, первая фраза — заголовком. */
.nk-v3 .nk-min-hint {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 12px;
  padding: 14px 18px 14px 14px;
  border: 0;
  border-radius: 18px;
  background: var(--nk3-sand);
  color: var(--nk3-ink-soft);
  font: 400 14px/1.45 var(--nk3-body);
}
.nk-v3 .nk-min-hint::before {
  content: "";
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--nk3-paper) center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C7F3C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7z'/%3E%3Cpath d='M9 9V7a3 3 0 016 0v2'/%3E%3C/svg%3E");
  box-shadow: inset 0 0 0 1px var(--nk3-line-strong);
}
.nk-v3 .nk-min-hint b { display: block; margin-bottom: 2px; font: 700 17px/1.25 var(--nk3-display); color: var(--nk3-ink); }
.nk-v3 .nk-time-hint { margin: 12px 0; }
.nk-v3 .nk-time-hint::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C7F3C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }
.nk-v3 .nk-time-hint[hidden] { display: none; }
