/* /category/{slug}/ — архив рубрики блога (шаблон 183).
   Hero-секция (vgba-hero/vgba-hero-left/vgba-hero-featured/vgba-search-form) переиспользует
   ТЕ ЖЕ element id, что и /blog/ (шаблон 172) — вся визуальная стилизация (mesh-градиент,
   .vgba-hero-*, карточка 500 .elementor-element-vgfeat-*) уже определена в blog-archive.css
   и подключена сюда через тот же CSS-загрузчик (functions.php, is_category()) — дублировать
   её здесь не нужно. Этот файл — только для того, что специфично именно рубрике: свой
   id хлебных крошек (cat-crumbs, отличается от vgba-crumbs на /blog/, т.к. динамический).
   Секции 4 (лента статей) и 8 (другие рубрики) стилизованы инлайн через v4 atomic styles
   на самих элементах (cat-feed-section/cat-related-section) — не через этот файл; визуальное
   оформление карточек 463/504 внутри них — в blog.css (тоже подключён отдельно). */

.elementor-element-cat-crumbs { background-color: transparent !important; }

/* Секция «Последние обсуждения» (cat-discuss) — копия .elementor-element-vgba-discuss с
   /blog/ (blog-archive.css), комментарии отфильтрованы по текущей рубрике
   ([vg_category_recent_comments]/[vg_category_discuss_badge] в Fluent Snippet #11). Сам список
   (.vgba-discuss-list/-item/-avatar/-meta/-text/-time) — общие глобальные классы из
   blog-archive.css, переиспользованы как есть. Нет «03 /»-нумерации в эйброу — так же,
   как у других эйброу этой страницы. */
.elementor-element-cat-discuss {
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: rgba(255,255,255,.7);
  align-items: flex-start;
  gap: 40px;
}
.elementor-element-cat-discuss > .e-con-inner { padding: 64px 0 !important; }
@media (min-width: 640px) { .elementor-element-cat-discuss > .e-con-inner { padding: 80px 0 !important; } }
.elementor-element-cat-discuss-left { flex: 1 1 320px !important; }
.elementor-element-cat-discuss-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--vg-primary);
}
.elementor-element-cat-discuss-h2 {
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}
.elementor-element-cat-discuss-h2 em { font-family: var(--vg-font-serif); font-style: italic; font-weight: 500; }
@media (min-width: 640px) { .elementor-element-cat-discuss-h2 { font-size: 60px; } }
.elementor-element-cat-discuss-badge {
  display: inline-block !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: fit-content !important;
  max-width: max-content !important;
  margin-top: 32px;
  padding: 12px 16px;
  border-radius: var(--vg-radius-control);
  border: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-yellow);
  font-size: 14px;
  font-weight: 500;
  color: var(--vg-ink);
}
.elementor-element-cat-discuss-list { flex: 2 1 480px !important; }

/* Секция «Najdite место для дела» (cat-places-section) — копия секции «Смотреть
   площадки» с главной (id=133, контейнер 406a4c21) — тот же ts-post-feed по CPT places,
   карточка 454, но с добавленным фильтром terms по places_category (инъектируется динамически
   через elementor/frontend/widget/before_render в Fluent Snippet #11 по id виджета cat-places-feed —
   статический контрол шаблона не может хранить разные значения для 8 разных рубрик, поэтому
   не статичное значение в настройках, а хук перед рендером). Классы .vgcat-*
   с главной определены в catalog.css, который не грузится на is_category() — копия под
   новыми именами классов здесь без изменений (тот же Tier C: 36→ 60px для h2). Заголовок
   задан явно пользователем («Najdite место / для дела»), вместо главной «Смотреть площадки»;
   кнопка ведёт на /business-category/{slug}/ через vg_cat_places_link() (та же функция,
   что и у ссылки в Hero), вместо общего /places/. */
.elementor-element-cat-places-section > .e-con-inner { padding: 64px 0 !important; }
@media (min-width: 640px) { .elementor-element-cat-places-section > .e-con-inner { padding: 80px 0 !important; } }

