/* Gemeinsame Hauptnavigation; bestehende Seiten- und Kontofunktionen bleiben erhalten. */
body:is(.public-page, .application-page) .site-header {
 position: sticky; top: 0; z-index: 1200;
 width: 100%; box-sizing: border-box; margin: 0; padding: 12px 0 0;
 background: #050b12; border: 0; border-bottom: 1px solid #265e61;
 text-align: center; font-family: Arial, sans-serif; line-height: 1.3;
}
body:is(.public-page, .application-page) .site-header > .brand {
 display: block; margin: 0; padding: 0 12px;
 font-family: Arial, sans-serif; font-size: clamp(32px, 5vw, 64px);
 font-weight: 700; line-height: 1.3; color: #ffd700;
 text-decoration: none; text-shadow: 0 0 20px #ffd700, 0 0 40px #ff00ff;
}
body:is(.public-page, .application-page) .site-header nav.main-navigation {
 position: static; top: auto; width: 100%; box-sizing: border-box;
 display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
 gap: 4px 24px; margin: 6px 0 0; padding: 8px 12px;
 background: #050b12; line-height: 1.3; text-align: center;
}
body:is(.public-page, .application-page) .site-header nav.main-navigation > a {
 display: inline-flex; align-items: center; justify-content: center;
 box-sizing: border-box; min-height: 44px; max-width: 100%;
 margin: 0; padding: 8px 4px; font-family: Arial, sans-serif;
 font-size: 15px; line-height: 1.3; font-weight: 700;
 color: #00ffff; text-decoration: none; text-shadow: none;
 white-space: nowrap; border-bottom: 2px solid transparent;
}
body:is(.public-page, .application-page) .site-header nav.main-navigation > a:hover,
body:is(.public-page, .application-page) .site-header nav.main-navigation > a[aria-current="page"] {
 color: #ffd700; border-bottom-color: #ffd700;
 text-decoration: underline; text-underline-offset: 4px;
}
body:is(.public-page, .application-page) .site-header a:focus-visible,
body:is(.public-page, .application-page) .site-header summary:focus-visible {
 outline: 3px solid #ffd700; outline-offset: 2px;
}
/* Kein alter Fixpositions-Abstand mehr; der Header belegt eigenen Platz. */
body.public-page main.content { margin-top: 30px; }
body.welt-page main.content, body.kontakt-page main.content {
 box-sizing: border-box; width: calc(100% - 32px); margin-left: auto; margin-right: auto;
}
/* Sprung-/Fokusziele bleiben unter der haftenden Leiste sichtbar. */
body:is(.public-page, .application-page) #inhalt, body:is(.public-page, .application-page) #inhalt [id], body:is(.public-page, .application-page) #inhalt input,
body:is(.public-page, .application-page) #inhalt textarea, body:is(.public-page, .application-page) #inhalt button, body:is(.public-page, .application-page) #inhalt a {
 scroll-margin-top: 240px;
}
/* Konto bleibt erreichbar, ohne die Marke oder die fünf Hauptlinks zu überdecken. */
body:is(.public-page, .application-page) .site-header > .account-menu {
 position: relative; right: auto; top: auto; width: max-content;
 max-width: calc(100% - 24px); margin: 0 auto 8px; z-index: 30;
}
body:is(.public-page, .application-page) .site-header .account-links {
 max-width: calc(100vw - 24px);
 max-height: calc(100vh - 230px); max-height: calc(100dvh - 230px);
 overflow-y: auto; overscroll-behavior: contain;
}
@media (max-width: 600px) {
 body:is(.public-page, .application-page) .site-header nav.main-navigation { gap: 2px 12px; padding: 6px 8px; }
 body:is(.public-page, .application-page) .site-header nav.main-navigation > a { font-size: 14px; }
}
