/*
 * Site Header - logo + hoofdnavigatie + CTA
 */

.site-header {
  background-color: var(--color-bg-white);
  border-bottom:    1px solid var(--color-border-soft);
  position:         relative;
  z-index:          50;
}

.site-header__inner {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  max-width:       var(--container-max);
  margin:          0 auto;
  padding:         20px var(--section-padding-x);
}

.site-header__logo {
  display: block;
}

.site-header__logo img,
.site-header__logo svg {
  height:  56px;
  width:   auto;
  display: block;
}

.site-header__logo-text {
  font-family: var(--font-heading);
  font-size:   24px;
  font-weight: var(--font-extrabold);
  color:       var(--color-primary);
  line-height: 1;
}

.site-nav {
  display:     flex;
  gap:         32px;
  align-items: center;
}

.site-nav__menu {
  display:    flex;
  gap:        32px;
  list-style: none;
  margin:     0;
  padding:    0;
}

.site-nav__menu a {
  color:           var(--color-text-heading);
  text-decoration: none;
  font-size:       14.5px;
  font-weight:     600;
  position:        relative;
  padding:         6px 0;
  display:         inline-block;
  transition:      color var(--transition-fast);
}

.site-nav__menu a:hover,
.site-nav__menu .current-menu-item > a {
  color: var(--color-accent);
}

.site-nav__menu .current-menu-item > a::after {
  content:    '';
  position:   absolute;
  left:       0;
  right:      0;
  bottom:     -2px;
  height:     2px;
  background: var(--color-accent);
}

.site-nav__cta {
  display:         inline-flex;
  align-items:     center;
  gap:             14px;
  background:      var(--color-accent);
  color:           #ffffff;
  padding:         18px 48px;
  border-radius:   999px;
  font-size:       14.5px;
  font-weight:     600;
  text-decoration: none;
  line-height:     1;
  white-space:     nowrap;
  transition:      background-color var(--transition-fast),
                   box-shadow var(--transition-fast);
}

.site-nav__cta:hover {
  background: var(--color-accent-dark);
  color:      #ffffff;
  box-shadow: var(--shadow-primary-hover);
}

.site-nav__cta-icon {
  width:  14px;
  height: 14px;
}

/* Hamburger toggle - alleen op mobiel */
.site-nav__toggle {
  display:          none;
  width:            44px;
  height:           44px;
  padding:          0;
  background:       transparent;
  border:           none;
  cursor:           pointer;
  flex-direction:   column;
  align-items:      center;
  justify-content:  center;
  gap:              5px;
}

.site-nav__toggle-bar {
  display:          block;
  width:            26px;
  height:           2px;
  background-color: var(--color-text-heading);
  transition:       transform var(--transition-fast),
                    opacity var(--transition-fast);
}

@media (max-width: 768px) {
  .site-header__inner {
    flex-wrap: wrap;
    padding:   16px var(--section-padding-x);
  }

  .site-nav__toggle {
    display: flex;
  }

  .site-nav {
    display:        none;
    width:          100%;
    flex-direction: column;
    align-items:    stretch;
    gap:            var(--space-4);
    padding-top:    var(--space-4);
    border-top:     1px solid var(--color-border-soft);
    margin-top:     var(--space-4);
  }

  .site-nav.is-open {
    display: flex;
  }

  .site-nav__menu {
    flex-direction: column;
    gap:            var(--space-3);
  }

  .site-nav__cta {
    text-align: center;
    padding:    14px 32px;
  }
}