.cat-places-head {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}
@media (min-width: 768px) { .cat-places-head { flex-direction: row; align-items: flex-end; } }
.cat-places-eyebrow {
  margin: 0 0 12px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(22,32,50,.6);
}
.cat-places-h2 {
  margin: 0;
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}
@media (min-width: 640px) { .cat-places-h2 { font-size: 60px; } }
.cat-places-h2__accent { font-family: var(--vg-font-serif); font-style: italic; font-weight: 500; }
.cat-places-btn {
  display: inline-flex;
  flex-shrink: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 20px;
  border-radius: var(--vg-radius-control);
  border: var(--vg-border-width) solid var(--vg-ink);
  color: var(--vg-ink);
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease;
  width: max-content;
}
.cat-places-btn:hover { background-color: var(--vg-ink); color: #FFFFFF !important; }
.cat-places-btn__arrow {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 12h16m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 12h16m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* Секция «Люди практики» (cat-authors) — копия .elementor-element-vgba-authors с /blog/
   (blog-archive.css), только авторы отфильтрованы по текущей рубрике ([vg_category_authors] в
   Fluent Snippet #11, вместо [vg_blog_authors]). Сама сетка (.vgba-author-grid/-item/...) —
   общие глобальные классы из blog-archive.css, переиспользованы как есть — здесь только
   контейнер/эйброу/h2, скопированные на новый element id. Нет «05 /»-нумерации в эйброу —
   на /blog/ она отражает позицию секции в ТОЙ структуре страницы, здесь она была бы выдуманной,
   так же как у других эйброу этой страницы (cat-feed-eyebrow, cat-related-eyebrow). */
.elementor-element-cat-authors {
  background-color: var(--vg-ink) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
}
.elementor-element-cat-authors > .e-con-inner {
  padding: 64px 0 !important;
}
@media (min-width: 640px) { .elementor-element-cat-authors > .e-con-inner { padding: 80px 0 !important; } }
.elementor-element-cat-authors-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em; color: var(--vg-lightblue) !important;
}
.elementor-element-cat-authors-h2 {
  margin-bottom: 40px !important;
  font-family: var(--vg-font-body); font-size: 36px; font-weight: 500;
  line-height: 1; letter-spacing: -0.055em; color: #FFFFFF;
}
.elementor-element-cat-authors-h2 em {
  font-family: var(--vg-font-serif); font-style: italic; font-weight: 500; color: var(--vg-yellow);
}
@media (min-width: 640px) { .elementor-element-cat-authors-h2 { font-size: 60px; } }

/* Цитата (cat-quote3, Стив Джобс) — третий цвет в серии vgba-quote1(жёлтый)/quote2(синий)
   на /blog/ (blog-archive.css) — тот же типографический паттерн (36→ 60→ 72px, line-height 1.02,
   letter-spacing -0.05em), здесь --vg-red и гигантский полупрозрачный номер «03» фоном 
   (как в черновике category-post.html) — у quote1/quote2 такого номера нет, уникально для
   этой цитаты. */
.elementor-element-cat-quote3 {
  position: relative;
  overflow: hidden;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-red) !important;
}
.elementor-element-cat-quote3::after {
  content: "03";
  position: absolute;
  right: 16px;
  bottom: -4vw;
  font-family: var(--vg-font-body);
  font-weight: 500;
  font-size: 24vw;
  line-height: 1;
  color: rgba(255,255,255,.1);
  pointer-events: none;
}
.elementor-element-cat-quote3 > .e-con-inner {
  position: relative;
  z-index: 1;
  padding: 56px 0 !important;
}
@media (min-width: 640px) {
  .elementor-element-cat-quote3 > .e-con-inner { padding: 64px 0 !important; }
}
.elementor-element-cat-quote3-text {
  max-width: 1152px;
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.05em;
  color: #FFFFFF;
}
.elementor-element-cat-quote3-text p { margin: 0 !important; }
@media (min-width: 640px) { .elementor-element-cat-quote3-text { font-size: 60px; } }
@media (min-width: 1024px) { .elementor-element-cat-quote3-text { font-size: 72px; } }
.elementor-element-cat-quote3-cite .elementor-heading-title {
  margin-top: 28px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--vg-yellow);
}

/* Секция тегов рубрики (cat-tags-section, после cat-related-section) — свой шорткод
   [vg_category_tags] (Fluent Snippet #11): теги реальных постов ЭТОЙ рубрики (post_tag, счётчик в
   скобках — число постов этой рубрики с тегом, не глобальный count термина). Клик по тегу
   фильтрует ленту «Материалы рубрики» выше на странице (клиентский JS по data-post-id,
   та же схема, что и у сортировки в cat-search-sort). Дизайн — горизонтальный full-bleed бар
   с пилюлями, тот же приём, что у декоративных хэштегов .vgba-tag на /blog/
   (blog-archive.css) — но здесь данные реальные и пилюли интерактивны, поэтому свой класс. */
.elementor-element-cat-tags-section {
  width: 100%;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: rgba(255,255,255,.55);
}
.elementor-element-cat-tags-section .elementor-widget-container,
.elementor-element-cat-tags-widget {
  width: 100%;
}
.elementor-element-tag-pills-section .elementor-widget-container,
.elementor-element-tag-pills-content {
  width: 100%;
}
/* Ширина содержимого — ровно ширине верхнего меню хедера (тот же .e-con-inner
   1600px в <header>, проверено в браузере через getBoundingClientRect()). Две строки: верхняя —
   лейбл+поиск (“строка поиска первая”), нижняя — облако тегов. */
