/* RTL — сгенерировано tools/rtl.py из base.css, не править руками */
/* ==========================================================================
   Базовая типографика
   Заголовки — Archivo обычным регистром (не капсом), текст — Instrument Sans,
   мелкие технические подписи — IBM Plex Mono. Иерархия держится размером и
   насыщенностью, а не заглавными буквами.
   ========================================================================== */

body{
  background: var(--imi-void);
  color: var(--imi-bone);
  font-family: var(--imi-fb);
  font-size: var(--imi-base, 16px);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* На телефоне размер текста задаётся отдельным ползунком. */
@media (max-width: 767px){ body{ font-size: var(--imi-base-m, var(--imi-base, 16px)); } }

body a{ color: inherit; }
body img{ max-width: 100%; height: auto; }
::selection{ background: var(--imi-gold); color: var(--imi-on-gold); }

:focus-visible{ outline: 2px solid var(--imi-gold-2); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Заголовки -----------------------------------------------------------
   Классы imi-d1…d4 задают размер. Сам шрифт заголовков (--imi-fd) получают
   все h1–h4 — в Elementor, WooCommerce и плагинах, без классов.             */

h1, h2, h3, h4{
  font-family: var(--imi-fd);
  font-weight: 600;
  text-transform: none;
  line-height: 1.12;
  letter-spacing: -.02em;
  color: var(--imi-bone);
  text-wrap: balance;
}
h1{ letter-spacing: -.025em; line-height: 1.06; }
h4{ font-weight: 600; line-height: 1.25; letter-spacing: -.015em; }
h5, h6{ font-family: var(--imi-fd); font-weight: 600; text-transform: none; color: var(--imi-bone); letter-spacing: -.01em; }

.imi-d1,.imi-d2,.imi-d3,.imi-d4{
  font-family: var(--imi-fd);
  font-weight: 600;
  text-transform: none;
  line-height: 1.1;
  letter-spacing: -.02em;
  text-wrap: balance;
  margin:0;
}
.imi-d1{ font-size: clamp(2.1rem, 3.6vw, 2.9rem); line-height: 1.05; letter-spacing: -.028em; }
.imi-d2{ font-size: clamp(1.6rem, 2.4vw, 1.95rem); line-height: 1.1; letter-spacing: -.022em; }
.imi-d3{ font-size: clamp(1.18rem, 1.5vw, 1.35rem); line-height: 1.2; letter-spacing: -.018em; }
.imi-d4{ font-size: clamp(1rem, 1.1vw, 1.08rem); font-weight: 600; line-height: 1.3; letter-spacing: -.012em; }

/* Оптическое выравнивание крупного заголовка по сетке */
.imi-d1.imi-bleed,
.imi-d2.imi-bleed{ margin-right: -.02em; }

/* Вторая строка заголовка: тот же шрифт, приглушённый цвет.
   Поверх фотографии — контур белым (.imi-hollow--light). */
.imi-hollow{ color: var(--imi-ash-2); }
@supports (-webkit-text-stroke: 1px black){
  .imi-hollow--light{
    color: transparent;
    -webkit-text-stroke: clamp(1px, .1vw, 1.5px) rgba(255,255,255,.92);
  }
}

.imi-gold{ color: var(--imi-gold-2); }
.imi-sig{ color: var(--imi-sig); }
.imi-muted{ color: var(--imi-ash); }

/* --- Метки и подписи ----------------------------------------------------
   Единственное место, где остаются заглавные буквы: мелкие технические
   подписи моноширинным шрифтом — рубрика над заголовком, категория на
   карточке, SKU, «FITMENT».                                              */

.imi-label{
  font-family: var(--imi-fm);
  font-weight: 500;
  font-size: .69rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--imi-gold-2);
  margin:0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.imi-label::before{ content: none; }
.imi-label.imi-label--ash{ color: var(--imi-ash-2); }
.imi-label.imi-label--rule{ }
.imi-label.imi-label--rule::before{
  content: "";
  width: 18px; height: 1px;
  background: currentColor;
  flex: none;
}

.imi-cap{
  font-family: var(--imi-fm);
  font-weight: 500;
  font-size: .67rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--imi-ash-2);
}

.imi-lead{
  font-size: clamp(1rem, 1.1vw, 1.08rem);
  line-height: 1.6;
  color: var(--imi-text);
  max-width: 58ch;
  margin:0;
}

.imi-small{ font-size: .875rem; line-height: 1.55; color: var(--imi-ash); }

/* Цифры в колонках должны выравниваться — иначе таблица цен «пляшет». */
.imi-num{ font-variant-numeric: tabular-nums; }

.imi-sr{
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* --- Читаемость и телефон --- */
html, body{ overflow-x: clip; }
sup{ vertical-align: super; font-size: .58em; line-height: 0; padding-right: 1px; }
.imi-lead, .imi-prose p, .imi-prose li, .imi-prose td, .elementor-widget-text-editor p, .elementor-widget-text-editor li, .imi-small{ color: var(--imi-text); }
.imi-prose p, .elementor-widget-text-editor p{ line-height: 1.65; }
.imi-ph{ color: var(--imi-gold-2); border-bottom: 1px dashed var(--imi-gold); font-family: var(--imi-fm); font-size: .9em; }
:focus-visible{ outline: 2px solid var(--imi-gold-2); outline-offset: 3px; }

/* Ссылка в тексте: подчёркивание тонкое, при наведении золотое */
.imi-prose a, .elementor-widget-text-editor a{ color: var(--imi-bone); text-decoration: underline; text-decoration-color: var(--imi-edge-2); text-underline-offset: 3px; transition: text-decoration-color .15s, color .15s; }
.imi-prose a:hover, .elementor-widget-text-editor a:hover{ color: var(--imi-gold-2); text-decoration-color: var(--imi-gold); }

@media (max-width: 767px){
  :root{ --imi-gut: 16px; }
  body{ font-size: var(--imi-base-m, var(--imi-base, 16px)); line-height: 1.58; }
  .imi-lead{ font-size: 1rem; line-height: 1.58; }
  .imi-small{ font-size: .9rem; }
  .imi-grid--2, .imi-grid--3, .imi-grid--4{ grid-template-columns: 1fr; }
  .imi-d1{ font-size: clamp(1.9rem, 8vw, 2.3rem); }
}
