/* Site header */
.site-header {
  background:    var(--color-bg);
  border-bottom: 1px solid var(--color-border);
}
.has-sticky-header .site-header {
  position: sticky;
  top:      0;
  z-index:  200;
}
.header-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  flex-wrap:       wrap;
  gap:             var(--space-m);
  padding-top:     var(--space-m);
  padding-bottom:  var(--space-m);
}

/* Branding */
.site-branding { display: flex; flex-direction: column; gap: var(--space-xs); }
.custom-logo-link { display: inline-block; }
.custom-logo     { height: 56px; width: auto; }
.site-title {
  font-size:   var(--font-size-lg);
  font-weight: 700;
  margin:      0;
  line-height: 1.2;
}
.site-title a        { color: var(--color-text); }
.site-title a:hover  { color: var(--color-primary); text-decoration: none; }
.site-description    { font-size: var(--font-size-sm); color: var(--color-muted); margin: 0; }

/* Primary navigation */
.main-navigation { flex: 1; display: flex; justify-content: flex-end; }

.nav-menu {
  list-style:  none;
  margin:      0;
  padding:     0;
  display:     flex;
  flex-wrap:   wrap;
  gap:         0;
  align-items: stretch;
}
.nav-menu > li { position: relative; }
.nav-menu a {
  display:     block;
  padding:     var(--space-s) var(--space-m);
  color:       var(--color-text);
  font-size:   var(--font-size-sm);
  font-weight: 500;
  white-space: nowrap;
  transition:  color .15s;
}
.nav-menu a:hover,
.nav-menu a:focus,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a {
  color:           var(--color-primary);
  text-decoration: none;
}

/* Sub-menus — CSS-only dropdowns */
.nav-menu .sub-menu {
  display:       none;
  position:      absolute;
  top:           100%;
  left:          0;
  background:    var(--color-bg);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-s);
  box-shadow:    var(--shadow-m);
  min-width:     200px;
  z-index:       500;
  list-style:    none;
  margin:        0;
  padding:       var(--space-xs) 0;
}
.nav-menu .sub-menu li  { position: relative; }
.nav-menu .sub-menu a   { font-weight: 400; padding: var(--space-xs) var(--space-l); }
.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu { display: block; }

/* Nested sub-menus */
.nav-menu .sub-menu .sub-menu { top: 0; left: 100%; }

/* Mobile: stack nav vertically */
@media (max-width: 767px) {
  .header-inner    { flex-direction: column; align-items: flex-start; }
  .main-navigation { width: 100%; justify-content: flex-start; }
  .nav-menu        { flex-direction: column; width: 100%; }
  .nav-menu a      { padding: var(--space-s) 0; border-bottom: 1px solid var(--color-border); }
  .nav-menu .sub-menu {
    position:   static;
    display:    block;
    border:     none;
    box-shadow: none;
    padding-left: var(--space-l);
  }
}
