/* ============================================================
   KREP_HOME158 · krep-home.css
   Новый вид главной. Подключается ПОСЛЕДНИМ в <head>,
   поэтому перебивает встроенные стили index.html.
   Ничего из старого CSS не удалено — файл только накрывает сверху.

   Правила вида "html.khome-on ..." включаются, только когда
   krep-home.js успешно отрисовал плитки. Не сработал скрипт —
   главная выглядит по-старому.
   ============================================================ */

:root {
  --khome-bg:   #eef2f4;
  --khome-card: #ffffff;
  --khome-ink:  #1c2124;
  --khome-mute: #5c656b;
  --khome-line: #dbe3e7;
  --khome-acc:  #16b34a;
  --khome-r:    16px;
}

/* кнопки темы и воды больше не нужны: тема одна, вода выключена */
#themeBtn, #waterBtn { display: none !important; }

/* ============================================================
   ФОН СТРАНИЦЫ — фотография склада вместо мраморного узора.
   Картинка закреплена: при прокрутке стоит на месте, карточки
   едут поверх. Сверху светлая вуаль, иначе текст не читается.
   ============================================================ */
html.light body {
  background: var(--khome-bg) url('/img/sklad-bg.jpg') center top / cover no-repeat fixed;
}
html.light body::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg,
              rgba(238,242,244,.62) 0%,
              rgba(238,242,244,.80) 46%,
              rgba(238,242,244,.94) 78%,
              rgba(238,242,244,.99) 100%);
}
/* старый мраморный узор больше не нужен */
html.khome-on .marble { display: none !important; }

/* телефон: закреплённый фон тормозит, поэтому обычный */
@media (max-width: 900px) {
  html.light body { background-attachment: scroll; background-position: center 60px; }
}

/* ============================================================
   ВЕРХ ГЛАВНОЙ
   Было: слева мелкие плитки, справа крутящийся болт с заголовком.
   Стало: компактная строка заголовка, под ней сетка категорий.
   ============================================================ */
html.khome-on .hero-home {
  display: flex !important;
  flex-direction: column;
  gap: 14px;
  padding-top: 6px !important;
  padding-bottom: 0 !important;
}
html.khome-on .hero-home .hero-aside  { order: 1; width: 100%; }
html.khome-on .hero-home .hero-cards  { order: 2; width: 100%; }
html.khome-on .hero-home .bolt-stage  { display: none !important; }

/* заголовок: строго по центру, все строки одной шириной, компактно */
html.khome-on .hero-home .hero-text {
  max-width: 780px; margin: 0 auto; text-align: center;
}
html.khome-on .hero-home .hero-text h1 {
  margin: 0 0 6px !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
html.khome-on .hero-home .hero-text p {
  margin: 0 auto !important; max-width: 560px;
  font-size: 14.5px !important; line-height: 1.45 !important;
  text-align: center !important;
}
html.khome-on .hero-home .hero-text br { display: none; }   /* строки ломаются сами, ровно по центру */
html.khome-on .hero-home .hero-count {
  margin: 8px 0 0 !important; text-align: center !important;
  font-size: 13.5px !important;
}

/* ============================================================
   СЕТКА КАТЕГОРИЙ — по 5 в ряд
   ============================================================ */
html.khome-on .hero-cards #tiles {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 14px !important;
  margin: 0 !important;
}

html.khome-on .hero-cards #tiles .tile {
  display: block; padding: 0 !important; overflow: hidden; cursor: pointer;
  background: var(--khome-card);
  border: 1px solid var(--khome-line);
  border-radius: var(--khome-r);
  box-shadow: 0 1px 2px rgba(16,24,32,.06), 0 10px 26px rgba(16,24,32,.08);
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease;
}
html.khome-on .hero-cards #tiles .tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(16,24,32,.10), 0 18px 40px rgba(16,24,32,.14);
}

html.khome-on .hero-cards #tiles .kimg {
  aspect-ratio: 4 / 3; overflow: hidden; background: #f2f5f7;
}
html.khome-on .hero-cards #tiles .kimg img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .55s cubic-bezier(.16,1,.3,1);
}
html.khome-on .hero-cards #tiles .tile:hover .kimg img { transform: scale(1.05); }

