/* Keep each About cue in the row flow. Older desktop rules also reserved
   58px for an absolute cue, placing this flex child too far from the edge. */
html body #hdr #aboutMega.about-menu > a,
html body #mnav #mnavAbout > a{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 gap:12px!important;padding:12px 14px!important;min-height:54px!important;
 height:auto!important;max-height:none!important;box-sizing:border-box!important;
}
html body #hdr #aboutMega.about-menu > a > span,
html body #mnav #mnavAbout > a > span{
 flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;
 white-space:normal!important;overflow-wrap:anywhere!important;text-align:start!important;
}
html body #hdr #aboutMega.about-menu > a::after,
html body #mnav #mnavAbout > a::after{
 content:"›"!important;position:static!important;inset:auto!important;margin:0!important;
 display:grid!important;place-items:center!important;flex:0 0 30px!important;
 width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;
 box-sizing:border-box!important;transform:none!important;pointer-events:none!important;
}
html[dir="rtl"] body #hdr #aboutMega.about-menu > a::after,
html[dir="rtl"] body #mnav #mnavAbout > a::after{content:"‹"!important;transform:none!important}

/* Visibility follows the accessible disclosure state; focus returning to the
   trigger after Escape must not reopen a closed panel through :focus-within. */
html body #hdr #aboutNav.nav-drop:not(.open) > #aboutMega,
html body #hdr #productsNav.nav-drop:not(.open) > #productsMega{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
html body #hdr #aboutNav.nav-drop.open > #aboutMega,
html body #hdr #productsNav.nav-drop.open > #productsMega{
 opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
html body #hdr .nav-drop:not(.open) > .nav-trigger svg{transform:none!important}

/* A short viewport scrolls its menu instead of clipping the last languages.
   Percent-based mobile width excludes the browser's scrollbar gutter. */
html body #hdr #lang .lang-menu{
 box-sizing:border-box!important;max-height:calc(100dvh - 96px)!important;
 min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;
 overscroll-behavior:contain!important;scrollbar-width:thin!important;
 align-content:start!important;grid-auto-rows:minmax(36px,auto)!important;
}
html body #hdr #lang .lang-menu > button{
 min-height:36px!important;height:auto!important;margin:0!important;
 padding:6px 8px!important;box-sizing:border-box!important;
}
html body #hdr #lang .lang-menu::-webkit-scrollbar{display:block!important;width:4px!important}
html body #hdr .mega-menu{max-height:calc(100dvh - 96px)!important;overflow-y:auto!important;overscroll-behavior:contain!important}
@media(max-width:1200px){
 html body #hdr #lang .lang-menu{grid-auto-rows:minmax(44px,auto)!important}
 html body #hdr #lang .lang-menu > button{min-height:44px!important;padding:7px 8px!important}
}
@media(max-width:620px){
 html body #hdr #lang .lang-menu{
  position:fixed!important;left:12px!important;right:12px!important;width:auto!important;
  min-width:0!important;max-width:none!important;top:calc(var(--trx-h,64px) + 6px)!important;
 }
}
/* On constrained screens, the floating support greeting must not cover open
   navigation or language options. Closing the menu restores the widget. */
@media(max-width:1200px),(max-height:640px){
 body:has(#hdr .nav-drop.open,#hdr #lang.open,#mnav.open) #trx-support{
  visibility:hidden!important;pointer-events:none!important;
 }
}
