/* Navigation only; existing desktop layout remains in basic.css. */
#global-header .site-nav-toggle,
#global-header .site-submenu-toggle { display: none; }
#global-header #inner-header nav.site-navigation [hidden],
#global-header #inner-header nav.site-navigation[hidden] { display: none; }
#global-header button:focus-visible,
#global-header a:focus-visible { outline: 3px solid #cc3434; outline-offset: -3px; }

@media screen and (max-width: 1023px) {
  #global-header #inner-header { display: block; width: 100%; overflow: visible; }
  #global-header #inner-header a.logo { position: absolute; top: 0; left: 0; float: none; width: 100px; padding: 0 4px; margin: 0; }
  #global-header #lang-menu { display: none; }
  #global-header.site-navigation-ready { z-index: 999999; }
  #global-header .site-nav-toggle {
    display: block; position: absolute; top: 0; right: 0; box-sizing: content-box;
    width: 50px; height: 64px; padding: 4px 8px 10px; margin: 0; border: 0;
    color: #0063a7; background: transparent; cursor: pointer; font-family: inherit;
  }
  #global-header .site-nav-icon { display: block; position: relative; height: 48px; }
  #global-header .site-nav-icon > span { display: block; height: 8px; margin-top: 8px; background: #0063a7; }
  #global-header .site-nav-label { display: block; font-size: 0.6rem; letter-spacing: -0.13em; line-height: 2; }
  #global-header.site-navigation-open .site-nav-icon > span { position: absolute; top: 16px; width: 100%; margin: 0; height: 4px; }
  #global-header.site-navigation-open .site-nav-icon > span:first-child { transform: rotate(45deg); }
  #global-header.site-navigation-open .site-nav-icon > span:nth-child(2) { display: none; }
  #global-header.site-navigation-open .site-nav-icon > span:last-child { transform: rotate(-45deg); }
  #global-header #inner-header nav.site-navigation {
    position: absolute; top: 79px; left: 0; width: 100%; margin: 0; background: #0063a7;
    max-height: calc(100vh - 86px); max-height: calc(100dvh - 86px); overflow-y: auto; overscroll-behavior: contain;
  }
  #global-header #inner-header nav.site-navigation ul { display: block; width: 100%; margin: 0; padding: 0; overflow: visible; list-style: none; }
  #global-header #inner-header nav.site-navigation li { position: relative; height: auto; border: 0; }
  #global-header #inner-header nav.site-navigation a {
    display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 0.8em 2%;
    color: #fff; font-size: 1.6rem; line-height: normal; text-align: left; text-decoration: none;
    border-top: 1px solid rgba(255,255,255,0.5);
  }
  #global-header #inner-header nav.site-navigation a:hover { background: rgba(255,255,255,0.1); color: #fff; }
  #global-header #inner-header nav.site-navigation a i { display: inline-block; width: 10%; text-align: center; margin-right: 0.2em; }
  #global-header #inner-header nav.site-navigation li.site-has-submenu > a { padding-right: 76px; }
  #global-header #inner-header nav.site-navigation li ul a { padding: 1em 10%; opacity: 0.75; border-top-color: rgba(255,255,255,0.25); }
  #global-header .site-submenu-toggle {
    display: block; position: absolute; top: 1px; right: 0; width: 71px; height: 68px;
    padding: 0; margin: 0; border: 0; border-left: 1px solid rgba(255,255,255,0.4);
    border-bottom: 1px solid rgba(255,255,255,0.2); color: #fff; background: rgba(255,255,255,0.1);
    font-family: inherit; font-size: 1.6rem; line-height: 1; cursor: pointer;
  }
  /* Without JS, keep existing navigation links available. */
  #global-header:not(.site-navigation-ready) { height: auto; }
  #global-header:not(.site-navigation-ready) #inner-header nav { width: 100%; padding-top: 79px; background: #fff; }
  #global-header:not(.site-navigation-ready) #inner-header nav ul { margin: 0; flex-wrap: wrap; }
}

@media screen and (max-width: 559px) {
  #global-header #inner-header a.logo { width: 60px; }
  #global-header .site-nav-toggle { width: 36px; height: 36px; padding: 4px 8px 10px; }
  #global-header .site-nav-icon { height: 24px; }
  #global-header .site-nav-icon > span { height: 4px; margin-top: 4px; }
  #global-header.site-navigation-open .site-nav-icon > span { top: 10px; }
  #global-header #inner-header nav.site-navigation { top: 49px; max-height: calc(100vh - 56px); max-height: calc(100dvh - 56px); }
  #global-header #inner-header nav.site-navigation a { padding: 0.8em 1%; font-size: 1.2rem; }
  #global-header .site-submenu-toggle { width: 54px; height: 50px; font-size: 1.2rem; }
  #global-header #inner-header nav.site-navigation li.site-has-submenu > a { padding-right: 60px; }
  #global-header:not(.site-navigation-ready) #inner-header nav { padding-top: 49px; }
}