html.khome-on .hero-cards #tiles .kcap { padding: 11px 13px 13px; }
html.khome-on .hero-cards #tiles .kcap h3 {
  margin: 0 0 4px !important; font-size: 15px !important; line-height: 1.25;
  color: var(--khome-ink); font-weight: 700;
}
html.khome-on .hero-cards #tiles .kcap .std {
  margin: 0; font-size: 12px; font-weight: 600;
  color: var(--khome-acc); line-height: 1.35;
}
html.khome-on .hero-cards #tiles .kcap .num {
  margin: 4px 0 0 !important; font-size: 12px !important; color: var(--khome-mute);
}

/* ---- узкие экраны ---- */
@media (max-width: 1180px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 900px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  html.khome-on .hero-cards #tiles {
    grid-template-columns: repeat(2, 1fr) !important; gap: 11px !important;
  }
  html.khome-on .hero-home .hero-text h1 { font-size: 22px !important; }
  html.khome-on .hero-home .hero-text p  { font-size: 13.5px !important; }
  html.khome-on .hero-cards #tiles .kcap { padding: 10px 11px 12px; }
  html.khome-on .hero-cards #tiles .kcap h3 { font-size: 14px !important; }
  html.khome-on .hero-cards #tiles .kcap .std,
  html.khome-on .hero-cards #tiles .kcap .num { font-size: 11.5px !important; }
}

/* ============================================================
   ЛОГОТИП — вращение вокруг оси убрано: на спокойной светлой
   шапке оно мельтешит, и бренд ловится взглядом хуже.
   ============================================================ */
html.khome-on .logo-3d      { animation: none !important; }
html.khome-on .logo-3d img  {
  animation: none !important;
  filter: drop-shadow(0 3px 8px rgba(16,24,32,.18)) !important;
  transform: none !important;
}

/* ============================================================
   ТЕЛЕФОН · до плиток было почти два экрана прокрутки.
   Меню становится одной строкой с прокруткой вбок,
   телефон возвращается в шапку, почта — строкой под поиском.
   ============================================================ */
