/* RTL — сгенерировано tools/rtl.py из components.css, не править руками */
/* ==========================================================================
   Компоненты дизайн-системы.
   Каждый класс вешается на виджет или контейнер Elementor
   в поле Advanced → CSS Classes.
   ========================================================================== */

/* --- 1. Сетка с линиями в 1px -------------------------------------------
   Линии рисует зазор, а не границы ячеек: нет двойных линий по стыкам
   и не нужны правила для последнего элемента.
   Вешается на Container с display:grid.                                  */

.imi-grid{
  display: grid;
  gap: 1px;
  background: var(--imi-edge);
  box-shadow:0 0 0 1px var(--imi-edge);
}
.imi-grid > *{ background: var(--imi-void); }

.imi-grid--2{ grid-template-columns: repeat(2, 1fr); }
.imi-grid--3{ grid-template-columns: repeat(3, 1fr); }
.imi-grid--4{ grid-template-columns: repeat(4, 1fr); }
.imi-grid--7{ grid-template-columns: repeat(7, 1fr); }

@media (max-width: 1100px){
  .imi-grid--7{ grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 1024px){
  .imi-grid--4{ grid-template-columns: repeat(2, 1fr); }
  .imi-grid--3{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
  .imi-grid--2,
  .imi-grid--3,
  .imi-grid--4{ grid-template-columns: 1fr; }
  .imi-grid--7{ grid-template-columns: repeat(2, 1fr); }
}

/* Отступ внутри ячейки сетки, если ячейка — не готовый компонент */
.imi-cell{ padding:clamp(18px, 2.4vw, 28px); }

/* --- 2. Кнопки -----------------------------------------------------------
   Одна система на весь сайт:
     imi-btn--ink   — основная: тёмная плашка, белый текст, золото на наведении
     imi-btn--gold  — акцентная: золото бренда, тёмный текст
     imi-btn--ghost — вторичная: белая, тонкая серая рамка
   Класс imi-btn--bone оставлен как синоним основной кнопки (старая вёрстка).
   На виджете Button Elementor: CSS Classes = imi-btn imi-btn--ink             */

.imi-btn,
.elementor-button.imi-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding:15px 28px;
  font-family: var(--imi-fd);
  font-weight: 700;
  font-size: 1.04rem;
  line-height: 1;
  border: 0;
  border-radius:var(--imi-r);
  text-decoration: none;
  cursor: pointer;
  transition: background .18s var(--imi-ease), color .18s, box-shadow .18s, transform .18s;
}
.imi-btn--ink,  .elementor-button.imi-btn--ink,
.imi-btn--bone, .elementor-button.imi-btn--bone{ background: var(--imi-ink); color: var(--imi-on-ink); }
.imi-btn--ink:hover,  .elementor-button.imi-btn--ink:hover,
.imi-btn--bone:hover, .elementor-button.imi-btn--bone:hover{ background: var(--imi-gold); color: var(--imi-on-gold); }
.imi-btn--gold,  .elementor-button.imi-btn--gold { background: var(--imi-gold); color: var(--imi-on-gold); }
.imi-btn--gold:hover,  .elementor-button.imi-btn--gold:hover { background: var(--imi-gold-2); color: var(--imi-on-gold); }
.imi-btn--ghost, .elementor-button.imi-btn--ghost{ background: var(--imi-void); color: var(--imi-bone); box-shadow:inset 0 0 0 1px var(--imi-edge-2); }
.imi-btn--ghost:hover, .elementor-button.imi-btn--ghost:hover{ background: var(--imi-steel); color: var(--imi-bone); box-shadow:inset 0 0 0 1px var(--imi-bone); }
.imi-btn--sm{ min-height: 40px; padding:11px 18px; font-size: .9rem; }
.imi-btn--block{ width: 100%; }
.imi-btn--flat{ border-radius:0; }
.imi-btn:disabled, .imi-btn[disabled]{ opacity: .45; cursor: not-allowed; }

.imi-btn .imi-arrow{ transition: transform .2s var(--imi-ease); }
.imi-btn:hover .imi-arrow{ transform: translateX(-4px); }

/* --- 3. Field Record — карточка протокола испытаний ---------------------- */

.imi-rec{
  background: var(--imi-void);
  box-shadow:inset 0 0 0 1px var(--imi-edge);
  border-radius:var(--imi-r);
  padding:18px 20px 19px;
}
.imi-rec__hd{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 10px;
  margin-bottom: 11px;
  border-bottom: 1px solid var(--imi-edge);
}
.imi-rec__hd span{
  font-family: var(--imi-fc); font-weight: 600; font-size: .74rem; color: var(--imi-gold-2);
}
.imi-rec__hd b{
  font-family: var(--imi-fc); font-weight: 600; font-size: .78rem; color: var(--imi-ash-2); font-variant-numeric: tabular-nums;
}
.imi-rec dl{ margin:0; display: grid; gap: 7px; }
.imi-rec dl > div{ display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.imi-rec dt{
  font-family: var(--imi-fc); font-weight: 500; font-size: .8rem; color: var(--imi-ash-2);
}
.imi-rec dd{
  margin:0; font-family: var(--imi-fd); font-weight: 700; font-size: 1.06rem; line-height: 1; color: var(--imi-bone); font-variant-numeric: tabular-nums;
}
.imi-rec__by{
  margin:12px 0 0; padding-top: 10px;
  border-top: 1px solid var(--imi-edge);
  font-size: .79rem; color: var(--imi-ash-2);
}
.imi-rec__by b{ color: var(--imi-ash); font-weight: 600; }

/* Вариант поверх фотографии */
.imi-rec--glass{
  background: var(--imi-glass);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:inset 0 0 0 1px var(--imi-edge), var(--imi-shadow-2);
}

/* --- 4. Фото товара на подложке -----------------------------------------
   У снимков IMI белый фон. mix-blend-mode: multiply делает белое
   прозрачным — товар садится на любую подложку без обтравки.             */

.imi-plate{ background: var(--imi-photo-bg); }
.imi-plate img{ mix-blend-mode: multiply; }

/* --- 5. Карточка товара -------------------------------------------------- */

.imi-card{
  background: none;
  display: flex;
  flex-direction: column;
  position: relative;
  text-decoration: none;
  color: inherit;
}
.imi-card:hover .imi-card__title{ color: var(--imi-gold-2); }

.imi-card__fig{
  position: relative;
  background: var(--imi-photo-bg);
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.imi-card__fig img{
  width: 100%; height: 100%;
  object-fit: contain;
  padding:10%;
  mix-blend-mode: multiply;
  transition: transform .5s var(--imi-ease);
}
.imi-card:hover .imi-card__fig img{ transform: scale(1.04); }

.imi-card__body{ padding:14px 2px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.imi-card__title{
  margin:0; font-family: var(--imi-fd); font-weight: 700;
  font-size: 1.08rem; line-height: 1; letter-spacing: .01em; color: var(--imi-bone);
}
.imi-card:hover .imi-card__title{ color: var(--imi-gold-2); }
.imi-card__fit{ margin:0; font-size: .82rem; color: var(--imi-ash-2); line-height: 1.4; }
.imi-card__foot{
  margin-top: auto; padding-top: 10px;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.imi-card__price{
  font-family: var(--imi-fd); font-weight: 700; font-size: 1.3rem; line-height: 1;
  color: var(--imi-bone); font-variant-numeric: tabular-nums;
}
.imi-card__price del{ color: var(--imi-ash-2); font-size: .86rem; margin-left: 7px; }
.imi-card__price ins{ text-decoration: none; color: var(--imi-sig); }

/* Строка данных испытаний под названием */
.imi-card__data{
  display: flex; gap: 12px; flex-wrap: wrap;
  font-family: var(--imi-fc); font-weight: 500; font-size: .76rem; color: var(--imi-ash-2);
  margin:0;
}
.imi-card__data b{ color: var(--imi-ash); font-weight: 600; }

/* Метка в углу фото */
.imi-tag{
  position: absolute; top: 4px; right: 0; z-index: 2;
  background: var(--imi-gold); color: var(--imi-on-gold);
  font-family: var(--imi-fc); font-weight: 700; font-size: .68rem;
  padding:5px 10px; border-radius:var(--imi-r);
}
.imi-tag--sig { background: var(--imi-sig);  color: #fff; }
.imi-tag--bone{ background: var(--imi-ink); color: var(--imi-on-ink); }

/* Штамп номера записи на фото */
.imi-stamp{
  position: absolute; left: 10px; bottom: 10px; z-index: 2;
  font-family: var(--imi-fc); font-weight: 600; font-size: .66rem;
  color: var(--imi-photo-fg); opacity: .6; background: none; border: 0;
  padding:3px 0;
}

/* Образцы покрытий */
.imi-swatches{ display: flex; gap: 5px; }
.imi-swatches i{ width: 13px; height: 13px; display: block; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18); }

/* --- 6. Плитка категории: светлая карточка, фото сверху ------------------ */

.imi-tile{
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 0;
  padding:0;
  min-height: 0;
  background: none;
  overflow: hidden;
  text-decoration: none;
  color: var(--imi-bone);
  transition: transform .25s var(--imi-ease);
}
/* Высоту задаёт только aspect-ratio. С height:100% Safari считает высоту от
   всей плитки, снимок вылезает из своей строки сетки и ложится поверх подписи —
   тёмный текст оказывается на тёмной фотографии. */
.imi-tile img{
  position: static;
  align-self: start;
  width: 100%; height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: none;
  filter: none;
  transition: transform .6s var(--imi-ease);
}
.imi-tile:hover{ transform: translateY(-2px); }
.imi-tile:hover img{ transform: scale(1.04); }

.imi-tile__c{
  position: relative;   /* подпись всегда поверх снимка, даже если тот выбился из строки */
  z-index: 1;
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding:14px 2px 4px;
}
.imi-tile__c h4{
  margin:0 0 4px; font-family: var(--imi-fd); font-weight: 700;
  font-size: clamp(1.14rem, 1.6vw, 1.36rem); line-height: 1; color: var(--imi-bone);
}
.imi-tile__n{
  font-family: var(--imi-fc); font-weight: 600; font-size: .74rem; color: var(--imi-ash-2);
}
.imi-tile .imi-tile__n{ color: var(--imi-ash-2); }
.imi-tile:hover .imi-tile__n{ color: var(--imi-gold-2); }
.imi-tile:hover h4{ color: var(--imi-gold-2); }
.imi-tile__arrow{
  font-family: var(--imi-fd); font-weight: 700; font-size: 1.3rem; line-height: 1;
  color: var(--imi-edge-2); transition: color .2s, transform .2s;
}
.imi-tile:hover .imi-tile__arrow{ color: var(--imi-gold); transform: translateX(-3px); }

/* Фото без чёрно-белого фильтра */
.imi-mono img,
img.imi-mono{
  filter: none;
  transition: transform .7s var(--imi-ease);
}
.imi-mono:hover img,
img.imi-mono:hover{ transform: scale(1.02); }

/* --- 7. Шаг протокола ---------------------------------------------------- */

.imi-step{ background: var(--imi-void); padding:20px 16px 22px; transition: background .2s; }
.imi-step:hover{ background: var(--imi-steel); }
.imi-step b{
  display: block; font-family: var(--imi-fd); font-weight: 900; font-size: 2.1rem;
  line-height: 1; color: var(--imi-edge-2); font-variant-numeric: tabular-nums;
  transition: color .2s;
}
.imi-step:hover b{ color: var(--imi-gold); }
.imi-step h4{
  margin:12px 0 7px; font-family: var(--imi-fd); font-weight: 700; font-size: 1rem; line-height: .95;
}
.imi-step p{ margin:0; font-size: .8rem; color: var(--imi-ash-2); line-height: 1.45; }
/* Шаг «Destroy» — единственное место, где красный уместен */
.imi-step--fail b,
.imi-step--fail h4{ color: var(--imi-sig); }

/* --- 8. Крупная цифра ---------------------------------------------------- */

.imi-figure{ background: var(--imi-void); padding:clamp(20px, 2.6vw, 30px); }
.imi-figure b{
  display: block; font-family: var(--imi-fd); font-weight: 900;
  font-size: clamp(2.8rem, 5.4vw, 4.6rem); line-height: .82;
  letter-spacing: -.025em; color: var(--imi-gold); font-variant-numeric: tabular-nums;
}
.imi-figure h4{
  margin:14px 0 6px; font-family: var(--imi-fd); font-weight: 700; font-size: 1.02rem; line-height: 1;
}
.imi-figure p{ margin:0; font-size: .83rem; color: var(--imi-ash-2); line-height: 1.5; }

/* --- 9. Цитата сотрудника ------------------------------------------------ */

.imi-op{ background: var(--imi-void); padding:clamp(22px, 2.6vw, 30px); display: flex; flex-direction: column; gap: 16px; }
.imi-op__q{
  margin:0; font-family: var(--imi-fd); font-weight: 700;
  font-size: clamp(1.12rem, 1.6vw, 1.34rem); line-height: .98;
}
.imi-op__q::before{ content: "\201C"; color: var(--imi-gold); margin-left: 2px; }
.imi-op__q::after { content: "\201D"; color: var(--imi-gold); }
.imi-op__who{
  margin-top: auto; display: flex; gap: 14px; align-items: center;
  padding-top: 16px; border-top: 1px solid var(--imi-edge);
}
.imi-op__av{
  width: 46px; height: 46px; flex: none;
  background: var(--imi-steel-2); box-shadow:inset 0 0 0 1px var(--imi-edge);
  display: grid; place-items: center;
  font-family: var(--imi-fd); font-weight: 800; font-size: 1.05rem; color: var(--imi-gold);
}
.imi-op__who h5{ margin:0; font-family: var(--imi-fd); font-weight: 700; font-size: 1rem; line-height: 1; }
.imi-op__who p{ margin:4px 0 0; font-size: .79rem; color: var(--imi-ash-2); line-height: 1.35; }

/* --- 10. Предупреждение -------------------------------------------------- */

.imi-note{
  box-shadow:inset 0 0 0 1px var(--imi-edge);
  border-right: 3px solid var(--imi-gold);
  background: var(--imi-steel);
  padding:18px 20px;
  display: flex; gap: 15px; align-items: flex-start;
}
.imi-note--stop{ border-right-color: var(--imi-sig); }
.imi-note--ok  { border-right-color: var(--imi-ok); }
.imi-note__icon{ width: 21px; height: 21px; flex: none; margin-top: 2px; stroke: var(--imi-gold); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.imi-note--stop .imi-note__icon{ stroke: var(--imi-sig); }
.imi-note--ok   .imi-note__icon{ stroke: var(--imi-ok); }
.imi-note h4{ margin:0 0 7px; font-family: var(--imi-fd); font-weight: 800; font-size: 1.02rem; line-height: 1; }
.imi-note p{ margin:0; font-size: .86rem; color: var(--imi-ash); line-height: 1.55; max-width: 74ch; }
.imi-note a{ color: var(--imi-gold); border-bottom: 1px solid var(--imi-gold-dim); text-decoration: none; }

/* --- 11. Бегущая строка -------------------------------------------------- */

.imi-marquee{
  background: var(--imi-gold);
  color: var(--imi-on-gold);
  overflow: hidden;
  white-space: nowrap;
}
.imi-marquee__track{
  display: inline-flex;
  padding-block: 7px;
  animation: imi-slide var(--imi-marquee-speed, 36s) linear infinite;
}
.imi-marquee__track span{
  font-family: var(--imi-fc); font-weight: 700; font-size: .82rem;
  padding-inline: 22px; position: relative;
}
.imi-marquee__track span::after{
  content: ""; position: absolute; left: 0; top: 50%;
  width: 4px; height: 4px; background: var(--imi-on-gold);
  transform: translateY(-50%) rotate(45deg);
}
/* Содержимое продублировано — сдвиг ровно на половину прячет шов */
@keyframes imi-slide{ to{ transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce){ .imi-marquee__track{ animation: none; } }

/* --- 12. Чипы с данными -------------------------------------------------- */

.imi-chips{ display: flex; gap: 1px; background: var(--imi-edge); box-shadow:0 0 0 1px var(--imi-edge); flex-wrap: wrap; }
.imi-chips > span{
  background: var(--imi-steel-2); padding:11px 16px; flex: 1 1 auto; text-align: center;
  font-family: var(--imi-fc); font-weight: 500; font-size: .8rem; color: var(--imi-ash-2);
}
.imi-chips > span b{
  display: block; font-family: var(--imi-fd); font-weight: 800; font-size: 1.22rem;
  color: var(--imi-gold); margin-bottom: 2px; font-variant-numeric: tabular-nums;
}

/* --- 13. Проверка по штату ----------------------------------------------- */

.imi-statecheck{ background: var(--imi-steel); box-shadow:inset 0 0 0 1px var(--imi-edge); padding:18px; }
.imi-statecheck h5{ margin:0 0 12px; font-family: var(--imi-fd); font-weight: 800; font-size: 1rem; line-height: 1; }
.imi-statecheck__row{ display: flex; gap: 1px; background: var(--imi-edge); box-shadow:0 0 0 1px var(--imi-edge); flex-wrap: wrap; }
.imi-statecheck select{
  flex: 1 1 180px; min-width: 0;
  background: var(--imi-void); color: var(--imi-bone);
  border: 0; border-radius:0; padding:12px 14px;
  font-family: var(--imi-fb); font-size: .9rem; appearance: none;
}
.imi-statecheck button{
  background: var(--imi-gold); color: var(--imi-ink); border: 0; cursor: pointer;
  font-family: var(--imi-fd); font-weight: 800;
  font-size: .95rem; letter-spacing: .02em; padding:12px 22px;
}
.imi-statecheck__out{ margin:13px 0 0; font-size: .86rem; line-height: 1.5; color: var(--imi-ash); min-height: 1.4em; }
.imi-statecheck__out[data-state="ok"]  { color: var(--imi-ok); }
.imi-statecheck__out[data-state="stop"]{ color: var(--imi-sig); }

/* --- 14. Служебное ------------------------------------------------------- */

.imi-wrap{ max-width: var(--imi-max); margin-inline: auto; padding-inline: var(--imi-gut); width: 100%; }
.imi-panel{ background: var(--imi-steel); box-shadow:inset 0 0 0 1px var(--imi-edge); border-radius:var(--imi-r); }
.imi-hairline{ border-top: 1px solid var(--imi-edge); }

/* Горизонтальная прокрутка для таблиц и широких блоков —
   страница при этом никогда не едет вбок. */
.imi-scroll-x{ overflow-x: auto; }

/* --- 15. Виджет Button Elementor ----------------------------------------
   Класс ставится на виджет, стиль применяется к самой ссылке внутри.     */
.elementor-widget-button.imi-btn .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:15px 28px;
  font-family:var(--imi-fd);font-weight:700;font-size:1.04rem;line-height:1;
  border:0;border-radius:var(--imi-r);
  transition:background .18s,color .18s,box-shadow .18s;
}
.elementor-widget-button.imi-btn--gold  .elementor-button{background:var(--imi-gold);color:var(--imi-on-gold)}
.elementor-widget-button.imi-btn--gold  .elementor-button:hover{background:var(--imi-gold-2);color:var(--imi-on-gold)}
.elementor-widget-button.imi-btn--ink   .elementor-button,
.elementor-widget-button.imi-btn--bone  .elementor-button{background:var(--imi-ink);color:var(--imi-on-ink)}
.elementor-widget-button.imi-btn--ink   .elementor-button:hover,
.elementor-widget-button.imi-btn--bone  .elementor-button:hover{background:var(--imi-gold);color:var(--imi-on-gold)}
.elementor-widget-button.imi-btn--ghost .elementor-button{background:var(--imi-void);color:var(--imi-bone);box-shadow:inset 0 0 0 1px var(--imi-edge-2)}
.elementor-widget-button.imi-btn--ghost .elementor-button:hover{background:var(--imi-steel);color:var(--imi-bone);box-shadow:inset 0 0 0 1px var(--imi-bone)}
.elementor-widget-button.imi-btn--sm .elementor-button{min-height:40px;padding:11px 18px;font-size:.9rem}

/* --- 16. Шапка и навигация --------------------------------------------- */
.imi-header{position:sticky;top:0;z-index:80;background:var(--imi-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--imi-edge)}
.imi-nav{display:flex;align-items:center;gap:var(--imi-nav-gap,clamp(11px,1.6vw,24px));margin:0;padding:0;list-style:none}
.imi-nav li{margin:0;position:relative}
.imi-nav a{display:block;padding:6px 0;font-family:var(--imi-fd);font-weight:700;font-size:var(--imi-nav-size,1.02rem);letter-spacing:.015em;color:var(--imi-ash);text-decoration:none;border-bottom:2px solid transparent;transition:color .16s,border-color .16s;white-space:nowrap}
.imi-nav a:hover,.imi-nav .current-menu-item>a,.imi-nav .current-menu-ancestor>a{color:var(--imi-bone);border-color:var(--imi-gold)}
/* выпадающее меню второго уровня */
.imi-nav .sub-menu{position:absolute;right:0;top:100%;min-width:240px;margin:0;padding:6px 0;list-style:none;background:var(--imi-void);box-shadow:0 0 0 1px var(--imi-edge), var(--imi-shadow-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90}
.imi-nav li:hover>.sub-menu,.imi-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.imi-nav .sub-menu a{padding:9px 16px;font-family:var(--imi-fc);font-weight:600;font-size:.86rem;border:0;color:var(--imi-ash)}
.imi-nav .sub-menu a:hover{color:var(--imi-bone);background:var(--imi-steel)}
.imi-nav .sub-menu .sub-menu{right:100%;top:0}
/* бургер */
.imi-burger{display:none;width:38px;height:38px;place-items:center;color:var(--imi-ash);box-shadow:inset 0 0 0 1px var(--imi-edge);cursor:pointer;background:none;border:0}
.imi-burger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
@media (max-width:1100px){
  .imi-burger{display:grid}
  .imi-nav-wrap{display:none;position:fixed;inset:0;top:0;z-index:100;background:var(--imi-void);padding:80px var(--imi-gut) 40px;overflow-y:auto}
  .imi-nav-wrap.is-open{display:block}
  .imi-nav{flex-direction:column;align-items:stretch;gap:0}
  .imi-nav a{padding:14px 0;border-bottom:1px solid var(--imi-edge);font-size:var(--imi-nav-size-m,1.4rem)}
  .imi-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:none;padding:0 18px 0 0}
  .imi-nav .sub-menu a{font-size:1rem;padding:10px 0}
  .imi-nav-close{position:fixed;top:18px;left:var(--imi-gut);z-index:101}
}
body.imi-nav-open{overflow:hidden}

/* --- 17. Карточка журнала ------------------------------------------------ */
.imi-jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
@media (max-width:900px){.imi-jgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.imi-jgrid{grid-template-columns:1fr}}
.imi-jc{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;background:var(--imi-void);border:1px solid var(--imi-edge);border-radius:var(--imi-r-lg);overflow:hidden;transition:border-color .2s,box-shadow .25s,transform .25s var(--imi-ease)}
.imi-jc:hover{border-color:var(--imi-edge-2);box-shadow:var(--imi-shadow-2);transform:translateY(-2px)}
.imi-jc__fig{aspect-ratio:16/10;overflow:hidden;background:none}
.imi-jc__fig img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .65s var(--imi-ease)}
.imi-jc:hover .imi-jc__fig img{transform:scale(1.03)}
.imi-jc__b{display:flex;flex-direction:column;gap:10px;padding:18px 20px 22px}
.imi-jc__m{display:flex;gap:10px;align-items:center;font-family:var(--imi-fc);font-weight:600;font-size:.74rem;color:var(--imi-ash-2)}
.imi-jc__m .c{color:var(--imi-gold-2)}
.imi-jc h4{margin:0;font-family:var(--imi-fd);font-weight:700;font-size:clamp(1.12rem,1.6vw,1.36rem);line-height:1;color:var(--imi-bone)}
.imi-jc:hover h4{color:var(--imi-gold-2)}
.imi-jc p{margin:0;font-size:.88rem;color:var(--imi-ash);line-height:1.55}
/* Если у карточки нет обёртки .imi-jc__b — отступы получают сами блоки */
.imi-jc > .imi-jc__m{padding:18px 20px 0}
.imi-jc > h4{padding:8px 20px 0}
.imi-jc > p{padding:8px 20px 22px}

/* --- 18. Мост с Elementor -----------------------------------------------
   Elementor вешает CSS-класс на обёртку виджета, а не на сам заголовок.
   Эти правила заставляют содержимое наследовать стиль обёртки.          */
.elementor-widget.imi-d1 .elementor-heading-title,
.elementor-widget.imi-d2 .elementor-heading-title,
.elementor-widget.imi-d3 .elementor-heading-title,
.elementor-widget.imi-d4 .elementor-heading-title,
.elementor-widget.imi-label .elementor-heading-title,
.elementor-widget.imi-cap .elementor-heading-title{
  font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;margin:0;padding:0}
.elementor-widget.imi-label{display:flex;align-items:center;gap:10px}
.elementor-widget.imi-label>.elementor-widget-container{display:contents}
.elementor-widget.imi-lead p,.elementor-widget.imi-small p{margin:0;color:inherit;font-size:inherit;line-height:inherit}
.elementor-widget.imi-lead p+p,.elementor-widget.imi-small p+p{margin-top:12px}

/* Сетка на контейнере Elementor: у полноширинного контейнера дети — прямые */
.e-con.imi-grid{display:grid}
.e-con.imi-grid>.e-con{margin:0;min-height:0}
.imi-grid--5{grid-template-columns:1.5fr repeat(4,1fr)}
@media (max-width:1024px){.imi-grid--5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.imi-grid--5{grid-template-columns:1fr}}

/* --- 19. Подвал ---------------------------------------------------------- */
.imi-footer{background:var(--imi-steel);border-top:1px solid var(--imi-edge);color:var(--imi-ash)}
.imi-footer .imi-grid{background:transparent;box-shadow:none;gap:clamp(22px,3vw,44px)}
.imi-footer .imi-grid>*{background:transparent}
.imi-footer-menu{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.imi-footer-menu a{font-size:.88rem;color:var(--imi-ash);text-decoration:none;transition:color .15s}
.imi-footer-menu a:hover{color:var(--imi-gold-2)}
.imi-footer__h{margin:0 0 14px;font-family:var(--imi-fc);font-weight:700;font-size:.76rem;color:var(--imi-bone)}
.imi-footer__bar{border-top:1px solid var(--imi-edge);padding-block:20px;display:flex;gap:18px;flex-wrap:wrap;font-family:var(--imi-fc);font-weight:500;font-size:.78rem;color:var(--imi-ash-2)}
.imi-footer__bar .end{margin-right:auto}

/* --- 20. Длинный текст (политики, статьи) -------------------------------- */
.imi-prose{color:var(--imi-text);font-size:1.02rem;line-height:1.72}
.imi-prose p,.imi-prose li{max-width:70ch}
.imi-prose h1,.imi-prose h2,.imi-prose h3,.imi-prose h4{font-family:var(--imi-fd);font-weight:800;line-height:.92;color:var(--imi-bone);margin:40px 0 14px}
.imi-prose h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.imi-prose h2::before{content:"";display:block;width:38px;height:3px;background:var(--imi-gold);margin-bottom:16px}
.imi-prose h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.imi-prose a{color:var(--imi-gold)}
.imi-prose blockquote{margin:36px 0;padding-right:22px;border-right:3px solid var(--imi-gold);font-family:var(--imi-fd);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);line-height:.92;color:var(--imi-bone)}
.imi-prose img{margin:24px 0}
.imi-prose table{width:100%;border-collapse:collapse;font-size:.9rem}
.imi-prose th,.imi-prose td{text-align:right;padding:10px 14px;border-bottom:1px solid var(--imi-edge)}
.imi-prose th{font-family:var(--imi-fc);font-weight:600;font-size:.78rem;color:var(--imi-gold)}

/* Заголовок архива и результат поиска WooCommerce */
.woocommerce-products-header .page-title,.imi-archive-title{font-family:var(--imi-fd);font-weight:900;font-size:clamp(2.2rem,5.4vw,4.4rem);line-height:.86;letter-spacing:-.018em;margin:0 0 16px}
.term-description{color:var(--imi-ash);max-width:62ch;font-size:1.02rem;margin-bottom:24px}

/* Корзина в шапке (виджет Elementor Pro) */
.elementor-menu-cart__toggle .elementor-button{background:var(--imi-ink)!important;color:var(--imi-on-ink)!important;border-radius:var(--imi-r) !important;font-family:var(--imi-fd)!important;font-weight:700!important;}

/* --- 21. Формы Elementor Pro (контакты, подписка) ----------------------- */
.elementor-form .elementor-field-textual,
.elementor-form select.elementor-field-textual{
  background:var(--imi-void);color:var(--imi-bone);border:0;border-radius:0;
  box-shadow:inset 0 0 0 1px var(--imi-edge);padding:12px 14px;font-family:var(--imi-fb);font-size:.95rem}
.elementor-form .elementor-field-textual::placeholder{color:var(--imi-ash-2)}
.elementor-form .elementor-field-textual:focus{box-shadow:inset 0 0 0 1px var(--imi-gold);outline:0}
.elementor-form .elementor-field-label{font-family:var(--imi-fc);font-weight:600;font-size:.78rem;color:var(--imi-ash-2)}
.elementor-form .elementor-button,.elementor-form .elementor-button[type=submit]{
  background:var(--imi-gold);color:var(--imi-ink);border:0;border-radius:0;
  font-family:var(--imi-fd);font-weight:800;font-size:1rem;letter-spacing:.02em;padding:13px 24px;
  border-radius:var(--imi-r)}
.elementor-form .elementor-button:hover{background:var(--imi-gold-2);color:var(--imi-ink)}
.elementor-message{font-size:.9rem;color:var(--imi-ash)}
.elementor-message.elementor-message-success{color:var(--imi-ok)}


/* 22. Логотип Elementor (Site Logo) в шапке и подвале — фиксированная высота, чтобы файл любого размера не ломал сетку */
.elementor-location-header .elementor-widget-theme-site-logo img,
.imi-header .elementor-widget-theme-site-logo img{height:38px;width:auto;max-width:none;display:block}
.elementor-location-footer .elementor-widget-theme-site-logo img,
.imi-footer .elementor-widget-theme-site-logo img{height:46px;width:auto;max-width:none;display:block}
@media (max-width:767px){
  .elementor-location-header .elementor-widget-theme-site-logo img{height:30px}
}


/* 23. Доступность: skip link и видимый фокус */
.imi-skip{position:absolute;right:-9999px;top:0;z-index:100000;padding:10px 16px;background:var(--imi-gold);color:var(--imi-on-gold);font:700 14px/1 var(--imi-fc);text-decoration:none}
.imi-skip:focus{right:12px;top:12px;outline:2px solid var(--imi-ink);outline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--imi-gold);outline-offset:2px}

/* 24. Prop 65 на карточке товара */
.imi-prop65{margin:18px 0 0;padding:12px 14px;border:1px solid var(--imi-edge);border-right:3px solid var(--imi-gold);background:var(--imi-steel);color:var(--imi-ash);font:400 13px/1.5 var(--imi-fb)}
.imi-prop65 b{color:var(--imi-bone)}
.imi-prop65__mark{color:var(--imi-gold)}
.imi-prop65 a{color:var(--imi-gold)}

/* 25. Галочка 18+ на оформлении */
.woocommerce-checkout .imi-age{margin:0 0 16px;padding:12px 14px;border:1px solid var(--imi-edge);background:var(--imi-steel)}
.woocommerce-checkout .imi-age label{display:flex;gap:10px;align-items:flex-start;color:var(--imi-bone);font:500 14px/1.45 var(--imi-fb);cursor:pointer}
.woocommerce-checkout .imi-age input{margin-top:3px;accent-color:var(--imi-gold)}

/* 26. Полоска бесплатной доставки */
.imi-freeship{margin:0 0 18px;padding:12px 14px;border:1px solid var(--imi-edge);background:var(--imi-steel)}
.imi-freeship__text{margin:0 0 8px;color:var(--imi-ash);font:400 14px/1.4 var(--imi-fb)}
.imi-freeship__text b{color:var(--imi-bone)}
.imi-freeship__bar{height:4px;background:var(--imi-edge)}
.imi-freeship__bar i{display:block;height:100%;background:var(--imi-gold);transition:width .4s var(--imi-ease)}
.imi-freeship.is-done .imi-freeship__bar i{background:var(--imi-ok)}
.widget_shopping_cart .imi-freeship{margin:0 0 12px}


/* 27. Заголовки Elementor с классами imi-d1…d4 / imi-label / imi-lead — жёстко, поверх типографики кита */
.elementor-element.imi-d1 .elementor-heading-title,.elementor-element.imi-d2 .elementor-heading-title,
.elementor-element.imi-d3 .elementor-heading-title,.elementor-element.imi-d4 .elementor-heading-title{
  font-family:var(--imi-fd)!important;font-weight:inherit!important;font-size:inherit!important;line-height:inherit!important;
  letter-spacing:inherit!important;color:inherit;margin:0}
.elementor-element.imi-label .elementor-heading-title{
  font-family:var(--imi-fc)!important;font-weight:600!important;font-size:.78rem!important;color:var(--imi-gold);margin:0}
.elementor-element.imi-lead .elementor-heading-title,.elementor-element.imi-lead .elementor-widget-container{
  font-family:var(--imi-fb)!important;text-transform:none!important}
/* Виджет Heading без классов: h1–h4 — шрифт заголовков, тег p — надзаголовок золотом */
.elementor-widget-heading h1.elementor-heading-title,.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,.elementor-widget-heading h4.elementor-heading-title{
  font-family:var(--imi-fd)!important;line-height:.9;letter-spacing:-.01em;text-wrap:balance}
.elementor-widget-heading h1.elementor-heading-title{font-weight:900}
.elementor-widget-heading h2.elementor-heading-title{font-weight:900;font-size:clamp(2rem,4.6vw,3.6rem)}
.elementor-widget-heading h3.elementor-heading-title{font-weight:800;font-size:clamp(1.4rem,2.6vw,2.2rem)}
.elementor-widget-heading p.elementor-heading-title:not(.imi-lead .elementor-heading-title){
  font-family:var(--imi-fc)!important;font-weight:600;font-size:.8rem;
  color:var(--imi-gold);margin:0}
.elementor-widget-heading p.elementor-heading-title::before{content:"";display:inline-block;width:22px;height:1px;background:var(--imi-gold);vertical-align:middle;margin-left:10px}


/* --- 28. Шапка [imi_header] ------------------------------------------------ */
.imi-hd{position:sticky;top:0;z-index:90;background:var(--imi-void)}
.imi-hd .imi-marquee{background:var(--imi-steel);color:var(--imi-ash);border-bottom:1px solid var(--imi-edge);max-width:100%}
.imi-hd .imi-marquee__track{padding-block:6px}
.imi-hd .imi-marquee__track span{font-weight:600;font-size:.74rem;letter-spacing: .02em}
.imi-hd .imi-marquee__track span::after{background:var(--imi-gold)}
.imi-hd__bar{background:var(--imi-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--imi-edge)}
.imi-hd__in{max-width:var(--imi-max);margin-inline:auto;padding-inline:var(--imi-gut);display:flex;align-items:center;gap:8px;min-height:60px}
.imi-hd__logo{display:flex;align-items:center;flex:none;margin-left:auto;text-decoration:none}
.imi-hd .imi-hd__logo .imi-hd__logo-img{height:30px;width:auto;max-width:calc(100vw - 236px);object-fit:contain;object-position:right center;display:block}
.imi-hd__logo-img-text{font-family:var(--imi-fd);font-weight:900;font-size:1.3rem;color:var(--imi-bone)}
.imi-hd__nav{display:none}
.imi-hd__tools{display:flex;align-items:center;gap:2px;flex:none}
.imi-hd__tool{display:grid;place-items:center;width:42px;height:42px;color:var(--imi-ash);background:none;border:0;cursor:pointer;position:relative;text-decoration:none;transition:color .15s;padding:0}
.imi-hd__tool:hover{color:var(--imi-gold)}
.imi-hd__nav .current-menu-item>a,.imi-hd__nav .current-menu-ancestor>a,.imi-hd__nav .current_page_parent>a{color:var(--imi-gold)}
.imi-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.imi-hd__count{position:absolute;top:3px;left:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--imi-gold);color:var(--imi-on-gold);font:700 11px/17px var(--imi-fc);text-align:center;display:none}
.imi-hd__count.is-on{display:block}
.imi-hd__search{border-top:1px solid var(--imi-edge);background:var(--imi-steel)}
.imi-hd__search[hidden]{display:none}
.imi-hd__search .imi-hd__in{min-height:0;padding-block:12px}
.imi-hd__search form{display:flex;width:100%;gap:0;margin:0}
.imi-hd__search form>*{margin:0}
.imi-hd__search input[type=search]{flex:1;min-width:0;background:var(--imi-void);color:var(--imi-bone);border:0;box-shadow:inset 0 0 0 1px var(--imi-edge);border-radius:0;padding:12px 14px;font:400 1rem var(--imi-fb)}
.imi-hd__search input[type=search]:focus{box-shadow:inset 0 0 0 1px var(--imi-bone);outline:0}
.imi-hd__search button{background:var(--imi-bone);color:var(--imi-void);border:0;border-radius:0;padding:0 18px;font:700 .8rem var(--imi-fc);cursor:pointer}
.imi-hd__search label{position:absolute;right:-9999px}
.imi-hd__nav .imi-nav{flex-wrap:nowrap}
@media (min-width:1025px){
  .imi-hd__burger{display:none}
  .imi-hd__in{min-height:70px;gap:14px}
  .imi-hd__logo{margin-left:clamp(18px,3vw,44px)}
  .imi-hd .imi-hd__logo .imi-hd__logo-img{height:40px;max-width:280px}
  .imi-hd__nav{display:block;flex:1 1 auto;min-width:0;margin-left:auto}
}
/* Выезжающее меню */
.imi-drawer{position:fixed;inset:0;z-index:200}
.imi-drawer[hidden]{display:none}
.imi-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity .25s}
.imi-drawer.is-open .imi-drawer__backdrop{opacity:1}
.imi-drawer__panel{position:absolute;top:0;bottom:0;right:0;width:min(88vw,380px);background:var(--imi-void);border-left:1px solid var(--imi-edge);box-shadow:var(--imi-shadow-3);display:flex;flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform .25s var(--imi-ease)}
.imi-drawer.is-open .imi-drawer__panel{transform:none}
.imi-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 8px 8px;border-bottom:1px solid var(--imi-edge)}
.imi-drawer__title{font:700 .78rem var(--imi-fc);color:var(--imi-ash-2)}
.imi-drawer__nav{list-style:none;margin:0;padding:6px 0}
.imi-drawer__nav li{border-bottom:1px solid var(--imi-edge);margin:0}
.imi-drawer__nav>li>a{display:block;padding:14px 20px 14px 56px;font:700 1.15rem var(--imi-fd);color:var(--imi-bone);text-decoration:none}
.imi-drawer__nav .menu-item-has-children{position:relative}
.imi-drawer__nav .imi-sub-toggle{position:absolute;left:6px;top:5px;width:42px;height:42px;display:grid;place-items:center;background:none;border:0;color:var(--imi-ash);cursor:pointer;padding:0}
.imi-drawer__nav .imi-sub-toggle .imi-ico{transition:transform .2s}
.imi-drawer__nav .is-open>.imi-sub-toggle .imi-ico{transform:rotate(180deg)}
.imi-drawer__nav .sub-menu{display:none;list-style:none;margin:0;padding:0 0 8px;background:var(--imi-steel)}
.imi-drawer__nav .is-open>.sub-menu{display:block}
.imi-drawer__nav .sub-menu li{border:0}
.imi-drawer__nav .sub-menu a{display:block;padding:9px 32px 9px 20px;font:600 .88rem var(--imi-fc);color:var(--imi-ash);text-decoration:none}
.imi-drawer__nav .sub-menu a:hover{color:var(--imi-bone)}
.imi-drawer__foot{margin-top:auto;padding:16px 20px;display:flex;gap:18px;border-top:1px solid var(--imi-edge)}
.imi-drawer__foot a{font:600 .78rem var(--imi-fc);color:var(--imi-ash);text-decoration:none}
body.imi-drawer-open{overflow:hidden}
@media (max-width:1024px){ html{overflow-x:clip} }

/* --- 29. Подвал [imi_footer] ------------------------------------------------ */
.imi-ft{background:var(--imi-steel);border-top:1px solid var(--imi-edge);color:var(--imi-ash)}
.imi-ft__in{max-width:var(--imi-max);margin-inline:auto;padding-inline:var(--imi-gut)}
.imi-ft__grid{display:grid;grid-template-columns:1fr;gap:32px;padding-block:clamp(40px,5vw,68px) clamp(30px,3.4vw,44px)}
.imi-ft__brand p{margin:16px 0 0;max-width:40ch;font-size:.95rem;line-height:1.65;color:var(--imi-ash)}
.imi-ft .imi-ft__logo-img{height:44px;width:auto;max-width:min(70vw,300px);object-fit:contain;object-position:right center;display:block}
.imi-ft__logo-img-text{font-family:var(--imi-fd);font-weight:800;font-size:1.4rem;color:var(--imi-bone)}
.imi-ft__h{margin:0 0 14px;font:700 .76rem var(--imi-fc);color:var(--imi-bone)}
.imi-ft__menu{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.imi-ft__menu li{margin:0}
.imi-ft__menu a{color:var(--imi-ash);font-size:.9rem;text-decoration:none;transition:color .15s}
.imi-ft__menu a:hover{color:var(--imi-gold-2)}
.imi-ft__bar{border-top:1px solid var(--imi-edge);background:var(--imi-steel-2)}
.imi-ft__bar .imi-ft__in{display:flex;flex-wrap:wrap;gap:8px 22px;padding-block:18px;font:500 .72rem var(--imi-fc);color:var(--imi-ash-2)}
.imi-ft__bar a{color:var(--imi-ash-2);text-decoration:none}
.imi-ft__bar a:hover{color:var(--imi-gold-2)}
.imi-ft__end{margin-right:auto}
@media (min-width:640px){.imi-ft__grid{grid-template-columns:1fr 1fr}.imi-ft__brand{grid-column:1/-1}}
@media (min-width:1025px){.imi-ft__grid{grid-template-columns:1.5fr repeat(4,1fr);gap:44px}.imi-ft__brand{grid-column:auto}}

/* --- 30. Заголовок товара [imi_product_title] ------------------------------- */
.imi-ptitle{font-family:var(--imi-fd);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:.86;letter-spacing:-.018em;margin:0 0 14px;color:var(--imi-bone)}


/* --- 31. Поправки под выбранный шрифт заголовков ------------------------- */
body.imi-font-bebas .imi-d1,body.imi-font-bebas .imi-d2,body.imi-font-bebas .imi-d3,body.imi-font-bebas .imi-d4,
body.imi-font-bebas .elementor-element.imi-d1 .elementor-heading-title,body.imi-font-bebas .elementor-element.imi-d2 .elementor-heading-title,
body.imi-font-bebas .woocommerce ul.products li.product .woocommerce-loop-product__title,body.imi-font-bebas .imi-ptitle{ letter-spacing: .012em; }
body.imi-font-bebas .imi-d1{ line-height: .9; } body.imi-font-bebas .imi-d2{ line-height: .92; }
body.imi-font-teko .imi-d1{ line-height: .84; letter-spacing: -.005em; }
body.imi-font-teko .imi-d2{ line-height: .88; letter-spacing: -.004em; }
body.imi-font-teko .imi-nav a,
body.imi-font-teko .imi-hd__nav .imi-nav a{ font-size: 1.2rem; }
body.imi-font-teko .imi-mega__tab{ font-size: 1.04rem; }
body.imi-font-teko .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.imi-font-teko .imi-ptitle{ letter-spacing: .01em; line-height: 1; }
body.imi-font-teko .imi-btn,
body.imi-font-teko .woocommerce a.button,
body.imi-font-teko .woocommerce button.button{ font-size: 1.12rem; }
/* Cairo в мелких подписях: чуть плотнее трекинг, чем у прежнего Barlow Condensed */
.imi-cap, .imi-small, .imi-loop-data, .imi-tile__n, .imi-badge, .imi-mega__name{ }


/* --- 32. Знаки ™ и ® — надстрочные (inc/trademark.php + theme.js) --------- */
.imi-tm{font-size:.5em;line-height:0;position:relative;top:-.85em;vertical-align:baseline;margin-right:.05em;font-weight:600;letter-spacing:0;text-transform:none}
.imi-tm,.imi-tm *{font-family:var(--imi-fb)}
h1 .imi-tm,h2 .imi-tm,h3 .imi-tm,.imi-d1 .imi-tm,.imi-d2 .imi-tm,.imi-d3 .imi-tm,.woocommerce-loop-product__title .imi-tm,.product_title .imi-tm,.imi-mega__head .imi-tm{font-size:.34em;top:-1.55em;font-weight:600;margin-right:.04em}
.imi-label .imi-tm,.imi-cap .imi-tm,.imi-btn .imi-tm,.elementor-button .imi-tm,.imi-hd__nav .imi-tm,.imi-drawer__nav .imi-tm,.imi-mega__tab .imi-tm,.imi-marquee .imi-tm,.imi-loop-cat .imi-tm,.imi-ft__h .imi-tm,.imi-mega__name .imi-tm,.imi-badge .imi-tm{font-size:.58em;top:-.8em;margin-right:-.06em}


/* --- 33. Шапка на телефоне и планшете: бургер слева, логотип по центру, поиск и корзина справа --- */
@media (max-width:1024px){
  .imi-hd__in{display:grid;grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);align-items:center;gap:6px;min-height:66px;padding-block:6px}
  .imi-hd__burger{justify-self:start;margin-right:-8px}
  .imi-hd__logo{justify-self:center;margin:0}
  .imi-hd__tools{justify-self:end;margin-left:-8px}
  .imi-hd__account{display:none}
  .imi-hd .imi-hd__logo .imi-hd__logo-img{height:42px;max-width:calc(100vw - 214px);object-position:center}
  .imi-hd__search .imi-hd__in{display:flex}
}
@media (max-width:359px){ .imi-hd .imi-hd__logo .imi-hd__logo-img{height:36px} }


/* --- 34. USA рядом с логотипом: белая надпись в стиле лого ------------------ */
.imi-hd__logo{ display: flex; align-items: center; gap: 13px; }
.imi-usa{
  display: inline-block; flex: none; background: none; border-radius:0; padding:0 13px 0 0; position: relative;
  font-family: var(--imi-fd); font-weight: 700; font-size: var(--imi-usa-size, 27px); line-height: .78; color: var(--imi-bone); white-space: nowrap;
}
.imi-usa::before{
  content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 2px; height: 1.15em; background: var(--imi-edge-2);
}
.imi-ft__logo{ display: inline-flex; align-items: center; gap: 12px; }
.imi-usa--ft{ --imi-usa-size: 28px; }
@media (min-width: 1025px){ .imi-hd__logo .imi-usa{ --imi-usa-size: 36px; } .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-width: min(430px, 30vw); } }
@media (max-width: 1024px){ .imi-hd__logo{ gap: 10px; } .imi-hd__logo .imi-usa{ --imi-usa-size: 27px; padding-right: 10px; } }
@media (max-width: 359px){ .imi-hd__logo .imi-usa{ --imi-usa-size: 22px; padding-right: 8px; } }

