/* ─── Header: centered logo layout ─── */
#site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  background: rgba(26, 23, 34, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 2px solid var(--c-burgundy);
  transition: background 400ms ease, border-color 400ms ease;
}

#primary-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--s-xs) var(--s-md);
  position: relative;
}

#primary-nav .nav-left,
#primary-nav .nav-right {
  display: flex;
  gap: var(--s-md);
  font-family: var(--f-display);
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  flex: 1;
}
#primary-nav .nav-left { justify-content: flex-end; }
#primary-nav .nav-right { justify-content: flex-start; }

#primary-nav a:hover, #primary-nav a:focus {
  color: var(--c-orange);
  text-decoration: underline wavy;
}

.logo-link {
  position: relative;
  z-index: calc(var(--z-nav) + 1);
  margin: 0 var(--s-md);
  flex-shrink: 0;
}
#site-header .logo {
  height: 80px;
  width: auto;
  margin-top: -10px;
  margin-bottom: -10px;
  transition: transform 200ms ease;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5));
}
#site-header .logo:hover {
  transform: scale(1.05);
}

#mobile-toggle {
  display: none;
  font-size: 2rem;
  color: var(--c-cream);
}

@media (max-width: 720px) {
  #primary-nav .nav-left,
  #primary-nav .nav-right {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    flex-direction: column;
    align-items: center;
    background: var(--c-sky-dark);
    padding: var(--s-md);
    border: 2px solid var(--c-burgundy);
  }
  #primary-nav.open .nav-left,
  #primary-nav.open .nav-right { display: flex; }
  /* Stack left then right in mobile */
  #primary-nav.open .nav-left { order: 1; border-bottom: 1px solid var(--c-burgundy); padding-bottom: var(--s-sm); }
  #primary-nav.open .nav-right { order: 2; padding-top: var(--s-sm); }
  #mobile-toggle { display: block; position: absolute; right: var(--s-md); }
  .logo-link { margin: 0; }
  #site-header .logo { height: 56px; margin: 0; }
}

#site-header.scrolled {
  background: rgba(15, 13, 22, 0.97);
}
#site-header.bloodied {
  border-bottom-color: var(--c-red);
}

/* ─── Main sections ─── */
main { display: block; }

main > section {
  min-height: 100vh;
  padding: var(--s-xl) var(--s-md);
  position: relative;
  z-index: var(--z-content);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#hero { background: var(--c-ink); }
#band { background-image: linear-gradient(rgba(26,23,34,0.6), rgba(26,23,34,0.9)), url("../assets/backgrounds/band-dusk.jpg"); }
#setlist { background-image: linear-gradient(rgba(26,23,34,0.65), rgba(26,23,34,0.92)), url("../assets/backgrounds/setlist-bunker.jpg"); }
#dates { background-image: linear-gradient(rgba(26,23,34,0.6), rgba(26,23,34,0.85)), url("../assets/backgrounds/tour-cracked.jpg"); }
#book { background-image: linear-gradient(rgba(26,23,34,0.7), rgba(26,23,34,0.95)), url("../assets/backgrounds/booking-ash.jpg"); }

.container {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: var(--z-content);
}
