/*
 * hostiko-child / assets/css/overrides.css
 * ─────────────────────────────────────────────────────────────────────────────
 * Единый файл CSS-переопределений дочерней темы.
 * Подключается последним (приоритет 99) после родительской темы Hostiko.
 * Логика подключения — в functions.php, функция hostikochild_child_enqueue_styles().
 *
 * Структура файла:
 *   1. Подвал (footer) — размеры иконок Elementor
 *   2. CSS-переменные — цвета, шрифт, токены компонентов
 *   3. Контентная область — вертикальные отступы layout-а
 *   4. Типографика — статьи, страницы, карточки блога
 *   5. Сайдбар — переменные (scoped на тип страницы)
 *   6. Сайдбар — sticky-позиционирование и скроллбар
 *   7. Сайдбар — виджет категорий
 *   8. Сайдбар — облако тегов
 *   9. Адаптивная типографика (мобильные ≤ 767px)
 *  10. Навигация (navbar)
 */


/* =============================================================================
   1. ПОДВАЛ (footer)
   Родительская тема задаёт размеры иконок Elementor через свои переменные.
   Переопределяем через CSS-переменные — при обновлении Hostiko наши значения
   продолжают работать без ручных правок в родительской теме.
   ============================================================================= */

.elementor-7663,
footer#repricer-footer,
footer.footer-area {
  --hostiko-footer-social-icon-size: 15px;
  --hostiko-footer-list-icon-size:   14px;
}

.elementor-7663 .elementor-element[data-widget_type^="social-icons"],
footer#repricer-footer .elementor-element[data-widget_type^="social-icons"],
footer.footer-area .elementor-element[data-widget_type^="social-icons"] {
  --icon-size: var(--hostiko-footer-social-icon-size) !important;
}

.elementor-7663 .elementor-social-icon,
footer#repricer-footer .elementor-social-icon,
footer.footer-area .elementor-social-icon {
  font-size: var(--hostiko-footer-social-icon-size) !important;
  line-height: 1 !important;
}

/* Универсальный селектор для иконок в footer (любые footer-контейнеры) */
.elementor-7663 .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon i,
.elementor-7663 .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon svg,
footer#repricer-footer .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon i,
footer#repricer-footer .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon svg,
footer.footer-area .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon i,
footer.footer-area .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-icon svg {
  font-size: var(--hostiko-footer-list-icon-size, 14px) !important;
  width: var(--hostiko-footer-list-icon-size, 14px) !important;
  height: var(--hostiko-footer-list-icon-size, 14px) !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* Дополнительное перебитие Elementor селектором выше */
.elementor-7663 .elementor-element.elementor-element-40e4b8e .elementor-icon-list-icon svg,
.elementor-7663 .elementor-element.elementor-element-12b0529 .elementor-icon-list-icon svg,
.elementor-7663 .elementor-element.elementor-element-497f005 .elementor-icon-list-icon svg {
  font-size: var(--hostiko-footer-list-icon-size, 14px) !important;
  width: var(--hostiko-footer-list-icon-size, 14px) !important;
  height: var(--hostiko-footer-list-icon-size, 14px) !important;
  display: inline-block !important;
}

/* Нормализация списков иконок */
.elementor-7663 .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items,
.elementor-7663 .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items li,
footer#repricer-footer .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items,
footer#repricer-footer .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items li,
footer.footer-area .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items,
footer.footer-area .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-items li {
  list-style: none !important;
  margin-left: 0;
  padding-left: 0;
}

.elementor-7663 .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-item::marker,
footer#repricer-footer .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-item::marker,
footer.footer-area .elementor-element[data-widget_type^="icon-list"] .elementor-icon-list-item::marker {
  content: '';
}


/* =============================================================================
   2. CSS-ПЕРЕМЕННЫЕ
   Все цвета, шрифты и токены компонентов вынесены сюда.
   Правьте значения здесь — изменения применяются по всему файлу.
   ============================================================================= */

:root {
  --hostiko-ui-font-sans: "Jost", sans-serif;
  --hostiko-ui-text-strong: #403883;
  --hostiko-ui-text-body: #5f5a87;
  --hostiko-ui-text-muted: #8079b8;
  --hostiko-ui-link: #3b88ff;
  --hostiko-ui-link-hover: #0216a2;
  --hostiko-ui-tag-bg: #f7f5ff;
  --hostiko-ui-tag-text: #5f5a87;
  --hostiko-ui-tag-border: rgba(64, 56, 131, 0.14);
  --hostiko-ui-tag-hover-bg: #403883;
  --hostiko-ui-tag-hover-text: #ffffff;
  --hostiko-ui-tag-active-bg: rgba(64, 56, 131, 0.14);
  --hostiko-ui-tag-active-border: rgba(64, 56, 131, 0.4);
  --hostiko-ui-tag-active-text: #2f2967;
  --hostiko-ui-category-active-bg: rgba(64, 56, 131, 0.08);
  --hostiko-ui-category-active-border: rgba(64, 56, 131, 0.42);
  --hostiko-ui-category-active-text: #332d73;
  --hostiko-ui-sidebar-card-bg: #ffffff;
  --hostiko-ui-sidebar-card-border: rgba(64, 56, 131, 0.1);
  --hostiko-ui-sidebar-card-shadow: 0 18px 40px rgba(64, 56, 131, 0.08);
}


/* =============================================================================
   3. КОНТЕНТНАЯ ОБЛАСТЬ — ВЕРТИКАЛЬНЫЕ ОТСТУПЫ
   Тема задаёт padding через собственные классы .hostiko-page-containerr.
   Переопределяем, чтобы убрать избыточное пространство сверху и снизу.
   ============================================================================= */

body.blog #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.home #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.archive #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.single #primary.content-area.hostiko-page-containerr.hostiko-blog-details {
  padding: 60px 0 120px 0;
}