/* --- 35. Плитки категорий: размеры и поведение сетки --------------------- */
.imi-tile{ min-height: 0; }
.imi-tile::before, .imi-tile::after{ content: none; }
.imi-tile .imi-tile__n::after{ content: " \2192"; }
.imi-tile__arrow{ display: block; }
/* Плитки и карточки живут в сетке с настоящими промежутками, а не на линиях */
.imi-grid:has(.imi-tile), .imi-grid:has(.imi-card), .imi-grid:has(.imi-jc){
  background: none; box-shadow:none; gap: clamp(14px, 1.6vw, 24px);
}
@media (max-width: 767px){
  .imi-grid--3:has(.imi-tile), .imi-grid--2:has(.imi-tile), .imi-grid--4:has(.imi-tile){ gap: 12px; }
  .imi-tile img{ aspect-ratio: 16 / 10; }
  .imi-tile__c{ padding:14px 14px 16px; }
}
@media (min-width: 480px) and (max-width: 767px){ .imi-grid--3:has(.imi-tile){ grid-template-columns: 1fr 1fr; } }

/* --- 36. Цели для тапа --- */
.imi-hd__tool{ width: 44px; height: 44px; }
.imi-btn, .elementor-button.imi-btn, .woocommerce a.button, .woocommerce button.button{ min-height: 44px; }
.imi-ft__menu a{ display: inline-block; padding:5px 0; color: var(--imi-text); }
.imi-marquee__track span a{ color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--imi-gold); }
.imi-drawer__foot a{ padding:10px 0; }


