@supports (-webkit-touch-callout: none) {
  .sppb-addon-wrapper,
  [id^="sppb-addon-"] {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-transition-duration: 0s !important;
    transition-duration: 0s !important;

    -webkit-transform-style: flat !important;
    transform-style: flat !important;

    -webkit-perspective: none !important;
    perspective: none !important;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
  [data-sppb-event="onscroll"], 
  .sppb-addon-wrapper[style*="transform"],
  [id^="sppb-addon-"][style*="transform"] {
    will-change: transform, opacity;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
#sp-page-title {
  display: none;
}

/* =====================================================================
   Шапка (header-5-FullwidthCenter)
   Десктоп (>=992): логотип слева, меню по центру, кнопки справа.
   Планшет (576-991): логотип слева, кнопки по центру, гамбургер справа.
   Мобильный (<576): логотип слева, кнопка Get in touch + гамбургер справа.
   Всё в одну строку на любой ширине 320–1920.
   ===================================================================== */

/* --- общие правила для всех ширин --- */
#sp-header .container-inner > .row { flex-wrap: nowrap; }

/* пустой блок соцсетей — убираем, чтобы не занимал место */
#sp-header #sp-menu .social-wrap { display: none !important; }

#sp-header #sp-logo { flex: 0 0 auto; }
#sp-header #sp-logo .logo { vertical-align: top; } /* убирает лишние 2-3px под inline-flex логотипом */
#sp-header #sp-logo .logo a { display: inline-flex; align-items: center; }
#sp-header .logo-image,
#sp-header .logo-image-phone { width: auto; max-width: 100%; }

#sp-header #sp-menu { flex: 1 1 auto; min-width: 0; }
#sp-header #sp-menu > .sp-column { justify-content: flex-end !important; }

/* блок кнопок SP Page Builder (позиция user1) */
#sp-header #sp-menu .header-modules { flex: 0 0 auto; }
#sp-header .header-modules .sp-module { display: block; }
#sp-header .header-modules .sppb-row-container { padding: 0; }
#sp-header .header-modules .sppb-row { margin: 0; }
#sp-header .header-modules .sppb-row-column { padding: 0; }
#sp-header .header-modules .sppb-column { padding: 0; }
#sp-header .header-modules .sppb-addon-content { white-space: nowrap; }
#sp-header .header-modules .sppb-addon-wrapper > [id^="sppb-addon-"] { padding: 0; }
#sp-header .header-modules .sppb-btn { white-space: nowrap; }

/* --- десктоп: меню в центре между логотипом и кнопками --- */
@media (min-width: 992px) {
  #sp-header #sp-menu .menu-with-offcanvas { flex: 1 1 auto; min-width: 0; }
  #sp-header #sp-menu .sp-megamenu-wrapper {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center !important;
  }
  #sp-header #sp-menu ul.sp-megamenu-parent { float: none; white-space: nowrap; }
  #sp-header .sp-megamenu-parent > li:last-child { padding-right: 0; }
}

/* широкий экран: левая колонка уравнивается с правым блоком,
   чтобы меню стояло точно по центру страницы */
@media (min-width: 1550px) {
  #sp-header #sp-logo { min-width: 417px; }
}

/* 1200–1549: чуть компактнее отступы шапки и пунктов меню */
@media (min-width: 1200px) and (max-width: 1549.98px) {
  #sp-header.full-header { padding-left: 20px; padding-right: 20px; }
  #sp-header .sp-megamenu-parent > li { padding-right: 15px; }
  #sp-header .sp-megamenu-parent > li > a { padding: 8px 12px; }
}

/* 992–1199: уменьшаем логотип, шрифт меню и отступы кнопок */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #sp-header .logo-image { height: 48px; }
  #sp-header .sp-megamenu-parent > li { padding-right: 8px; }
  #sp-header .sp-megamenu-parent > li > a { padding: 7px 10px; font-size: 11px; }
  #sp-header .header-modules .sp-module { margin-left: 10px; }
  #sp-header .header-modules .sppb-addon-content { margin: -5px; }
  #sp-header .header-modules .sppb-addon-content .sppb-btn { margin: 5px; }
}

/* --- планшет и мобильный: меню в гамбургере --- */
@media (max-width: 991.98px) {
  #sp-header #sp-menu .menu-with-offcanvas { display: none !important; }
  #sp-header #sp-menu .header-modules { flex: 1 1 auto; min-width: 0; justify-content: center; }
  #sp-header .header-modules .sp-module { margin-left: 0; }
  #sp-header .header-modules .sppb-addon-content { margin: -5px; }
  #sp-header .header-modules .sppb-addon-content .sppb-btn { margin: 5px; }
  #sp-header .header-modules .sppb-addon.sppb-addon-button-group { text-align: center; }
  #sp-header #offcanvas-toggler.offcanvas-toggler-secondary { margin-left: 10px; }
  #sp-header .logo-image-phone { height: 44px !important; }
}

/* 576–767: узкий планшет — уже отступы колонок */
@media (max-width: 767.98px) {
  #sp-header #sp-logo,
  #sp-header #sp-menu { padding-left: 6px; padding-right: 6px; }
}

