/* RTL — сгенерировано tools/rtl.py из doc.css, не править руками */
/* ==========================================================================
   Текстовые страницы — документ (inc/doc-pages.php).
   Слева — оглавление из подзаголовков, справа — колонка текста шириной
   для чтения. Текст страницы не меняется: здесь только оформление того,
   что пришло из редактора WordPress или из Elementor. Цвета — токены темы,
   поэтому светлая и тёмная темы работают сами.
   ========================================================================== */

.imi-doc{
  --doc-col: 760px;
  --doc-toc: 236px;
  --doc-top: calc(var(--imi-hd-h, 140px) + 24px);
  box-sizing: border-box; width: 100%; max-width: 1180px; margin:0 auto;
  padding:clamp(28px, 4.2vw, 60px) clamp(16px, 3.5vw, 40px) clamp(56px, 8vw, 112px);
  color: var(--imi-text);
}
.imi-doc__in{
  display: grid; grid-template-columns: minmax(0, var(--doc-col));
  justify-content: center; column-gap: clamp(40px, 6vw, 88px); align-items: start;
}
.imi-doc--toc .imi-doc__in{ grid-template-columns: var(--doc-toc) minmax(0, var(--doc-col)); }

/* Hello Elementor ограничивает .site-main и даёт отступы — документ ведёт себя сам. */
.imi-doc-page .site-main{ max-width: none; width: 100%; padding:0; margin:0; }
.imi-doc-page .page-content{ margin:0; }

/* --- Оглавление --------------------------------------------------------- */
.imi-doc__toc{ position: sticky; top: var(--doc-top); max-height: calc(100vh - var(--doc-top) - 24px); overflow: auto; overscroll-behavior: contain; }
.imi-doc__toc summary{
  list-style: none; cursor: default; margin:0 0 14px;
  font: 600 .72rem/1 var(--imi-fm); letter-spacing: .02em; text-transform: uppercase; color: var(--imi-ash-2);
}
.imi-doc__toc summary::-webkit-details-marker{ display: none; }
.imi-doc__toc ol{ list-style: none; margin:0; padding:0; border-right: 1px solid var(--imi-edge); }
.imi-doc__toc li{ margin:0; }
.imi-doc__toc a{
  position: relative; display: block; padding:7px 16px 7px 0; margin-right: -1px;
  border-right: 2px solid transparent;
  font: 500 .86rem/1.35 var(--imi-fb); color: var(--imi-ash); text-decoration: none;
  transition: color .15s, border-color .15s;
}
.imi-doc__toc a:hover{ color: var(--imi-bone); }
.imi-doc__toc a[aria-current="true"]{ color: var(--imi-bone); border-right-color: var(--imi-gold); font-weight: 600; }
.imi-doc__toc a:focus-visible{ outline: 2px solid var(--imi-gold); outline-offset: 2px; }

/* --- Колонка текста ----------------------------------------------------- */
.imi-doc .imi-doc__body{ min-width: 0; font: 400 1.0625rem/1.75 var(--imi-fb); color: var(--imi-text); }
.imi-doc .imi-doc__body > :first-child{ margin-top: 0; }

/* Elementor: внешние контейнеры страницы теряют свои поля, ширину и
   чередующийся фон полос (components.css), иначе у каждой страницы был бы
   свой отступ. Внутренние (панель формы
   и т. п.) остаются как есть. */
body .imi-doc .imi-doc__body .elementor-element.e-con.e-parent{
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --margin-top: 0; --margin-bottom: 0; --content-width: 100%; --width: 100%; --min-height: 0;
  padding:0; margin:0; width: 100%; max-width: 100%; background: none;
}
body .imi-doc .imi-doc__body .elementor-element.e-con.e-parent + .e-con.e-parent{ margin-top: 28px; }
.imi-doc .imi-doc__body .elementor-widget:not(:last-child){ margin-block-end: 0; }
.imi-doc .imi-doc__body .elementor-widget-container{ margin:0; padding:0; }

/* Надпись над заголовком (у страниц из Elementor: «Policy», «Compliance»…). */
.imi-doc .imi-doc__body .elementor-widget-heading p.elementor-heading-title{
  margin:0 0 14px; font: 600 .74rem/1 var(--imi-fm); letter-spacing: .02em; text-transform: uppercase; color: var(--imi-gold-2);
}

