/* HR068: approved desktop control, with a head-loaded matching reservation.
 * This sheet is absent when D is OFF. No other menu copy, font or target is reduced. */
#site-navigation {
  --hr068-control-width: 90px;
  --hr068-link-width: 40px;
  --hr068-link-height: 44px;
  --hr068-slot-width: 106px; /* 90px control + 16px clear space before CTA */
}
#site-navigation .hr068-language {
  --hr068-ready: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  box-sizing: border-box;
  white-space: nowrap;
  font: 400 13px/1.4 system-ui, sans-serif;
  color: #fff;
}
#site-navigation .hr068-language a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 7px 0;
  border-radius: 3px;
  color: #fff;
  font: inherit;
  line-height: 1.4;
  text-decoration: none;
}
#site-navigation .hr068-language a[aria-current="true"] { text-decoration: underline; text-underline-offset: 3px; }
#site-navigation .hr068-language a:hover { background: rgba(255,255,255,.18); }
#site-navigation .hr068-language a:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
#site-navigation .hr068-language-slot { flex: 0 0 auto; list-style: none; }
@media (min-width: 769px) {
  /* Only the two existing language slots and the replacement D slot reserve
     the new width. CSS arrives in the head, before footer JS replaces a li. */
  #site-navigation #primary-menu > ul > #menu-item-220,
  html:lang(ru) #site-navigation #primary-menu > ul > li:has(> a[lang="en"]),
  #site-navigation #primary-menu > ul > .hr068-language-slot {
    display: block;
    position: relative;
    box-sizing: border-box;
    flex-basis: var(--hr068-slot-width);
    flex-shrink: 0;
    width: var(--hr068-slot-width);
    height: 60px;
    margin: 0;
  }
  #site-navigation .hr068-language-slot > .hr068-language {
    position: absolute;
    top: 8px;
    left: 0;
    width: var(--hr068-control-width);
    height: var(--hr068-link-height);
    justify-content: flex-start;
    gap: 3px;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .04em;
  }
  #site-navigation .hr068-language a {
    flex: 0 0 var(--hr068-link-width);
    width: var(--hr068-link-width);
    min-width: var(--hr068-link-width);
    min-height: var(--hr068-link-height);
    height: var(--hr068-link-height);
    padding: 0 5px;
    color: #d9e0ea;
    font-weight: 500;
    line-height: 1;
    transition: none;
  }
  #site-navigation .hr068-language > span {
    flex: 0 0 4px;
    width: 4px;
    text-align: center;
    color: #8190a5;
  }
  #site-navigation .hr068-language a[aria-current="true"] {
    color: #fff;
    font-weight: 700;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
  }
  #site-navigation .hr068-language a:hover,
  #site-navigation .hr068-language a:focus-visible { color: #fff; background: rgba(255,255,255,.14); }
  #site-navigation .hr068-language a:focus-visible { outline-offset: 2px; }
}
@media (min-width: 769px) and (max-width: 1200px) {
  /* Retain the approved narrow-desktop wrapping range. Keep original menu
     labels on their line, with the D control immediately before CTA on the
     final line. The pseudo line break adds no navigation item or focus stop. */
  .site-header .inside-header:has(#primary-menu > ul > #menu-item-220),
  .site-header .inside-header:has(#primary-menu > ul > .hr068-language-slot),
  html:lang(ru) .site-header .inside-header:has(#primary-menu > ul > li > a[lang="en"]) { flex-wrap: wrap; }
  #site-navigation:has(#primary-menu > ul > #menu-item-220),
  #site-navigation:has(#primary-menu > ul > .hr068-language-slot),
  html:lang(ru) #site-navigation:has(#primary-menu > ul > li > a[lang="en"]) { flex-basis: 100%; margin-left: 0; }
  #site-navigation #primary-menu { width: 100%; }
  #site-navigation #primary-menu > ul { flex-wrap: wrap; }
  #site-navigation #primary-menu > ul:has(> #menu-item-220)::before,
  #site-navigation #primary-menu > ul:has(> .hr068-language-slot)::before,
  html:lang(ru) #site-navigation #primary-menu > ul:has(> li > a[lang="en"])::before {
    content: "";
    flex: 0 0 100%;
    height: 0;
    order: 1;
  }
  #site-navigation #primary-menu > ul > #menu-item-220,
  html:lang(ru) #site-navigation #primary-menu > ul > li:has(> a[lang="en"]),
  #site-navigation #primary-menu > ul > .hr068-language-slot { order: 2; margin-left: auto; }
  #site-navigation #primary-menu > ul > .hr-nav-cta { order: 3; margin-left: 0; }
}
@media (max-width: 768px) {
  #site-navigation .hr068-language-slot { display: none; }
  #site-navigation:not(.toggled) #primary-menu > .hr068-language { display: none; }
  #site-navigation #primary-menu > .hr068-language {
    justify-content: flex-start;
    padding: 8px 17px;
    font-size: 14px;
  }
  #site-navigation .hr068-language a { min-width: 44px; min-height: 44px; padding: 8px; }
}