.cat-tags-inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px 24px;
}
.cat-tags-toprow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.cat-tags-label {
  flex-shrink: 0;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(22,32,50,.6);
  white-space: nowrap;
}
.cat-tags-search {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 8px 14px;
  border-radius: var(--vg-radius-pill);
  border: 1px solid var(--vg-ink);
  background-color: rgba(255,255,255,.6);
  color: rgba(22,32,50,.5);
}
.cat-tags-search input {
  border: 0;
  background: transparent;
  outline: none;
  font-family: var(--vg-font-body);
  font-size: 13px;
  color: var(--vg-ink);
  width: 200px;
}
.cat-tags-search input::placeholder { color: rgba(22,32,50,.4); }
.cat-tags-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cat-tag-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  border-radius: var(--vg-radius-pill);
  border: 1px solid var(--vg-ink);
  background: transparent;
  font-family: var(--vg-font-body);
  font-size: 13px;
  color: var(--vg-ink);
  cursor: pointer;
  text-decoration: none !important;
  transition: background-color .15s ease, color .15s ease;
}
.cat-tag-pill__count { opacity: .55; font-size: 12px; }
.cat-tag-pill:hover { background-color: rgba(22,32,50,.06); }
.cat-tag-pill.is-active { background-color: var(--vg-yellow); border-color: var(--vg-ink); }
.cat-tag-pill.is-active .cat-tag-pill__count { opacity: .7; }
@media (max-width: 767px) {
  .cat-tags-inner { padding: 16px; }
  .cat-tags-search input { width: 110px; }
}

/* Сетка «Исследуйте дальше» (cat-related-widget, ts-term-feed таксономии category, шаблон 504) —
   настройки виджета (ts_feed_column_no:4, ts_per_page:8, ts_card_template:504) уже 1:1 совпадают с
   .elementor-element-vgba-cat-feed на /blog/ (шаблон 172) — но там грид обёрнут в единый блок
   (gap:0 + border-left/top ink), а здесь без этой обёртки оставался дефолтный gap:20px Voxel-виджета
   (карточки выглядели отдельными плитками, не единой сеткой, как на /blog/) — копия той же
   пары правил, 1:1. */
.elementor-element-cat-related-widget .ts-post-feed-grid,
.elementor-element-cat-related-widget .post-feed-grid {
  gap: 0 !important;
  border-left: var(--vg-border-width) solid var(--vg-ink) !important;
  border-top: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: 0 !important;
  overflow: hidden;
}

.elementor-element-tag-related-widget .ts-post-feed-grid,
.elementor-element-tag-related-widget .post-feed-grid {
  gap: 0 !important;
  border-left: var(--vg-border-width) solid var(--vg-ink) !important;
  border-top: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: 0 !important;
  overflow: hidden;
}

/* Заголовок ленты статей (cat-feed-h2) — вторая строка (название рубрики) курсивом —
   тот же паттерн (две строки, вторая em/Source Serif), что и у аналогичных заголовков вторых
   секций на /blog/ (.elementor-element-vgba-feed-h2/.elementor-element-vgba-cat-h2 в blog-archive.css) —
   размер шрифта (36px → 60px от 640px) взят 1:1 оттуда («из шаблона»), не придуман заново.
   Заголовок переведён с v4 atomic e-heading (статичный текст, 40px) на v3 Elementor Pro
   шорткод-виджет ([vg_category_feed_title], тот же Fluent Snippet #11, что и vgba-hero-html) —
   название рубрики динамичное (разное на каждой из 8 рубрик), атомик-заголовок не тянется
   к HTML с <br><em> без рискованного угадывания её rich-text-схемы. */
.cat-feed-title {
  margin: 0;
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}
.cat-feed-title em {
  font-family: var(--vg-font-serif);
  font-style: italic;
  font-weight: 500;
}
@media (min-width: 640px) { .cat-feed-title { font-size: 60px; } }

/* Заголовок секции 8 (cat-related-h2, «Issledujte дальше») — тот же правило Tier C,
   что и cat-feed-title выше. В черновике category-post.html у этого заголовка был свой,
   меньший размер (text-3xl/sm:4xl, без курсива) — намеренно не повторен, чтобы
   все заголовки разделов страницы следовали одному единому правилу (как на /blog/, где
   все 6 аналогичных заголовков — 36→ 60px + курсив второй строки), а не распадались по
   разным размерам. Переведён с v4 atomic e-heading (флат 32px, без переноса строки) на v3
text-editor с сырым HTML <br><em> — точно также, как cat-feed-h2. */
.elementor-element-cat-related-h2 {
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}
.elementor-element-cat-related-h2 em {
  font-family: var(--vg-font-serif);
  font-style: italic;
  font-weight: 500;
}
@media (min-width: 640px) { .elementor-element-cat-related-h2 { font-size: 60px; } }

/* Ссылка в соответствующую категорию мест (places_category) — только в Hero рубрики, у /blog/
   такой ссылки нет (нет одной конкретной рубрики для всего архива) — поэтому здесь,
   не в blog-archive.css (см. правило «Категории Герой — только для Категорий»). Html/href самой
   ссылки генерирует шорткод [vg_category_hero] (Fluent Snippet #11) — маппинг через отсечение
   префикса "blog-" у слага термина category (blog-coworking → coworking и т.д.) — проверено для всех
   8 рубрик, совпадают 1:1 по имени. Цвета/радиус/hover — те же токены, что и у других тёмных
   CTA-кнопок Hero (напр. featured-карточка «Читать материал»): border-radius --vg-radius-control,
   hover → --vg-primary. Стрелка-иконка — тот же mask-image, что и у .vg-catcta__arrow (post-single.css),
   ради единообразного языка стрелок по сайту («Читать материал →» и т.п.), а не диагональная
   стрелка из черновика category-post.html (там же раз отличался и акцентный цвет --vg-red —
   живой Hero его не использует, бейдж --vg-yellow, поэтому новая кнопка не вводит свой акцент,
   а следует уже установленному на живом сайте). */
