/* Scoped overrides: legacy navigation IDs remain available to head.js. */
#nav1 .sv-disclosure, #nav3 .sv-disclosure, #sv-menu-toggle {
  font: inherit; color: #fff; background: #292d76; border: 1px solid transparent;
  cursor: pointer; min-height: 44px; padding: .5em; border-radius: 3px;
}
#nav1 .sv-disclosure { min-width: 24px; }
/* Match the existing top-level hover colour for links and disclosure buttons. */
#nav1 nav > ul > li:hover > .sv-disclosure {
  background-color: #666666;
}

/* One shared box model for top-level links and buttons. */
#nav1 nav > ul > li {
  position: relative;
  display: inline-flex;
  align-items: stretch;
  vertical-align: top;
}
#nav1 nav > ul > li > a,
#nav1 nav > ul > li > .sv-disclosure {
  display: block;
  box-sizing: border-box;
  font: inherit;
  line-height: 2em;
  padding: .88em .5em;
  min-height: 44px;
  margin: 0;
  border: 0;
  border-radius: 0;
}
/* Fixed geometry in every state: legacy nav.css adds borders only on hover. */
#nav1 nav > ul > li > ul {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  /* Light from the upper left casts a shadow to the lower right. */
  box-shadow: 3px 5px 5px rgba(0, 0, 0, .50), 0 2px 3px rgba(0, 0, 0, .25);
}
#nav1 nav li > ul { background: #272e6b; min-width: 15em; max-width: 85vw; }
#nav1 nav li > ul li { display: block; }
#nav1 nav li > ul li a { color: #fff; white-space: normal; }
#nav1 nav li > ul li a:hover, #nav3 a:hover { background: #41478b; }
#nav1.sv-ready nav li > ul { display: none; }
#nav1.sv-ready nav li.sv-open > ul { display: block; position: absolute; z-index: 2000; }
#nav3 .sv-disclosure { width: 100%; text-align: left; padding: .88em 1.5em; }
#nav3 navm li > ul { background: #272e6b; }
#nav3 navm a { color: white; }
#nav1 a:focus-visible, #nav1 button:focus-visible, #nav3 a:focus-visible,
#nav3 button:focus-visible, #sv-menu-toggle:focus-visible {
  outline: 3px solid #ffdf60 !important; outline-offset: -3px; text-decoration: underline;
}
.sv-skip { position: fixed; top: 8px; left: 8px; transform: translateY(-200%); z-index: 10000;
  background: #fff; color: #17245b; padding: 1em; border: 3px solid #17245b; }
.sv-skip:focus { transform: none; }
#inhalt:focus { outline: 3px solid #292d76; outline-offset: 3px; }

/* Fit the existing mobile bar without extending its blue background. */
#sv-menu-toggle {
  box-sizing: border-box;
  min-width: 60px;
  min-height: 44px;
  height: 44px;
  transform: translateY(-2px);
  padding: 3px 8px;
  background: transparent;
  vertical-align: top;
}
.sv-hamburger { display: flex; flex-direction: column; gap: 6px; width: 42px; }
.sv-hamburger > span { display: block; height: 8px; width: 100%; background: currentColor; border-radius: 2px; }

/* Equal spacing for link + arrow pairs and single disclosure buttons. */
#nav1 nav > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
#nav1 nav > ul > li > .sv-disclosure {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  background: transparent;
}
#nav1 nav > ul > li > a:has(+ .sv-disclosure) {
  padding-right: 0;
}
#nav1 nav > ul > li:hover {
  background-color: #666666;
}

/* Reserve marker space so submenu labels do not move on hover or focus. */
#nav1 nav > ul > li > ul > li > a,
#nav3 navm > ul > li > ul > li > a {
  position: relative;
  box-sizing: border-box;
}
#nav1 nav > ul > li > ul > li > a {
  padding-left: calc(.5em + 7px);
}
#nav3 navm > ul > li > ul > li > a {
  padding-left: calc(1.5em + 7px);
}
#nav1 nav > ul > li > ul > li > a::before,
#nav3 navm > ul > li > ul > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  width: 4px;
  background: transparent;
  pointer-events: none;
}
#nav1 nav > ul > li > ul > li > a:hover::before,
#nav1 nav > ul > li > ul > li > a:focus-visible::before,
#nav3 navm > ul > li > ul > li > a:hover::before,
#nav3 navm > ul > li > ul > li > a:focus-visible::before {
  background: #fff;
}
