@media (max-width: 960px) {
    body.nav-open { overflow: hidden; }
    .site-header { height: auto; min-height: 68px; }
    .site-header .nav { position: relative; flex-wrap: nowrap; gap: 8px; min-width: 0; min-height: 68px; }
    .site-header .brand { flex: 0 1 auto; min-width: 0; margin-right: auto; }
    .site-header .brand > span:last-child { font-size: 13px; }
    .site-header .menu { display: block; position: relative; z-index: 12; flex: 0 0 44px; width: 44px; min-width: 44px; min-height: 44px; color: #042F5D; cursor: pointer; }
    .site-header nav { display: none; position: absolute; z-index: 10; top: 100%; left: 14px; right: 14px; max-height: calc(100vh - 82px); overflow-y: auto; margin: 0; padding: 12px; background: #FFFFFF; border: 1px solid #dbe7ee; border-radius: 10px; box-shadow: 0 18px 45px rgba(4,47,93,.18); text-align: center; }
    .site-header nav a { display: block; padding: 12px 14px; border-radius: 7px; text-align: center; }
    .site-header nav a:hover, .site-header nav a:focus { background: #F4F8FA; color: #0A78BD; }
    .site-header nav .nav-item { display: block; width: 100%; height: auto; text-align: center; }
    .site-header nav .nav-item > a { display: flex; width: 100%; height: 44px; justify-content: center; }
    .site-header nav .submenu, body.nav-open .site-header nav .has-submenu .submenu { display: none; position: static; width: 100%; margin: 4px 0 8px; padding: 4px 0; border: 0; border-top: 1px solid #03A6AE; border-radius: 0; box-shadow: none; text-align: center; }
    .site-header nav .submenu a { padding: 10px 12px !important; }
    body.nav-open .site-header nav .has-submenu.submenu-open .submenu { display: block !important; }
    .site-header .search { flex: 0 0 38px; margin-left: 0; }
    .site-header .language-switch { flex: 0 0 auto; padding: 7px 9px; }
    body.nav-open .site-header nav { display: flex !important; flex-direction: column; gap: 2px; }
}

@media (max-width: 380px) {
    .site-header .nav { gap: 6px; }
    .site-header .brand { gap: 7px; }
    .site-header .search { flex-basis: 32px; width: 32px; }
    .site-header .language-switch { padding: 6px 7px; font-size: 12px; }
    .site-header .menu { flex-basis: 40px; width: 40px; min-width: 40px; }
}