.vgba-hero-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  min-height: 52px;
  padding: 0 20px;
  border-radius: var(--vg-radius-control);
  border: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-ink);
  color: #FFFFFF;
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .2s ease;
}
.vgba-hero-catalog-link:hover { background-color: var(--vg-primary); }
.vgba-hero-catalog-link__arrow {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M5 12h14m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M5 12h14m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* Секция 2 теперь СВОЯ отдельная секция (cat-search-section), а не третий ребёнок внутри vgba-hero
   (пересобрано 2026-08-01 по референсу category-post.html — там форма поиска лежит в отдельном
   <section class="border-b-2 bg-white/55 py-8">, а не внутри hero). Линия над формой теперь —
   естественный border-bottom самого vgba-hero (уже задан в blog-archive.css), отдельный
   full-bleed ::before-хак больше не нужен, убран. */
.elementor-element-cat-search-section {
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: rgba(255,255,255,.55);
}
.elementor-element-cat-search-section > .e-con-inner {
  padding: 32px 0 !important;
}

/* === Секция 2 — поиск + сортировка рубрики, только для категорий (референс category-post.html) ===
   ts-search-form виджет рендерит каждое поле как отдельную пилюлю (свой border/radius) —
   здесь снимаем это оформление и собираем всё в ОДНУ карточку с внутренними разделителями,
   как в макете. Настоящая кнопка «Найти» виджета остаётся в DOM и рабочей —
   просто визуально скрыта, наша своя кнопка (cat-search-btn) вызывает её .click() программно.
   Сортировка (cat-search-sort) — клиентский JS по 100% реальным данным (дата/комментарии уже
   есть в тексте карточек 463), без правки шаблона карточки — нет риска для /blog/, который
   тоже использует ту же 463-ю карточку. Опция «Популярные» из макета не включена —
   нет реальной метрики популярности на сайте. */

.elementor-element-cat-search-card {
  display: grid !important;
  grid-template-columns: 7fr 3fr 2fr;
  align-items: stretch;
  width: 100% !important;
  border: var(--vg-border-width) solid var(--vg-ink);
  border-radius: var(--vg-radius-card);
  box-shadow: var(--vg-shadow);
  background-color: rgba(255,255,255,.55);
  overflow: hidden;
}
/* cat-search-card — легаси v3 контейнер всегда рендерит обёртку .e-con-inner как единственного прямого ребёнка —
   без этого grid-template-columns применялся только к одному этому ребёнку, а три виджета
   внутри него оставались flex и сжимались в первую колонку. display:contents убирает
   обёртку из дерева вёрсткки, делая виджеты настоящими grid-items. */
.elementor-element-cat-search-card > .e-con-inner {
  display: contents;
}
@media (max-width: 1023px) {
  .elementor-element-cat-search-card { grid-template-columns: 1fr; }
}

.elementor-element-vgba-search-form {
  flex: unset !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
}
.elementor-element-vgba-search-form .ts-filter-wrapper,
.elementor-element-vgba-search-form .ts-filter-wrapper.flexify {
  height: 100% !important;
  align-items: stretch !important;
  flex-flow: row !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.elementor-element-vgba-search-form .ts-filter-wrapper.flexify > .ts-form-group {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-element-vgba-search-form .ts-form-group.ts-inline-filter {
  height: 100% !important;
  min-height: 80px;
  flex: 1 1 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-right: var(--vg-border-width) solid var(--vg-ink) !important;
  padding: 0 20px !important;
  align-items: center;
}
.elementor-element-vgba-search-form .ts-input-icon {
  width: 100%;
  align-items: center;
  gap: 16px;
}
.elementor-element-vgba-search-form .inline-input {
  flex: 1 1 auto;
  width: 100%;
  font-family: var(--vg-font-body);
  font-size: 14px;
}
/* Настоящая кнопка виджета — визуально скрыта (не display:none, чтобы .click() работал), кликается программно через cat-search-btn */
.elementor-element-vgba-search-form .ts-form-submit {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.elementor-element-cat-search-sort { flex: 0 1 260px; min-width: 0; }
.cat-search-sort-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  min-height: 80px;
  padding: 0 20px;
  border-right: var(--vg-border-width) solid var(--vg-ink);
}
.cat-search-sort-icon { display: flex; color: var(--vg-ink); flex-shrink: 0; }
.cat-search-sort-text { flex: 1 1 auto; min-width: 0; position: relative; padding-right: 18px; }
.cat-search-sort-text::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 62%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--vg-ink);
  pointer-events: none;
}
/* Подпись поля поиска — тот же приём, что уже использован на /blog/ (см. blog-archive.css,
   тот же _id=vgbakw1) — лейбл задаётся через CSS content на ::before, привязанк идёт к
   конкретному _id репитер-айтема (НЕ к общему для CPT label в voxel:post_types) —
   безопасно переопределить только здесь, /blog/ не затронут. */
.elementor-element-vgba-search-form .elementor-repeater-item-vgbakw1 .ts-input-icon::before {
  content: "Поиск в рубрике" !important;
}
.cat-search-sort__label {
  display: block;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(22,32,50,.55);
}
/* Триггер сортировки — раньше нативный <select> (браузерный вид, не по дизайн-системе),
   теперь <button> + свой попап. Стиль попапа списан 1:1 с РЕАЛЬНОГО popup-фильтра Voxel
   (.ts-field-popup терминов на /blog/ — открыть кликом на «Все рубрики» в форме поиска):
   те же токены --vg-bg/--vg-ink/--vg-shadow/--vg-radius-card, что и у самого Voxel-попапа —
   измерено в живом DOM, не придумано заново. Без чекбоксов и кнопок «Очистить/Сохранить» —
   там мульти-выбор рубрик, здесь одиночный выбор с мгновенным применением (как раньше у select). */
.cat-search-sort-text {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0 18px 0 0;
  margin: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.cat-search-sort__value {
  display: block;
  margin-top: 4px;
  font-family: var(--vg-font-body);
  font-size: 14px;
  color: var(--vg-ink);
}
.cat-sort-popup {
  position: fixed;
  z-index: 9999;
  border: var(--vg-border-width) solid var(--vg-ink);
  border-radius: var(--vg-radius-card);
  box-shadow: var(--vg-shadow);
  background-color: var(--vg-bg);
  padding: 8px;
}
.cat-sort-option {
  padding: 11px 15px;
  border-radius: var(--vg-radius-control);
  font-family: var(--vg-font-body);
  font-size: 14px;
  color: var(--vg-ink);
  cursor: pointer;
  transition: background-color .15s ease;
}
.cat-sort-option:hover { background-color: rgba(22,32,50,.08); }
.cat-sort-option.is-active {
  background-color: var(--vg-primary);
  color: #FFFFFF;
}

.elementor-element-cat-search-btn { flex: 0 0 auto; height: 100%; }
.cat-search-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  height: 100%;
  min-height: 80px;
  padding: 0 20px;
  box-sizing: border-box;
  border: 0;
  background-color: var(--vg-ink);
  color: #FFFFFF;
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .2s ease;
}
.cat-search-submit:hover { background-color: var(--vg-primary); }

@media (max-width: 1023px) {
  .elementor-element-vgba-search-form .ts-form-group.ts-inline-filter,
  .cat-search-sort-inner {
    border-right: 0 !important;
    border-bottom: var(--vg-border-width) solid var(--vg-ink) !important;
  }
  .elementor-element-vgba-search-form,
  .elementor-element-cat-search-sort,
  .elementor-element-cat-search-btn {
    flex-basis: 100% !important;
  }
}


/* === Закрывающий CTA «Практика, кейсы и разборы» (копия vgba-subscribe с /blog/) === */
.elementor-element-cat-subscribe {
  background-color: var(--vg-red) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  align-items: center;
  gap: 40px;
}

.elementor-element-cat-subscribe > .e-con-inner {
  padding: 80px 0 !important;
}

.elementor-element-cat-subscribe-left {
  flex: 1 1 420px !important;
  color: #FFFFFF;
}

.elementor-element-cat-subscribe-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em; color: #FFFFFF;
}

