/* Google Fonts: Inter für Fließtext, Playfair Display für Akzente (falls später gebraucht) */ @import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@400;500;600;700&display=swap"); /* Zentrale Design-Werte der Navbar, passend zum TriHub-Farbschema */ :root { --nav-bg: #0d0d1a; --nav-border: rgba(248, 250, 252, 0.08); --nav-accent: #53d5cd; --nav-white: #ffffff; --nav-light: #f8fafc; --nav-muted: #94a3b8; } /* Verhindert, dass Padding die Breite von Elementen zusätzlich vergrößert */ .navbar, .navbar *, .navbar *::before, .navbar *::after { box-sizing: border-box; } /* ---------- Kriterium 1: durchgehend fixiert am oberen Bildschirmrand ---------- */ .navbar { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; border-bottom: 1px solid var(--nav-border); background: var(--nav-bg); font-family: "Inter", system-ui, sans-serif; } .navbar__inner { width: 100%; min-height: 96px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; } /* ---------- Logo und Markenname als Sprunglink zum Hauptinhalt ---------- */ .navbar__brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; color: inherit; text-decoration: none; } .navbar__logo-img { width: 72px; height: 72px; padding: 5px; display: block; object-fit: contain; background: #fff; border-radius: 16px; } .navbar__brand-text { display: flex; flex-direction: column; line-height: 1.25; } .navbar__brand-title { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nav-muted); } .navbar__brand-tagline { font-size: 0.85rem; font-weight: 500; color: var(--nav-muted); } /* ---------- Menüpunkte (rechts) ---------- */ .navbar__menu { display: flex; align-items: center; gap: 14px; list-style: none; margin: 0; padding: 0; color: var(--nav-muted); font-size: 0.85rem; font-weight: 500; flex-shrink: 0; } .navbar__link { color: inherit; text-decoration: none; transition: color 0.2s ease; padding: 0.35rem 0.1rem; white-space: nowrap; } .navbar__link:hover, .navbar__link[aria-current="page"] { color: var(--nav-white); } /* ---------- "Startseite"-Button mit Haus-Icon, ganz rechts ---------- */ .navbar__link--home { display: inline-flex; align-items: center; gap: 6px; padding: 6px 18px 6px 10px; border: 1px solid rgba(148, 163, 184, 0.3); border-radius: 999px; color: var(--nav-light); transition: border-color 0.2s ease, color 0.2s ease; } .navbar__link--home:hover { border-color: rgba(83, 213, 205, 0.55); color: var(--nav-white); } .navbar__home-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--nav-accent); } .navbar__home-icon svg { width: 18px; height: 18px; } /* Linienstärke des Haus-Icons zentral hier steuern statt im SVG-Markup */ .navbar__home-icon svg path { stroke-width: 1.5; } .navbar a:focus-visible, .navbar button:focus-visible { outline: 3px solid var(--nav-accent); outline-offset: 2px; border-radius: 4px; } /* ---------- Mobiler Hamburger-Button ---------- */ .navbar__toggle { display: none; background: none; border: none; cursor: pointer; padding: 0.5rem; } .navbar__toggle-icon, .navbar__toggle-icon::before, .navbar__toggle-icon::after { display: block; width: 22px; height: 2px; background: var(--nav-white); position: relative; } .navbar__toggle-icon::before, .navbar__toggle-icon::after { content: ""; position: absolute; } .navbar__toggle-icon::before { top: -7px; } .navbar__toggle-icon::after { top: 7px; } @media (max-width: 1300px) { .navbar__toggle { display: block; } .navbar__nav { position: absolute; top: 96px; left: 0; right: 0; background: var(--nav-bg); border-bottom: 1px solid var(--nav-border); display: none; } .navbar__nav.is-open { display: block; } .navbar__menu { flex-direction: column; align-items: flex-start; padding: 1rem 20px; gap: 1rem; font-size: 0.95rem; } } @media (max-width: 600px) { .navbar__inner { padding: 0 16px; } .navbar__brand-tagline { display: none; } } /* Platz für die fixierte Navbar */ body { padding-top: 96px; }