/* --- 37. Акценты: золото бренда точечно, спокойное чередование секций ----- */
.imi-hd__bar{ border-bottom: 1px solid var(--imi-edge); }
.imi-hd__nav .imi-nav a{ position: relative; color: var(--imi-ash); }
.imi-hd__nav .imi-nav a:hover{ color: var(--imi-bone); }
.imi-hd__nav .imi-nav > li > a::after{ content: ""; position: absolute; right: 0; left: 0; bottom: -2px; height: 2px; background: var(--imi-gold); transform: scaleX(0); transform-origin:right; transition: transform .2s var(--imi-ease); }
.imi-hd__nav .imi-nav > li:hover > a::after, .imi-hd__nav .current-menu-item > a::after, .imi-hd__nav .current-menu-ancestor > a::after{ transform: none; }
.imi-hd__nav .current-menu-item > a, .imi-hd__nav .current-menu-ancestor > a{ color: var(--imi-bone); }
.imi-drawer__nav > li > a:hover{ color: var(--imi-gold-2); }
.imi-drawer__panel{ border-top: 3px solid var(--imi-gold); }

/* Чередование секций: белая — светло-серая. Без линий и градиентов. */
.elementor .e-con.e-parent:nth-of-type(even){ background: var(--imi-steel); }
.elementor .e-con.e-parent{ padding-top: var(--imi-sec-sm); padding-bottom: var(--imi-sec-sm); }
.elementor .e-con.e-parent:first-of-type{ padding-top: 0; padding-bottom: 0; }

/* Ячейки сетки — без цветных кромок */
.imi-grid > .imi-cell{ border-top: 0; }
.imi-cell .imi-d4{ color: var(--imi-bone); }

/* Каталог и карточка товара */
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover{ color: var(--imi-gold-2); }
.woocommerce-products-header .page-title::after{ content: ""; display: block; width: 64px; height: 3px; background: var(--imi-gold); margin-top: 14px; }

/* Формы: фокус золотом, отправка — тёмная кнопка */
.elementor-field-group .elementor-field:focus, .woocommerce form .form-row .input-text:focus{ box-shadow:inset 0 0 0 1px var(--imi-gold) !important; outline: 0; }
.elementor-button[type=submit]{ background: var(--imi-ink) !important; color: var(--imi-on-ink) !important; }
.elementor-button[type=submit]:hover{ background: var(--imi-gold) !important; color: var(--imi-on-gold) !important; }


/* --- 38. Мега-меню в шапке ------------------------------------------------- */
.imi-hd__bar{ position: relative; }
.imi-hd__nav .imi-nav > li.imi-has-mega{ position: static; }
.imi-hd__nav .imi-nav > li.imi-has-mega > .sub-menu{ display: none; }
.imi-mega{ position: absolute; right: 0; left: 0; top: 100%; z-index: 90; background: var(--imi-void); border-top: 1px solid var(--imi-edge); box-shadow:var(--imi-shadow-3); }
.imi-mega[hidden]{ display: none; }
.imi-mega__in{ max-width: none; margin-inline: 0; padding:34px clamp(20px, 2.6vw, 56px) 40px; display: grid; grid-template-columns: 264px minmax(0,1fr); gap: clamp(28px, 2.6vw, 52px); align-items: start; }
.imi-mega.has-promo .imi-mega__in{ grid-template-columns: 264px minmax(0,1fr) clamp(280px, 20vw, 360px); }
@media (max-width: 1520px){ .imi-mega.has-promo .imi-mega__in{ grid-template-columns: 240px minmax(0,1fr); } .imi-mega__promo{ display: none; } }
.imi-mega__rail{ list-style: none; margin:0; padding:0 0 0 16px; display: grid; gap: 2px; border-left: 1px solid var(--imi-edge); }
.imi-mega__rail li{ margin:0; }
.imi-mega__tab{ display: block; overflow-wrap: anywhere; padding:13px 16px; background: none; color: var(--imi-ash); font: 700 1.04rem/1.15 var(--imi-fd); text-decoration: none; border-radius:var(--imi-r); border-right: 3px solid transparent; transition: background .15s, color .15s, border-color .15s; }
.imi-mega__tab:hover{ background: var(--imi-steel); color: var(--imi-bone); }
.imi-mega__tab.is-on{ background: var(--imi-steel); color: var(--imi-bone); border-right-color: var(--imi-gold); }
.imi-mega__pane{ display: none; }
.imi-mega__pane.is-on{ display: block; }
.imi-mega__head{ display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin:0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--imi-edge); }
.imi-mega__head h4{ margin:0; min-width: 0; overflow-wrap: anywhere; font: 700 1.28rem/1 var(--imi-fd); letter-spacing: .02em; color: var(--imi-bone); }
.imi-mega__all{ font: 600 .76rem/1 var(--imi-fc); color: var(--imi-gold-2); text-decoration: none; white-space: nowrap; }
.imi-mega__all:hover{ color: var(--imi-bone); text-decoration: underline; text-underline-offset: 3px; }
.imi-mega__grid{ list-style: none; margin:0; padding:0; display: grid; grid-template-columns: repeat(auto-fill, minmax(186px, 1fr)); gap: 26px 20px; }
@media (max-width: 1600px){ .imi-mega__grid{ grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 22px 18px; } }
@media (max-width: 1440px){ .imi-mega__grid{ grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px 16px; } }
.imi-mega__grid li{ margin:0; min-width: 0; }
.imi-mega__grid a{ display: grid; gap: 11px; min-width: 0; text-decoration: none; color: var(--imi-bone); }
.imi-mega__ph{ display: block; width: 100%; aspect-ratio: 1/1; background: var(--imi-photo-bg); overflow: hidden; }
.imi-mega__ph img{ width: 100%; height: 100%; object-fit: contain; padding:9%; mix-blend-mode: multiply; display: block; transition: transform .35s var(--imi-ease); }