.elementor-element-cat-subscribe-h2 {
  font-family: var(--vg-font-body); font-size: 72px; font-weight: 500;
  line-height: .88; letter-spacing: -0.06em; color: #FFFFFF;
}

.elementor-element-cat-subscribe-h2 em {
  font-family: var(--vg-font-serif); font-style: italic; font-weight: 500;
}

.elementor-element-cat-subscribe-lead .elementor-heading-title {
  margin-top: 28px; max-width: 36rem;
  font-family: var(--vg-font-body); font-size: 16px; line-height: 1.625; color: rgba(255,255,255,.9);
}

.elementor-element-cat-subscribe-form {
  flex: 0 1 620px !important;
  max-width: 620px !important;
  width: 100% !important;
  align-self: center !important;
}

.elementor-element-cat-subscribe-form > .e-con-inner {
  padding: 24px !important;
  border-radius: 16px;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  background-color: var(--vg-bg);
  box-shadow: var(--vg-shadow-offset) var(--vg-shadow-offset) 0 var(--vg-ink);
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.elementor-element-cat-subscribe-form > .e-con-inner::before {
  content: "Ваш email";
  order: -1;
  margin-bottom: 12px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--vg-ink);
}

.elementor-element-cat-subscribe-form > .e-con-inner::after {
  content: "Отписаться можно в любой момент.";
  order: 1;
  margin-top: 16px;
  font-family: var(--vg-font-body);
  font-size: 12px;
  color: var(--vg-ink);
}

.elementor-element-cat-subscribe-form .fff-recaptcha-container { display: none !important; }

