/* ── Sticky top header bar ── */ 
.site-header { 
  position: sticky; 
  top: 0; 
  z-index: 200; 
  width: 100%; 
  display: flex; 
  align-items: center; 
  gap: 24px; 
  padding: 0 24px; 
  height: 60px; 
  background: var(--panel); 
  border-bottom: 1px solid var(--border); 
  box-shadow: 0 2px 12px var(--glow); 
  flex-shrink: 0; 
} 

/* Brand: logo + name */ 
.site-header__brand { 
  display: flex; 
  align-items: center; 
  gap: 12px; 
  text-decoration: none; 
  color: inherit; 
  flex-shrink: 0; 
} 
.site-header__logo { 
  width: 44px; 
  height: 44px; 
  object-fit: contain; 
  filter: drop-shadow(0 0 6px var(--glow)); 
} 
.site-header__name { 
  font-family: 'Cinzel', serif; 
  font-size: 1.35rem; 
  font-weight: 900; 
  color: var(--silver); 
  letter-spacing: 0.15em; 
  text-transform: uppercase; 
  white-space: nowrap; 
} 

/* Nav links — push to fill space, centre the group */ 
.site-header__nav { 
  display: flex; 
  align-items: center; 
  gap: 4px; 
  flex: 1; 
  justify-content: center; 
  flex-wrap: nowrap; 
} 

/* Individual nav links */ 
.nav-item { 
  font-family: 'Cinzel', serif; 
  font-size: 0.78rem; 
  font-weight: 700; 
  color: var(--muted); 
  text-decoration: none; 
  text-transform: uppercase; 
  letter-spacing: 0.13em; 
  padding: 6px 14px; 
  border-radius: 4px; 
  border: 1px solid transparent; 
  transition: color 0.2s, border-color 0.2s, background 0.2s; 
  white-space: nowrap; 
  display: inline-flex; 
  align-items: center; 
} 
.nav-item:hover { 
  color: var(--silver); 
  border-color: var(--border); 
} 
/* Active page: clear visual indicator */ 
.nav-item.active { 
  color: var(--silver); 
  border-color: var(--silver); 
  background: rgba(241, 245, 249, 0.08); 
  box-shadow: 0 0 10px rgba(241, 245, 249, 0.12); 
} 

.site-header__sponsor {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 8px 0 10px;
  opacity: 0.82;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-header__sponsor:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.site-header__sponsor-mark {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 0 5px var(--glow));
}

/* Pending registration notification dot */ 
.nav-item.has-notification { 
  position: relative; 
} 
.nav-item.has-notification::after { 
  content: ''; 
  position: absolute; 
  top: 4px; 
  right: 4px; 
  width: 7px; 
  height: 7px; 
  background: var(--accent2); 
  border-radius: 50%; 
  box-shadow: 0 0 6px var(--accent2); 
  animation: pulse-dot 1.8s ease-in-out infinite; 
} 
@keyframes pulse-dot { 
  0%, 100% { opacity: 1;   transform: scale(1); } 
  50%       { opacity: 0.4; transform: scale(0.7); } 
} 

/* Theme toggle — moved into header, no longer fixed */ 
.theme-toggle { 
  width: 36px; 
  height: 36px; 
  flex-shrink: 0; 
  background: var(--bg); 
  border: 1px solid var(--border); 
  border-radius: 50%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  cursor: pointer; 
  color: var(--silver); 
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; 
  margin-left: auto;  /* push to far right */ 
} 
.theme-toggle:hover { 
  border-color: var(--silver); 
  transform: rotate(15deg); 
  box-shadow: 0 0 10px var(--silver-glow); 
} 
.theme-toggle svg { width: 18px; height: 18px; fill: currentColor; } 

/* Sun/moon visibility — preserve existing logic */ 
[data-theme="light"] .sun-icon { display: block; } 
[data-theme="light"] .moon-icon { display: none; } 
.sun-icon { display: none; } 
.moon-icon { display: block; } 

@media (max-width: 1100px) {
  .site-header {
    gap: 14px;
    padding: 0 16px;
  }
  .site-header__logo {
    width: 40px;
    height: 40px;
  }
  .site-header__name {
    font-size: 1.15rem;
    letter-spacing: 0.12em;
  }
  .site-header__sponsor {
    margin: 0 6px 0 8px;
  }
  .site-header__sponsor-mark {
    width: 26px;
    height: 26px;
  }
  .nav-item {
    font-size: 0.7rem;
    padding: 5px 10px;
    letter-spacing: 0.1em;
  }
}

@media (max-width: 860px), (max-height: 820px) {
  .site-header {
    gap: 10px;
    padding: 0 12px;
  }
  .site-header__brand {
    gap: 8px;
  }
  .site-header__logo {
    width: 36px;
    height: 36px;
  }
  .site-header__name {
    font-size: 0.98rem;
    letter-spacing: 0.08em;
  }
  .site-header__sponsor {
    margin: 0 4px 0 6px;
  }
  .site-header__sponsor-mark {
    width: 24px;
    height: 24px;
  }
  .site-header__nav {
    gap: 2px;
  }
  .nav-item {
    font-size: 0.64rem;
    padding: 4px 7px;
    letter-spacing: 0.06em;
  }
  .theme-toggle {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 680px) {
  .site-header__name {
    display: none;
  }
}

@media (max-width: 760px) {
  .site-header {
    height: auto;
    min-height: 60px;
    flex-wrap: wrap;
    justify-content: center;
    padding: 8px 12px;
    gap: 8px;
  }
  .site-header__brand {
    margin-right: auto;
  }
  .site-header__nav {
    order: 3;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }
  .site-header__sponsor {
    margin-left: auto;
  }
  .theme-toggle {
    margin-left: 0;
  }
}
