/* ==========================================================================
   Компоненты дизайн-системы.
   Каждый класс вешается на виджет или контейнер 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. Кнопки -----------------------------------------------------------
   Срез угла — единственная декоративная деталь системы. Применяется
   к кнопкам, карточкам записи и меткам, и больше нигде.
   На виджете Button Elementor: CSS Classes = imi-btn imi-btn--gold        */

.imi-btn,
.elementor-button.imi-btn{
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 15px 28px;
  font-family: var(--imi-fd);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.02rem;
  letter-spacing: .02em;
  line-height: 1;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%);
  transition: background .18s, color .18s, transform .18s, box-shadow .18s;
}
.imi-btn--gold,  .elementor-button.imi-btn--gold { background: var(--imi-gold); color: #140F02; }
.imi-btn--gold:hover,  .elementor-button.imi-btn--gold:hover { background: var(--imi-gold-2); color: #140F02; }
.imi-btn--bone,  .elementor-button.imi-btn--bone { background: var(--imi-bone); color: var(--imi-void); }
.imi-btn--bone:hover,  .elementor-button.imi-btn--bone:hover { background: #fff; color: var(--imi-void); }
.imi-btn--ghost, .elementor-button.imi-btn--ghost{ background: none; 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{ color: var(--imi-gold); box-shadow: inset 0 0 0 1px var(--imi-gold); }
.imi-btn--sm{ padding: 11px 18px; font-size: .88rem; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%); }
.imi-btn--block{ width: 100%; justify-content: center; }
/* Кнопка во всю ширину среза не имеет — иначе срез теряется на краю экрана */
.imi-btn--flat{ clip-path: none; }

.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-steel-2);
  box-shadow: inset 0 0 0 1px var(--imi-edge);
  padding: 16px 18px 17px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--imi-notch)),
                     calc(100% - var(--imi-notch)) 100%, 0 100%);
}
.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;
  letter-spacing: .17em; text-transform: uppercase; color: var(--imi-gold);
}
.imi-rec__hd b{
  font-family: var(--imi-fc); font-weight: 600; font-size: .78rem;
  letter-spacing: .1em; 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;
  letter-spacing: .09em; text-transform: uppercase; color: var(--imi-ash-2);
}
.imi-rec dd{
  margin: 0; font-family: var(--imi-fd); font-weight: 700; font-size: 1.06rem;
  text-transform: uppercase; line-height: 1; 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: rgba(17,19,16,.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

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

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

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

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

.imi-card__fig{
  position: relative;
  background: var(--imi-plate);
  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.06); }

.imi-card__body{ padding: 15px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.imi-card__title{
  margin: 0; font-family: var(--imi-fd); font-weight: 700; text-transform: uppercase;
  font-size: 1.06rem; line-height: .94; letter-spacing: .005em;
}
.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: 9px;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.imi-card__price{
  font-family: var(--imi-fd); font-weight: 800; font-size: 1.3rem; line-height: 1;
  font-variant-numeric: tabular-nums;
}
.imi-card__price del{ color: var(--imi-ash-2); font-size: .86rem; margin-right: 7px; }
.imi-card__price ins{ text-decoration: none; }

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

/* Метка в углу фото */
.imi-tag{
  position: absolute; top: 0; left: 0; z-index: 2;
  background: var(--imi-gold); color: #140F02;
  font-family: var(--imi-fc); font-weight: 700; font-size: .72rem;
  letter-spacing: .14em; text-transform: uppercase;
  padding: 5px 11px;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--imi-notch-sm)) 100%, 0 100%);
}
.imi-tag--sig { background: var(--imi-sig);  color: #fff; }
.imi-tag--bone{ background: var(--imi-void); color: var(--imi-bone); }

/* Штамп номера записи на фото */
.imi-stamp{
  position: absolute; right: 8px; bottom: 8px; z-index: 2;
  font-family: var(--imi-fc); font-weight: 600; font-size: .68rem;
  letter-spacing: .13em; text-transform: uppercase;
  color: #4A4E44; border: 1px solid #B9B9B0; padding: 3px 7px;
}

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

/* --- 6. Плитка категории: ч/б, цвет на наведении ------------------------- */

.imi-tile{
  position: relative;
  background: var(--imi-void);
  min-height: 250px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none;
  color: var(--imi-bone);
}
.imi-tile img{
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(1) contrast(1.2) brightness(.58);
  transition: filter .45s, transform .7s var(--imi-ease);
}
.imi-tile::after{
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(9,10,9,.9) 4%, rgba(9,10,9,.15) 68%);
}
.imi-tile:hover img{ filter: grayscale(0) contrast(1.06) brightness(.78); transform: scale(1.05); }

