/* Kopfleiste (alle Seiten): eine Reihe rechts, alle Knöpfe gleich hoch, Barrierefreiheit-Knopf in der Reihe.
   Baut auf den Tokens in style.css auf; lädt nach style.css und a11y.css. */

.nav-inner { display: flex; align-items: center; gap: .6rem; }
.nav-inner .nav-logo { margin-right: auto; }
.nav-links { display: flex; align-items: center; gap: .35rem; }
.nav-links > a:not(.btn):not(.nav-btn) { padding: 0 .65rem; min-height: 38px; display: inline-flex; align-items: center; border-radius: 9px; }
.nav-links > a:not(.btn):not(.nav-btn):hover { background: rgba(232,114,12,.07); }
.nav-links > a:not(.btn):not(.nav-btn):focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Ein Knopf-Format für die ganze Leiste */
.nav .nav-btn, .nav .btn, .nav .a11y-toggle {
  box-sizing: border-box; min-height: 38px; height: 38px; min-width: 0; padding: 0 .9rem; border-radius: 10px;
  font-family: inherit; font-size: .84rem; font-weight: 600; line-height: 1; display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; cursor: pointer; white-space: nowrap; margin: 0;
  transition: border-color .15s, background .15s, color .15s, box-shadow .15s;
}
.nav .nav-btn:hover, .nav .btn-ghost:hover, .nav .btn-secondary:hover, .nav .btn-outline:hover, .nav .a11y-toggle:hover { border-color: rgba(232,114,12,.45); color: var(--primary-dark, #c44e1a); background: #fff8f0; }
.nav .nav-btn:focus-visible, .nav .btn:focus-visible, .nav .a11y-toggle:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.nav .nav-btn svg, .nav .a11y-toggle svg { width: 16px; height: 16px; flex-shrink: 0; }
.nav .nav-btn--icon, .nav .a11y-toggle { width: 38px; padding: 0; }
.nav .btn-primary { border-color: transparent; color: #fff; background: var(--gradient-warm); box-shadow: 0 2px 10px rgba(232,114,12,.22); }
.nav .btn-primary:hover { color: #fff; box-shadow: 0 4px 14px rgba(232,114,12,.3); }
.nav .nav-btn--admin { background: #fff7ed; border-color: rgba(232,114,12,.35); color: var(--primary-dark, #c44e1a); }
.nav .nav-btn--admin[aria-current="page"] { background: var(--primary-dark, #c44e1a); border-color: var(--primary-dark, #c44e1a); color: #fff; }
.nav .nav-btn.js-hidden, .nav .nav-auth-item.js-hidden { display: none; }
.nav-divider { width: 1px; height: 22px; background: var(--border); margin: 0 .35rem; }

/* Angemeldet: Adresse als ruhiger Chip mit grünem Punkt */
.nav-user-chip { display: inline-flex; align-items: center; gap: .45rem; height: 30px; padding: 0 .75rem; border-radius: 50px; font-size: .78rem; color: var(--text); background: #fff7ed; border: 1px solid rgba(232,114,12,.22); max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0 .25rem; }
.nav-user-chip::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #16a34a; flex-shrink: 0; }
.nav-user-chip:empty { display: none; }

@media (max-width: 1024px) { .nav-user-chip { max-width: 180px; } }
@media (max-width: 900px) {
  .nav-links.nav-desktop { display: none; }
  .nav-inner .nav-hamburger { display: flex; }
}
/* Mobiles Menü: gleiche Knöpfe, volle Breite */
.nav-mobile-menu .nav-btn { display: inline-flex; width: 100%; justify-content: flex-start; min-height: 44px; height: auto; padding: .6rem .9rem; border-radius: 10px; font-size: .95rem; margin: .25rem 0; }
.nav-mobile-menu .nav-btn.js-hidden { display: none; }
.nav-mobile-menu .nav-mobile-email { color: var(--text-muted); font-size: .85rem; }
.nav-mobile-menu .nav-mobile-email:empty { display: none; }