.elementor-element-cat-subscribe-form .ff-t-container.ff-column-container {
  display: flex !important;
  align-items: stretch !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.elementor-element-cat-subscribe-form .ff-t-cell {
  display: flex !important;
  padding: 0 !important;
}

.elementor-element-cat-subscribe-form .ff-el-group {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-element-cat-subscribe-form .ff-el-input--content {
  display: flex !important;
  width: 100% !important;
  height: 100%;
}

.elementor-element-cat-subscribe-form .ff-t-cell,
.elementor-element-cat-subscribe-form .ff-el-group,
.elementor-element-cat-subscribe-form .ff-el-input--content,
.elementor-element-cat-subscribe-form input[type="email"],
.elementor-element-cat-subscribe-form .ff-btn,
.elementor-element-cat-subscribe-form button[type="submit"] {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.elementor-element-cat-subscribe-form .ff-el-form-control,
.elementor-element-cat-subscribe-form input[type="email"] {
  width: 100% !important;
  align-self: stretch !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: #FFFFFF !important;
  font-family: var(--vg-font-body);
  font-size: 14px;
  box-shadow: none !important;
}

.elementor-element-cat-subscribe-form .ff-btn,
.elementor-element-cat-subscribe-form button[type="submit"] {
  width: 100% !important;
  align-self: stretch !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: var(--vg-ink) !important;
  font-family: var(--vg-font-body);
  font-weight: 500;
}

.elementor-element-cat-subscribe-form .ff-btn:hover,
.elementor-element-cat-subscribe-form button[type="submit"]:hover {
  background-color: var(--vg-primary) !important;
}


/* === CTA «Поделитесь опытом» (аналогично vgba-cta-author, дизайн из category-post.html #author) === */
.elementor-element-cat-cta-author {
  position: relative;
  overflow: hidden;
  background-color: var(--vg-yellow) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
}

.elementor-element-cat-cta-author > .e-con-inner {
  position: relative;
  z-index: 1;
  padding: 56px 0 !important;
}

.cat-cta-author-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.cat-cta-author-eyebrow {
  margin: 0 0 12px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--vg-ink);
}

.cat-cta-author-h2 {
  margin: 0;
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}

@media (min-width: 640px) { .cat-cta-author-h2 { font-size: 60px; } }

.cat-cta-author-h2 em {
  font-family: var(--vg-font-serif);
  font-style: italic;
  font-weight: 500;
}

.cat-cta-author-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 64px;
  padding: 0 24px;
  border-radius: var(--vg-radius-control);
  border: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-ink);
  color: #FFFFFF !important;
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  box-shadow: var(--vg-shadow-offset) var(--vg-shadow-offset) 0 var(--vg-ink);
  transition: background-color .18s ease;
}

.cat-cta-author-btn:hover { background-color: var(--vg-red); }

.cat-cta-author-btn__arrow {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M7 17L17 7M17 7H8M17 7V16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M7 17L17 7M17 7H8M17 7V16'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}


/* === /tag/{slug}/ — хлебные крошки === */
.elementor-element-tag-crumb-current, .elementor-element-tag-crumb-current .elementor-shortcode {
  font-size: 12px;
  color: #162032;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}


/* === /tag/{slug}/ — Hero: большой H1, пилюли рубрик === */
.tag-hero-h1 {
  margin: 48px 0 0;
  font-family: var(--vg-font-body);
  font-size: 48px;
  font-weight: 500;
  line-height: .88;
  letter-spacing: -0.065em;
  color: var(--vg-ink);
}

@media (min-width: 640px) { .tag-hero-h1 { font-size: 72px; } }
@media (min-width: 1024px) { .tag-hero-h1 { font-size: 96px; } }

.tag-hero-rubrics { margin-top: 32px; }

.tag-hero-rubrics-label {
  margin: 0 0 12px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(22,32,50,.6);
}

.tag-hero-rubrics-list { display: flex; flex-wrap: wrap; gap: 8px; }

.tag-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: var(--vg-radius-pill);
  border: var(--vg-border-width) solid var(--vg-ink);
  color: #FFFFFF;
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background-color .18s ease;
}

.tag-hero-pill:hover { background-color: var(--vg-ink) !important; }


/* === /tag/{slug}/ — Hero featured-карточка: наследуем цепочку height:100% из vgba-hero-feed === */
.elementor-element-tag-hero-featured,
.elementor-element-tag-hero-featured-widget,
.elementor-element-tag-hero-featured .elementor-shortcode,
.elementor-element-tag-hero-featured .post-feed-grid,
.elementor-element-tag-hero-featured .ts-preview,
.elementor-element-tag-hero-featured .ts-preview > .elementor,
.elementor-element-tag-hero-featured .elementor-element-vgfeat-card {
  height: 100%;
}

.elementor-element-tag-hero-featured .post-feed-grid {
  grid-template-columns: 1fr;
}


/* === /tag/{slug}/ — заголовок ленты: эйброу + счётчик справа === */
.tag-feed-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
}

.tag-feed-head-left { display: flex; flex-direction: column; gap: 8px; }

.tag-feed-eyebrow {
  margin: 0;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(22,32,50,.6);
}

.tag-feed-count { margin: 0; font-size: 14px; color: rgba(22,32,50,.65); }

/* .ts-preview > .elementor-463 не наследует высоту растянутой grid-ячейки сама по себе — та же причина, что и в blog.css для .elementor-element-89b2f79 */
.elementor-element-tag-feed-widget .ts-preview {
  height: 100%;
}
.elementor-element-tag-feed-widget .ts-preview > .elementor-463 {
  height: 100%;
}