.imi-mega__grid a:hover .imi-mega__ph img{ transform: scale(1.05); }
.imi-mega__name{ display: block; min-width: 0; font: 600 .84rem/1.32 var(--imi-fc); color: var(--imi-ash); text-align: center; overflow-wrap: anywhere; word-break: break-word; }
.imi-mega__grid a:hover .imi-mega__name{ color: var(--imi-bone); }
.imi-mega__promo{ display: block; }
.imi-mega__promo-in{ display: block; position: relative; min-height: 268px; overflow: hidden; text-decoration: none; color: var(--imi-invert); background: var(--imi-plate); border-radius:var(--imi-r); }
.imi-mega__promo-img{ position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover; filter: none; transition: transform .5s var(--imi-ease); }
.imi-mega__promo-in::after{ content: ""; position: absolute; inset:0; background: linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.18) 52%, rgba(0,0,0,0) 78%); }
.imi-mega__promo-in:hover .imi-mega__promo-img{ transform: scale(1.04); }
.imi-mega__promo-c{ position: relative; z-index: 2; display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding:20px; height: 100%; justify-content: flex-end; min-height: 268px; }
.imi-mega__promo-c > *{ max-width: 100%; overflow-wrap: anywhere; }
.imi-mega__promo-c b{ font: 800 1.28rem/1 var(--imi-fd); color: var(--imi-invert); }
.imi-mega__promo-t{ font-size: .86rem; line-height: 1.45; color: rgba(255,255,255,.86); }
.imi-mega__promo-b{ margin-top: 6px; align-self: flex-start; background: var(--imi-gold); color: var(--imi-on-gold); font: 700 .8rem/1 var(--imi-fd); padding:12px 16px; text-align: center; border-radius:var(--imi-r); }
@media (max-width: 1339px){ .imi-mega{ display: none !important; } }


/* --- 39. Шапка: крупный логотип слева, меню по центру, значки у края --------- */
@media (min-width: 1025px){
  .imi-hd__bar > .imi-hd__in{ max-width: none; padding-inline: clamp(16px, 2.2vw, 34px); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; min-height: 86px; }
  .imi-hd__logo{ margin:0; justify-self: start; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ height: 56px; max-width: min(360px, 26vw); }
  .imi-hd__nav{ display: flex; justify-content: center; margin:0; min-width: 0; flex: none; }
  .imi-hd__nav .imi-nav{ justify-content: center; }
  .imi-hd__tools{ justify-self: end; margin-left: -6px; }
}
.imi-hd__search .imi-hd__in{ display: flex; }

/* Длинные названия в мега-меню переносятся (в .imi-nav a стоит nowrap) */
.imi-mega a{ white-space: normal; letter-spacing: normal; border: 0; }
.imi-mega__name{ white-space: normal; }

/* --- 40. Фотографии в исходном виде, без затемнения ------------------------ */
.imi-tile img, .imi-tile:hover img,
.imi-jc__fig img, .imi-jc:hover .imi-jc__fig img,
.imi-mono img, img.imi-mono,
.elementor img[style*="grayscale"]{ filter: none !important; }


/* --- 41. Крупнее шапка и бегущая строка, ™ вплотную к слову (v1.9.0) ------- */

/* Шапка выше, логотип крупнее.
   До 1340px меню уезжает в бургер: восемь-девять пунктов в один ряд там не помещаются
   (в §16 при узком экране .imi-nav вообще становится колонкой). */
.imi-hd__in{ min-height: var(--imi-hd-min, 72px); }
.imi-hd .imi-marquee__track{ padding-block: 9px; }
.imi-hd .imi-marquee__track span{ font-size: .84rem; }
.imi-hd .imi-marquee__track span::after{ width: 5px; height: 5px; }

@media (max-width: 1339px){
  .imi-hd__bar > .imi-hd__in{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; /* было minmax(88px,1fr) по краям: на узком экране столбцы резервировали 176px, и корзина уезжала за правый край */ align-items: center; gap: 6px; min-height: 84px; padding-block: 6px; }
  .imi-hd__burger{ display: grid; justify-self: start; margin-right: -8px; }
  .imi-hd__logo{ justify-self: center; margin:0; }
  .imi-hd__nav{ display: none; }
  .imi-hd__tools{ justify-self: end; margin-left: -8px; }
  .imi-hd__account{ display: none; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ height: auto; width: auto; max-height: 56px; max-width: calc(100vw - 196px); object-fit: contain; object-position:center; }
  .imi-hd__search .imi-hd__in{ display: flex; }
}
@media (max-width: 359px){ .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-height: 44px; } }

@media (min-width: 1340px){
  .imi-hd__bar > .imi-hd__in{ min-height: var(--imi-hd-min, 96px); gap: 18px; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ height: auto; width: auto; max-height: 56px; max-width: min(240px, 20vw); object-fit: contain; object-position:right center; }
  .imi-hd__nav .imi-nav{ flex-direction: row; align-items: center; gap: var(--imi-nav-gap, 9px); }
  .imi-hd__nav .imi-nav a{ padding:9px 0; border-bottom: 2px solid transparent; }
  body.imi-font-teko .imi-hd__nav .imi-nav a{ font-size: .95rem; }
  .imi-hd__tool{ width: 46px; height: 46px; }
  .imi-hd__tool .imi-ico{ width: 23px; height: 23px; }
  .imi-hd .imi-marquee__track{ padding-block: 11px; }
  .imi-hd .imi-marquee__track span{ font-size: .9rem; }
}
/* Меню из восьми-девяти пунктов идёт одной строкой, поэтому логотип и кегль
   растут ступенями вместе с шириной экрана. */
@media (min-width: 1440px){
  .imi-hd__bar > .imi-hd__in{ min-height: 104px; gap: 20px; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-height: 62px; max-width: min(270px, 20vw); }
  .imi-hd__nav .imi-nav{ gap: 11px; }
  /* размер меню задаётся ползунком «Размер пунктов меню» (--imi-nav-size) */
  body.imi-font-teko .imi-hd__nav .imi-nav a{ font-size: 1rem; }
}
@media (min-width: 1600px){
  .imi-hd__bar > .imi-hd__in{ min-height: 112px; gap: 24px; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-height: 72px; max-width: min(320px, 21vw); }
  .imi-hd__nav .imi-nav{ gap: 14px; }
  /* размер меню задаётся ползунком «Размер пунктов меню» (--imi-nav-size) */
  body.imi-font-teko .imi-hd__nav .imi-nav a{ font-size: 1.1rem; }
}
@media (min-width: 1800px){
  .imi-hd__bar > .imi-hd__in{ min-height: 120px; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-height: 80px; max-width: min(360px, 21vw); }
  .imi-hd__nav .imi-nav{ gap: 18px; }
  /* размер меню задаётся ползунком «Размер пунктов меню» (--imi-nav-size) */
  body.imi-font-teko .imi-hd__nav .imi-nav a{ font-size: 1.2rem; }
}

/* ™ и ® вплотную к слову.
   1) Трекинг прописных добавляет пробел после последней буквы.
   2) В flex-строках знак становится отдельной ячейкой, и его отбрасывает gap. */
.imi-label .imi-tm, .imi-cap .imi-tm, .imi-btn .imi-tm, .elementor-button .imi-tm, .imi-hd__nav .imi-tm,
.imi-drawer__nav .imi-tm, .imi-mega__tab .imi-tm, .imi-marquee .imi-tm, .imi-loop-cat .imi-tm,
.imi-ft__h .imi-tm, .imi-mega__name .imi-tm, .imi-badge .imi-tm{ margin-right: -.3em; }
.imi-label > .imi-tm{ margin-right: calc(-10px - .3em); align-self: center; top: -.6em; }
.imi-btn > .imi-tm, .elementor-button > .imi-tm{ margin-right: calc(-11px - .3em); align-self: center; top: -.6em; }
.imi-mega__head > .imi-tm, .imi-footer__bar > .imi-tm{ margin-right: -18px; }
.imi-acc__btn > .imi-tm{ margin-right: -12px; }
.imi-jc__m > .imi-tm, .imi-trust li > .imi-tm{ margin-right: -10px; }
.imi-sticky__in > .imi-tm, .imi-tile__c > .imi-tm{ margin-right: -14px; }

/* Прямой текст без наклона: ни псевдокурсива, ни оси наклона у вариативных шрифтов.
   Cairo с fonts.google.com несёт ось slnt — из-за неё Safari рисует весь текст косым. */
html{ font-synthesis: weight small-caps; font-synthesis-style: none; }
body, input, select, textarea, button{ font-variation-settings: "slnt" 0; }


/* ==========================================================================
   42. Светлая система 2.0 — общий слой: секции, шапка, поиск, окна, таблицы
   ========================================================================== */

/* --- Шапка: белая, тонкая линия, тень только при прокрутке --------------- */
.imi-hd{ background: var(--imi-void); }
.imi-hd__bar{ background: var(--imi-glass); border-bottom: 1px solid var(--imi-edge); transition: box-shadow .2s, background .2s; }
.imi-hd.is-stuck .imi-hd__bar{ box-shadow:var(--imi-shadow); }
.imi-hd__tool{ color: var(--imi-ash); border-radius:var(--imi-r); }
.imi-hd__tool:hover{ color: var(--imi-bone); background: var(--imi-steel); }
.imi-hd__count{ background: var(--imi-gold); color: var(--imi-ink); }
.imi-hd__nav .imi-nav a{ font-weight: 700; }

/* Плашка под логотип. Класс --light-art / --dark-art ставит PHP по яркости файла.
   Светлая картинка на светлой теме и тёмная картинка на тёмной теме получают
   контрастную плашку (--imi-ink меняется вместе с темой). */
:root:not([data-theme="dark"]) .imi-hd__logo--light-art, :root:not([data-theme="dark"]) .imi-ft__logo--light-art,
:root[data-theme="dark"] .imi-hd__logo--dark-art,        :root[data-theme="dark"] .imi-ft__logo--dark-art{
  background: var(--imi-ink); border-radius:var(--imi-r); padding:8px 14px;
}
@media (max-width: 1339px){ :root:not([data-theme="dark"]) .imi-hd__logo--light-art, :root[data-theme="dark"] .imi-hd__logo--dark-art{ padding:6px 10px; } }

/* --- Поиск в шапке ------------------------------------------------------- */
.imi-hd__search{ background: var(--imi-steel); border-top: 1px solid var(--imi-edge); }
.imi-hd__search input[type=search]{ background: var(--imi-void); color: var(--imi-bone); box-shadow:inset 0 0 0 1px var(--imi-edge); border-radius:0 var(--imi-r) var(--imi-r) 0; min-height: 50px; }
.imi-hd__search input[type=search]:focus{ box-shadow:inset 0 0 0 1px var(--imi-gold); }
.imi-hd__search input[type=search]::placeholder{ color: var(--imi-ash-2); }
.imi-hd__search button{ background: var(--imi-ink); color: var(--imi-on-ink); border-radius:var(--imi-r) 0 0 var(--imi-r); min-height: 50px; }
.imi-hd__search button:hover{ background: var(--imi-gold); color: var(--imi-on-gold); }
.imi-hd__search form{ box-shadow:var(--imi-shadow); border-radius:var(--imi-r); }

/* --- Секции страницы ----------------------------------------------------- */
.imi-sec{ padding-block: var(--imi-sec); }
.imi-sec--sm{ padding-block: var(--imi-sec-sm); }
.imi-sec--grey{ background: var(--imi-steel); }
.imi-sec__head{ display: flex; flex-direction: column; gap: 12px; margin-bottom: clamp(22px, 2.6vw, 38px); }

/* Сетка с линиями: на светлом это тонкие серые разделители */
.imi-grid{ background: var(--imi-edge); box-shadow:0 0 0 1px var(--imi-edge); }
.imi-grid > *{ background: var(--imi-void); }

/* --- Всплывающие окна (Elementor Popup, cookie, уведомления) ------------- */
.dialog-widget-content, .elementor-popup-modal .dialog-message,
.dialog-lightbox-widget-content, .pum-container, .cookie-notice-container, #cookie-law-info-bar{
  background: var(--imi-void) !important; color: var(--imi-bone) !important;
  border-radius:var(--imi-r-lg); box-shadow:var(--imi-shadow-3) !important;
}
.dialog-widget-content h1, .dialog-widget-content h2, .dialog-widget-content h3, .pum-container h2{ color: var(--imi-white); }
.dialog-close-button, .pum-close{ color: var(--imi-ash) !important; }
.dialog-close-button:hover{ color: var(--imi-bone) !important; }
.elementor-popup-modal .dialog-widget-content{ border: 1px solid var(--imi-edge); }
#cookie-law-info-bar, .cookie-notice-container{ border-top: 1px solid var(--imi-edge); }
.cli-plugin-button, .cookie-notice-container .cn-button{ background: var(--imi-ink) !important; color: var(--imi-on-ink) !important; border-radius:var(--imi-r) !important; }

/* --- Таблицы в тексте ---------------------------------------------------- */
.imi-prose table, table.imi-table{ width: 100%; border-collapse: collapse; background: var(--imi-void); }
.imi-prose th, table.imi-table th{ background: var(--imi-steel); color: var(--imi-ash-2); font-family: var(--imi-fc); font-weight: 700; font-size: .76rem; }
.imi-prose th, .imi-prose td, table.imi-table th, table.imi-table td{ border-bottom: 1px solid var(--imi-edge); padding:12px 14px; text-align: right; }
.imi-prose tr:last-child td{ border-bottom: 0; }

/* --- Длинный текст ------------------------------------------------------- */
.imi-prose{ color: var(--imi-text); }
.imi-prose h1, .imi-prose h2, .imi-prose h3, .imi-prose h4{ color: var(--imi-white); font-weight: 700; }
.imi-prose h2::before{ background: var(--imi-gold); }
.imi-prose blockquote{ color: var(--imi-bone); font-weight: 700; border-right-color: var(--imi-gold); }
.imi-prose a{ color: var(--imi-bone); }

/* --- Предупреждения и панели -------------------------------------------- */
.imi-note{ background: var(--imi-void); box-shadow:inset 0 0 0 1px var(--imi-edge), var(--imi-shadow); border-radius:var(--imi-r); }
.imi-note h4{ color: var(--imi-white); }
.imi-note p{ color: var(--imi-text); }
.imi-note a{ color: var(--imi-bone); border-bottom-color: var(--imi-gold); }
.imi-prop65, .woocommerce-checkout .imi-age, .imi-freeship{ background: var(--imi-steel); border-color:var(--imi-edge); border-radius:var(--imi-r); color: var(--imi-text); }
.imi-prop65 b, .imi-freeship__text b{ color: var(--imi-bone); }
.imi-statecheck{ background: var(--imi-steel); border-radius:var(--imi-r-lg); }
.imi-statecheck button{ background: var(--imi-ink); color: var(--imi-on-ink); border-radius:var(--imi-r); }
.imi-statecheck button:hover{ background: var(--imi-gold); color: var(--imi-on-gold); }
.imi-statecheck select{ border-radius:var(--imi-r); min-height: 46px; }
.imi-chips{ background: var(--imi-edge); }
.imi-chips > span{ background: var(--imi-void); color: var(--imi-ash-2); }
.imi-chips > span b{ color: var(--imi-bone); }
.imi-figure b{ color: var(--imi-bone); }
.imi-figure, .imi-step, .imi-op{ background: var(--imi-void); }
.imi-step:hover{ background: var(--imi-steel); }
.imi-step b{ color: var(--imi-edge-2); }
.imi-step:hover b{ color: var(--imi-gold); }
.imi-op__q{ color: var(--imi-bone); }
.imi-op__av{ background: var(--imi-steel-2); color: var(--imi-gold-2); box-shadow:inset 0 0 0 1px var(--imi-edge); }

/* --- Формы Elementor ----------------------------------------------------- */
.elementor-form .elementor-field-textual, .elementor-form select.elementor-field-textual{
  background: var(--imi-void); color: var(--imi-bone); box-shadow:inset 0 0 0 1px var(--imi-edge);
  border-radius:var(--imi-r); min-height: 50px; padding:13px 15px;
}
.elementor-form .elementor-field-textual:focus{ box-shadow:inset 0 0 0 1px var(--imi-gold); }
.elementor-form .elementor-field-label{ color: var(--imi-ash-2); }
.elementor-form .elementor-button, .elementor-form .elementor-button[type=submit]{
  background: var(--imi-ink); color: var(--imi-on-ink); border-radius:var(--imi-r);
  font-weight: 700; padding:15px 26px; min-height: 50px;
}
.elementor-form .elementor-button:hover{ background: var(--imi-gold); color: var(--imi-on-gold); }
.elementor-message{ color: var(--imi-ash); }
.elementor-message.elementor-message-danger, .elementor-message.elementor-message-error{ color: var(--imi-sig); }

/* --- 404 и пустые состояния ---------------------------------------------- */
.error404 .imi-wrap, .imi-empty{ text-align: right; }
.imi-empty{ background: var(--imi-steel); border-radius:var(--imi-r-lg); padding:clamp(28px,4vw,52px); }

/* --- Поля ввода вне WooCommerce ------------------------------------------ */
input[type=text], input[type=email], input[type=search], input[type=tel], input[type=url], input[type=password], input[type=number], textarea, select{
  background: var(--imi-void); color: var(--imi-bone); border: 1px solid var(--imi-edge); border-radius:var(--imi-r);
}
input:focus, textarea:focus, select:focus{ border-color:var(--imi-gold); outline: 0; }

/* --- Телефон: поля и отступы --------------------------------------------- */
@media (max-width: 767px){
  .imi-wrap{ padding-inline: var(--imi-gut); }
  .imi-sec{ padding-block: clamp(36px, 8vw, 56px); }
  .imi-cell{ padding:18px 16px; }
}

/* --- Разворот «текст + фотография» (главная, About, посадочные) ----------- */
.imi-split{ display: grid; grid-template-columns: 1fr; gap: clamp(24px, 3vw, 48px); align-items: center; }
@media (min-width: 900px){
  .imi-split{ grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(32px, 4vw, 72px); }
  .imi-split--rev > :first-child{ order: 2; }
}
.imi-split figure img{ border-radius:var(--imi-r-lg); }

