/* Logo in Nav, Footer und Sidebar – zentriert, feste Leistenhöhe */
:root {
  --logo-nav-h:     96px;
  --logo-nav-w:     calc(var(--logo-nav-h) * 1.5);
  --logo-nav-y:     10px;
  --logo-footer-h:  80px;
  --logo-sidebar-h: 96px;
  --logo-sidebar-y: 8px;
}

img.brand-logo-img {
  max-width: none;
  width: auto;
  height: var(--logo-nav-h);
}

.brand-logo-img {
  display: block;
  width: auto;
  max-width: none;
  height: var(--logo-nav-h);
  flex-shrink: 0;
  object-fit: contain;
  object-position: left center;
}

.brand-logo-img--footer {
  height: var(--logo-footer-h);
  max-width: none;
  position: static;
  transform: none;
}

/* ── Nav: Leiste 64px, Logo ragt zentriert heraus ── */
.nav {
  max-height: var(--nav-h, 64px);
  min-height: var(--nav-h, 64px);
  overflow: visible;
}

.nav > .container {
  height: var(--nav-h, 64px);
  max-height: var(--nav-h, 64px);
  min-height: 0;
  display: flex;
  align-items: center;
}

.nav-inner {
  height: var(--nav-h, 64px);
  max-height: var(--nav-h, 64px);
  min-height: 0;
}

.nav-logo {
  position: relative;
  display: block;
  flex: 0 0 var(--logo-nav-w);
  width: var(--logo-nav-w);
  height: var(--nav-h, 64px);
  min-height: 0;
  line-height: 0;
  font-family: 'Cabinet Grotesk', sans-serif;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--ink-primary, #0f172a);
}

.nav .brand-logo-img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(calc(-50% + var(--logo-nav-y)));
  height: var(--logo-nav-h);
}

/* ── Sidebar (Mitarbeiter) ── */
.sidebar-logo {
  position: relative;
  height: var(--nav-h, 64px);
  min-height: var(--nav-h, 64px);
  max-height: var(--nav-h, 64px);
  overflow: visible;
  display: flex;
  align-items: center;
  padding: 0 20px;
}

.sidebar-logo > a {
  position: relative;
  display: block;
  width: var(--logo-nav-w);
  height: var(--nav-h, 64px);
}

.sidebar-logo .brand-logo-img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(calc(-50% + var(--logo-sidebar-y)));
  height: var(--logo-sidebar-h);
}

/* ── Admin Top-Nav ── */
.admin-nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  height: var(--nav-h, 64px);
  min-height: var(--nav-h, 64px);
  overflow: visible;
}

.admin-nav-logo > a {
  position: relative;
  display: block;
  flex: 0 0 var(--logo-nav-w);
  width: var(--logo-nav-w);
  height: var(--nav-h, 64px);
}

.admin-nav-logo .brand-logo-img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(calc(-50% + var(--logo-sidebar-y)));
  height: var(--logo-sidebar-h);
}

@media (max-width: 768px) {
  :root {
    --logo-nav-h: 80px;
    --logo-nav-w: calc(var(--logo-nav-h) * 1.5);
    --logo-nav-y: 8px;
  }
}
