
/* Header v2: sticky-хедер + индикатор прокрутки страницы (статус прокрутки), как в Site/v2/home.html.
   sticky ставим на внешнюю обёртку шаблона Elementor (<header class="elementor elementor-421">), а не на .elementor-element-cf933b2:
   этот div — её единственный видимый на десктопе ребёнок точно той же высоты — sticky внутри родителя без запаса высоты не работает. */
header.elementor-421 {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

#vg-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 4px;
  transform-origin: left;
  transform: scaleX(0);
  background-color: #0094FF;
  will-change: transform;
  pointer-events: none;
}

/* Header v2: hover на пунктах меню — тёмный фон, светлый текст, наш радиус контрола */
.elementor-element-9bb3afe .ts-item-link {
  transition: background-color .18s ease, color .18s ease;
}
.elementor-element-9bb3afe .ts-item-link:hover {
  background: #162032 !important;
  color: #FFFFFF !important;
}
.elementor-element-9bb3afe .ts-item-link:hover span {
  color: #FFFFFF !important;
}

/* Header v2: flex-grow fix — логотип и правый блок сжимаются по контенту, навигация заполняет остаток */
.elementor-element-cf933b2 > .e-con-inner > .elementor-element-f5696b2,
.elementor-element-cf933b2 > .e-con-inner > .elementor-element-1998219 {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: auto !important;
  width: auto !important;
}
.elementor-element-cf933b2 > .e-con-inner > .elementor-element-a023e5b {
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: 0% !important;
  width: auto !important;
}

/* Header v2: add-place pill button */
.elementor-element-12474ea .ts-user-area .user-area-menu > li { width: 100% !important; }
.elementor-element-12474ea .ts-user-area .user-area-menu > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 224px !important;
  height: auto !important;
  padding: 18px 24px !important;
  background: #162032 !important;
  border-radius: 12px !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: background-color .2s ease !important;
}
.elementor-element-12474ea .ts-user-area .user-area-menu > li > a:hover {
  background: #0094FF !important;
}
.elementor-element-12474ea .ts-comp-icon {
  order: 2 !important;
  background: transparent !important;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  border-radius: 0 !important;
}
.elementor-element-12474ea .ts-comp-icon svg path {
  fill: #FFFFFF !important;
}
.elementor-element-12474ea .ts_comp_label {
  order: 1 !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  white-space: nowrap !important;
  display: flex !important;
}

/* Header v2: gap between login and add-place */
.elementor-element-16d9225 { margin-right: 20px; }

/* Header v2: kbd badge + login icon */
.elementor-element-25ed869 .ts-shortcut {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(22,32,50,.25) !important;
  background: rgba(22,32,50,.06) !important;
  border-radius: 6px !important;
  padding: 2px 6px !important;
  font-size: 11px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #162032 !important;
  margin-left: 8px !important;
}
.elementor-element-16d9225 .elementor-repeater-item-b2880cc .ts-comp-icon {
  display: none;
}

/* Header v2: remove white bg from search trigger — .ts-filter унаследован белым фоном из forms.css, в хедере должен быть прозрачным */
.elementor-element-25ed869 .ts-filter {
  background: transparent !important;
  border-radius: 0 !important;
}

/* Header v2: full-height dividers + search padding */
.elementor-element-cf933b2 > .e-con-inner { align-items: stretch !important; }
.elementor-element-f5696b2, .elementor-element-a023e5b { align-items: stretch !important; align-self: stretch !important; }
.elementor-element-1998219 { align-items: center !important; align-self: stretch !important; }
.elementor-element-f5696b2 > .e-con-inner, .elementor-element-a023e5b > .e-con-inner, .elementor-element-1998219 > .e-con-inner { align-items: stretch !important; height: 100% !important; }
.elementor-element-f5696b2 .e-con.e-child { align-self: stretch !important; height: 100% !important; }
.elementor-element-9bb3afe { align-self: stretch !important; height: 100% !important; display: flex !important; align-items: center !important; }
.elementor-element-9bb3afe .ts-nav-menu, .elementor-element-9bb3afe .ts-nav { height: 100% !important; display: flex !important; align-items: center !important; }
.elementor-element-9bb3afe .menu-item, .elementor-element-9bb3afe .ts-item-link { height: 100% !important; display: flex !important; align-items: center !important; }
.elementor-element-25ed869 .ts-filter { padding-left: 20px !important; padding-right: 20px !important; gap: 12px !important; }
.elementor-element-f5696b2 .elementor-element-logo-link, a.elementor-element-logo-link { align-self: stretch !important; height: 100% !important; }