@media only screen and (max-width: 767px) {
  body.blog #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.home #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.archive #primary.content-area.hostiko-page-containerr.hostiko-blog-page,
body.single #primary.content-area.hostiko-page-containerr.hostiko-blog-details {
  padding: 140px 0 60px 0;
}
}

body.single .blog-details-area .blog-details-content .entry-footer {
  margin-top: 24px;
}


/* =============================================================================
   4. ТИПОГРАФИКА — СТАТЬИ, СТРАНИЦЫ, КАРТОЧКИ БЛОГА
   Родительская тема задаёт глобальные стили без учёта контекста страницы.
   Здесь уточняем размер, цвет и межстрочный интервал для каждого типа.
   ============================================================================= */

body.single .blog-details-area .blog-details-content p,
body.single .blog-details-area .blog-details-content li,
body.single .blog-details-area .blog-details-content td,
body.single .blog-details-area .blog-details-content th,
body.blog .blog-item-info p,
body.archive .blog-item-info p,
body.page .entry-content p,
body.page .entry-content li {
  font-size: 18px;
  line-height: 1.68;
  color: var(--hostiko-ui-text-body);
}

body.single .blog-details-area .blog-details-content h1,
body.single .blog-details-area .blog-details-content h2,
body.single .blog-details-area .blog-details-content h3,
body.single .blog-details-area .blog-details-content h4,
body.single .blog-details-area .blog-details-content h5,
body.page .entry-content h1,
body.page .entry-content h2,
body.page .entry-content h3,
body.page .entry-content h4,
body.page .entry-content h5,
body.blog .blog-item-title a,
body.archive .blog-item-title a {
  color: var(--hostiko-ui-text-strong);
}

body.single .blog-details-area .blog-details-content strong,
body.single .blog-details-area .blog-details-content b,
body.page .entry-content strong,
body.page .entry-content b {
  color: var(--hostiko-ui-text-strong);
  font-weight: 600;
}

