/* The host wrapper is collapsed so the sticky .nav inside doesn't get pinned
   to a 64px-tall containing block (which would unstick it after 64px scroll). */
.site-header {
  display: contents;
}

.nav {
  position: sticky;
  top: 0;
  width: 100%;
  height: var(--nav-height);
  background-color: var(--off-white-80);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-bottom: 0.5px solid var(--midnight-10);
  display: flex;
  align-items: center;
  z-index: 50;
}

.nav__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter-mobile);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .nav__inner {
    padding-inline: var(--gutter-desktop);
  }
}

.nav__logo {
  font-family: var(--font-display);
  font-size: var(--font-size-xl);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  color: var(--color-brand-red);
}

.nav__links {
  display: none;
  align-items: center;
  gap: var(--space-xl);
}

@media (min-width: 1024px) {
  .nav__links {
    display: flex;
  }
}

.nav__link {
  font-family: var(--font-ui);
  font-size: var(--font-size-xs);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--tracking-uppercase);
  color: var(--midnight-60);
  transition: color var(--transition-base);
}

.nav__link:hover {
  color: var(--color-brand-red);
}

.nav__actions {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.nav__cta {
  display: none;
}

@media (min-width: 768px) {
  .nav__cta {
    display: inline-flex;
  }
}

.nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-sm);
  color: var(--color-midnight);
}

@media (min-width: 1024px) {
  .nav__toggle {
    display: none;
  }
}

.nav__toggle .material-symbols-outlined {
  font-size: 28px;
}

.nav__mobile {
  display: none;
  position: fixed;
  inset-inline: 0;
  top: var(--nav-height);
  background-color: var(--color-off-white);
  border-bottom: 1px solid var(--midnight-10);
  padding: var(--space-xl);
  z-index: 40;
}

.nav__mobile.is-open {
  display: block;
}

.nav__mobile-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-lg);
}

.nav__mobile-link {
  font-family: var(--font-ui);
  font-size: var(--font-size-base);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--tracking-uppercase);
  color: var(--midnight-60);
  transition: color var(--transition-base);
}

.nav__mobile-link:hover {
  color: var(--color-brand-red);
}

/* Active state: body[data-page] resolves the matching link automatically. */
[data-page="home"] .nav__logo,
[data-page="cafe-karte"] .nav__link[href="/cafe-karte/"],
[data-page="cafe-karte"] .nav__mobile-link[href="/cafe-karte/"],
[data-page="activity-painting"] .nav__link[href="/activity-painting/"],
[data-page="activity-painting"] .nav__mobile-link[href="/activity-painting/"],
[data-page="yoga"] .nav__link[href="/yoga/"],
[data-page="yoga"] .nav__mobile-link[href="/yoga/"],
[data-page="coworking"] .nav__link[href="/coworking/"],
[data-page="coworking"] .nav__mobile-link[href="/coworking/"],
[data-page="concept-store"] .nav__link[href="/concept-store/"],
[data-page="concept-store"] .nav__mobile-link[href="/concept-store/"],
[data-page="eventkalender"] .nav__link[href="/eventkalender/"],
[data-page="eventkalender"] .nav__mobile-link[href="/eventkalender/"] {
  color: var(--color-brand-red);
}