/* --- Фотогерой: единственное место, где текст лежит поверх снимка --------- */
.imi-hero-photo{ position: relative; overflow: hidden; background: var(--imi-steel); }
.imi-hero-photo .imi-wrap{ position: relative; z-index: 2; }
.imi-hero-photo h1, .imi-hero-photo .imi-d1, .imi-hero-photo .imi-lead, .imi-hero-photo .imi-label{ color: var(--imi-invert); }

/* Текст поверх фотогероя всегда белый — даже если страница ещё со старой вёрсткой */
.imi-hero-photo .imi-d1, .imi-hero-photo h1, .imi-hero-photo h2, .imi-hero-photo .imi-lead, .imi-hero-photo .imi-small, .imi-hero-photo .imi-label,
.elementor-widget-html div[style*="min-height:min("] .imi-d1,
.elementor-widget-html div[style*="min-height:min("] h1,
.elementor-widget-html div[style*="min-height:min("] h2,
.elementor-widget-html div[style*="min-height:min("] .imi-lead,
.elementor-widget-html div[style*="min-height:min("] .imi-small{ color: var(--imi-invert); }
.elementor-widget-html div[style*="min-height:min("] .imi-label{ color: var(--imi-gold); }
.imi-hero-photo .imi-hollow,
.elementor-widget-html div[style*="min-height:min("] .imi-hollow{ color: rgba(255,255,255,.55); }
@supports (-webkit-text-stroke: 1px black){
  .imi-hero-photo .imi-hollow,
  .elementor-widget-html div[style*="min-height:min("] .imi-hollow{ color: transparent; -webkit-text-stroke-color: rgba(255,255,255,.9); }
}
.imi-hero-photo a.imi-btn--ghost,
.elementor-widget-html div[style*="min-height:min("] a.imi-btn--ghost{ background: rgba(255,255,255,.92); color: #161616; box-shadow:none; }
.imi-hero-photo a.imi-btn--ghost:hover,
.elementor-widget-html div[style*="min-height:min("] a.imi-btn--ghost:hover{ background: #fff; color: #161616; }

/* --- Страховка: старый кит Elementor ------------------------------------
   Кит (Site Settings) хранит свой фон и цвета в отдельном файле, который
   грузится после темы. Пока его не перезаписали кнопкой в IMI Setup, светлая
   тема всё равно должна применяться — поэтому фон и глобальные цвета
   переопределяются здесь. */
body{ background-color: var(--imi-void) !important; color: var(--imi-bone) !important; }
body[class*="elementor-kit-"]{
  --e-global-color-primary: var(--imi-gold);
  --e-global-color-secondary: var(--imi-ink);
  --e-global-color-text: var(--imi-ash);
  --e-global-color-accent: var(--imi-sig);
  --e-global-color-imi_void: var(--imi-void);
  --e-global-color-imi_steel: var(--imi-steel);
  --e-global-color-imi_edge: var(--imi-edge);
  --e-global-color-imi_ash2: var(--imi-ash-2);
  --e-global-color-imi_plate: var(--imi-photo-bg);
  --e-global-color-imi_gold2: var(--imi-gold-2);
}
.elementor-widget-container, .elementor-widget-text-editor, .elementor-widget-theme-post-content{ color: inherit; }

/* --- Переключатель темы ----------------------------------------------------- */
.imi-theme-toggle .imi-ico--sun{ display: none; }
:root[data-theme="dark"] .imi-theme-toggle .imi-ico--sun{ display: block; }
:root[data-theme="dark"] .imi-theme-toggle .imi-ico--moon{ display: none; }
.imi-theme-toggle--text{ display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding:10px 0; cursor: pointer; font: 600 .78rem var(--imi-fc); color: var(--imi-ash); }
.imi-theme-toggle--text .imi-ico{ width: 18px; height: 18px; }
.imi-theme-toggle--text:hover{ color: var(--imi-gold-2); }
.imi-hd__tool.imi-theme-toggle[aria-pressed="true"]{ color: var(--imi-gold); }

/* --- Фотогерой: локальное затемнение только под текстом ---------------------- */
.imi-hero-photo__scrim, .elementor-widget-html div[style*="min-height:min("] > .imi-hero-photo__scrim{
  position: absolute; inset:0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.34) 68%, rgba(0,0,0,.66) 100%),
    linear-gradient(270deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 46%, rgba(0,0,0,0) 72%);
}
@media (max-width: 767px){
  .imi-hero-photo__scrim{ background: linear-gradient(180deg, rgba(0,0,0,0) 22%, rgba(0,0,0,.42) 58%, rgba(0,0,0,.74) 100%); }
}
/* Старая вёрстка героя (до обновления текстов): читаемость держит тень текста */
.elementor-widget-html div[style*="min-height:min("] .imi-d1, .elementor-widget-html div[style*="min-height:min("] h1, .elementor-widget-html div[style*="min-height:min("] h2{ text-shadow:0 2px 18px rgba(0,0,0,.55); }
.elementor-widget-html div[style*="min-height:min("] .imi-lead, .elementor-widget-html div[style*="min-height:min("] .imi-small{ text-shadow:0 1px 3px rgba(0,0,0,.8), 0 2px 12px rgba(0,0,0,.6); }