.imi-tile__c{ width: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.imi-tile__c h4{
  margin: 0 0 3px; font-family: var(--imi-fd); font-weight: 800; text-transform: uppercase;
  font-size: clamp(1.2rem, 1.9vw, 1.6rem); line-height: .9;
}
.imi-tile__n{
  font-family: var(--imi-fc); font-weight: 600; font-size: .78rem;
  letter-spacing: .13em; text-transform: uppercase; color: var(--imi-ash-2);
}
.imi-tile:hover .imi-tile__n{ color: var(--imi-gold); }
.imi-tile__arrow{
  font-family: var(--imi-fd); font-weight: 800; font-size: 1.4rem; line-height: 1;
  color: var(--imi-ash-2); transition: color .2s, transform .2s;
}
.imi-tile:hover .imi-tile__arrow{ color: var(--imi-gold); transform: translateX(4px); }

/* Тот же приём для любой картинки */
.imi-mono img,
img.imi-mono{
  filter: grayscale(1) contrast(1.18) brightness(.72);
  transition: filter .45s, transform .7s var(--imi-ease);
}
.imi-mono:hover img,
img.imi-mono:hover{ filter: grayscale(0) contrast(1.04) brightness(.9); }

/* --- 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;
  text-transform: uppercase; 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;
  text-transform: uppercase; 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; text-transform: uppercase;
  font-size: clamp(1.12rem, 1.6vw, 1.34rem); line-height: .98;
}
.imi-op__q::before{ content: "\201C"; color: var(--imi-gold); margin-right: 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; text-transform: uppercase; 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-left: 3px solid var(--imi-gold);
  background: var(--imi-steel);
  padding: 18px 20px;
  display: flex; gap: 15px; align-items: flex-start;
}
.imi-note--stop{ border-left-color: var(--imi-sig); }
.imi-note--ok  { border-left-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; text-transform: uppercase; 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: #140F02;
  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;
  letter-spacing: .16em; text-transform: uppercase;
  padding-inline: 22px; position: relative;
}
.imi-marquee__track span::after{
  content: ""; position: absolute; right: 0; top: 50%;
  width: 4px; height: 4px; background: #140F02;
  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;
  letter-spacing: .1em; text-transform: uppercase; 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-bone); 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; text-transform: uppercase; 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: #140F02; border: 0; cursor: pointer;
  font-family: var(--imi-fd); font-weight: 800; text-transform: uppercase;
  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); }
.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;gap:11px;padding:15px 28px;
  font-family:var(--imi-fd);font-weight:800;text-transform:uppercase;font-size:1.02rem;letter-spacing:.02em;line-height:1;
  border:0;border-radius:0;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);
  transition:background .18s,color .18s;
}
.elementor-widget-button.imi-btn--gold  .elementor-button{background:var(--imi-gold);color:#140F02}
.elementor-widget-button.imi-btn--gold  .elementor-button:hover{background:var(--imi-gold-2);color:#140F02}
.elementor-widget-button.imi-btn--bone  .elementor-button{background:var(--imi-bone);color:var(--imi-void)}
.elementor-widget-button.imi-btn--bone  .elementor-button:hover{background:#fff;color:var(--imi-void)}
.elementor-widget-button.imi-btn--ghost .elementor-button{background:none;color:var(--imi-bone);box-shadow:inset 0 0 0 1px var(--imi-edge-2)}
.elementor-widget-button.imi-btn--ghost .elementor-button:hover{color:var(--imi-gold);box-shadow:inset 0 0 0 1px var(--imi-gold)}
.elementor-widget-button.imi-btn--sm .elementor-button{padding:11px 18px;font-size:.88rem}

/* --- 16. Шапка и навигация --------------------------------------------- */
.imi-header{position:sticky;top:0;z-index:80;background:rgba(9,10,9,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--imi-edge)}
.imi-nav{display:flex;align-items:center;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:1.02rem;text-transform:uppercase;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;left:0;top:100%;min-width:240px;margin:0;padding:6px 0;list-style:none;background:var(--imi-steel);box-shadow:0 0 0 1px var(--imi-edge),0 18px 40px -12px #000;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;letter-spacing:.09em;border:0;color:var(--imi-ash)}
.imi-nav .sub-menu a:hover{color:var(--imi-gold);background:var(--imi-steel-2)}
.imi-nav .sub-menu .sub-menu{left: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:1.4rem}
  .imi-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:none;padding:0 0 0 18px}
  .imi-nav .sub-menu a{font-size:1rem;padding:10px 0}
  .imi-nav-close{position:fixed;top:18px;right: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(14px,1.8vw,26px)}
@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:13px;text-decoration:none;color:inherit}
.imi-jc__fig{aspect-ratio:16/10;overflow:hidden;background:#000}
.imi-jc__fig img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.74);transition:filter .45s,transform .65s var(--imi-ease)}
.imi-jc:hover .imi-jc__fig img{filter:grayscale(0) brightness(.92);transform:scale(1.04)}
.imi-jc__m{display:flex;gap:10px;align-items:center;font-family:var(--imi-fc);font-weight:600;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--imi-ash-2)}
.imi-jc__m .c{color:var(--imi-gold)}
.imi-jc h4{margin:0;font-family:var(--imi-fd);font-weight:700;text-transform:uppercase;font-size:clamp(1.14rem,1.7vw,1.4rem);line-height:.94}
.imi-jc:hover h4{color:var(--imi-gold)}
.imi-jc p{margin:0;font-size:.86rem;color:var(--imi-ash-2);line-height:1.52}