/* Заголовок страницы. */
.imi-doc .imi-doc__body h1,
.imi-doc .imi-doc__body .elementor-widget-heading h1.elementor-heading-title{
  position: relative; margin:0 0 28px; padding-bottom: 26px;
  font: 800 clamp(2.1rem, 4.3vw, 3.4rem)/1 var(--imi-fd); letter-spacing: -.005em;
  color: var(--imi-bone); text-wrap: balance;
}
.imi-doc .imi-doc__body h1::after{
  content: ""; position: absolute; right: 0; bottom: 0; width: 56px; height: 3px; background: var(--imi-gold);
}
/* Подзаголовок в начале страницы без h1 (About) — выглядит как заголовок страницы. */
.imi-doc .imi-doc__body [data-doc-title]{
  position: relative; margin:0 0 28px; padding:0 0 26px; border: 0;
  font: 800 clamp(2.1rem, 4.3vw, 3.4rem)/1 var(--imi-fd); letter-spacing: -.005em; color: var(--imi-bone); text-wrap: balance;
}
.imi-doc .imi-doc__body [data-doc-title]::before{ content: none; }
.imi-doc .imi-doc__body [data-doc-title]::after{
  content: ""; position: absolute; right: 0; bottom: 0; width: 56px; height: 3px; background: var(--imi-gold);
}
/* Второй и следующие h1 внутри текста (так бывает в перенесённых правилах) —
   как крупный раздел, не как заголовок страницы. */
.imi-doc .imi-doc__body .elementor-widget-text-editor h1,
.imi-doc .imi-doc__body h1 ~ h1{
  margin:2.2em 0 .8em; padding-bottom: 0;
  font: 800 clamp(1.45rem, 2.4vw, 1.85rem)/1.1 var(--imi-fd);
}
.imi-doc .imi-doc__body .elementor-widget-text-editor h1::after,
.imi-doc .imi-doc__body h1 ~ h1::after{ content: none; }
.imi-doc .imi-doc__body .shopify-policy__title h1{ display: block; }

/* Вводный абзац из Elementor. */
.imi-doc .imi-doc__body .imi-lead,
.imi-doc .imi-doc__body .imi-lead p{ font-size: 1.16rem; line-height: 1.62; color: var(--imi-ash); }

/* Разделы. */
.imi-doc .imi-doc__body h2{
  position: relative; margin:2.6em 0 .75em; padding-top: 26px; border-top: 1px solid var(--imi-edge);
  font: 700 clamp(1.25rem, 1.9vw, 1.5rem)/1.2 var(--imi-fd); color: var(--imi-bone);
  scroll-margin-top: var(--doc-top); text-wrap: balance;
}
.imi-doc .imi-doc__body h2::before{
  content: ""; position: absolute; right: 0; top: -2px; width: 40px; height: 3px; background: var(--imi-gold);
}
.imi-doc .imi-doc__body h3{ margin:2em 0 .55em; font: 700 1.15rem/1.3 var(--imi-fd); color: var(--imi-bone); }
.imi-doc .imi-doc__body h4,
.imi-doc .imi-doc__body h5,
.imi-doc .imi-doc__body h6{ margin:1.7em 0 .45em; font: 700 1rem/1.35 var(--imi-fd); color: var(--imi-bone); }
.imi-doc .imi-doc__body h2 + h3,
.imi-doc .imi-doc__body h1 + h2{ margin-top: 0; }

.imi-doc .imi-doc__body p{ margin:0 0 1.05em; max-width: 72ch; line-height: 1.75; color: var(--imi-text); }
.imi-doc .imi-doc__body strong,
.imi-doc .imi-doc__body b{ color: var(--imi-bone); font-weight: 700; }
.imi-doc .imi-doc__body em{ font-style: italic; }

.imi-doc .imi-doc__body a{
  color: var(--imi-gold-2); text-decoration: underline; text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--imi-gold-2) 45%, transparent); text-underline-offset: 3px;
  overflow-wrap: anywhere; transition: color .15s, text-decoration-color .15s;
}
.imi-doc .imi-doc__body a:hover{ color: var(--imi-bone); text-decoration-color: var(--imi-gold); }

/* Списки: золотой квадратик вместо точки. */
.imi-doc .imi-doc__body ul{ list-style: none; margin:0 0 1.2em; padding:0; max-width: 72ch; }
.imi-doc .imi-doc__body ul li{ position: relative; margin:0 0 .55em; padding-right: 1.5em; line-height: 1.7; color: var(--imi-text); }
.imi-doc .imi-doc__body ul li::before{
  content: ""; position: absolute; right: .2em; top: .72em; width: 6px; height: 6px; background: var(--imi-gold);
}
.imi-doc .imi-doc__body ol{ margin:0 0 1.2em; padding-right: 1.4em; max-width: 72ch; }
.imi-doc .imi-doc__body ol li{ margin:0 0 .55em; padding-right: .3em; line-height: 1.7; }
.imi-doc .imi-doc__body ol li::marker{ color: var(--imi-gold-2); font-weight: 700; }
.imi-doc .imi-doc__body li > ul,
.imi-doc .imi-doc__body li > ol{ margin:.5em 0 0; }