body.single .blog-details-area .blog-details-content a,
body.page .entry-content a,
body.blog .blog-item-info a,
body.archive .blog-item-info a {
  color: var(--hostiko-ui-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

body.single .blog-details-area .blog-details-content a:hover,
body.page .entry-content a:hover,
body.blog .blog-item-info a:hover,
body.archive .blog-item-info a:hover {
  color: var(--hostiko-ui-link-hover);
}

body.single .blog-details-area .blog-details-content .post-meta li,
body.single .blog-details-area .blog-details-content .post-meta li a,
body.single .blog-details-area .blog-details-content .post-meta li i,
body.single .blog-details-area .blog-details-content .posted-on,
body.blog .blog-item-info .post-meta li,
body.blog .blog-item-info .post-meta li a,
body.archive .blog-item-info .post-meta li,
body.archive .blog-item-info .post-meta li a {
  color: var(--hostiko-ui-text-muted) !important;
}

body.single .blog-details-area .blog-details-content .post-meta li a:hover,
body.blog .blog-item-info .post-meta li a:hover,
body.archive .blog-item-info .post-meta li a:hover {
  color: #4b5563 !important;
}


/* =============================================================================
   5. САЙДБАР — ПЕРЕМЕННЫЕ (scoped)
   Scoped на body.single / body.blog / body.archive.
   sticky-top учитывает высоту хедера; при admin-bar добавляется ~32px.
   ============================================================================= */

body.single,
body.blog,
body.archive {
  --hostiko-sidebar-sticky-top: 30px;
  --hostiko-sidebar-scrollbar-track: rgba(95, 90, 135, 0.02);
  --hostiko-sidebar-scrollbar-thumb: rgba(95, 90, 135, 0.14);
  --hostiko-sidebar-scrollbar-thumb-hover: rgba(64, 56, 131, 0.28);
}

body.admin-bar.single,
body.admin-bar.blog,
body.admin-bar.archive {
  --hostiko-sidebar-sticky-top: 50px;
}


/* =============================================================================
   6. САЙДБАР — STICKY-ПОЗИЦИОНИРОВАНИЕ И СКРОЛЛБАР
   На экранах ≥ 1024px правый сайдбар фиксируется при прокрутке страницы.
   Скроллбар скрыт по умолчанию, появляется при наведении (не отвлекает).
   Fade-тени сверху/снизу управляются JS-классами hostiko-scroll-top/bottom.
   Логика добавления классов — в assets/js/sidebar-tag-cloud.js.
   ============================================================================= */

/*
 * Критично для sticky на single:
 * В parent theme (.blog-details-area) задано overflow: hidden;
 * из-за этого position: sticky не работает у вложенного .sidebar-area.
 */
body.single .blog-details-area {
  overflow: visible;
}

@media (min-width: 1024px) {
  body.single .sidebar-blog.right-side .sidebar-area,
  body.blog .sidebar-blog.right-side .sidebar-area,
  body.archive .sidebar-blog.right-side .sidebar-area {
    position: sticky;
    top: var(--hostiko-sidebar-sticky-top);
    max-height: calc(100vh - var(--hostiko-sidebar-sticky-top) - 12px);
    overflow: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding-right: 0;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    scrollbar-gutter: auto;
    --hostiko-sidebar-fade-top: transparent;
    --hostiko-sidebar-fade-bottom: transparent;
    box-shadow: inset 0 18px 18px -16px var(--hostiko-sidebar-fade-top), inset 0 -18px 18px -16px var(--hostiko-sidebar-fade-bottom);
    transition: all 0.28s ease;
  }

  body.single .sidebar-blog.right-side .sidebar-area.hostiko-scroll-top,
  body.blog .sidebar-blog.right-side .sidebar-area.hostiko-scroll-top,
  body.archive .sidebar-blog.right-side .sidebar-area.hostiko-scroll-top {
    --hostiko-sidebar-fade-top: rgba(64, 56, 131, 0.1);
  }

  body.single .sidebar-blog.right-side .sidebar-area.hostiko-scroll-bottom,
  body.blog .sidebar-blog.right-side .sidebar-area.hostiko-scroll-bottom,
  body.archive .sidebar-blog.right-side .sidebar-area.hostiko-scroll-bottom {
    --hostiko-sidebar-fade-bottom: rgba(64, 56, 131, 0.1);
  }

  body.single .sidebar-blog.right-side .sidebar-area:hover,
  body.single .sidebar-blog.right-side .sidebar-area:focus-within,
  body.blog .sidebar-blog.right-side .sidebar-area:hover,
  body.blog .sidebar-blog.right-side .sidebar-area:focus-within,
  body.archive .sidebar-blog.right-side .sidebar-area:hover,
  body.archive .sidebar-blog.right-side .sidebar-area:focus-within {
    scrollbar-color: var(--hostiko-sidebar-scrollbar-thumb) transparent;
  }

  body.single .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar,
  body.blog .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar,
  body.archive .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar {
    width: 3px !important;
    height: 3px;
  }

  body.single .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-track,
  body.blog .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-track,
  body.archive .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 999px;
  }

  body.single .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-thumb,
  body.blog .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-thumb,
  body.archive .sidebar-blog.right-side .sidebar-area::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
    border: 0;
  }

  body.single .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb,
  body.single .sidebar-blog.right-side .sidebar-area:focus-within::-webkit-scrollbar-thumb,
  body.blog .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb,
  body.blog .sidebar-blog.right-side .sidebar-area:focus-within::-webkit-scrollbar-thumb,
  body.archive .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb,
  body.archive .sidebar-blog.right-side .sidebar-area:focus-within::-webkit-scrollbar-thumb {
    background: var(--hostiko-sidebar-scrollbar-thumb);
  }

  body.single .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb:hover,
  body.blog .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb:hover,
  body.archive .sidebar-blog.right-side .sidebar-area:hover::-webkit-scrollbar-thumb:hover {
    background: var(--hostiko-sidebar-scrollbar-thumb-hover);
  }
}