/* Header v2: force center-align right group (direct) */
.elementor-element-25ed869, .elementor-element-16d9225, .elementor-element-12474ea {
  height: auto !important;
  align-self: center !important;
  flex-grow: 0 !important;
}

/* Header v2 mobile: правый блок (теперь только гамбургер) прижат к левому краю из-за flex-grow:0 из десктопного правила выше — на мобильных навигация скрыта и больше не растягивает строку, так что нужен свой толкач вправо */
@media (max-width: 1024px) {
  .elementor-element-cf933b2 > .e-con-inner > .elementor-element-1998219 {
    margin-left: auto !important;
  }
}

/* Header v2 mobile: гамбургер-кнопка */
#vg-mobile-menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: none;
  border-left: 2px solid #162032;
  background: transparent;
  color: #162032;
  cursor: pointer;
  padding: 0;
  transition: background-color .18s ease, color .18s ease;
}
#vg-mobile-menu-btn .vg-menu-btn__icon { display: flex; }
#vg-mobile-menu-btn .vg-menu-btn__icon--close { display: none; }
#vg-mobile-menu-btn.is-active { background: #162032; color: #FFFFFF; }
#vg-mobile-menu-btn.is-active .vg-menu-btn__icon--open { display: none; }
#vg-mobile-menu-btn.is-active .vg-menu-btn__icon--close { display: flex; }

/* Header v2 mobile: выезжающая панель */
#vg-mobile-drawer {
  display: none;
  width: 100%;
  background: #FFF8DFF2;
  backdrop-filter: blur(16px);
}
#vg-mobile-drawer.is-open { display: flex !important; }

.vg-drawer-link {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #162032;
  text-decoration: none;
  border: none;
  border-bottom: 1px solid rgba(22, 32, 50, .3);
  background: transparent;
  cursor: pointer;
}
.vg-drawer-link__num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: rgba(22, 32, 50, .5);
}
.vg-drawer-link--btn svg { flex-shrink: 0; color: #162032; }

/* Header v2 mobile: реальный виджет поиска в панели переоформлен под строку */
#vg-mobile-drawer .elementor-element-vgsear02 .ts-form,
#vg-mobile-drawer .elementor-element-vgsear02 .ts-form-group {
  width: 100%;
}
#vg-mobile-drawer .elementor-element-vgsear02 .ts-filter {
  display: flex !important;
  flex-direction: row-reverse !important;
  width: 100% !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 20px !important;
  gap: 8px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(22, 32, 50, .3) !important;
  border-radius: 0 !important;
}
#vg-mobile-drawer .elementor-element-vgsear02 .ts-filter svg { width: 18px !important; height: 18px !important; }
#vg-mobile-drawer .elementor-element-vgsear02 .ts-filter-text {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #162032 !important;
}
#vg-mobile-drawer .elementor-element-vgsear02 .ts-shortcut { display: none !important; }

#vg-drawer-bottom-row { display: flex; width: 100%; }
#vg-drawer-bottom-row .elementor-widget { flex: 1 1 0; }
#vg-drawer-bottom-row .vg-drawer-login .ts-user-area .user-area-menu > li,
#vg-drawer-bottom-row .vg-drawer-add .ts-user-area .user-area-menu > li {
  width: 100% !important;
}
#vg-drawer-bottom-row .vg-drawer-login .ts-user-area .user-area-menu > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 16px !important;
  border-right: 1px solid #162032 !important;
  color: #162032 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
#vg-drawer-bottom-row .vg-drawer-login .ts-comp-icon { display: none !important; }

#vg-drawer-bottom-row .vg-drawer-add .ts-user-area .user-area-menu > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 16px !important;
  background: #162032 !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
}
#vg-drawer-bottom-row .vg-drawer-add .ts-comp-icon { display: none !important; }
#vg-drawer-bottom-row .vg-drawer-add .ts_comp_label { color: #FFFFFF !important; }
#vg-drawer-bottom-row .vg-drawer-login .ts_comp_label { color: #162032 !important; }

/* Header v2 mobile: убрать лишний гап между строками внутри панели */
#vg-mobile-drawer.is-open { flex-direction: column; gap: 0 !important; }
#vg-mobile-drawer .elementor-element { flex-shrink: 0; }
#vg-mobile-drawer > .elementor-element { margin: 0 !important; }