/* ════════════════════════════════════════════════════════════════
   Nonzerosum Header — zwevende pill, wit
   ════════════════════════════════════════════════════════════════ */
.nzs-header {
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  height: 70px;
  width: calc(100% - 3rem);
  max-width: 1240px;
  background: #FFFFFF;
  border-radius: 999px;
  box-shadow: 0 4px 24px rgba(30,58,53,0.1);
  transition: box-shadow 0.3s ease, background 0.3s ease;
}
.nzs-header--scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 8px 32px rgba(30,58,53,0.15);
  backdrop-filter: blur(8px);
}
.nzs-header__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
  padding: 0 1rem 0 1.25rem;
}

/* Logo */
.nzs-header__logo { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; flex-shrink: 0; }
.nzs-header__logo img { height: 44px; width: auto; }
.nzs-header__logo-icon { width: 44px; height: 44px; border-radius: 50%; background: #3DCEAA; display: flex; align-items: center; justify-content: center; font-size: 1.375rem; font-weight: 700; color: #1E3A35; flex-shrink: 0; }
.nzs-header__logo-text { font-family: 'Mulish',sans-serif; font-size: 1.125rem; font-weight: 800; color: #1E3A35; letter-spacing: -0.02em; }

/* Nav */
.nzs-header__nav { flex: 1; display: flex; justify-content: center; }
.nzs-nav__list { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; }
.nzs-nav__list > li > a { display: block; padding: 0.5rem 0.875rem; font-family: 'Mulish',sans-serif; font-size: 0.9375rem; font-weight: 600; color: #1E3A35; text-decoration: none; transition: color 0.2s; white-space: nowrap; }
.nzs-nav__list > li > a:hover,
.nzs-nav__list > li.current-menu-item > a { color: #2EB896; }
.nzs-nav__list li.menu-item-has-children { position: relative; }
.nzs-nav__list li.menu-item-has-children > a::after { content:''; display:inline-block; width:0; height:0; border:4px solid transparent; border-top-color:currentColor; margin-left:5px; vertical-align:2px; opacity:.6; }
.nzs-nav__list .sub-menu { position:absolute; top:calc(100% + 4px); left:50%; transform:translateX(-50%) translateY(-6px); min-width:220px; background:#fff; border-radius:16px; padding:.5rem; box-shadow:0 8px 32px rgba(30,58,53,.14); list-style:none; opacity:0; visibility:hidden; transition:all .2s ease; pointer-events:none; }
.nzs-nav__list li.menu-item-has-children:hover .sub-menu,
.nzs-nav__list li.menu-item-has-children:focus-within .sub-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.nzs-nav__list .sub-menu li a { display:block; padding:.5rem .875rem; font-size:.9rem; color:#1E3A35; border-radius:10px; transition:background .15s; text-decoration:none; font-weight: 500; }
.nzs-nav__list .sub-menu li a:hover { background:#FBFCF7; }

/* Acties */
.nzs-header__actions { display: flex; align-items: center; gap: 0.75rem; flex-shrink: 0; }
.nzs-header__lang { display: flex; gap: 2px; }
.nzs-header__lang a { font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#3D4F4B; padding:.25rem .3rem; text-decoration:none; transition:color .2s; }
.nzs-header__lang a:hover, .nzs-header__lang a.is-active { color:#1E3A35; }
.nzs-header__cta { font-family:'Mulish',sans-serif; font-size:.9375rem; font-weight:700; padding:.625rem 1.5rem; background:#3DCEAA; color:#1E3A35; border-radius:999px; text-decoration:none; transition:background .2s; white-space:nowrap; }
.nzs-header__cta:hover { background:#2EB896; }

/* Mobile */
.nzs-header__toggle { display:none; flex-direction:column; gap:5px; width:40px; height:40px; border:none; background:none; cursor:pointer; padding:6px; margin-left:auto; }
.nzs-header__toggle span { display:block; height:2px; background:#1E3A35; border-radius:2px; transition:all .25s ease; }
.nzs-header__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nzs-header__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nzs-header__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media(max-width:1023px){
  .nzs-header__toggle{display:flex;}
  .nzs-header__actions .nzs-header__cta{display:none;}
  .nzs-header__nav{position:fixed;inset:90px 1rem auto 1rem;background:#FFFFFF;border-radius:20px;box-shadow:0 8px 32px rgba(30,58,53,.14);padding:1.25rem;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .25s ease;justify-content:flex-start;}
  .nzs-header__nav.is-open{opacity:1;visibility:visible;transform:translateY(0);}
  .nzs-nav__list{flex-direction:column;align-items:stretch;}
  .nzs-nav__list > li > a{padding:.75rem 1rem;border-radius:12px;}
}

/* =========================================================
   NZS Header — Adobe XD override
   ========================================================= */
.nzs-header {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  width: min(calc(100% - 80px), 1280px);
  height: 56px;
  background: #FFFFFF;
  border-radius: 999px;
  box-shadow: 0 8px 30px rgba(30, 46, 40, 0.08);
}

.nzs-header--scrolled {
  background: rgba(255,255,255,0.97);
  box-shadow: 0 8px 30px rgba(30, 46, 40, 0.11);
  backdrop-filter: blur(8px);
}

.nzs-header__inner {
  height: 100%;
  padding: 0 14px 0 18px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nzs-header__logo img {
  height: 32px;
  width: auto;
}

.nzs-header__logo-icon {
  width: 32px;
  height: 32px;
  font-size: 1rem;
}

.nzs-header__logo-text {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1E2E28;
}

.nzs-nav__list > li > a {
  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #1E2E28 !important;
  padding: 0 18px !important;
}

.nzs-nav__list > li > a:hover,
.nzs-nav__list > li.current-menu-item > a {
  color: #345247 !important;
}

.nzs-header__lang a {
  font-family: "Poppins", sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #1E2E28 !important;
}

.nzs-header__cta {
  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: #3DCEAA !important;
  color: #1E2E28 !important;
  border-radius: 999px;
  padding: 12px 22px !important;
  line-height: 1 !important;
}

@media (max-width: 1023px) {
  .nzs-header {
    top: 12px;
    width: calc(100% - 24px);
    height: 58px;
  }

  .nzs-header__nav {
    inset: 78px 12px auto 12px;
  }
}

/* =========================================================
   NZS Header — aligneren op 1316px gridcontainer
   ========================================================= */
.nzs-header {
  width: min(calc(100% - 48px), 1316px) !important;
  max-width: 1316px !important;
}

@media (max-width: 767px) {
  .nzs-header {
    width: calc(100% - 32px) !important;
  }
}

/* =========================================================
   NZS Header — logo asset + 75px menu refinement (v1.0.40)
   ========================================================= */
.nzs-header {
  height: 75px !important;
}

.nzs-header__inner {
  padding: 0 12px 0 0 !important;
}

.nzs-header__logo {
  height: 75px !important;
  width: 237px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 237px !important;
  overflow: visible;
}

.nzs-header__logo-image {
  display: block;
  width: 292px;
  height: 75px;
  background-image: url('../img/nonzerosum-logo-header.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
}

.nzs-header__logo > img,
.nzs-header__logo-icon,
.nzs-header__logo-text {
  display: none !important;
}

.nzs-header__nav .wp-block-navigation,
.nzs-header__nav .wp-block-navigation__container,
.nzs-nav__list {
  gap: 0 !important;
}

.nzs-header__nav .wp-block-navigation-item__content,
.nzs-nav__list > li > a {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #1E2E28 !important;
  padding: 0 20px !important;
  text-decoration: none !important;
}

.nzs-header__lang a {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  padding: 0 5px !important;
}

.nzs-header__cta {
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 36px !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
}

@media (max-width: 1023px) {
  .nzs-header {
    height: 64px !important;
  }
  .nzs-header__logo {
    height: 64px !important;
    width: 202px !important;
    flex-basis: 202px !important;
  }
  .nzs-header__logo-image {
    width: 292px;
    height: 64px;
  }
  .nzs-header__nav {
    inset: 84px 12px auto 12px !important;
  }
}

@media (max-width: 520px) {
  .nzs-header__logo {
    width: 178px !important;
    flex-basis: 178px !important;
  }
  .nzs-header__logo-image {
    width: 292px;
    height: 56px;
  }
}


/* NZS Header vacature CTA kleur (v1.1.88) */
.nzs-header__cta,
.nzs-header__actions .nzs-header__cta {
  background: #49EFB1 !important;
}
.nzs-header__cta:hover,
.nzs-header__actions .nzs-header__cta:hover {
  background: #49EFB1 !important;
}

/* v1.1.89 — menu arrow alignment + logo refinement */
.nzs-header__nav .wp-block-navigation__submenu-icon,
.nzs-header__nav .wp-block-navigation-submenu__toggle svg,
.nzs-nav__list li.menu-item-has-children > a::after {
  position: relative !important;
  top: 0 !important;
  vertical-align: middle !important;
  transform: translateY(2px) !important;
}
.nzs-header__nav .wp-block-navigation-item.has-child > .wp-block-navigation-item__content,
.nzs-header__nav .wp-block-navigation-submenu__toggle,
.nzs-nav__list li.menu-item-has-children > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.nzs-nav__list li.menu-item-has-children > a::after {
  margin-left: 0 !important;
  flex: 0 0 auto;
}


/* v1.1.90 — uploaded logo + menu arrow alignment */
.nzs-header__logo { width: 292px !important; flex-basis: 292px !important; }
.nzs-header__logo-image { width: 292px !important; }
.nzs-header__nav .wp-block-navigation__submenu-icon,
.nzs-header__nav .wp-block-navigation-submenu__toggle svg,
.nzs-nav__list li.menu-item-has-children > a::after { transform: translateY(2px) !important; }
@media (max-width: 900px) {
  .nzs-header__logo { width: min(292px, 58vw) !important; flex-basis: min(292px, 58vw) !important; }
  .nzs-header__logo-image { width: min(292px, 58vw) !important; }
}


/* v1.1.91 — logo breathing room inside header pill */
.nzs-header__inner {
  padding-left: 24px !important;
}
.nzs-header__logo {
  height: 75px !important;
  width: 250px !important;
  flex-basis: 250px !important;
  align-items: center !important;
}
.nzs-header__logo-image {
  width: 226px !important;
  height: 58px !important;
  background-size: contain !important;
  background-position: left center !important;
}
@media (max-width: 1023px) {
  .nzs-header__inner { padding-left: 16px !important; }
  .nzs-header__logo { width: 210px !important; flex-basis: 210px !important; height: 64px !important; }
  .nzs-header__logo-image { width: 190px !important; height: 49px !important; }
}
@media (max-width: 520px) {
  .nzs-header__logo { width: 176px !important; flex-basis: 176px !important; }
  .nzs-header__logo-image { width: 164px !important; height: 42px !important; }
}


/* v1.1.92 — logo breathing room + language dropdown */
.nzs-header__inner {
  padding-left: 9px !important;
}
.nzs-header__logo {
  width: 236px !important;
  flex-basis: 236px !important;
}
.nzs-header__logo-image {
  width: 226px !important;
  height: 58px !important;
}
.nzs-header__actions {
  gap: 14px !important;
}
.nzs-lang-dropdown {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  min-width: 52px;
  font-family: "Poppins", sans-serif;
}
.nzs-lang-dropdown summary {
  list-style: none;
}
.nzs-lang-dropdown summary::-webkit-details-marker {
  display: none;
}
.nzs-lang-dropdown__current {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  color: #1E2E28 !important;
  padding: 10px 8px !important;
  user-select: none;
}
.nzs-lang-dropdown__current::after {
  content: "";
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-top-color: currentColor;
  transform: translateY(2px);
  opacity: .65;
}
.nzs-lang-dropdown[open] .nzs-lang-dropdown__current::after {
  transform: translateY(-2px) rotate(180deg);
}
.nzs-lang-dropdown__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 74px;
  padding: 8px;
  border-radius: 16px;
  background: #FBFCF7;
  box-shadow: 0 14px 40px rgba(30, 46, 40, 0.14);
  z-index: 10;
}
.nzs-lang-dropdown__menu a {
  display: block;
  padding: 8px 10px !important;
  border-radius: 10px;
  font-size: 14px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  color: #1E2E28 !important;
  text-align: left;
  text-decoration: none;
}
.nzs-lang-dropdown__menu a:hover,
.nzs-lang-dropdown__menu a.is-active {
  background: rgba(73,239,177,.18);
}
@media (max-width: 1023px) {
  .nzs-header__inner { padding-left: 8px !important; }
  .nzs-header__logo { width: 204px !important; flex-basis: 204px !important; }
  .nzs-header__logo-image { width: 190px !important; height: 49px !important; }
}
@media (max-width: 520px) {
  .nzs-header__logo { width: 172px !important; flex-basis: 172px !important; }
  .nzs-header__logo-image { width: 164px !important; height: 42px !important; }
  .nzs-lang-dropdown { display: none !important; }
}

/* v1.2.01 — WPML language dropdown + forgiving submenu hover */
.nzs-lang-dropdown__menu a[aria-current="true"] {
  background: rgba(73,239,177,.18);
}

.nzs-nav__list li.menu-item-has-children,
.nzs-header__nav .wp-block-navigation-item.has-child {
  position: relative;
}

/* Invisible hover bridge between menu item and submenu. */
.nzs-nav__list li.menu-item-has-children::before,
.nzs-header__nav .wp-block-navigation-item.has-child::before {
  content: "";
  position: absolute;
  left: -18px;
  right: -18px;
  top: 100%;
  height: 26px;
  pointer-events: auto;
}

.nzs-nav__list .sub-menu {
  top: calc(100% + 12px) !important;
}

.nzs-nav__list li.menu-item-has-children.is-submenu-open .sub-menu,
.nzs-nav__list li.menu-item-has-children:hover .sub-menu,
.nzs-nav__list li.menu-item-has-children:focus-within .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.nzs-header__nav .wp-block-navigation-item.has-child.is-submenu-open > .wp-block-navigation__submenu-container,
.nzs-header__nav .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.nzs-header__nav .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.nzs-header__nav .wp-block-navigation__submenu-container {
  margin-top: 12px !important;
}

@media (max-width: 1023px) {
  .nzs-nav__list li.menu-item-has-children::before,
  .nzs-header__nav .wp-block-navigation-item.has-child::before {
    display: none;
  }
  .nzs-header__nav .wp-block-navigation__submenu-container,
  .nzs-nav__list .sub-menu {
    margin-top: 0 !important;
  }
}