@media (max-width: 980px) {

  /* шапка: логотип · телефон · корзина в один ряд */
  html.khome-on .topbar {
    grid-template-columns: auto 1fr auto !important;
    gap: 10px !important; padding: 12px 14px !important;
  }
  /* .contacts растворяется, его дети раскладываются сами */
  html.khome-on .topbar .contacts { display: contents !important; }

  html.khome-on .topbar .brand { grid-column: 1; grid-row: 1; }

  html.khome-on .topbar .contact[href^="tel"] {
    display: flex !important; grid-column: 2; grid-row: 1;
    justify-self: end; text-align: right; line-height: 1.1;
  }
  html.khome-on .topbar .contact[href^="tel"] .lbl { display: none !important; }
  html.khome-on .topbar .contact[href^="tel"] .val {
    font-size: 13.5px !important; white-space: nowrap;
  }

  html.khome-on .topbar .cart-btn { grid-column: 3; grid-row: 1; }

  html.khome-on .topbar .search { grid-column: 1 / -1; grid-row: 2; }

  /* почта — отдельной строкой, целиком видна */
  html.khome-on .topbar .contact[href^="mailto"] {
    display: flex !important; grid-column: 1 / -1; grid-row: 3;
    flex-direction: row; align-items: baseline; justify-content: center; gap: 7px;
  }
  html.khome-on .topbar .contact[href^="mailto"] .lbl { font-size: 10px !important; }
  html.khome-on .topbar .contact[href^="mailto"] .val { font-size: 13px !important; }

  /* меню: одна строка, листается пальцем вбок */
  html.khome-on .nav {
    flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden;
    gap: 6px !important; padding: 8px 10px !important; margin-top: 10px !important;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  html.khome-on .nav::-webkit-scrollbar { display: none; }
  html.khome-on .nav a {
    flex: 0 0 auto !important; white-space: nowrap;
    padding: 9px 14px !important; font-size: 14px !important;
  }
}

@media (max-width: 560px) {
  html.khome-on .brand-text { display: none !important; }   /* слоган ест ширину */
  html.khome-on .logo-3d img { height: 40px !important; }
  html.khome-on .krep-tick { height: 56px !important; margin-top: 8px !important; }
  html.khome-on .hero-home { gap: 10px !important; }
  html.khome-on .hero-home .hero-text h1 { font-size: 21px !important; }
  html.khome-on .hero-home .hero-count { margin-top: 6px !important; }
}

/* ============================================================
   KREP_HOME158 · доводка шапки
   ============================================================ */

/* заголовок и подзаголовок съедали верх экрана. Убраны с глаз,
   но остались в коде — поисковики должны видеть заголовок страницы */
html.khome-on .hero-home .hero-text h1 {
  position: absolute !important; width: 1px !important; height: 1px !important;
  margin: -1px !important; padding: 0 !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
html.khome-on .hero-home .hero-text p { display: none !important; }
html.khome-on .hero-home { gap: 0 !important; }
html.khome-on .hero-home .hero-aside { display: none !important; }

/* --- слоган в три строки, столбиком --- */
html.khome-on .brand-text .tagline {
  width: min-content; line-height: 1.14; font-size: 12.5px;
}

/* --- телефон и почта: только иконки --- */
html.khome-on .topbar .contact .lbl,
html.khome-on .topbar .contact[href^="tel"] .val,
html.khome-on .topbar .contact[href^="mailto"] .val { display: none !important; }
html.khome-on .topbar .contact {
  width: 42px; height: 42px; border-radius: 50%;
  display: flex !important; align-items: center; justify-content: center;
  background: rgba(22,179,74,.10); color: var(--khome-acc);
  transition: background .18s ease, transform .18s ease;
}
html.khome-on .topbar .contact:hover { background: rgba(22,179,74,.18); transform: translateY(-1px); }
html.khome-on .topbar .contact .kico { width: 20px; height: 20px; }

/* --- корзина уехала из шапки --- */
html.khome-on .topbar .cart-btn { display: none !important; }

/* --- счётчик категорий и товаров теперь в шапке --- */
html.khome-on .topbar .k-in-bar {
  font-size: 13px; color: var(--khome-mute); white-space: nowrap;
  text-align: right; margin: 0 !important;
}
html.khome-on .topbar .k-in-bar b { color: var(--khome-ink); }

/* --- поиск шире и крупнее, с крестиком --- */
html.khome-on .topbar .search { position: relative; }
html.khome-on .topbar .search input {
  font-size: 15px !important; padding-right: 40px !important;
}
html.khome-on .topbar .search .kclr {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  width: 26px; height: 26px; border: 0; border-radius: 50%; cursor: pointer;
  align-items: center; justify-content: center; font-size: 19px; line-height: 1;
  background: rgba(16,24,32,.07); color: var(--khome-mute);
}
html.khome-on .topbar .search .kclr:hover { background: rgba(16,24,32,.14); color: var(--khome-ink); }

/* --- плавающая корзина --- */
#kFloatCart {
  position: fixed; z-index: 900; width: 58px; height: 58px; border: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; cursor: grab;
  background: linear-gradient(135deg, #1fc25a, #12994a); color: #fff;
  box-shadow: 0 6px 16px rgba(16,24,32,.22), 0 14px 34px rgba(16,24,32,.20);
  touch-action: none; user-select: none; -webkit-user-select: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
#kFloatCart:hover { transform: scale(1.05); }
#kFloatCart.kdrag { cursor: grabbing; transform: scale(1.10); box-shadow: 0 10px 26px rgba(16,24,32,.30); }
#kFloatCart svg { width: 26px; height: 26px; }
#kFloatCart .cart-count {
  position: absolute; top: -3px; right: -3px; min-width: 22px; height: 22px;
  border-radius: 11px; background: #10202b; color: #fff;
  font-size: 12px; font-weight: 700; line-height: 22px; text-align: center;
  padding: 0 5px; box-shadow: 0 2px 6px rgba(0,0,0,.25);
}

/* --- раскладка шапки: компьютер --- */
@media (min-width: 981px) {
  html.khome-on .topbar {
    grid-template-columns: auto 1fr auto auto !important;
    gap: 18px !important;
  }
  html.khome-on .topbar .brand    { grid-column: 1; }
  html.khome-on .topbar .search   { grid-column: 2; }
  html.khome-on .topbar .contacts { grid-column: 3; gap: 10px !important; }
  html.khome-on .topbar .k-in-bar { grid-column: 4; }
}

/* --- раскладка шапки: телефон --- */
@media (max-width: 980px) {
  html.khome-on .topbar .contact[href^="tel"]    { grid-column: 2; grid-row: 1; justify-self: end; }
  html.khome-on .topbar .contact[href^="mailto"] { grid-column: 3; grid-row: 1; justify-self: end; }
  html.khome-on .topbar .search   { grid-column: 1 / -1; grid-row: 2; }
  html.khome-on .topbar .k-in-bar { grid-column: 1 / -1; grid-row: 3; text-align: center; }
  html.khome-on .topbar .contact  { width: 40px; height: 40px; }
}
@media (max-width: 560px) {
  html.khome-on .brand-text { display: block !important; }   /* слоган вернули — он теперь узкий */
  html.khome-on .brand-text .tagline { font-size: 11.5px; }
  #kFloatCart { width: 54px; height: 54px; }
  #kFloatCart svg { width: 24px; height: 24px; }
}

/* ============================================================
   KREP_HOME158
   1) иконки телефона и почты строго по центру кружка;
   2) плитки мельче — в ряд помещается шесть, на экран три ряда.
   ============================================================ */

/* --- центровка иконок: базовый стиль ставил содержимое в столбик --- */
html.khome-on .topbar .contact,
html.khome-on .topbar .contact[href^="tel"],
html.khome-on .topbar .contact[href^="mailto"] {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important; padding: 0 !important; line-height: 0 !important;
}
html.khome-on .topbar .contact .kico { display: block; margin: 0; }

/* --- шапка чуть ниже, чтобы плиткам осталось больше экрана --- */
html.khome-on .topbar   { padding: 12px 20px !important; }
html.khome-on .nav      { margin-top: 10px !important; padding: 7px 12px !important; }
html.khome-on .nav a    { padding: 10px 16px !important; }
html.khome-on .krep-tick{ height: 56px !important; margin-top: 10px !important; }

/* --- сетка категорий: мельче и плотнее --- */
html.khome-on .hero-cards #tiles { gap: 12px !important; }
html.khome-on .hero-cards #tiles .kimg  { aspect-ratio: 3 / 2 !important; }
html.khome-on .hero-cards #tiles .kcap  { padding: 9px 10px 10px !important; }
html.khome-on .hero-cards #tiles .kcap h3 {
  font-size: 13.5px !important; margin: 0 0 3px !important;
}
html.khome-on .hero-cards #tiles .kcap .std { font-size: 11px !important; }
html.khome-on .hero-cards #tiles .kcap .num { font-size: 11px !important; margin-top: 3px !important; }

@media (min-width: 1400px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(6, 1fr) !important; }
}
@media (min-width: 1181px) and (max-width: 1399px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(5, 1fr) !important; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (min-width: 641px) and (max-width: 900px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 640px) {
  html.khome-on .hero-cards #tiles { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  html.khome-on .hero-cards #tiles .kcap h3 { font-size: 13px !important; }
}

/* ============================================================
   KREP_HOME158 · популярные товары одним рядом
   ============================================================ */
html.khome-on #popular .pop-grid { transition: opacity .22s ease; }
html.khome-on #popular { margin-top: 20px !important; }
html.khome-on #popular .section-head { margin: 6px 4px 12px !important; }

.kpop-dots { display: flex; gap: 6px; justify-content: center; margin: 14px 0 0; }
.kpop-dots i {
  width: 7px; height: 7px; border-radius: 50%; cursor: pointer;
  background: rgba(16,24,32,.18); transition: all .2s ease;
}
.kpop-dots i.on { width: 20px; border-radius: 4px; background: var(--khome-acc); }
.kpop-dots i:hover { background: rgba(16,24,32,.34); }

/* KREP_ICO152 — страховка для значков телефона и почты.
   Значки вставляет скрипт, а размер им задавало правило с признаком
   html.khome-on. Признак ставится ПОСЛЕ отрисовки плиток каталога, а при
   заходе сразу на адрес поиска (#/search/...) плитки не рисуются вовсе —
   значки оставались в натуральную величину и разносили шапку.
   Здесь размер задан безусловно: как бы страница ни открылась, значок мелкий. */
.topbar .contact .kico { width: 20px !important; height: 20px !important; display: block; flex: none; }
.topbar .contact svg   { max-width: 22px; max-height: 22px; }
