/*
  Связка Elementor с дизайн-системой проекта.

  Здесь НЕТ значений дизайна — только обнуление чужих. Цвета, шрифты, отступы
  и размеры живут в main.css и остаются единственным источником правды: две
  копии значений разъехались бы при первой же правке.

  Классы виджетов переносятся на внутренние элементы хуком в inc/elementor.php
  (приставка inner-), поэтому кнопки и заголовки уже получают .btn и .h.
  Остаётся то, что классом не решается — оформление, зашитое в сам виджет.

  Селекторы намеренно с запасом по весу (.faq.elementor-widget-n-accordion):
  собственный CSS виджета Elementor подключает в момент отрисовки, то есть
  ПОСЛЕ наших стилей, и при равном весе выигрывал бы он.
*/

/* --- вертикальный ритм блоков ----------------------------------------
   Обёртки блоков должны остаться обычными блоками, а не флексами.
   Контейнер Elementor — флекс, и это ломает ритм сразу дважды: добавляет
   свой `gap:20px` поверх наших отступов и отключает схлопывание margin'ов.
   В макете отбивка между заголовком и содержимым — это max(margin-bottom
   заголовка, margin-top блока), а во флексе они складываются: заголовки
   блоков уезжали на 20px ниже, список вопросов FAQ — ещё на 14px.
   display:block возвращает ровно то поведение, под которое рисовался макет.
   Сетки и ряды кнопок сюда не входят: у них свой display и свой gap
   в main.css. */
.e-con.wrap,
.e-con.pad,
.e-con.fin {
  display: block;
}

/* --- виджет заголовка ------------------------------------------------
   Elementor жёстко ставит `.elementor-heading-title{line-height:1}`.
   Там, где высота строки задана нами (.h, .cols h3), наше правило весомее
   и продолжает работать; страдали надстрочные подписи .eyebrow и заголовки
   карточек «Для организаций» и кнопка «Стать партнёром» — она выходила
   на 5px ниже макета (52px против 47). inherit, а не значение: высоту
   строки для них задаёт секция. */
.elementor-heading-title,
.elementor-button {
  line-height: inherit;
}

/* --- вложенный аккордеон (FAQ) ---------------------------------------
   Виджет рисует настоящие <details>/<summary>, и правила .faq details и
   .faq summary из main.css к ним подходят. Мешает только собственная
   отделка виджета — она задана переменными, их и гасим. */
.faq.elementor-widget-n-accordion {
  --n-accordion-border-width: 0;
  --n-accordion-border-radius: 0;
  --n-accordion-item-title-space-between: 0;
  --n-accordion-item-title-distance-from-content: 0;
  --n-accordion-icon-gap: 0;

  /* Цвет вопроса виджет красит сам: color:var(--n-accordion-title-normal-color),
     и его селектор весомее нашего `.faq summary`. Значение здесь не пишем —
     отдаём наследование: summary тогда берёт цвет секции, то есть --ink.
     Без этого вопросы оставались тёмно-серыми (#1F2124) на чёрном фоне и
     читались как выключенные. */
  --n-accordion-title-normal-color: inherit;
  --n-accordion-title-hover-color: inherit;
  --n-accordion-title-active-color: inherit;

  /* Единственное продублированное значение во всём файле. Elementor задаёт
     отступ строки вопроса как padding:var(--n-accordion-padding), и его
     правило весомее, чем `.faq summary` в main.css, — обнулить переменную
     и «пропустить» наше значение не выйдет.
     Держать синхронно с `.faq summary` в main.css. */
  --n-accordion-padding: 16px 0;
}

/* Заголовок вопроса — просто текст внутри summary: шрифт и размер ему
   задаёт .faq summary, собственный размер виджета тут только мешает. */
.faq.elementor-widget-n-accordion .e-n-accordion-item-title-text {
  font: inherit;
  color: inherit;
  margin: 0;
}

.faq.elementor-widget-n-accordion .e-n-accordion-item-title-header {
  margin: 0;
}

/* Значок «плюс/минус» уже рисует .faq summary::after. */
.faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
  display: none;
}

/* Контейнер ответа: у Elementor на нём своя рамка и отступы. */
.faq.elementor-widget-n-accordion .e-n-accordion-item > .e-con {
  border: 0;
  padding: 0;
}

/* --- кнопки ----------------------------------------------------------
   Класс .btn на ссылку уже поставлен хуком. Гасим только собственный
   фон и рамку виджета, чтобы они не спорили с .btn.solid / .btn.line. */
.elementor-widget-button .elementor-button {
  background-image: none;
  box-shadow: none;
}

/* Контейнеру Elementor по умолчанию задан padding:10px. Там, где отступ
   наш (.pad, .wrap, карточки .c и .o), правило перебивается весом само;
   у рядов кнопок и сеток своего padding нет — и чужие 10px сужают сетку
   и сдвигают кнопки относительно текста над ними. Значение не пишем, гасим. */
.e-con.cols,
.e-con.org,
.e-con.acts {
  padding: 0;
}

/* --- контейнеры-обёртки блоков --------------------------------------
   Наши секции сами держат отступы (.pad) и ширину строки (.wrap).
   Контейнер Elementor нужен только как рамка для перетаскивания в
   редакторе, поэтому он не должен добавлять ни отступов, ни ограничения
   ширины поверх наших. */
.elementor-widget-shortcode .elementor-widget-container > section {
  margin: 0;
}