/* Таблицы: прокрутка по горизонтали на телефоне, полосы через строку. */
.imi-doc .imi-doc__body figure.wp-block-table,
.imi-doc .imi-doc__body .imi-doc__table{ margin:1.6em 0 2em; overflow-x: auto; border: 1px solid var(--imi-edge); border-radius:var(--imi-r); }
.imi-doc .imi-doc__body table{ width: 100%; margin:0; border-collapse: collapse; font-size: .95rem; line-height: 1.5; background: var(--imi-void); }
.imi-doc .imi-doc__body th{
  padding:12px 16px; text-align: right; vertical-align: bottom; background: var(--imi-steel);
  font: 600 .74rem/1.2 var(--imi-fm); letter-spacing: .02em; color: var(--imi-ash-2); border-bottom: 1px solid var(--imi-edge);
}
.imi-doc .imi-doc__body td{ padding:12px 16px; vertical-align: top; color: var(--imi-text); border-bottom: 1px solid var(--imi-edge); }
/* Блок «Таблица» WordPress рисует рамку у каждой ячейки и толстую линию под шапкой — оставляем только линии между строками. */
.imi-doc .imi-doc__body th, .imi-doc .imi-doc__body td{ border: 0; border-bottom: 1px solid var(--imi-edge); }
.imi-doc .imi-doc__body thead, .imi-doc .imi-doc__body tfoot{ border: 0; }
.imi-doc .imi-doc__body tbody tr:last-child td{ border-bottom: 0; }
.imi-doc .imi-doc__body tbody tr:nth-child(even) td{ background: color-mix(in srgb, var(--imi-steel) 60%, transparent); }
.imi-doc .imi-doc__body td:first-child{ white-space: nowrap; color: var(--imi-bone); }
.imi-doc .imi-doc__body figure.wp-block-table figcaption{ padding:10px 16px; font-size: .85rem; color: var(--imi-ash-2); }

/* Цитата (так набран текст About us) — спокойная врезка, не крик. */
.imi-doc .imi-doc__body blockquote{
  margin:0 0 1.4em; padding:4px 24px 4px 0; border-right: 3px solid var(--imi-gold);
  font: inherit; color: inherit; quotes: none;
}
.imi-doc .imi-doc__body blockquote::before,
.imi-doc .imi-doc__body blockquote::after{ content: none; }
.imi-doc .imi-doc__body blockquote p{ font-size: 1.08rem; }

.imi-doc .imi-doc__body hr{ margin:2.4em 0; border: 0; border-top: 1px solid var(--imi-edge); }
.imi-doc .imi-doc__body img{ max-width: 100%; height: auto; }
.imi-doc .imi-doc__body .imi-note{ margin:2em 0; max-width: 72ch; }

/* Заголовок, который печатает тема (у страницы в тексте его нет). */
.imi-doc__head{ margin:0; }

/* Страница с формой (Contact): колонка шире, чтобы форма и контакты стояли рядом;
   абзацы всё равно не шире 72 знаков. */
.imi-doc:not(.imi-doc--toc):has(.elementor-widget-form){ --doc-col: 1040px; }
.imi-doc .imi-doc__body .elementor-widget-form{ width: 100%; }

/* --- Планшет и телефон: оглавление сворачивается над текстом ------------ */
@media (max-width: 1023px){
  .imi-doc--toc .imi-doc__in{ grid-template-columns: minmax(0, var(--doc-col)); }
  .imi-doc__toc{
    position: static; max-height: none; overflow: visible; margin:0 0 28px;
    border: 1px solid var(--imi-edge); border-radius:var(--imi-r); background: var(--imi-steel);
  }
  .imi-doc__toc summary{
    display: flex; align-items: center; justify-content: space-between; margin:0; padding:15px 16px;
    cursor: pointer; color: var(--imi-bone);
  }
  .imi-doc__toc summary::after{
    content: ""; width: 8px; height: 8px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg); transition: transform .2s;
  }
  .imi-doc__toc[open] summary::after{ transform: translateY(2px) rotate(-135deg); }
  .imi-doc__toc summary:focus-visible{ outline: 2px solid var(--imi-gold); outline-offset: -2px; }
  .imi-doc__toc ol{ margin:0 16px 14px; }
}
@media (max-width: 600px){
  .imi-doc .imi-doc__body{ font-size: 1rem; }
  .imi-doc .imi-doc__body h1,
  .imi-doc .imi-doc__body .elementor-widget-heading h1.elementor-heading-title{ margin-bottom: 22px; padding-bottom: 20px; }
  .imi-doc .imi-doc__body h2{ margin-top: 2.2em; padding-top: 22px; }
  .imi-doc .imi-doc__body td:first-child{ white-space: normal; }
  body .imi-doc .imi-doc__body .elementor-element.e-con.e-parent .e-con.e-child{ flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce){
  .imi-doc__toc a, .imi-doc__toc summary::after{ transition: none; }
}

@media print{
  .imi-doc__toc{ display: none; }
  .imi-doc--toc .imi-doc__in{ grid-template-columns: 1fr; }
}