/* =============================================================================
   7. САЙДБАР — ВИДЖЕТ КАТЕГОРИЙ
   Вертикальный список с акцентной полоской слева у активной категории.
   Класс current-cat выставляет WordPress; hostiko-term-active — JS.
   Ссылка «Все» добавляется в начало списка скриптом sidebar-tag-cloud.js.
   Примечание: стили активного состояния расположены в разделе 8 (теги)
   — исторически добавлены туда, каскад не нарушен.
   ============================================================================= */

.sidebar-area .widget.widget_block .wp-block-latest-posts li:last-child,
.sidebar-area .widget.widget_block .wp-block-categories-list li:last-child {
  border-bottom: 0;
}

.sidebar-area .widget_categories li > a,
.sidebar-area .widget_block .wp-block-categories-list li > a {
  display: block;
  padding: 8px 10px;
  border-left: 2px solid transparent;
  border-radius: 10px;
  color: var(--hostiko-ui-text-body);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sidebar-area .widget_categories li > a:hover,
.sidebar-area .widget_block .wp-block-categories-list li > a:hover {
  color: var(--hostiko-ui-text-strong);
  background: rgba(64, 56, 131, 0.05);
}


/* =============================================================================
   8. САЙДБАР — ОБЛАКО ТЕГОВ
   Теги отображаются как pill-чипы (border-radius: 999px).
   PHP (functions.php) фильтрует теги по контексту:
     — single-статья: только теги этой записи;
     — страница категории: теги статей из этой категории.
   JS (sidebar-tag-cloud.js) управляет коллапсом и кнопкой «Показать ещё».
   В этом разделе также расположены стили активного/hover состояния категорий
   (исторически добавлены после тегов — каскад не нарушен).
   ============================================================================= */

.sidebar-area .widget_tag_cloud .tagcloud a,
.sidebar-area .post-tags-widget .tagcloud .tag-cloud-link,
body.single .wp-block-tag-cloud a,
body.blog .wp-block-tag-cloud a,
body.archive .wp-block-tag-cloud a {
  font-family: var(--hostiko-ui-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  color: var(--hostiko-ui-tag-text) !important;
  background: var(--hostiko-ui-tag-bg) !important;
  border: 1px solid var(--hostiko-ui-tag-border) !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sidebar-area .wp-block-tag-cloud,
.sidebar-area .widget_tag_cloud .tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sidebar-area .wp-block-tag-cloud.hostiko-tag-cloud-collapsed .hostiko-tag-cloud-extra,
.sidebar-area .widget_tag_cloud .tagcloud.hostiko-tag-cloud-collapsed .hostiko-tag-cloud-extra {
  display: none !important;
}

.sidebar-area .hostiko-tag-cloud-toggle {
  margin-top: 10px;
  padding: 6px 12px;
  border: 1px solid var(--hostiko-ui-tag-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--hostiko-ui-text-strong);
  font-family: var(--hostiko-ui-font-sans) !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.sidebar-area .hostiko-tag-cloud-toggle:hover {
  background: var(--hostiko-ui-tag-bg);
}

.sidebar-area .widget_tag_cloud .tagcloud a:hover,
.sidebar-area .post-tags-widget .tagcloud .tag-cloud-link:hover,
body.single .wp-block-tag-cloud a:hover,
body.blog .wp-block-tag-cloud a:hover,
body.archive .wp-block-tag-cloud a:hover {
  color: var(--hostiko-ui-tag-hover-text) !important;
  background: var(--hostiko-ui-tag-hover-bg) !important;
  border-color: var(--hostiko-ui-tag-hover-bg) !important;
}

.sidebar-area .widget_tag_cloud .tagcloud a.hostiko-term-active,
.sidebar-area .post-tags-widget .tagcloud .tag-cloud-link.hostiko-term-active,
body.single .wp-block-tag-cloud a.hostiko-term-active,
body.blog .wp-block-tag-cloud a.hostiko-term-active,
body.archive .wp-block-tag-cloud a.hostiko-term-active {
  color: var(--hostiko-ui-tag-active-text) !important;
  background: var(--hostiko-ui-tag-active-bg) !important;
  border-color: var(--hostiko-ui-tag-active-border) !important;
  font-weight: 600;
}

.sidebar-area .widget_categories li.current-cat > a,
.sidebar-area .widget_categories li.current-cat-parent > a,
.sidebar-area .widget_categories li.hostiko-term-active-item > a,
.sidebar-area .widget_block .wp-block-categories-list li.current-cat > a,
.sidebar-area .widget_block .wp-block-categories-list li.current-cat-parent > a,
.sidebar-area .widget_block .wp-block-categories-list li.hostiko-term-active-item > a,
.sidebar-area .widget_block .wp-block-categories-list a.hostiko-term-active {
  color: var(--hostiko-ui-category-active-text) !important;
  background: var(--hostiko-ui-category-active-bg) !important;
  border-color: var(--hostiko-ui-category-active-border) !important;
  border-left: 2px solid var(--hostiko-ui-category-active-border) !important;
  font-weight: 600;
}

.sidebar-area .widget_tag_cloud .tagcloud a.hostiko-term-active:hover,
.sidebar-area .post-tags-widget .tagcloud .tag-cloud-link.hostiko-term-active:hover,
body.single .wp-block-tag-cloud a.hostiko-term-active:hover,
body.blog .wp-block-tag-cloud a.hostiko-term-active:hover,
body.archive .wp-block-tag-cloud a.hostiko-term-active:hover {
  color: var(--hostiko-ui-tag-active-text) !important;
  background: var(--hostiko-ui-tag-active-bg) !important;
  border-color: var(--hostiko-ui-tag-active-border) !important;
}

/* На single-статье теги — контекст, а не навигация. Клик уводит со страницы
   и путает пользователя. Решение: pointer-events: none + сброс hover. */
body.single .sidebar-area .wp-block-tag-cloud a,
body.single .sidebar-area .widget_tag_cloud .tagcloud a {
  pointer-events: none;
  cursor: default;
  text-decoration: none !important;
}
body.single .sidebar-area .wp-block-tag-cloud a:hover,
body.single .sidebar-area .widget_tag_cloud .tagcloud a:hover {
  color: var(--hostiko-ui-tag-text) !important;
  background: var(--hostiko-ui-tag-bg) !important;
  border-color: var(--hostiko-ui-tag-border) !important;
}

.sidebar-area .widget_categories li.current-cat > a:hover,
.sidebar-area .widget_categories li.current-cat-parent > a:hover,
.sidebar-area .widget_categories li.hostiko-term-active-item > a:hover,
.sidebar-area .widget_block .wp-block-categories-list li.current-cat > a:hover,
.sidebar-area .widget_block .wp-block-categories-list li.current-cat-parent > a:hover,
.sidebar-area .widget_block .wp-block-categories-list li.hostiko-term-active-item > a:hover,
.sidebar-area .widget_block .wp-block-categories-list a.hostiko-term-active:hover {
  color: var(--hostiko-ui-category-active-text) !important;
  background: var(--hostiko-ui-category-active-bg) !important;
  border-color: var(--hostiko-ui-category-active-border) !important;
  border-left-color: var(--hostiko-ui-category-active-border) !important;
}


/* =============================================================================
   9. АДАПТИВНАЯ ТИПОГРАФИКА — МОБИЛЬНЫЕ УСТРОЙСТВА (≤ 767px)
   Уменьшаем font-size и корректируем padding для маленьких экранов.
   ============================================================================= */

@media (max-width: 767px) {
  body.single .blog-details-area .blog-details-content p,
  body.single .blog-details-area .blog-details-content li,
  body.single .blog-details-area .blog-details-content td,
  body.single .blog-details-area .blog-details-content th,
  body.blog .blog-item-info p,
  body.archive .blog-item-info p,
  body.page .entry-content p,
  body.page .entry-content li {
    font-size: 16px;
    line-height: 1.72;
  }
}

/* =============================================================================
  9.1 АДАПТИВНЫЕ ТАБЛИЦЫ — SINGLE/PAGE
   На узких экранах таблицы часто шире контейнера, а parent-template может
   скрывать переполнение. Добавляем горизонтальный скролл и минимальную ширину.
   ============================================================================= */

@media (max-width: 991px) {
  body.single .blog-details-area .blog-details-content table,
  body.page .entry-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 56, 131, 0.28) rgba(64, 56, 131, 0.08);
    margin-bottom: 0;
  }

  body.single .blog-details-area .blog-details-content table > :is(thead, tbody, tfoot),
  body.page .entry-content table > :is(thead, tbody, tfoot) {
    display: table;
    width: 100%;
    min-width: 500px;
  }

  body.single .blog-details-area .blog-details-content table th,
  body.single .blog-details-area .blog-details-content table td,
  body.page .entry-content table th,
  body.page .entry-content table td {
    white-space: nowrap;
  }

  body.single .blog-details-area .blog-details-content table::-webkit-scrollbar,
  body.page .entry-content table::-webkit-scrollbar {
    height: 6px;
  }

  body.single .blog-details-area .blog-details-content table::-webkit-scrollbar-thumb,
  body.page .entry-content table::-webkit-scrollbar-thumb {
    background: rgba(64, 56, 131, 0.28);
    border-radius: 999px;
  }

  body.single .blog-details-area .blog-details-content table::-webkit-scrollbar-track,
  body.page .entry-content table::-webkit-scrollbar-track {
    background: rgba(64, 56, 131, 0.08);
    border-radius: 999px;
  }
}

/* =============================================================================
  10. НАВИГАЦИЯ (navbar)
   Исправления специфичности и отступов пунктов меню.
   Ранее родительская тема через custom_css задавала Montserrat для последнего
   пункта — убрано, вместо этого используется Jost из CSS-переменных (:root).
   ============================================================================= */

/* Убираем лишние margin у пунктов меню с вложенным подменю */
/* .navbar-area .nav-container .navbar-collapse .navbar-nav li.menu-item-has-children {
  margin-right: 0 !important;
  margin-left:  0 !important;
} */

/* Единый горизонтальный отступ для всех пунктов меню */
.navbar-area .nav-container .navbar-collapse .navbar-nav li {
  margin: 0 15px;
}

.navbar-area .nav-container .navbar-collapse .navbar-nav > li.menu-item-has-children > .sub-menu {
  margin-top: 8px;
}

/* Показываем только основной логотип, скрываем дублирующий retina-logo */
.navbar-area .nav-container .logo a.retina-logo {
  display: none !important;
}

.navbar-area .nav-container .logo a.standard-logo {
  display: inline-block;
}

@media only screen and (max-width: 991px) {
  .navbar-area .nav-container .navbar-collapse .navbar-nav > li:last-child a {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
  }
}


/* Горизонтальное выравнивание главного меню на десктопе */
@media (min-width: 992px) {
  #menu-glavnoe-menyu {
    margin-left: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}


/* =============================================================================
   CONTACT FORM 7 — стилизация под палитру сайта
   Цвета: #403883 (фиолетовый, текст/лейблы), #0088e9 (синий, кнопка CTA)
   Шрифт: Jost (var(--hostiko-ui-font-sans))
   ============================================================================= */

.cf7-field-wrap {
  margin-bottom: 20px;
}

.cf7-field-wrap p {
  margin: 0;
}

.cf7-field-wrap label {
  display: block;
  margin-bottom: 6px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 16px;
  font-weight: 700;
  color: var(--hostiko-ui-text-strong);
}

.wpcf7-form .wpcf7-form-control.wpcf7-text,
.wpcf7-form .wpcf7-form-control.wpcf7-email,
.wpcf7-form .wpcf7-form-control.wpcf7-tel,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 12px 16px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 15px;
  color: var(--hostiko-ui-text-body);
  background: #ffffff;
  border: 1.5px solid rgba(64, 56, 131, 0.2);
  border-radius: 10px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  appearance: none;
}

.wpcf7-form .wpcf7-form-control.wpcf7-text::placeholder,
.wpcf7-form .wpcf7-form-control.wpcf7-email::placeholder,
.wpcf7-form .wpcf7-form-control.wpcf7-tel::placeholder,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea::placeholder {
  color: var(--hostiko-ui-text-muted);
  opacity: 1;
}

.wpcf7-form .wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form .wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form .wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea:focus {
  border-color: #403883;
  box-shadow: 0 0 0 3px rgba(64, 56, 131, 0.1);
}

.wpcf7-form .wpcf7-form-control.wpcf7-textarea {
  min-height: 140px;
  resize: vertical;
}

/* Кнопка отправить */
.wpcf7-form .wpcf7-submit {
  display: inline-block;
  padding: 13px 36px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  background-color: #0088e9;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.15s ease;
  appearance: none;
}

.wpcf7-form .wpcf7-submit:hover {
  background-color: #0072c6;
}

.wpcf7-form .wpcf7-submit:active {
  transform: scale(0.98);
}

/* Валидация — подсветка ошибки */
.wpcf7-form .wpcf7-not-valid {
  border-color: #e53e3e !important;
  box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.12) !important;
}

