/* Shahnam und Vincent: Gemeinsame Navigation für US 04-05. */ :root { --navigation-height: 99px; scroll-padding-top: calc(var(--navigation-offset, var(--navigation-height)) + 16px); } .site-navigation { color-scheme: dark; --background: #071419; --background-panel: #152027; --accent: #4597a3; --accent-soft: rgb(69 151 163 / 14%); --text-primary: #fff; --text-muted: #7e858a; --text-muted2: #b7bec2; --border: rgb(255 255 255 / 16%); /* Bleibt beim Scrollen sichtbar und behält ihren Platz im Layout. */ position: sticky; top: 0; z-index: 100; border-top: 3px solid var(--background); background: var(--background); color: var(--text-primary); font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; line-height: 1.6; box-shadow: 0 4px 16px rgb(0 0 0 / 16%); } .site-navigation, .site-navigation * { box-sizing: border-box; } .site-navigation__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(1680px, calc(100% - clamp(40px, 10vw, 192px))); margin-inline: auto; } .site-navigation .brand { display: flex; align-items: center; gap: 20px; min-width: 0; min-height: calc(var(--navigation-height) - 3px); padding-block: 8px; } .site-navigation__links ul { display: flex; align-items: center; gap: clamp(16px, 2.5vw, 32px); margin: 0; padding: 0; list-style: none; } .site-navigation__links a, .site-navigation .navigation-disabled { display: block; padding-block: 10px; color: var(--text-muted); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; } .site-navigation__links a:hover, .site-navigation__links a:focus-visible { color: var(--text-primary); } .site-navigation__links a:focus-visible, .site-navigation .menu-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; } .site-navigation .navigation-disabled { opacity: 0.5; cursor: default; } .site-navigation .brand__logo { display: grid; place-items: center; flex-shrink: 0; width: 60px; height: 60px; border-radius: 22px; overflow: hidden; background: var(--text-primary); } .site-navigation .brand__logo img { display: block; width: 60px; height: 60px; object-fit: contain; border-radius: inherit; } .site-navigation .brand__logo:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; } .site-navigation .brand__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .site-navigation .brand__name { color: var(--text-muted); font-size: 14px; font-weight: 650; line-height: 1.4; letter-spacing: 0.25em; } .site-navigation .brand__label { color: var(--text-muted2); font-size: 17px; font-weight: 600; line-height: 1.4; } .site-navigation .menu-toggle { display: none; flex-shrink: 0; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--border); border-radius: 10px; background: transparent; color: var(--text-primary); font: inherit; font-size: 26px; line-height: 1; cursor: pointer; } .site-navigation .menu-toggle:hover { background: var(--accent-soft); } .site-navigation__backdrop { display: none; } /* Der gleiche Grenzwert wird in navigation.js verwendet. */ @media (max-width: 1100px) { .site-navigation .menu-toggle { display: inline-flex; } .site-navigation__links { display: none; position: absolute; z-index: 2; top: 100%; right: 0; width: min(360px, 100%); max-height: calc(100vh - var(--navigation-offset, var(--navigation-height))); max-height: calc(100dvh - var(--navigation-offset, var(--navigation-height))); overflow-y: auto; overscroll-behavior: contain; padding: 16px 24px 24px; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 0 16px; background: var(--background); box-shadow: -8px 12px 24px rgb(0 0 0 / 20%); } .site-navigation__links ul { align-items: stretch; flex-direction: column; gap: 4px; } .site-navigation__links a, .site-navigation .navigation-disabled { padding: 12px 16px; border-radius: 8px; } .site-navigation__links a:hover { background: var(--accent-soft); } .site-navigation.is-open .site-navigation__links, .site-navigation.is-open .site-navigation__backdrop { display: block; } .site-navigation__backdrop { position: fixed; z-index: 1; inset: var(--navigation-offset, var(--navigation-height)) 0 0; background: rgb(0 0 0 / 45%); } } @media (max-width: 700px) { :root { --navigation-height: 81px; } .site-navigation__bar { gap: 12px; } .site-navigation .brand { gap: 12px; } .site-navigation .brand__logo { width: 66px; height: 62px; border-radius: 17px; } .site-navigation .brand__logo img { width: 46px; height: 46px; } .site-navigation .brand__name { font-size: 12px; } .site-navigation .brand__label { font-size: 13px; } }