/* --- мобильный: кнопка Get in touch прижата к гамбургеру, логотип масштабируется --- */
@media (max-width: 575.98px) {
  #sp-header #sp-logo,
  #sp-header #sp-menu { padding-left: 4px; padding-right: 4px; }
  #sp-header .logo-image-phone {
    height: auto !important;
    max-height: 44px;
    max-width: min(206px, 40vw);
  }
  #sp-header #sp-menu .header-modules { justify-content: flex-end; }
  #sp-header .header-modules .sppb-addon.sppb-addon-button-group { text-align: right; }
  #sp-header .header-modules .sppb-btn.sppb-btn-custom { padding: 8px 14px; font-size: 13px; }
}

/* =====================================================================
   Цвета меню (шапка прозрачная поверх тёмно-зелёного hero)
   Палитра: зелёный кнопки #3a6a3a / #4f8e4f (верхнее меню), лайм #83cd1d (бренд,
   индикаторы в дропдауне), тёмно-зелёный #395811 (текст на светлом). Все пары проверены на контраст WCAG AA (>= 4.5:1).
   ===================================================================== */

/* --- верхний уровень: белые пункты --- */
#sp-header .sp-megamenu-parent > li > a {
  color: rgba(255, 255, 255, 0.92);
  border-color: transparent;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
/* hover / открытый дропдаун / фокус с клавиатуры — мягкая зелёная подложка
   (полупрозрачный зелёный кнопки Get in touch, без рамки) */
#sp-header .sp-megamenu-parent > li:hover > a,
#sp-header .sp-megamenu-parent > li > a:focus-visible {
  color: #fff;
  background: rgba(79, 142, 79, 0.45);
  border-color: transparent;
}
/* активный раздел — как кнопка Get in touch: #3a6a3a + белый текст (6.4:1) */
#sp-header .sp-megamenu-parent > li.active > a,
#sp-header .sp-megamenu-parent > li.active:hover > a,
#sp-header .sp-megamenu-parent > li.active > a:focus-visible {
  color: #fff;
  background: #3a6a3a;
  border-color: #3a6a3a;
}
#sp-header .sp-megamenu-parent > li.active:hover > a {
  background: #457a45;
  border-color: #457a45;
}
#sp-header .sp-megamenu-parent > li > a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
#sp-header .sp-megamenu-parent > li > a:focus:not(:focus-visible) { outline: none; }

/* --- выпадающий список --- */
#sp-header .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  background: #fff;
  border-radius: 8px;
  padding: 6px;
  box-shadow: 0 10px 30px rgba(17, 31, 17, 0.22), 0 0 0 1px rgba(17, 31, 17, 0.06);
}
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
  color: #1f2d14;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  padding: 9px 12px;
  border-radius: 5px;
  background: transparent;
  transition: background-color .15s ease, color .15s ease;
}
/* hover по пункту (и пока открыт его вложенный список), фокус с клавиатуры */
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover > a,
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:focus-visible {
  color: #395811;
  background: rgba(131, 205, 29, 0.2);
}
/* активный подпункт (и его родители в дереве) */
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item.active:hover > a {
  color: #395811;
  font-weight: 600;
  background: rgba(131, 205, 29, 0.28);
  box-shadow: inset 3px 0 0 #83cd1d;
}
#sp-header .sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:focus-visible {
  outline: 2px solid #83cd1d;
  outline-offset: -2px;
}
/* стрелка у пунктов с вложенным списком — приглушённая */
body.ltr #sp-header .sp-megamenu-parent .sp-dropdown .sp-dropdown-items .sp-has-child > a:after {
  opacity: .55;
}
/* вложенный список 3-го уровня — небольшой зазор от родителя */
#sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-sub { padding-left: 8px; }

/* --- offcanvas (мобильное меню): hover/active в тёмно-зелёном вместо лайма на сером --- */
.offcanvas-menu .offcanvas-inner ul.menu > li a:hover,
.offcanvas-menu .offcanvas-inner ul.menu > li a:focus,
.offcanvas-menu .offcanvas-inner a:hover,
.offcanvas-menu .offcanvas-inner a:focus { color: #395811; }
.offcanvas-menu .offcanvas-inner ul.menu li.active > a { color: #395811 !important; font-weight: 600; opacity: 1; }

@media (max-width: 991px) {
    .offcanvas-menu .menu-parent > .menu-child {
        display: block !important;
    }

    .offcanvas-menu .menu-parent > .menu-toggler {
        display: none !important;
    }
}

#sp-header .container {
    max-width: 100%;
}

#sp-top-bar .container, #sp-top-bar .sppb-row-container {
    max-width: 100%;
    padding: 0;
}

/*.jmodedit {
  display: none;
}*/

@media(max-width: 991px) {
  #sp-header {
    padding-left: 0px;
  }
  #sp-top1.col-lg-6,
  #sp-top2.col-lg-6 {
      width: 50%;
    }
}
@media(max-width: 641px) {
  #sp-top1.col-lg-6,
  #sp-top2.col-lg-6 {
      width: 100%;
    }
}