.tag-feed-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.tag-feed-pills-label {
  margin: 0 4px 0 0;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(22,32,50,.6);
}

.tag-feed-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: var(--vg-radius-pill);
  border: var(--vg-border-width) solid var(--vg-ink);
  background-color: transparent;
  color: var(--vg-ink);
  font-family: var(--vg-font-body);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease;
}

a.tag-feed-pill:hover { background-color: var(--vg-ink); color: #FFFFFF; }

.tag-feed-pill--active {
  background-color: var(--vg-ink);
  color: #FFFFFF;
}


/* === /tag/{slug}/ — Цитата-ЗАГЛУШКА (тёмный фон, гигантский #). Требует динамический контент позже. === */
.elementor-element-tag-quote {
  position: relative;
  overflow: hidden;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-ink) !important;
}

.elementor-element-tag-quote::after {
  content: "#";
  position: absolute;
  right: 16px;
  bottom: -4vw;
  font-family: var(--vg-font-body);
  font-weight: 500;
  font-size: 24vw;
  line-height: 1;
  color: rgba(255,255,255,.1);
  pointer-events: none;
}

.elementor-element-tag-quote > .e-con-inner {
  position: relative;
  z-index: 1;
  padding: 56px 0 !important;
}

@media (min-width: 640px) { .elementor-element-tag-quote > .e-con-inner { padding: 64px 0 !important; } }

.elementor-element-tag-quote-text {
  max-width: 1152px;
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.05em;
  color: #FFFFFF;
}

.elementor-element-tag-quote-text p { margin: 0 !important; }

.elementor-element-tag-quote-text em {
  font-family: var(--vg-font-serif);
  font-style: italic;
  font-weight: 500;
  color: var(--vg-yellow);
}

@media (min-width: 640px) { .elementor-element-tag-quote-text { font-size: 60px; } }
@media (min-width: 1024px) { .elementor-element-tag-quote-text { font-size: 72px; } }

.elementor-element-tag-quote-cite .elementor-heading-title {
  margin-top: 28px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--vg-lightblue) !important;
}


/* === /tag/{slug}/ — «Авторы темы» (копия cat-authors, перефильтровано по тегу) === */
.elementor-element-tag-authors {
  background-color: var(--vg-ink) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
}

.elementor-element-tag-authors > .e-con-inner {
  padding: 64px 0 !important;
}
@media (min-width: 640px) { .elementor-element-tag-authors > .e-con-inner { padding: 80px 0 !important; } }

.elementor-element-tag-authors-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em; color: var(--vg-lightblue) !important;
}

.elementor-element-tag-authors-h2 {
  margin-bottom: 40px !important;
  font-family: var(--vg-font-body); font-size: 36px; font-weight: 500;
  line-height: 1; letter-spacing: -0.055em; color: #FFFFFF;
}

.elementor-element-tag-authors-h2 em {
  font-family: var(--vg-font-serif); font-style: italic; font-weight: 500; color: var(--vg-yellow);
}

@media (min-width: 640px) { .elementor-element-tag-authors-h2 { font-size: 60px; } }


/* === /tag/{slug}/ — «Исследуйте дальше» (грид других тегов) === */
.elementor-element-tag-related-h2 {
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}

.elementor-element-tag-related-h2 em {
  font-family: var(--vg-font-serif);
  font-style: italic;
  font-weight: 500;
}

@media (min-width: 640px) { .elementor-element-tag-related-h2 { font-size: 60px; } }


/* === /tag/{slug}/ — «Последние обсуждения» (копия cat-discuss, по тегу) === */
.elementor-element-tag-discuss {
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: rgba(255,255,255,.7);
  align-items: flex-start;
  gap: 40px;
}

.elementor-element-tag-discuss > .e-con-inner { padding: 64px 0 !important; }
@media (min-width: 640px) { .elementor-element-tag-discuss > .e-con-inner { padding: 80px 0 !important; } }

.elementor-element-tag-discuss-left { flex: 1 1 320px !important; }

.elementor-element-tag-discuss-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--vg-primary);
}

.elementor-element-tag-discuss-h2 {
  font-family: var(--vg-font-body);
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--vg-ink);
}

.elementor-element-tag-discuss-h2 em { font-family: var(--vg-font-serif); font-style: italic; font-weight: 500; }

@media (min-width: 640px) { .elementor-element-tag-discuss-h2 { font-size: 60px; } }

.elementor-element-tag-discuss-badge {
  display: inline-block !important;
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: fit-content !important;
  max-width: max-content !important;
  margin-top: 32px;
  padding: 12px 16px;
  border-radius: var(--vg-radius-control);
  border: var(--vg-border-width) solid var(--vg-ink);
  background-color: var(--vg-yellow);
  font-size: 14px;
  font-weight: 500;
  color: var(--vg-ink);
}

.elementor-element-tag-discuss-list { flex: 2 1 480px !important; }


/* === /tag/{slug}/ — CTA подписки (копия cat-subscribe, жёлтый фон по макету, тёмный текст) === */
.elementor-element-tag-subscribe {
  background-color: var(--vg-yellow) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  align-items: center;
  gap: 40px;
}