.wpcf7-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #e53e3e;
}

/* Статусные сообщения
   CF7 plugin (styles.css) ставит position:absolute на .wpcf7-response-output,
   поэтому margin-top не работает. Переопределяем position:static.
   Каждое состояние: 0,4,0 — перебивает inline-правило Hostiko customizer (0,3,1). */
.wpcf7 .wpcf7-form .wpcf7-response-output {
  display: none;
  border: none !important;
}

/* Успех */
.wpcf7 .wpcf7-form.sent .wpcf7-response-output {
  display: block;
  position: static !important;
  top: auto !important;
  margin: 20px 0 0;
  padding: 16px 20px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 10px;
  border: none !important;
  border-left: 4px solid #0088e9 !important;
  background: rgba(0, 136, 233, 0.07);
  color: #005fa3;
}

/* Ошибки валидации (не заполнены обязательные поля) */
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output {
  display: block;
  position: static !important;
  top: auto !important;
  margin: 20px 0 0;
  padding: 16px 20px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 10px;
  border: none !important;
  border-left: 4px solid #f59e0b !important;
  background: rgba(245, 158, 11, 0.07);
  color: #92400e;
}

/* Ошибка отправки / спам */
.wpcf7 .wpcf7-form.failed .wpcf7-response-output,
.wpcf7 .wpcf7-form.spam .wpcf7-response-output,
.wpcf7 .wpcf7-form.aborted .wpcf7-response-output,
.wpcf7 .wpcf7-form.payment-required .wpcf7-response-output {
  display: block;
  position: static !important;
  top: auto !important;
  margin: 20px 0 0;
  padding: 16px 20px;
  font-family: var(--hostiko-ui-font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 10px;
  border: none !important;
  border-left: 4px solid #e53e3e !important;
  background: rgba(229, 62, 62, 0.07);
  color: #9b1c1c;
}

/* Спиннер — убираем сдвиг */
.wpcf7-spinner {
  margin-left: 10px;
  vertical-align: middle;
}

/* Адаптив */
@media (max-width: 600px) {
  .wpcf7-form .wpcf7-submit {
    width: 100%;
    text-align: center;
  }
}