/* --- Тёмная тема: то, что не выводится из токенов автоматически ---------------- */
:root[data-theme="dark"] .imi-hollow{ color: #4A4D4A; }
:root[data-theme="dark"] .imi-jc__fig{ background: var(--imi-steel-2); }
:root[data-theme="dark"] .imi-tile img{ background: none; }
:root[data-theme="dark"] .imi-hd__count{ color: #161616; }
:root[data-theme="dark"] .imi-btn--gold, :root[data-theme="dark"] .elementor-button.imi-btn--gold, :root[data-theme="dark"] .elementor-widget-button.imi-btn--gold .elementor-button{ color: #161616; }
:root[data-theme="dark"] .imi-btn--gold:hover, :root[data-theme="dark"] .elementor-button.imi-btn--gold:hover{ background: var(--imi-gold-2); color: #161616; }
:root[data-theme="dark"] .imi-marquee, :root[data-theme="dark"] .imi-hd .imi-marquee{ background: var(--imi-gold); color: #161616; }
:root[data-theme="dark"] .imi-hd .imi-marquee__track span{ color: #161616; }
:root[data-theme="dark"] .imi-skip{ color: #161616; }
:root[data-theme="dark"] .imi-tag, :root[data-theme="dark"] .imi-mega__promo-b, :root[data-theme="dark"] .imi-statecheck button:hover, :root[data-theme="dark"] .imi-btn--ink:hover, :root[data-theme="dark"] .imi-btn--bone:hover{ color: #161616; }
:root[data-theme="dark"] .elementor-widget-button.imi-btn--ink .elementor-button:hover, :root[data-theme="dark"] .elementor-widget-button.imi-btn--bone .elementor-button:hover{ color: #161616; }
:root[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected]{ color: #161616; }
:root[data-theme="dark"] ::selection{ color: #161616; }
:root[data-theme="dark"] .imi-hd__bar{ backdrop-filter: blur(14px); }
:root[data-theme="dark"] img.zoomImg{ background: #fff; }

:root[data-theme="dark"] .elementor-form .elementor-field-textual::placeholder, :root[data-theme="dark"] input::placeholder, :root[data-theme="dark"] textarea::placeholder{ color: var(--imi-ash-2); }

/* --- Шапка на телефоне: переключатель темы рядом с бургером, справа поиск и корзина --- */
.imi-hd__left{ display: contents; }
.imi-theme-toggle--m{ display: none; }
@media (max-width: 1339px){
  .imi-hd__left{ display: flex; align-items: center; justify-self: start; margin-right: -8px; }
  .imi-hd__burger{ justify-self: auto; margin-right: 0; }
  .imi-theme-toggle--m{ display: grid; }
  .imi-hd__tools .imi-theme-toggle:not(.imi-theme-toggle--m){ display: none; }
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-width: calc(100vw - 214px); }
}
@media (max-width: 359px){ .imi-hd__tool{ width: 40px; height: 40px; } .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-width: calc(100vw - 200px); } }

/* Поля форм Elementor: цвет полей задаёт тема, а не настройки виджета на странице
   (в сгенерированном CSS страницы поля могут быть белыми — в тёмной теме это слепит). */
.elementor-form .elementor-field-group .elementor-field-textual,
.elementor-form .elementor-field-group select.elementor-field-textual,
.elementor-form .elementor-field-group textarea.elementor-field-textual{
  background-color: var(--imi-void) !important; color: var(--imi-bone) !important;
  border-color:var(--imi-edge) !important; box-shadow:inset 0 0 0 1px var(--imi-edge) !important;
}
.elementor-form .elementor-field-group .elementor-field-textual:focus{ box-shadow:inset 0 0 0 1px var(--imi-gold) !important; border-color:var(--imi-gold) !important; }
.elementor-form .elementor-field-group .elementor-field-textual::placeholder{ color: var(--imi-ash-2) !important; }
.elementor-form .elementor-field-group label, .elementor-form .elementor-field-subgroup label{ color: var(--imi-ash) !important; }
.elementor-form .elementor-field-option label{ color: var(--imi-text) !important; }
.elementor-form input[type="checkbox"], .elementor-form input[type="radio"], .woocommerce input[type="checkbox"], .woocommerce input[type="radio"], .imi-age input{ accent-color: var(--imi-gold); }
.elementor-form .elementor-field-type-html, .elementor-form .elementor-field-type-html p{ color: var(--imi-text); }
@media (max-width: 1339px){ .imi-hd__tools{ margin-left: -6px; } .imi-hd__left{ margin-right: -6px; } }

/* --- Мега-меню во всю ширину окна ------------------------------------------ */
.imi-mega{ right: 0; left: 0; width: 100%; max-width: 100vw; overflow-x: hidden; }
.imi-mega__in{ width: 100%; }
.imi-mega__pane{ min-width: 0; }
/* высокие панели не должны уезжать за экран */
.imi-mega__in{ max-height: calc(100vh - var(--imi-hd-h, 120px)); overflow-y: auto; }

/* --- Переход «предыдущий / следующий товар» -------------------------------- */
.imi-pnav{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin:18px 0 0; padding-top: 16px; border-top: 1px solid var(--imi-edge); }
.imi-pnav__item{ display: flex; align-items: center; gap: 10px; min-width: 0; padding:10px 12px; border: 1px solid var(--imi-edge); border-radius:var(--imi-r); text-decoration: none; color: var(--imi-bone); background: var(--imi-void); transition: border-color .18s, background .18s, color .18s; }
.imi-pnav__item--off{ border-color:transparent; background: none; pointer-events: none; }
.imi-pnav__item:hover{ border-color:var(--imi-gold); background: var(--imi-steel); }
.imi-pnav__item .imi-ico{ width: 18px; height: 18px; flex: none; color: var(--imi-ash-2); }
.imi-pnav__item--prev .imi-ico{ transform: rotate(90deg); }
.imi-pnav__item--next{ flex-direction: row-reverse; text-align: left; }
.imi-pnav__item--next .imi-ico{ transform: rotate(-90deg); }
.imi-pnav__item:hover .imi-ico{ color: var(--imi-gold-2); }
.imi-pnav__t{ display: grid; gap: 2px; min-width: 0; }
.imi-pnav__t b{ font: 600 .68rem/1 var(--imi-fc); color: var(--imi-ash-2); }
.imi-pnav__t span{ font: 700 .92rem/1.15 var(--imi-fd); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 560px){ .imi-pnav__t b{ font-size: .62rem; } .imi-pnav__t span{ font-size: .84rem; } }

/* --- Свой логотип для каждой темы ------------------------------------------
   Обе картинки лежат в разметке, видна нужная — поэтому логотип меняется
   вместе с темой мгновенно, без перезагрузки страницы. */
.imi-logo--dark{ display: none !important; }
.imi-logo--light{ display: block !important; }
:root[data-theme="dark"] .imi-logo--light{ display: none !important; }
:root[data-theme="dark"] .imi-logo--dark{ display: block !important; }

/* ==========================================================================
   43. Фотографии товаров и категорий лежат прямо на фоне раздела
   --------------------------------------------------------------------------
   Снимки IMI сняты на белом. mix-blend-mode: multiply делает белое прозрачным,
   поэтому в светлой теме подложка не нужна вовсе — фон раздела виден насквозь.
   В тёмной теме белое стало бы чёрным пятном, поэтому под фотографией остаётся
   светлое поле (--imi-photo-bg) — без рамки, тени и скругления. Как только
   фотографии станут PNG с прозрачным фоном, включите режим «прозрачные фото»
   в Customize → «IMI — Каталог»: подложка исчезнет и там.
   ========================================================================== */

/* Ни рамок, ни теней, ни подложек вокруг снимков — везде, где показан товар */
.imi-plate, .imi-card__fig,
.woocommerce ul.products li.product .imi-loop-plate,
.woocommerce ul.products li.product .imi-loop-track,
.woocommerce ul.products li.product .imi-loop-slide,
.woocommerce ul.products li.product-category > a,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .flex-control-thumbs li,
.woocommerce table.shop_table td.product-thumbnail a,
.elementor-menu-cart__product-image,
.woocommerce-mini-cart li img,
.imi-mega__ph{
  border: 0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.imi-plate, .imi-card__fig,
.woocommerce ul.products li.product .imi-loop-plate,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .flex-control-thumbs li,
.woocommerce table.shop_table td.product-thumbnail a,
.elementor-menu-cart__product-image,
.woocommerce-mini-cart li img,
.imi-mega__ph{ background-color: var(--imi-photo-bg); }
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category,
.imi-card, .imi-tile{ box-shadow:none; }

/* Активная миниатюра отмечается чертой, а не рамкой вокруг снимка */
.woocommerce div.product .flex-control-thumbs li{ position: relative; }
.woocommerce div.product .flex-control-thumbs li img{ opacity: .5; transition: opacity .15s; }
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover{ opacity: 1; }
.woocommerce div.product .flex-control-thumbs li:has(img.flex-active)::after{
  content: ""; position: absolute; right: 12%; left: 12%; bottom: 0; height: 2px; background: var(--imi-gold);
}

/* Прозрачные PNG: смешивание больше не нужно ни в одной теме */
:root[data-photos="alpha"] .imi-plate img,
:root[data-photos="alpha"] .imi-card__fig img,
:root[data-photos="alpha"] .woocommerce ul.products li.product .imi-loop-plate img,
:root[data-photos="alpha"] .woocommerce ul.products li.product a > img,
:root[data-photos="alpha"] .woocommerce ul.products li.product-category img,
:root[data-photos="alpha"] .woocommerce div.product .woocommerce-product-gallery__image img,
:root[data-photos="alpha"] .woocommerce div.product .flex-control-thumbs li img,
:root[data-photos="alpha"] .woocommerce table.shop_table td img,
:root[data-photos="alpha"] .elementor-menu-cart__product-image img,
:root[data-photos="alpha"] .imi-mega__ph img{ mix-blend-mode: normal; }

/* Единый масштаб и отступы: товар виден целиком, сетка остаётся ровной */
.woocommerce ul.products li.product .imi-loop-plate img,
.woocommerce ul.products li.product a > img,
.imi-card__fig img{ padding:8%; }
.imi-mega__ph img{ padding:7%; }
.woocommerce div.product .woocommerce-product-gallery__image img{ padding:2%; }


/* ==========================================================================
   §44. Витрина 2.7 — розничный светлый интерфейс
   Заголовки обычным регистром (Archivo), текст Instrument Sans, заглавные
   буквы остались только в мелких моноширинных подписях. Тёмного в интерфейсе
   ровно два места: служебная строка сверху и основная кнопка.
   Этот блок идёт последним в файле и потому перекрывает прежние правила.
   ========================================================================== */

/* --- Заголовки Elementor: та же шкала, что и у h1–h4 темы ----------------- */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title{
  font-family: var(--imi-fd) !important;
  line-height: 1.1; letter-spacing: -.022em; font-weight: 600; text-wrap: balance;
}
.elementor-widget-heading h1.elementor-heading-title{ font-weight: 600; font-size: clamp(2.1rem, 3.6vw, 2.9rem); line-height: 1.05; letter-spacing: -.028em; }
.elementor-widget-heading h2.elementor-heading-title{ font-weight: 600; font-size: clamp(1.6rem, 2.4vw, 1.95rem); }
.elementor-widget-heading h3.elementor-heading-title{ font-weight: 600; font-size: clamp(1.25rem, 1.7vw, 1.45rem); }
/* Надзаголовок (виджет Heading с тегом p) — моноширинная рубрика без черты */
.elementor-widget-heading p.elementor-heading-title:not(.imi-lead .elementor-heading-title){
  font-family: var(--imi-fm) !important; font-weight: 500; font-size: .69rem;
  letter-spacing: .02em; text-transform: uppercase; color: var(--imi-gold-2); margin:0;
}
.elementor-widget-heading p.elementor-heading-title::before{ content: none; }

/* --- Кнопки -------------------------------------------------------------- */
.imi-btn, .elementor-button.imi-btn, .elementor-widget-button .elementor-button{
  font-family: var(--imi-fb); font-weight: 500; font-size: .94rem; letter-spacing: 0;
  text-transform: none; border-radius:var(--imi-r); min-height: 48px;
  padding:13px 22px; gap: 10px; box-shadow:none; clip-path: none;
}
.imi-btn--sm, .elementor-button.imi-btn--sm{ min-height: 40px; padding:10px 16px; font-size: .86rem; }
.imi-btn--ink, .elementor-button.imi-btn--ink{ background: var(--imi-ink); color: var(--imi-on-ink); border: 1px solid var(--imi-ink); }
.imi-btn--ink:hover, .elementor-button.imi-btn--ink:hover{ background: var(--imi-ink-2); border-color:var(--imi-ink-2); color: var(--imi-on-ink); }
.imi-btn--gold, .elementor-button.imi-btn--gold{ background: var(--imi-gold); color: var(--imi-on-gold); border: 1px solid var(--imi-gold); }
.imi-btn--gold:hover, .elementor-button.imi-btn--gold:hover{ background: #D99C12; border-color:#D99C12; color: var(--imi-on-gold); }
.imi-btn--ghost, .elementor-button.imi-btn--ghost{ background: transparent; color: var(--imi-bone); border: 1px solid var(--imi-edge-2); box-shadow:none; }
.imi-btn--ghost:hover, .elementor-button.imi-btn--ghost:hover{ background: var(--imi-steel); color: var(--imi-bone); border-color:var(--imi-edge-2); box-shadow:none; }

/* --- Служебная строка ----------------------------------------------------- */
/* Верхняя строка — тёмная полоса в обеих темах. Через --imi-ink было
   нельзя: в тёмной теме он становится почти белым, и светлый текст
   на нём пропадал. */
.imi-hd__util{ background: var(--imi-band); color: #E7E5DF; }
.imi-hd__util .imi-hd__in{ min-height: 0; padding-block: 0; height: 38px; justify-content: space-between; gap: 18px; }
.imi-hd__util-notes{ display: flex; align-items: center; gap: 12px; font-size: .78rem; color: #D7D5CE; min-width: 0; }
.imi-hd__util-dot{ color: #6E6C66; }
.imi-hd__util-links{ display: flex; align-items: center; gap: 18px; font-size: .78rem; flex: none; }
.imi-hd__util-link{ color: #E7E5DF; text-decoration: none; transition: color .15s; }
.imi-hd__util-link:hover{ color: var(--imi-gold); }
.imi-hd__util-dealer{ color: var(--imi-gold); }
.imi-hd__util-apply{ border: 1px solid #55534D; border-radius:var(--imi-r); padding:4px 11px; }
.imi-hd__util-apply:hover{ border-color:var(--imi-gold); }
@media (max-width: 900px){
  .imi-hd__util-notes span:nth-child(n+3), .imi-hd__util-dot{ display: none; }
  .imi-hd__util-link:not(.imi-hd__util-dealer):not(.imi-hd__util-apply){ display: none; }
  .imi-hd__util .imi-hd__in{ height: 34px; }
}
@media (max-width: 520px){
  .imi-hd__util-apply{ display: none; }
  .imi-hd__util-notes{ font-size: .72rem; }
}

/* --- Шапка ---------------------------------------------------------------- */
.imi-hd__bar{ backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--imi-void); }
.imi-hd.is-stuck .imi-hd__bar{ box-shadow:var(--imi-shadow); }
.imi-hd__in{ gap: 14px; }
.imi-hd__tool{ width: 42px; height: 42px; color: var(--imi-bone); border-radius:var(--imi-r); }
.imi-hd__tool:hover{ color: var(--imi-bone); background: var(--imi-steel); }
.imi-hd__count{ font-family: var(--imi-fb); font-weight: 600; }

/* Поле поиска прямо в шапке — на широких экранах вместо кнопки-лупы */
.imi-hd__q{ display: none; }
.imi-hd__q form{ display: flex; align-items: center; margin:0; width: 236px; height: 40px;
  border: 1px solid var(--imi-edge); border-radius:var(--imi-r); background: var(--imi-steel);
  padding:0 10px; gap: 8px; transition: border-color .15s, background .15s; }
.imi-hd__q form:focus-within{ border-color:var(--imi-edge-2); background: var(--imi-void); }
.imi-hd__q label, .imi-hd__q .screen-reader-text{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.imi-hd__q input[type="search"]{ flex: 1; min-width: 0; border: 0; background: transparent; box-shadow:none;
  padding:0; font: 400 .86rem var(--imi-fb); color: var(--imi-bone); }
.imi-hd__q input[type="search"]:focus{ outline: 0; box-shadow:none; }
.imi-hd__q button{ flex: none; border: 0; background: transparent; color: var(--imi-ash-2); padding:0 2px;
  font: 500 .78rem var(--imi-fb); cursor: pointer; }
.imi-hd__q button:hover{ color: var(--imi-bone); }
@media (min-width: 1200px){
  .imi-hd__q{ display: block; }
  .imi-hd__search-toggle{ display: none; }
}

/* --- Навигация ------------------------------------------------------------ */
.imi-hd__nav .imi-nav > li > a{
  font-family: var(--imi-fb); font-weight: 500; font-size: var(--imi-nav-size, .92rem); letter-spacing: 0;
  text-transform: none; color: var(--imi-bone); padding:26px 0; border: 0;
  border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
}
.imi-hd__nav .imi-nav > li > a:hover{ color: var(--imi-bone); border-bottom-color: var(--imi-bone); }
.imi-hd__nav .imi-nav{ gap: clamp(14px, 1.6vw, 26px); }
.imi-hd__nav .current-menu-item > a,
.imi-hd__nav .current-menu-ancestor > a,
.imi-hd__nav .current_page_parent > a{ color: var(--imi-bone); border-bottom-color: var(--imi-bone); }
.imi-nav .sub-menu a{ font-family: var(--imi-fb); font-weight: 400; font-size: .88rem; letter-spacing: 0; text-transform: none; color: var(--imi-text); }

/* --- Мегаменю ------------------------------------------------------------- */
.imi-mega{ background: var(--imi-void); border-top: 1px solid var(--imi-edge); box-shadow:0 24px 40px rgba(26,26,24,.07); }
.imi-mega__rail a{ font-family: var(--imi-fb); font-weight: 500; font-size: .92rem; letter-spacing: 0;
  text-transform: none; color: var(--imi-bone); border-radius:var(--imi-r); padding:10px 12px; }
.imi-mega__rail a:hover, .imi-mega__rail a.is-on{ background: var(--imi-steel); color: var(--imi-bone); }
.imi-mega__head h4{ font-family: var(--imi-fd); font-weight: 600; font-size: 1.22rem; letter-spacing: -.02em; text-transform: none; }
.imi-mega__all{ font-family: var(--imi-fb); font-weight: 500; font-size: .84rem; letter-spacing: 0; text-transform: none; color: var(--imi-gold-2); }
/* Плитка под фото в мега-меню.
   Раньше здесь стоял var(--imi-plate) — кремовый #F6F5F2. Панель меню при этом
   залита var(--imi-void), то есть белым, и плитки читались как второй, чужой
   оттенок. Тем же кремовым подсвечивается активный пункт бокового списка, так
   что цвет ещё и терял смысл: подсветка переставала выделяться.
   Теперь плитка берёт --imi-photo-bg: в светлой теме он прозрачный (видно саму
   панель), в тёмной — белый, как и был --imi-plate, поэтому тёмная тема не
   меняется вовсе. */
.imi-mega__ph{ background: var(--imi-photo-bg); border-radius:var(--imi-r); }

/* Панель меню задаёт подложку фото заново.
   Иначе цвет фона раздела (Настроить → Section backgrounds) протёк бы через
   body внутрь меню, и плитки снова разошлись бы с панелью по цвету. */
.imi-mega{ --imi-photo-bg: transparent; }
:root[data-theme="dark"]:not([data-photos="alpha"]) .imi-mega{ --imi-photo-bg: #FFFFFF; }
.imi-mega__name{ font-family: var(--imi-fb); font-weight: 500; font-size: .85rem; letter-spacing: 0;
  text-transform: none; color: var(--imi-bone); text-align: right; line-height: 1.35; }
.imi-mega__grid a:hover .imi-mega__name{ color: var(--imi-gold-2); }
.imi-mega__promo-b{ font-family: var(--imi-fb); font-weight: 500; letter-spacing: 0; text-transform: none; border-radius:var(--imi-r); }

/* --- Плитки категорий и карточки ------------------------------------------ */
.imi-tile__c h4{ font-family: var(--imi-fd); font-weight: 600; font-size: 1.12rem; line-height: 1.25; letter-spacing: -.018em; text-transform: none; }
.imi-tile__n{ font-family: var(--imi-fb); font-weight: 400; font-size: .82rem; letter-spacing: 0; text-transform: none; color: var(--imi-ash); }
.imi-tile:hover .imi-tile__n{ color: var(--imi-gold-2); }
.imi-card__title{ font-family: var(--imi-fd); font-weight: 600; font-size: 1.02rem; line-height: 1.3; letter-spacing: -.015em; text-transform: none; }
.imi-jc h4{ font-family: var(--imi-fd); font-weight: 600; letter-spacing: -.018em; text-transform: none; line-height: 1.25; }
.imi-jc__m{ font-family: var(--imi-fm); font-weight: 500; font-size: .67rem; letter-spacing: .02em; text-transform: uppercase; }

/* --- Мелкие технические подписи: единственный капс на сайте ---------------- */
.imi-cap, .imi-label, .imi-loop-cat, .imi-ft__h, .imi-footer__h, .imi-drawer__title, .imi-pnav__t b, .imi-mono-label{
  font-family: var(--imi-fm); font-weight: 500; letter-spacing: .02em; text-transform: uppercase;
}
.imi-ft__h, .imi-footer__h{ font-size: .67rem; color: var(--imi-ash-2); }
.imi-drawer__title{ font-size: .67rem; color: var(--imi-ash-2); }
.imi-pnav__t b{ font-size: .63rem; }

/* --- Подвал --------------------------------------------------------------- */
.imi-ft{ background: var(--imi-steel); border-top: 1px solid var(--imi-edge); }
.imi-ft__grid{ align-items: start; }
.imi-ft__brand p{ font-size: .86rem; line-height: 1.6; color: var(--imi-text); max-width: 30ch; }
.imi-ft__menu a{ font-family: var(--imi-fb); font-weight: 400; font-size: .86rem; letter-spacing: 0; text-transform: none; color: var(--imi-text); }
.imi-ft__menu a:hover{ color: var(--imi-gold-2); }
.imi-ft__service{ display: flex; flex-direction: column; gap: 10px; }
.imi-ft__note{ margin:0; font-size: .86rem; line-height: 1.6; color: var(--imi-text); max-width: 34ch; }
.imi-ft__mail{ font-size: .9rem; font-weight: 500; color: var(--imi-bone); text-decoration: underline; text-decoration-color: var(--imi-edge-2); text-underline-offset: 3px; }
.imi-ft__mail:hover{ color: var(--imi-gold-2); }
.imi-ft__cta{ display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 4px; }
.imi-ft__login{ font-size: .86rem; font-weight: 500; color: var(--imi-gold-2); }
.imi-ft__bar .imi-ft__in{ font-family: var(--imi-fb); font-weight: 400; font-size: .78rem; letter-spacing: 0; text-transform: none; color: var(--imi-ash-2); }

/* --- Полоса для дилеров (класс для блока на главной) ---------------------- */
.imi-dealer{ background: var(--imi-trade); color: var(--imi-on-trade); border-radius:var(--imi-r-lg);
  padding:clamp(28px, 3.4vw, 44px) clamp(22px, 3vw, 44px); display: grid; gap: clamp(20px, 3vw, 48px);
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr); align-items: center; }
.imi-dealer h2, .imi-dealer h3{ color: var(--imi-on-trade); margin:0 0 10px; }
.imi-dealer p{ margin:0; color: var(--imi-trade-mute); font-size: .95rem; line-height: 1.6; }
.imi-dealer__list{ list-style: none; margin:0; padding:0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.imi-dealer__list li{ display: flex; align-items: flex-start; gap: 10px; font-size: .92rem; color: #E7F0F4; }
.imi-dealer__list li::before{ content: ""; flex: none; width: 16px; height: 16px; margin-top: 3px;
  background: var(--imi-gold); clip-path: polygon(14% 46%, 0 60%, 40% 100%, 100% 22%, 86% 8%, 38% 70%); }
.imi-dealer__cta{ grid-column: span 2; display: flex; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.imi-dealer .imi-btn--gold{ border-color:var(--imi-gold); }
.imi-dealer .imi-btn--ghost{ color: #fff; border-color:#6E8D9B; background: transparent; }
.imi-dealer .imi-btn--ghost:hover{ background: rgba(255,255,255,.08); color: #fff; }
@media (max-width: 860px){
  .imi-dealer{ grid-template-columns: minmax(0, 1fr); }
  .imi-dealer__list{ grid-template-columns: minmax(0, 1fr); }
  .imi-dealer__cta{ grid-column: auto; }
}

/* --- Карточка «гарантия / поддержка» -------------------------------------- */
.imi-service{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.imi-service__c{ border: 1px solid var(--imi-edge); border-radius:var(--imi-r-lg); padding:clamp(22px, 2.4vw, 30px);
  display: flex; flex-direction: column; gap: 12px; background: var(--imi-void); }
.imi-service__c--soft{ background: var(--imi-steel); }
.imi-service__c h3{ margin:0; font-size: 1.32rem; }
.imi-service__c p{ margin:0; font-size: .94rem; line-height: 1.6; color: var(--imi-text); }
.imi-service__links{ display: flex; gap: 18px; flex-wrap: wrap; margin-top: auto; font-size: .9rem; font-weight: 500; }
.imi-service__links a{ color: var(--imi-gold-2); }
@media (max-width: 767px){ .imi-service{ grid-template-columns: minmax(0, 1fr); } }

/* --- Тёмная тема: поправки нового слоя ------------------------------------ */
:root[data-theme="dark"] .imi-hd__util{ background: #0C0D0C; }
:root[data-theme="dark"] .imi-hd__bar{ background: var(--imi-void); }
:root[data-theme="dark"] .imi-hd__q form{ background: var(--imi-steel); border-color:var(--imi-edge); }
:root[data-theme="dark"] .imi-mega{ box-shadow:0 24px 40px rgba(0,0,0,.5); }
:root[data-theme="dark"] .imi-btn--gold:hover, :root[data-theme="dark"] .elementor-button.imi-btn--gold:hover{ background: var(--imi-gold-2); color: #1A1A18; }

/* --- Главная 2.7: герой, платформы, полосы -------------------------------- */
.imi-hero-split > .e-con-inner{
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
  gap: clamp(24px, 4vw, 64px); align-items: center;
  padding-block: clamp(28px, 4vw, 64px);
}
.imi-hero-split .elementor-widget-heading p.elementor-heading-title{ margin-bottom: 14px; }
.imi-hero-split h1{ margin:0 0 14px; }
.imi-hero-split .elementor-widget-text-editor{ max-width: 52ch; }
.imi-hero-split .elementor-widget-text-editor p{ font-size: clamp(1rem, 1.15vw, 1.1rem); line-height: 1.6; color: var(--imi-text); margin:0; }
.imi-hero-cta{ display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; padding:20px 0 0; width: 100%; }
.imi-hero-cta .elementor-widget{ width: auto; }
.imi-hero-trust{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin:18px 0 0; font-size: .8rem; color: var(--imi-ash-2); }
.imi-hero-trust span{ display: inline-flex; align-items: center; gap: 8px; }
.imi-hero-trust span + span::before{ content: "·"; color: var(--imi-edge-2); }
.imi-hero-shot img{ display: block; width: 100%; height: auto; border-radius:var(--imi-r-lg); object-fit: cover; aspect-ratio: 4 / 3; }
@media (max-width: 860px){
  .imi-hero-split > .e-con-inner{ grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .imi-hero-shot img{ aspect-ratio: 16 / 10; }
}

/* Полоса с платформами */
.imi-band{ background: var(--imi-steel); }
.imi-chips{ display: flex; align-items: center; gap: clamp(18px, 2.4vw, 36px); flex-wrap: wrap; padding-block: clamp(18px, 2vw, 26px); }
.imi-chips__t{ display: flex; flex-direction: column; gap: 3px; flex: none; }
.imi-chips__t b{ font-family: var(--imi-fd); font-weight: 600; font-size: 1.05rem; letter-spacing: -.015em; }
.imi-chips__t span{ font-size: .82rem; color: var(--imi-ash-2); }
.imi-chips__row{ display: flex; gap: 8px; flex-wrap: wrap; }
.imi-chips__row a{ display: inline-flex; align-items: center; min-height: 40px; padding:8px 16px;
  background: var(--imi-void); border: 1px solid var(--imi-edge); border-radius:40px;
  font-size: .86rem; color: var(--imi-bone); text-decoration: none; transition: border-color .15s, color .15s; }
.imi-chips__row a:hover{ border-color:var(--imi-bone); color: var(--imi-bone); }

/* Четыре плитки линеек */
/* Самостоятельные сетки: работают без базового класса .imi-grid. */
.imi-grid--3{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); }
@media (max-width: 900px){ .imi-grid--3{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px){ .imi-grid--3{ grid-template-columns: minmax(0, 1fr); } }
.imi-grid--4{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); }
@media (max-width: 1000px){ .imi-grid--4{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px){ .imi-grid--4{ grid-template-columns: minmax(0, 1fr); } }

/* --- Список инструкций [imi_manuals] -------------------------------------- */
.imi-manuals{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(20px, 2.4vw, 34px); }
.imi-manuals__g h3{ margin:0 0 12px; font-size: 1.12rem; }
.imi-manuals__g ul{ list-style: none; margin:0; padding:0; display: flex; flex-direction: column; }
.imi-manuals__g li{ display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  padding:11px 0; border-top: 1px solid var(--imi-edge); font-size: .92rem; }
.imi-manuals__g li a{ color: var(--imi-bone); text-decoration: none; }
.imi-manuals__g li a:hover{ color: var(--imi-gold-2); }
.imi-manuals__g li span{ font-family: var(--imi-fm); font-size: .63rem; letter-spacing: .02em; text-transform: uppercase; color: var(--imi-ash-2); flex: none; }
.imi-manuals__empty{ color: var(--imi-ash); }

/* --- Размер логотипа: задаётся ползунками в Customize → «Логотип — размер».
   Переменные приходят из inc/customizer.php; правило идёт последним в файле,
   поэтому перекрывает прежние шаги по брейкпоинтам. Ширина ограничена только
   тем, чтобы логотип не наехал на меню и на значки. ----------------------- */
.imi-hd .imi-hd__logo .imi-hd__logo-img{
  height: auto;
  width: auto;
  max-height: var(--imi-logo-h, 56px);
  max-width: min(44vw, 520px);
  object-fit: contain;
}
/* Мобильная шапка (с бургером) действует до 1340px */
@media (max-width: 1339px){
  .imi-hd .imi-hd__logo .imi-hd__logo-img{
    max-height: var(--imi-logo-h-m, 44px);
    max-width: calc(100vw - 190px);
  }
}
@media (max-width: 359px){
  .imi-hd .imi-hd__logo .imi-hd__logo-img{ max-width: calc(100vw - 176px); }
}
.imi-ft .imi-ft__logo-img{
  height: auto;
  width: auto;
  max-height: var(--imi-logo-h-ft, 44px);
  max-width: min(70vw, 460px);
  object-fit: contain;
}

/* ==========================================================================
   §45. Шапка, которая всегда помещается (2.14)

   Раньше режим шапки выбирался по ширине экрана: до 1340px — бургер, выше —
   меню в строку. Но помещается меню или нет, зависит не от экрана, а от того,
   сколько в нём пунктов, какой длины их названия и какой ширины логотип. Стоит
   добавить пункт или увеличить логотип ползунком — и строка наезжает сама на
   себя: логотип на меню, меню на поиск.

   Теперь ширину меряет скрипт (assets/js/theme.js) и ставит классы:
     .is-tight   — не хватило места: убираем поле поиска, остаётся иконка;
     .is-compact — всё равно не хватает: меню уезжает в бургер.
   Пока скрипт не отработал, действуют прежние медиазапросы — шапка не прыгает.
   ========================================================================== */

/* Панель WordPress перекрывала верхнюю строку: обе прилипают к нулю. */
body.admin-bar .imi-hd{ top: 32px; }
@media (max-width: 782px){ body.admin-bar .imi-hd{ top: 46px; } }

/* Меню никогда не выходит за свою колонку: если не влезло — скрипт свернёт
   его в бургер, а до тех пор лишнее просто обрезается, а не лезет на поиск. */
.imi-hd__nav{ min-width: 0; overflow: hidden; }
.imi-hd__nav .imi-nav{ flex-wrap: nowrap; }

/* Логотип держит пропорции и не съедает строку. Высота — ползунком,
   ширина ограничена, чтобы широкий файл не выдавливал меню. */
@media (min-width: 1340px){
  .imi-hd .imi-hd__logo .imi-hd__logo-img{
    max-height: var(--imi-logo-h, 56px);
    max-width: min(var(--imi-logo-w, 300px), 30vw);
  }
}

/* Шаг 1: тесно — прячем поле поиска, иконка остаётся. */
.imi-hd.is-tight .imi-hd__q{ display: none; }
.imi-hd.is-tight .imi-hd__search-toggle{ display: grid; }

/* Шаг 2: всё равно тесно — меню в бургер. Повторяет раскладку узкого экрана. */
.imi-hd.is-compact .imi-hd__bar > .imi-hd__in{
  display: grid; grid-template-columns: auto minmax(0,1fr) auto; /* было minmax(88px,1fr) по краям: на узком экране столбцы резервировали 176px, и корзина уезжала за правый край */
  align-items: center; gap: 6px; min-height: var(--imi-hd-min, 72px); padding-block: 6px;
}
.imi-hd.is-compact .imi-hd__burger{ display: grid; justify-self: start; margin-right: -8px; }
.imi-hd.is-compact .imi-hd__logo{ justify-self: center; margin:0; }
.imi-hd.is-compact .imi-hd__nav{ display: none; }
.imi-hd.is-compact .imi-hd__tools{ justify-self: end; margin-left: -8px; }
.imi-hd.is-compact .imi-hd__account{ display: none; }
.imi-hd.is-compact .imi-hd__q{ display: none; }
.imi-hd.is-compact .imi-hd__search-toggle{ display: grid; }
.imi-hd.is-compact .imi-hd__logo .imi-hd__logo-img{
  max-height: var(--imi-logo-h, 56px); max-width: calc(100vw - 196px); object-position:center;
}
/* Мегаменю в свёрнутом виде не показываем — оно рассчитано на широкую строку. */
.imi-hd.is-compact .imi-mega{ display: none !important; }

/* Верхняя строка: на узком месте сначала переносится, потом прячет заметки. */
.imi-hd__util-notes{ min-width: 0; }
.imi-hd__util .imi-hd__in{ flex-wrap: wrap; row-gap: 4px; }
.imi-hd.is-tight .imi-hd__util-notes .imi-hd__util-dot,
.imi-hd.is-tight .imi-hd__util-notes span + span{ display: none; }
.imi-hd.is-compact .imi-hd__util-notes{ display: none; }

/* Поиск в шапке — иконкой, а не строкой.
   Поле занимало около 250 px и выдавливало меню; иконка открывает ту же
   полноширинную полосу поиска, что и на телефоне. */
.imi-hd__q{ display: none !important; }
.imi-hd__search-toggle{ display: grid !important; }

/* Ступень «тесно»: до того как убирать меню, сжимаем то, что можно сжать
   без потери смысла — логотип и просветы между пунктами. */
.imi-hd.is-tight .imi-hd__logo .imi-hd__logo-img{ max-width: min(240px, 24vw); }
.imi-hd.is-tight .imi-hd__nav .imi-nav{ gap: 10px; }
.imi-hd.is-tight .imi-hd__bar > .imi-hd__in{ gap: 12px; }

/* ==========================================================================
   §46. Главная страница 2.15

   Раскладка собрана по образцу производителей, а не магазинов-дискаунтеров:
   один герой с одним сообщением, полоса доверия, три плитки «с чего начать»,
   строка товарных линий, сетка избранных товаров с ценами, категории,
   сервисный ряд (гарантия / инструкции / поддержка), дилеры, журнал.
   ========================================================================== */

/* Полоса доверия под героем. */
.imi-strip{
  list-style: none; margin:0; padding:0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--imi-edge);
  border-block: 1px solid var(--imi-edge);
}
.imi-strip li{ margin:0; padding:22px clamp(16px, 2vw, 28px); background: var(--imi-void); display: grid; gap: 5px; }
.imi-strip b{ font: 600 .98rem/1.3 var(--imi-fb); color: var(--imi-bone); }
.imi-strip span{ font-size: .86rem; line-height: 1.5; color: var(--imi-ash); }
@media (max-width: 860px){
  .imi-strip{ grid-template-columns: 1fr; }
  .imi-strip li{ padding:16px 0; }
}

/* Пара кнопок в ряд: в герое, у дилеров, под сетками. */
.imi-cta{ display: flex; flex-wrap: wrap; gap: 11px; margin-top: 6px; }

/* Кнопка дилерского блока — своим синим, чтобы не спорить с золотом. */
.imi-btn--trade{
  background: var(--imi-trade); color: var(--imi-on-trade); border: 1px solid var(--imi-trade);
}
.imi-btn--trade:hover{ background: var(--imi-trade-2); border-color:var(--imi-trade-2); }

/* Фотография героя: не выше экрана и без искажения пропорций. */
.imi-hero-split__img{
  display: block; width: 100%; height: auto;
  max-height: min(68vh, 560px); object-fit: contain;
}

/* Кнопка «смотреть всё» под сеткой товаров стоит по центру. */
.imi-grid--4 + * .imi-btn--ghost,
.imi-picks + * .imi-btn--ghost{ margin-inline: auto; }

/* ==========================================================================
   §47. Главная страница 2.16 — выразительная раскладка

   Ритм строится на чередовании: тёмные полосы во всю ширину экрана против
   светлых боксированных секций. Собственные имена с приставкой imi-hp-,
   чтобы ничего не конфликтовало с существующими блоками витрины.
   Цвета и шрифты — только из tokens.css, своих значений здесь нет.
   ========================================================================== */

/* --- общее --- */
.imi-hp-dark{ background: var(--imi-band); color: var(--imi-on-band); }
.imi-hp-dark .imi-label{ color: var(--imi-gold); }
.imi-hp-dark .imi-lead{ color: rgba(255,255,255,.72); }
.imi-hp-dark h2, .imi-hp-dark h3, .imi-hp-dark h4{ color: var(--imi-on-band); }

/* Заголовок секции: подпись и название слева, ссылка «всё» справа. */
.imi-hp-head{ display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: clamp(26px, 3vw, 40px); padding-bottom: 16px;
  border-bottom: 1px solid var(--imi-edge); }
.imi-hp-dark .imi-hp-head{ border-color:rgba(255,255,255,.14); }
.imi-hp-head__l{ display: grid; gap: 10px; min-width: 0; }
.imi-hp-head__a{ font: 600 .86rem/1 var(--imi-fb); color: var(--imi-gold-2); white-space: nowrap; text-decoration: none; }
.imi-hp-dark .imi-hp-head__a{ color: var(--imi-gold); }
.imi-hp-head__a:hover{ text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px){ .imi-hp-head{ flex-direction: column; align-items: flex-start; gap: 14px; } }

/* --- герой --- */
.imi-hp-hero{ position: relative; min-height: clamp(520px, 80vh, 740px);
  display: flex; align-items: flex-end; background: #0B0C0B; overflow: hidden; }
.imi-hp-hero__bg{ position: absolute; inset:0; width: 100%; height: 100%;
  object-fit: cover; object-position:42% 40%; filter: grayscale(.35) contrast(1.15) brightness(.55); }
.imi-hp-hero__veil{ position: absolute; inset:0;
  background: linear-gradient(286deg, #0B0C0B 6%, rgba(11,12,11,.82) 38%, rgba(11,12,11,.12) 82%),
              linear-gradient(0deg, #0B0C0B 2%, transparent 46%); }
.imi-hp-hero__in{ position: relative; z-index: 2; color: var(--imi-on-band); padding-block: clamp(50px, 8vw, 92px); }
.imi-hp-hero h1{ color: var(--imi-on-band); max-width: 17ch; }
.imi-hp-hero h1 em{ font-style: normal; color: var(--imi-gold); }
.imi-hp-hero .imi-lead{ margin-top: 20px; color: rgba(255,255,255,.78); }

/* --- полоса доверия --- */
.imi-hp-trust{ background: var(--imi-band-2); color: var(--imi-on-band); border-top: 1px solid rgba(255,255,255,.09); }
.imi-hp-trust ul{ list-style: none; margin:0; padding:0; display: grid; grid-template-columns: repeat(4, 1fr); }
.imi-hp-trust li{ margin:0; padding:20px clamp(12px, 1.6vw, 22px); display: flex; gap: 12px;
  align-items: flex-start; border-right: 1px solid rgba(255,255,255,.09); }
.imi-hp-trust li:first-child{ border-right: 0; }
.imi-hp-trust svg{ flex: none; width: 20px; height: 20px; stroke: var(--imi-gold); fill: none;
  stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.imi-hp-trust b{ display: block; font: 600 .9rem/1.3 var(--imi-fb); }
.imi-hp-trust span{ font-size: .79rem; line-height: 1.45; color: rgba(255,255,255,.58); }
@media (max-width: 900px){
  .imi-hp-trust ul{ grid-template-columns: 1fr 1fr; }
  .imi-hp-trust li:nth-child(3){ border-right: 0; }
  .imi-hp-trust li:nth-child(n+3){ border-top: 1px solid rgba(255,255,255,.09); }
}
@media (max-width: 560px){
  .imi-hp-trust ul{ grid-template-columns: 1fr; }
  .imi-hp-trust li{ border-right: 0; border-top: 1px solid rgba(255,255,255,.09); }
}

/* --- строка линеек --- */
.imi-hp-chips{ display: flex; flex-wrap: wrap; gap: 10px; }
.imi-hp-chip{ display: inline-flex; align-items: center; gap: 8px; padding:13px 20px;
  border: 1px solid var(--imi-edge); border-radius:var(--imi-r); background: var(--imi-void);
  font: 600 .94rem/1 var(--imi-fb); color: var(--imi-bone); text-decoration: none; transition: .16s; }
.imi-hp-chip:hover{ border-color:var(--imi-bone); background: var(--imi-bone); color: var(--imi-void); }
.imi-hp-chip i{ font-style: normal; font-family: var(--imi-fm); font-size: .7rem; color: var(--imi-ash-2); }
.imi-hp-chip:hover i{ color: var(--imi-gold); }

/* --- витрина одного продукта --- */
/* Блок Kidon: фотография крупнее.
   Было: колонка .95fr, коробка 4/3 и поле 6% по кругу. Снимок широкий (1600x893,
   это 1.79), в коробке 4/3 он упирался в ширину и сверху-снизу оставались пустые
   полосы — на 1440 px товар выходил всего 510x285.
   Стало: коробка по пропорции самого снимка, поля убраны, колонка шире.
   Замерено на 1440 px: 794x443, это 2.4 раза по площади. Текстовая колонка при
   этом остаётся 429 px — список «24 / 0 / 3» в неё помещается. */
.imi-hp-show{ display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(30px, 5vw, 80px); }
@media (max-width: 940px){ .imi-hp-show{ grid-template-columns: 1fr; } }
.imi-hp-show__ph{ background: linear-gradient(200deg, var(--imi-band-2), var(--imi-band));
  border: 1px solid rgba(255,255,255,.1); aspect-ratio: 16/9; display: grid; place-items: center; padding:0; }
.imi-hp-show__ph img{ width: 100%; height: 100%; object-fit: contain; }
.imi-hp-specs{ list-style: none; margin:30px 0 0; padding:0; display: grid;
  grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.12); }
.imi-hp-specs li{ margin:0; background: var(--imi-band); padding:18px 16px; }
.imi-hp-specs b{ display: block; font: 800 1.9rem/1 var(--imi-fd); color: var(--imi-gold); }
.imi-hp-specs span{ font: 500 .7rem/1.3 var(--imi-fm); letter-spacing: .02em;
  text-transform: uppercase; color: rgba(255,255,255,.55); }

/* --- полоса доказательства --- */
.imi-hp-proof{ position: relative; min-height: clamp(360px, 48vh, 500px);
  display: flex; align-items: center; background: #0B0C0B; overflow: hidden; }
.imi-hp-proof__bg{ position: absolute; inset:0; width: 100%; height: 100%;
  object-fit: cover; filter: grayscale(1) contrast(1.25) brightness(.42); }
.imi-hp-proof__veil{ position: absolute; inset:0;
  background: linear-gradient(270deg, #0B0C0B 10%, rgba(11,12,11,.55) 60%, rgba(11,12,11,.2) 100%); }
.imi-hp-proof__in{ position: relative; z-index: 2; color: var(--imi-on-band); }
.imi-hp-proof__in > *{ max-width: 62ch; }

/* --- категории карточками с фотографией --- */
.imi-hp-cats{ display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: clamp(12px, 1.4vw, 20px); }
@media (max-width: 1000px){ .imi-hp-cats{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px){ .imi-hp-cats{ grid-template-columns: minmax(0,1fr); } }
.imi-hp-cat{ position: relative; aspect-ratio: 3/4; overflow: hidden; background: #141412;
  display: block; text-decoration: none; }
.imi-hp-cat img{ position: absolute; inset:0; width: 100%; height: 100%; object-fit: cover;
  filter: brightness(.72); transition: transform .5s var(--imi-ease); }
.imi-hp-cat:hover img{ transform: scale(1.05); }
.imi-hp-cat::after{ content: ""; position: absolute; inset:0;
  background: linear-gradient(0deg, rgba(9,10,9,.9) 4%, rgba(9,10,9,.15) 55%, transparent 80%); }
.imi-hp-cat__c{ position: absolute; inset:auto 0 0 0; z-index: 2; padding:20px; color: var(--imi-on-band); }
.imi-hp-cat__c h4{ margin:0; font-size: 1.12rem; line-height: 1.2; color: var(--imi-on-band); }
.imi-hp-cat__c span{ display: block; margin-top: 5px; font-size: .8rem; color: rgba(255,255,255,.66); }

/* --- обслуживание после покупки --- */
.imi-hp-svc{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.14); }
@media (max-width: 900px){ .imi-hp-svc{ grid-template-columns: 1fr; } }
.imi-hp-svc a{ background: var(--imi-band); padding:clamp(24px, 3vw, 36px); display: grid; gap: 11px;
  align-content: start; text-decoration: none; transition: background .18s; }
.imi-hp-svc a:hover{ background: var(--imi-band-2); }
.imi-hp-svc h4{ margin:0; font-size: 1.16rem; color: var(--imi-on-band); }
.imi-hp-svc p{ margin:0; font-size: .9rem; line-height: 1.55; color: rgba(255,255,255,.66); }
.imi-hp-svc em{ font-style: normal; font: 600 .84rem/1 var(--imi-fb); color: var(--imi-gold); margin-top: 4px; }

/* --- дилеры --- */
.imi-hp-deal{ background: var(--imi-trade); color: var(--imi-on-trade); padding:clamp(30px, 4.6vw, 62px);
  display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(24px, 3vw, 48px); align-items: center; }
@media (max-width: 860px){ .imi-hp-deal{ grid-template-columns: 1fr; } }
.imi-hp-deal h2{ color: var(--imi-on-band); margin:14px 0 0; }
.imi-hp-deal p{ color: rgba(255,255,255,.76); margin:14px 0 0; }
.imi-hp-deal .imi-label{ color: var(--imi-gold); }
.imi-hp-deal ul{ list-style: none; margin:0; padding:0; display: grid; gap: 9px; }
.imi-hp-deal li{ margin:0; display: flex; gap: 10px; align-items: flex-start;
  font-size: .92rem; color: rgba(255,255,255,.88); }
.imi-hp-deal li::before{ content: ""; flex: none; width: 6px; height: 6px; margin-top: 8px; background: var(--imi-gold); }

/* --- подписка --- */
.imi-hp-news{ display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center;
  border-top: 1px solid var(--imi-edge); padding-top: clamp(28px, 4vw, 52px); }
@media (max-width: 760px){ .imi-hp-news{ grid-template-columns: 1fr; } }
.imi-hp-news h2{ margin:12px 0 0; }
.imi-hp-news__note{ font: 500 .72rem/1 var(--imi-fm); letter-spacing: .02em;
  text-transform: uppercase; color: var(--imi-ash-2); margin-top: 12px; }

/* Вторичная кнопка на тёмных полосах: в теме она рассчитана на светлый фон. */
.imi-hp-hero .imi-btn--ghost,
.imi-hp-proof .imi-btn--ghost,
.imi-hp-dark .imi-btn--ghost,
.imi-hp-deal .imi-btn--ghost{
  background: transparent; color: var(--imi-on-band); border: 1px solid rgba(255,255,255,.4); box-shadow:none;
}
.imi-hp-hero .imi-btn--ghost:hover,
.imi-hp-proof .imi-btn--ghost:hover,
.imi-hp-dark .imi-btn--ghost:hover,
.imi-hp-deal .imi-btn--ghost:hover{
  background: rgba(255,255,255,.1); color: var(--imi-on-band); border-color:var(--imi-on-band);
}

/* Крупная типографика — только на главной.
   Общая шкала imi-d1…d3 рассчитана на внутренние страницы, где заголовок
   не должен спорить с текстом. На главной он и есть содержание, поэтому
   размеры подняты здесь, а не в базовой шкале. */
.imi-hp-hero h1{
  font-size: clamp(2.5rem, 6.2vw, 5.4rem); line-height: .96;
  letter-spacing: -.035em; font-weight: 800;
}
.imi-hp-dark .imi-d2,
.imi-hp-proof .imi-d2{
  font-size: clamp(1.9rem, 3.8vw, 3.4rem); line-height: 1.02;
  letter-spacing: -.03em; font-weight: 800;
}
.imi-hp-head .imi-d3,
.imi-hp-deal .imi-d3,
.imi-hp-news .imi-d3{
  font-size: clamp(1.4rem, 2.2vw, 2.1rem); line-height: 1.1; font-weight: 700;
}
.imi-hp-hero .imi-lead,
.imi-hp-proof .imi-lead,
.imi-hp-show .imi-lead{ font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.55; max-width: 56ch; }

/* Полосы с фотографией — тоже тёмный контекст.
   Классы imi-d1…d3 и imi-lead задают свой цвет и перебивают тот, что
   унаследован от полосы: заголовок на фотографии оказывался чёрным
   на чёрном. Поэтому цвет здесь задаётся явно. */
.imi-hp-hero .imi-label,
.imi-hp-proof .imi-label{ color: var(--imi-gold); }
.imi-hp-hero h1, .imi-hp-hero h2, .imi-hp-hero h3,
.imi-hp-proof h1, .imi-hp-proof h2, .imi-hp-proof h3{ color: var(--imi-on-band); }
.imi-hp-hero .imi-lead,
.imi-hp-proof .imi-lead{ color: rgba(255,255,255,.78); }
.imi-hp-hero p:not([class]),
.imi-hp-proof p:not([class]){ color: rgba(255,255,255,.78); }

/* ==========================================================================
   Шапка как у Magpul — .imi-hd--mp
   --------------------------------------------------------------------------
   Сверено замерами magpul.com на 1440 px: основной ряд 88 px (логотип |
   строка поиска 48 px со скруглением 20 px и лупой слева | иконки), под ним
   ряд категорий 51 px по центру, заглавными, 14 px жирным, с линиями сверху
   и снизу. На телефоне: меню слева, логотип по центру, иконки справа, поиск
   во всю ширину отдельной строкой, категории уходят в выдвижное меню.

   Почему отдельный блок, а не правка старых правил. Старая шапка собиралась
   слоями, к этому моменту это 199 строк в разных местах файла, и новые
   правила там проигрывали старым по специфичности. Здесь всё под одним
   префиксом .imi-hd.imi-hd--mp и в конце файла — выигрывает и тем и другим.

   Размеры не зашиты числами: высота ряда, размер и шаг пунктов меню, высота
   логотипа идут из переменных, которые двигают ползунки в «Настроить».
   Значения по умолчанию подняты до замеров Magpul (88 / 14 / 28 / 56 px).
   ========================================================================== */

/* Шапка уезжает вместе со страницей — у Magpul она не липкая.
   Вторая строка селектора нужна из-за «body.admin-bar .imi-hd{ top: 32px }»:
   у обычного, не липкого блока top сдвигает его вниз, и у вошедшего
   администратора под шапкой появилась бы полоса. */
.imi-hd.imi-hd--mp,
body.admin-bar .imi-hd.imi-hd--mp{ position: relative; top: auto; --imi-hd-h: 180px; }
.imi-hd.imi-hd--mp .imi-hd__bar{ background: var(--imi-void); border-bottom: 0;
  -webkit-backdrop-filter: none; backdrop-filter: none; }

/* --- Основной ряд ------------------------------------------------------- */
/* Только «.imi-hd__bar > .imi-hd__in»: у верхней чёрной полосы внутри тот же
   класс .imi-hd__in, и без уточнения она вырастала до высоты основного ряда. */
.imi-hd.imi-hd--mp .imi-hd__bar > .imi-hd__in{
  display: flex; align-items: center; gap: 20px;
  min-height: var(--imi-hd-min, 88px); padding-block: 16px;
  /* Как у Magpul: ряд ограничен шириной сайта и стоит по центру, а не
     разъезжается к краям широкого монитора. */
  max-width: var(--imi-max); margin-inline: auto;
}
.imi-hd.imi-hd--mp .imi-hd__left{ display: none; }
.imi-hd.imi-hd--mp .imi-hd__logo{ flex: none; margin:0; }
.imi-hd.imi-hd--mp .imi-hd__logo .imi-hd__logo-img{
  height: var(--imi-logo-h, 56px); width: auto; max-width: var(--imi-logo-w, 300px);
  object-position:right center;
}

/* Строка поиска: забирает всё место между логотипом и иконками, но не шире
   650 px, и встаёт по центру этого места — как у Magpul. */
.imi-hd.imi-hd--mp .imi-find{
  position: relative; display: block; flex: 1 1 auto; min-width: 0;
  max-width: 650px; margin:0 auto;
}
.imi-hd.imi-hd--mp .imi-find__q{
  display: block; width: 100%; height: 48px; margin:0; padding:0 52px 0 20px;
  background: var(--imi-steel); color: var(--imi-bone);
  border: 1px solid var(--imi-edge-2); border-radius:20px; box-shadow:none; outline: 0;
  font: 400 14px/1 var(--imi-fb); -webkit-appearance: none; appearance: none;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.imi-hd.imi-hd--mp .imi-find__q::placeholder{ color: var(--imi-ash); opacity: 1; }
.imi-hd.imi-hd--mp .imi-find__q::-webkit-search-cancel-button{ -webkit-appearance: none; }
.imi-hd.imi-hd--mp .imi-find__q:focus{
  background: var(--imi-void); border-color:var(--imi-gold);
  box-shadow:0 0 0 3px var(--imi-gold-dim);
}
/* Лупа — она же кнопка «искать»: без отдельной кнопки справа, как у Magpul,
   но Enter и клик по лупе отправляют форму. */
.imi-hd.imi-hd--mp .imi-find__go{
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; display: grid; place-items: center;
  margin:0; padding:0; border: 0; border-radius:50%; background: none;
  color: var(--imi-ash); cursor: pointer;
}
.imi-hd.imi-hd--mp .imi-find__go:hover{ color: var(--imi-bone); background: none; }
.imi-hd.imi-hd--mp .imi-find__go:focus-visible{ outline: 2px solid var(--imi-gold); outline-offset: 1px; }
.imi-hd.imi-hd--mp .imi-find__go .imi-ico,
.imi-hd.imi-hd--mp .imi-find__go svg{ width: 18px; height: 18px; }

/* Иконки: тема, корзина, аккаунт — в этом порядке. */
.imi-hd.imi-hd--mp .imi-hd__tools{ flex: none; display: flex; align-items: center; gap: 4px; margin:0; }
.imi-hd.imi-hd--mp .imi-hd__tools .imi-theme-toggle{ display: grid; }
/* Старая шапка прятала аккаунт на всём, что уже 1340 px (см. @media 1339px
   выше). Здесь он нужен на любой ширине: на телефоне справа корзина и аккаунт,
   слева меню и тема — ряд симметричный, логотип ровно по центру. */
.imi-hd.imi-hd--mp .imi-hd__tools .imi-hd__account{ display: grid; }

/* --- Ряд категорий ------------------------------------------------------ */
.imi-hd.imi-hd--mp .imi-hd__cats{
  display: block; position: relative;
  background: var(--imi-void);
  border-top: 1px solid var(--imi-edge); border-bottom: 1px solid var(--imi-edge);
}
.imi-hd.imi-hd--mp .imi-hd__cats .imi-hd__nav{
  display: block; position: static; flex: none; min-width: 0;
  max-width: var(--imi-max); margin:0 auto; padding-inline: var(--imi-gut);
}
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav{
  display: flex; flex-direction: row; justify-content: center; align-items: stretch;
  flex-wrap: nowrap; gap: 0; margin:0; padding:0; list-style: none; position: static;
}
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li{ margin:0; }
/* Мега-меню должно раскрываться во всю ширину под рядом категорий, поэтому
   его пункт не держит позиционирование — точкой отсчёта становится сам ряд.
   Обычные выпадающие списки остаются привязаны к своему пункту. */
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li.imi-has-mega{ position: static; }
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li > a{
  display: flex; align-items: center; gap: 6px; height: 49px; margin:0;
  padding:0 calc(var(--imi-nav-gap, 28px) / 2);
  font-family: var(--imi-fd); font-weight: 700; font-size: var(--imi-nav-size, 14px);
  line-height: 1; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap;
  color: var(--imi-bone); text-decoration: none; border: 0;
}
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li > a:hover,
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li > a:focus-visible,
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li.current-menu-item > a,
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li.current-menu-ancestor > a{ color: var(--imi-gold-2); }

/* Если категорий так много, что они не влезают в строку, скрипт шапки
   (theme.js) ставит эти классы: сначала ужимаем отступы, потом шрифт. */
.imi-hd.imi-hd--mp.is-cats-tight .imi-hd__cats .imi-nav > li > a{ padding-inline: 9px; }
.imi-hd.imi-hd--mp.is-cats-compact .imi-hd__cats .imi-nav > li > a{
  padding-inline: 7px; font-size: calc(var(--imi-nav-size, 14px) - 1.5px); letter-spacing: 0;
}

/* --- Телефон и планшет ---------------------------------------------------- */
@media (max-width: 1024px){
  .imi-hd.imi-hd--mp .imi-hd__bar{ border-bottom: 1px solid var(--imi-edge); }
  .imi-hd.imi-hd--mp .imi-hd__bar > .imi-hd__in{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "left logo tools" "find find find";
    gap: 10px 8px; min-height: 0; padding-block: 10px 12px;
  }
  .imi-hd.imi-hd--mp .imi-hd__left{
    display: flex; align-items: center; grid-area: left; justify-self: start; margin-right: -8px;
  }
  .imi-hd.imi-hd--mp .imi-hd__burger,
  .imi-hd.imi-hd--mp .imi-theme-toggle--m{ display: grid; }
  .imi-hd.imi-hd--mp .imi-hd__logo{ grid-area: logo; justify-self: center; }
  .imi-hd.imi-hd--mp .imi-hd__logo .imi-hd__logo-img{
    height: var(--imi-logo-h-m, 44px); max-width: calc(100vw - 196px); object-position:center;
  }
  .imi-hd.imi-hd--mp .imi-hd__tools{ grid-area: tools; justify-self: end; margin-left: -6px; gap: 0; }
  .imi-hd.imi-hd--mp .imi-hd__tools .imi-theme-toggle:not(.imi-theme-toggle--m){ display: none; }

  .imi-hd.imi-hd--mp .imi-find{ grid-area: find; max-width: none; margin:0; }
  .imi-hd.imi-hd--mp .imi-hd__cats{ display: none; }
}

/* --- Мега-меню: текст крупнее, как у Magpul ----------------------------------
   Magpul: пункты слева 16 px заглавными, заголовок 22 px заглавными, ссылка
   «все товары» 14 px. У нас было 14,7 и 19,5 px строчными — заглавные при том
   же кегле читаются заметно крупнее.
   Ссылка «Shop all …» выходила 19 px: на неё случайно действовало общее
   правило «.imi-nav a» с размером пунктов главного меню. Здесь она получает
   свой размер явно. */
.imi-hd.imi-hd--mp .imi-mega__tab,
.imi-hd.imi-hd--mp .imi-mega__rail a{
  font-family: var(--imi-fd); font-size: 16px; font-weight: 700;
  letter-spacing: .02em; text-transform: uppercase;
}
.imi-hd.imi-hd--mp .imi-mega__head h2,
.imi-hd.imi-hd--mp .imi-mega__head h3,
.imi-hd.imi-hd--mp .imi-mega__head h4{
  font-size: 22px; font-weight: 700; letter-spacing: .01em; text-transform: uppercase;
}
.imi-hd.imi-hd--mp .imi-mega__all{
  font-family: var(--imi-fb); font-size: 14px; font-weight: 600;
  padding:0; letter-spacing: 0; text-transform: none;
}
.imi-hd.imi-hd--mp .imi-mega__name{ font-size: 15px; font-weight: 600; line-height: 1.35; }

/* Шапка тоньше, как у Magpul (у них 35 + 88 + 51 = 174 px).
   ----------------------------------------------------------------------
   Была 231 px: логотип брал высоту из ползунка «Логотип — размер», а там
   на сайте стоит максимум — 110 px, плюс по 16 px сверху и снизу. В этой
   шапке логотип стоит отдельной строкой и крупнее 64 px не нужен; ползунок
   по-прежнему работает, если поставить меньше. Ползунок «высота шапки»
   (на сайте 94 px) здесь тоже ограничен сверху 84 px — он подбирался под
   прежнюю шапку в одну строку. Итого 38 + 84 + 47 ≈ 170 px. */
.imi-hd.imi-hd--mp .imi-hd__bar > .imi-hd__in{ min-height: min(var(--imi-hd-min, 76px), 84px); padding-block: 10px; }
.imi-hd.imi-hd--mp .imi-hd__logo .imi-hd__logo-img{ height: min(var(--imi-logo-h, 56px), 64px); }
.imi-hd.imi-hd--mp .imi-hd__cats .imi-nav > li > a{ height: 46px; }
@media (max-width: 1024px){
  .imi-hd.imi-hd--mp .imi-hd__bar > .imi-hd__in{ min-height: 0; padding-block: 8px 10px; }
  .imi-hd.imi-hd--mp .imi-hd__logo .imi-hd__logo-img{ height: min(var(--imi-logo-h-m, 44px), 52px); }
}

/* Мега-меню: ровная сетка без полупустых рядов.
   Было auto-fill: на широком экране 6 колонок, а плиток 10 — второй ряд
   обрывался на четырёх. Теперь 5 колонок (10 плиток = два полных ряда),
   на узком ноутбуке 4 колонки и 8 плиток. */
@media (min-width: 1025px){
  .imi-mega__grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1025px) and (max-width: 1279px){
  .imi-mega__grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .imi-mega__grid > li:nth-child(n+9){ display: none; }
}

/* ==========================================================================
   Телефон и планшет — как у Magpul
   ----------------------------------------------------------------------
   Шапка была 163 px: служебная полоса переносилась в две строки, строка
   поиска стояла отдельным рядом, а в ряду было пять значков. У Magpul —
   одна строка акции и ряд «меню | логотип | корзина, поиск» (~124 px),
   поле поиска открывается по кнопке. Аккаунт и смена темы — в шторке.
   ========================================================================== */
.imi-hd.imi-hd--mp .imi-hd__tools .imi-hd__find-toggle{ display: none; }
@media (max-width: 1024px){
  .imi-hd.imi-hd--mp .imi-hd__util .imi-hd__in{ display: flex; height: 30px; justify-content: center; flex-wrap: nowrap; }
  .imi-hd.imi-hd--mp .imi-hd__util-links{ display: none; }
  .imi-hd.imi-hd--mp .imi-hd__util-notes{ display: flex; justify-content: center; justify-self: center; margin-inline: auto; font-size: .74rem; white-space: nowrap; overflow: hidden; }
  .imi-hd.imi-hd--mp .imi-hd__util-notes span + span,
  .imi-hd.imi-hd--mp .imi-hd__util-dot{ display: none; }

  .imi-hd.imi-hd--mp .imi-hd__left .imi-theme-toggle--m,
  .imi-hd.imi-hd--mp .imi-hd__tools .imi-hd__account{ display: none; }
  .imi-hd.imi-hd--mp .imi-hd__tools .imi-hd__find-toggle{ display: grid; }
  .imi-hd.imi-hd--mp .imi-hd__find-toggle[aria-expanded="true"]{ color: var(--imi-gold-2); }
  .imi-hd.imi-hd--mp .imi-find{ display: none; }
  .imi-hd.imi-hd--mp.is-search-open .imi-find{ display: block; }
  .imi-hd.imi-hd--mp .imi-hd__bar > .imi-hd__in{ padding-block: 8px; }
  .imi-hd.imi-hd--mp.is-search-open .imi-hd__bar > .imi-hd__in{ padding-bottom: 12px; }

  /* Шторка: пункты под палец (44 px), текст крупнее, внизу — служебные
     ссылки из верхней полосы в две колонки. */
  .imi-drawer__nav .sub-menu a{ display: flex; align-items: center; min-height: 44px; padding:8px 32px 8px 20px; font: 600 1rem/1.25 var(--imi-fb); color: var(--imi-text, var(--imi-ash)); }
  .imi-drawer__foot{ display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding:10px 20px calc(14px + env(safe-area-inset-bottom)); }
  .imi-drawer__foot a, .imi-drawer__foot button{ display: flex; align-items: center; min-height: 44px; padding:0; font-size: .82rem; }
  .imi-drawer__foot .imi-drawer__dealer{ color: var(--imi-gold-2); }
}

/* Подвал на телефоне — разделы сворачиваются, как у Magpul (было 1160 px
   сплошного списка). Разметку кнопок добавляет theme.js. */
@media (max-width: 767px){
  .imi-ft--acc .imi-ft__col{ border-top: 1px solid var(--imi-edge); }
  .imi-ft--acc .imi-ft__col:last-of-type{ border-bottom: 1px solid var(--imi-edge); }
  .imi-ft--acc .imi-ft__h{ margin:0; }
  .imi-ft__acc{
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px; padding:0;
    background: none; border: 0; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-align: right;
  }
  .imi-ft__acc::after{
    content: ""; width: 9px; height: 9px; margin-left: 4px; border: solid currentColor; border-width:0 0 2px 2px;
    transform: rotate(45deg) translateY(-3px); transition: transform .2s;
  }
  .imi-ft__col.is-open .imi-ft__acc::after{ transform: rotate(-135deg) translateY(-3px); }
  .imi-ft--acc .imi-ft__col > :not(.imi-ft__h){ display: none; }
  .imi-ft--acc .imi-ft__col.is-open > :not(.imi-ft__h){ display: block; }
  .imi-ft--acc .imi-ft__col.is-open > .imi-ft__menu{ display: grid; padding-bottom: 12px; }
  .imi-ft--acc .imi-ft__col.is-open > .imi-ft__cta{ display: flex; padding-bottom: 16px; }
  .imi-ft--acc .imi-ft__menu a{ display: flex; align-items: center; min-height: 40px; padding:0; }
}

/* Плитки мега-меню: подписи по центру — как в карточках каталога
   (строка выше в этом файле ставила им text-align: left). */
.imi-mega__grid a, .imi-hd.imi-hd--mp .imi-mega__name{ text-align: center; }