/* --- 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)}
.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:.86rem;color:var(--imi-ash-2);text-decoration:none}
.imi-footer-menu a:hover{color:var(--imi-bone)}
.imi-footer__h{margin:0 0 14px;font-family:var(--imi-fc);font-weight:600;font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;color:var(--imi-gold)}
.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;letter-spacing:.11em;text-transform:uppercase;color:var(--imi-ash-2)}
.imi-footer__bar .end{margin-left:auto}

/* --- 20. Длинный текст (политики, статьи) -------------------------------- */
.imi-prose{color:#DAD9D1;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;text-transform:uppercase;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-left:22px;border-left:3px solid var(--imi-gold);font-family:var(--imi-fd);font-weight:800;text-transform:uppercase;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:left;padding:10px 14px;border-bottom:1px solid var(--imi-edge)}
.imi-prose th{font-family:var(--imi-fc);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--imi-gold)}

/* Заголовок архива и результат поиска WooCommerce */
.woocommerce-products-header .page-title,.imi-archive-title{font-family:var(--imi-fd);font-weight:900;text-transform:uppercase;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-gold)!important;color:#140F02!important;border-radius:0!important;font-family:var(--imi-fd)!important;font-weight:800!important;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}

/* --- 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;letter-spacing:.12em;text-transform:uppercase;color:var(--imi-ash-2)}
.elementor-form .elementor-button,.elementor-form .elementor-button[type=submit]{
  background:var(--imi-gold);color:#140F02;border:0;border-radius:0;
  font-family:var(--imi-fd);font-weight:800;text-transform:uppercase;font-size:1rem;letter-spacing:.02em;padding:13px 24px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}
.elementor-form .elementor-button:hover{background:var(--imi-gold-2);color:#140F02}
.elementor-message{font-size:.9rem;color:var(--imi-ash)}
.elementor-message.elementor-message-success{color:var(--imi-ok)}