.elementor-element-tag-subscribe > .e-con-inner { padding: 80px 0 !important; }

.elementor-element-tag-subscribe-left { flex: 1 1 420px !important; color: var(--vg-ink); }

.elementor-element-tag-subscribe-eyebrow .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em; color: var(--vg-ink) !important;
}

.elementor-element-tag-subscribe-h2 {
  font-family: var(--vg-font-body); font-size: 48px; font-weight: 500;
  line-height: .85; letter-spacing: -0.06em; color: var(--vg-ink);
}

@media (min-width: 640px) { .elementor-element-tag-subscribe-h2 { font-size: 72px; } }

.elementor-element-tag-subscribe-h2 em {
  font-family: var(--vg-font-serif); font-style: italic; font-weight: 500;
}

.elementor-element-tag-subscribe-lead .elementor-shortcode p {
  margin-top: 28px; max-width: 36rem;
  font-family: var(--vg-font-body); font-size: 16px; line-height: 1.625; color: rgba(22,32,50,.75) !important;
}

.elementor-element-tag-subscribe-form {
  flex: 0 1 620px !important;
  max-width: 620px !important;
  width: 100% !important;
  align-self: center !important;
}

.elementor-element-tag-subscribe-form > .e-con-inner {
  padding: 24px !important;
  border-radius: 16px;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  background-color: var(--vg-bg);
  box-shadow: var(--vg-shadow-offset) var(--vg-shadow-offset) 0 var(--vg-ink);
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.elementor-element-tag-subscribe-form > .e-con-inner::before {
  content: "Ваш email";
  order: -1;
  margin-bottom: 12px;
  font-family: var(--vg-font-mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--vg-ink);
}

.elementor-element-tag-subscribe-form > .e-con-inner::after {
  content: "Отписаться можно в любой момент.";
  order: 1;
  margin-top: 16px;
  font-family: var(--vg-font-body);
  font-size: 12px;
  color: var(--vg-ink);
}

.elementor-element-tag-subscribe-form .fff-recaptcha-container { display: none !important; }

.elementor-element-tag-subscribe-form .ff-t-container.ff-column-container {
  display: flex !important;
  align-items: stretch !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
}

.elementor-element-tag-subscribe-form .ff-t-cell { display: flex !important; padding: 0 !important; }

.elementor-element-tag-subscribe-form .ff-el-group { display: flex !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }

.elementor-element-tag-subscribe-form .ff-el-input--content { display: flex !important; width: 100% !important; height: 100%; }

.elementor-element-tag-subscribe-form .ff-t-cell,
.elementor-element-tag-subscribe-form .ff-el-group,
.elementor-element-tag-subscribe-form .ff-el-input--content,
.elementor-element-tag-subscribe-form input[type="email"],
.elementor-element-tag-subscribe-form .ff-btn,
.elementor-element-tag-subscribe-form button[type="submit"] {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.elementor-element-tag-subscribe-form .ff-el-form-control,
.elementor-element-tag-subscribe-form input[type="email"] {
  width: 100% !important;
  align-self: stretch !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: #FFFFFF !important;
  font-family: var(--vg-font-body);
  font-size: 14px;
  box-shadow: none !important;
}

.elementor-element-tag-subscribe-form .ff-btn,
.elementor-element-tag-subscribe-form button[type="submit"] {
  width: 100% !important;
  align-self: stretch !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: var(--vg-ink) !important;
  font-family: var(--vg-font-body);
  font-weight: 500;
}

.elementor-element-tag-subscribe-form .ff-btn:hover,
.elementor-element-tag-subscribe-form button[type="submit"]:hover {
  background-color: var(--vg-primary) !important;
}


/* === /tag/{slug}/ — CTA «Напишите материал» (красный фон по макету tag-posts.html, в отличие от жёлтого у рубрики). Внутренние классы (.cat-cta-author-inner/-text/-eyebrow/-h2/-btn) общие, уже определены выше — переиспользуются как есть. === */
.elementor-element-tag-cta-author {
  position: relative;
  overflow: hidden;
  background-color: var(--vg-red) !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
}

.elementor-element-tag-cta-author::after {
  content: "#";
  position: absolute;
  right: -1vw;
  bottom: -8vw;
  font-family: var(--vg-font-body);
  font-weight: 500;
  font-size: 32vw;
  line-height: 1;
  color: rgba(22,32,50,.1);
  pointer-events: none;
}

.elementor-element-tag-cta-author > .e-con-inner {
  position: relative;
  z-index: 1;
  padding: 56px 0 !important;
}

@media (min-width: 640px) { .elementor-element-tag-cta-author > .e-con-inner { padding: 64px 0 !important; } }

.elementor-element-tag-cta-author .cat-cta-author-eyebrow,
.elementor-element-tag-cta-author .cat-cta-author-h2,
.elementor-element-tag-cta-author .cat-cta-author-btn {
  color: #FFFFFF;
}

.elementor-element-tag-cta-author .cat-cta-author-btn {
  border-color: #FFFFFF;
  background-color: var(--vg-ink);
}

.elementor-element-tag-cta-author .cat-cta-author-btn:hover { background-color: var(--vg-ink); opacity: .85; }
