/* Site header only. Existing menu, account handlers and URLs are preserved. */
.wrapper.body-wrapper > header:has(.header__wrapper) { width: 100%; box-sizing: border-box; }
@media (min-width: 1201px) {
  .header__wrapper { gap: 24px; }
  .header__wrapper > .header__wrapper-logo { flex: 0 0 220px; width: 220px; height: 88px; margin: 0; }
  .header__wrapper > .header__menu { flex: 1 1 0; min-width: 0; margin: 0; padding: 0; justify-content: flex-end; gap: 0 2px; }
  .header__wrapper > .header__menu > li { flex: 0 0 auto; }
  .header__wrapper > .header__menu > li > a { box-sizing: border-box; min-height: 44px; align-items: center; justify-content: center; padding: 10px 12px; font-size: 18px; line-height: 24px; white-space: nowrap; }
  .header__wrapper > .header__menu > li > .header-phone { white-space: nowrap; }
  .header__wrapper > .header__menu > li > .header-search { width: 44px; padding: 8px; }
  .header__wrapper > .header__menu > li > .header-account { padding: 8px 20px; gap: 10px; }
  .header__wrapper > .header__menu > li:focus-within > .submenu { display: block !important; }
  .header__wrapper > .header__menu > li > a:focus-visible,
  .header__wrapper > .header__menu .submenu a:focus-visible { outline: 2px solid #da291c; outline-offset: 2px; }
  .header__wrapper > .header__menu > li:has(> a[href*="/auth/account"]) > .submenu { right: 0; left: auto; min-width: 240px !important; max-width: min(320px, calc(100vw - 32px)); padding: 16px !important; }
  .header__wrapper > .header__menu > li:has(> a[href*="/auth/account"]) > .submenu a { display: flex !important; align-items: center; box-sizing: border-box; min-height: 44px; padding: 8px 12px !important; font-size: 16px !important; line-height: 24px; }
  .header__wrapper > .header__menu > li:has(> .directions-menu),
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) { position: static; }
  .header__wrapper > .header__menu > li > .directions-menu,
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) > .submenu { left: 0; right: 0; top: 100%; width: 100%; min-width: 0; max-width: 100%; max-height: calc(100dvh - 180px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; transform: none !important; }
  .header__wrapper > .header__menu > li > .directions-menu > div { padding: 20px !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; }
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) > .submenu { padding: 20px !important; }
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) > .submenu > ul { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; }
  .header__wrapper > .header__menu .directions-menu span,
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) .submenu span { display: block; white-space: normal !important; font-size: 16px !important; line-height: 22px; }
  .header__wrapper > .header__menu .directions-menu a,
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) .submenu a { box-sizing: border-box; display: flex !important; align-items: center; min-height: 44px; padding: 8px 4px !important; white-space: normal !important; font-size: 15px !important; line-height: 21px; }
}

/* Keep source/tab order: navigation first, contact controls on the second row. */
@media (min-width: 1201px) and (max-width: 1660px) {
  .header__wrapper > .header__wrapper-logo { flex-basis: 190px; width: 190px; }
  .header__wrapper > .header__menu { flex-wrap: wrap; row-gap: 4px; }
  .header__wrapper > .header__menu > li { order: 0; }
  .header__wrapper > .header__menu::after { content: ""; order: 1; flex: 0 0 100%; height: 0; }
  .header__wrapper > .header__menu > li:has(> .header-phone),
  .header__wrapper > .header__menu > li:has(> .header-search),
  .header__wrapper > .header__menu > li:has(> .header-account:not(.hamburger)) { order: 2; }
  .header__wrapper > .header__menu > li > a { padding-left: 10px; padding-right: 10px; font-size: 16px; }
  .header__wrapper > .header__menu > li > .directions-menu,
  .header__wrapper > .header__menu > li:has(> a[href$="/services"]) > .submenu { top: 44px; }
}

@media (max-width: 1200px) {
  .header__wrapper { gap: 8px; }
  .header__wrapper > .header__menu { margin: 0; padding: 0; flex: 0 0 auto; }
  .header__wrapper > .header__menu > li:last-child { gap: 4px !important; }
  .header__wrapper .header-mobile-phone { min-height: 44px; box-sizing: border-box; padding: 0 4px; font-size: 13px; line-height: 20px; white-space: nowrap; gap: 5px !important; }
  .header__wrapper .header-account.hamburger { box-sizing: border-box; width: 44px !important; min-width: 44px; height: 44px; min-height: 44px; padding: 8px; align-items: center; justify-content: center; }
  .header__wrapper .header-mobile-menu { box-sizing: border-box; width: min(320px, calc(100vw - 24px)); height: 100dvh; padding: 76px 24px 24px; overflow-y: auto; overscroll-behavior: contain; justify-content: flex-start; gap: 0; }
  .header__wrapper .header-mobile-menu > li { flex: 0 0 auto; }
  .header__wrapper .header-mobile-menu > li > a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 10px 8px; margin: 0 !important; font-size: 16px; line-height: 24px; white-space: normal; }
  .header__wrapper .header-mobile-menu > li > .header-account { width: fit-content; gap: 10px !important; }
  .header__wrapper .header-mobile-menu a:focus-visible { outline: 2px solid #da291c; outline-offset: 1px; }
}
@media (max-width: 576px) {
  .header__wrapper > .header__wrapper-logo { flex: 0 0 clamp(100px, 28vw, 128px); width: clamp(100px, 28vw, 128px); height: 44px; }
}
@media (max-width: 360px) {
  .header__wrapper .header-mobile-phone svg { display: none; }
}
