
/* Final layout layer — loaded after all other styles. */
:root{--final-header-height:72px}

.whatsapp-svg{display:block;width:26px;height:26px;pointer-events:none}
.whatsapp-float{
  position:fixed!important;
  right:18px!important;
  bottom:100px!important;
  z-index:6000!important;
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  color:#fff!important;
  background:#20b765!important;
  box-shadow:0 14px 34px rgba(32,183,101,.34)!important;
  font-size:0!important;
  line-height:0!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  text-decoration:none!important;
  isolation:isolate;
}
.whatsapp-float:hover{transform:translateY(-2px);background:#18a95a!important}
.whatsapp-float:focus-visible{outline:3px solid rgba(32,183,101,.3)!important;outline-offset:4px!important}
.whatsapp-float::before,.whatsapp-float::after{content:none!important;display:none!important}
.whatsapp-float .whatsapp-svg{width:28px;height:28px;color:#fff}
.top-whatsapp{display:inline-flex!important;align-items:center!important;gap:8px!important}
.top-whatsapp .whatsapp-svg{width:18px;height:18px}

@media(min-width:851px){
  .mobile-menu-close,.mobile-nav-backdrop{display:none!important}
}

@media(max-width:850px){
  body.nav-open{overflow:hidden!important}
  .utility-bar{display:none!important}
  .site-header{position:sticky!important;top:0!important;z-index:5000!important;background:#fff!important;box-shadow:0 4px 18px rgba(6,41,74,.09)!important}
  .nav-wrap{
    width:min(calc(100% - 20px),1200px)!important;
    min-height:66px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px 40px!important;
    align-items:center!important;
    gap:7px!important;
    margin:0 auto!important;
    padding:7px 0!important;
  }
  .brand{display:flex!important;align-items:center!important;width:auto!important;max-width:154px!important;min-width:0!important;margin:0!important}
  .brand img{display:block!important;width:100%!important;max-width:152px!important;height:auto!important}
  .menu-button,.header-listen{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border-radius:10px!important}
  .header-listen{display:grid!important;place-items:center!important;font-size:0!important}
  .header-listen span{font-size:14px!important;line-height:1!important}
  .menu-button{display:block!important;position:relative!important;z-index:5201!important}
  .menu-button span{left:10px!important;width:18px!important}
  .menu-button span:nth-child(1){top:12px!important}.menu-button span:nth-child(2){top:19px!important}.menu-button span:nth-child(3){top:26px!important}
  .menu-button.open span:nth-child(1){top:19px!important}.menu-button.open span:nth-child(3){top:19px!important}

  .nav-wrap nav{
    position:fixed!important;z-index:5200!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(88vw,330px)!important;height:100dvh!important;min-height:100vh!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;
    margin:0!important;padding:72px 14px 24px!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    border:0!important;border-radius:0!important;background:#fff!important;box-shadow:-24px 0 60px rgba(3,28,48,.25)!important;
    transform:translateX(105%)!important;visibility:hidden!important;opacity:0!important;
    transition:transform .22s ease,opacity .2s ease,visibility .22s ease!important;
  }
  .nav-wrap nav.open{transform:translateX(0)!important;visibility:visible!important;opacity:1!important}
  .nav-wrap nav a{
    display:flex!important;align-items:center!important;width:100%!important;min-height:43px!important;
    margin:0!important;padding:0 13px!important;border-radius:9px!important;
    color:#062945!important;background:transparent!important;font-size:13px!important;font-weight:600!important;
    line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;
  }
  .nav-wrap nav a::after{display:none!important}
  .nav-wrap nav a.active,.nav-wrap nav a:hover{color:#0d76df!important;background:#eaf6fc!important}
  .mobile-menu-close{
    position:absolute!important;top:13px!important;right:13px!important;display:grid!important;place-items:center!important;
    width:39px!important;height:39px!important;padding:0!important;border:1px solid #d6e4ec!important;border-radius:10px!important;
    color:#062945!important;background:#fff!important;font-size:23px!important;font-weight:400!important;line-height:1!important;cursor:pointer!important;
  }
  .mobile-nav-backdrop{position:fixed!important;z-index:5100!important;inset:0!important;display:block!important;visibility:hidden!important;opacity:0!important;background:rgba(3,24,42,.6)!important;transition:.2s ease!important}
  .mobile-nav-backdrop.open{visibility:visible!important;opacity:1!important}
  .whatsapp-float{right:12px!important;bottom:92px!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important}
  .whatsapp-float .whatsapp-svg{width:26px;height:26px}
  .sticky-player{right:8px!important;left:8px!important;bottom:8px!important;width:auto!important;max-width:none!important;transform:none!important;grid-template-columns:46px 40px minmax(0,1fr)!important;padding:8px 10px!important}
  .sticky-player input{display:none!important}
}

@media(max-width:420px){
  .nav-wrap{width:calc(100% - 16px)!important;grid-template-columns:minmax(0,1fr) 38px 38px!important;gap:6px!important}
  .brand,.brand img{max-width:137px!important}
  .menu-button,.header-listen{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
  .nav-wrap nav{width:min(91vw,305px)!important}
  .nav-wrap nav a{min-height:41px!important;font-size:12px!important}
  .whatsapp-float{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
}

/* Open menu: only the hamburger/X remains visible; floating actions are hidden. */
@media(max-width:850px){
  body.nav-open .whatsapp-float,
  body.nav-open .sticky-player{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}


/* ==========================================================================
   DEFINITIEVE STICKY HEADER — desktop en mobiel
   ========================================================================== */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  width:100%!important;
  background:#fff!important;
  box-shadow:0 5px 20px rgba(6,41,74,.09)!important;
  isolation:isolate!important;
}

.site-header .nav-wrap{
  position:relative!important;
  z-index:2!important;
}

/* Voorkomt dat ankerlinks achter de sticky header vallen */
html{
  scroll-padding-top:96px!important;
}

@media(min-width:851px){
  .site-header{
    top:0!important;
  }

  .utility-bar{
    position:relative!important;
    z-index:5001!important;
  }
}

@media(max-width:850px){
  .site-header{
    top:0!important;
  }

  html{
    scroll-padding-top:72px!important;
  }

  .nav-wrap nav{
    z-index:5200!important;
  }

  .mobile-nav-backdrop{
    z-index:5100!important;
  }

  .menu-button{
    z-index:5300!important;
  }
}


/* ==========================================================================
   MOBIEL: blauwe knop 'Luister live' verbergen
   ========================================================================== */
@media(max-width:850px){
  .header-listen{
    display:none!important;
  }

  .nav-wrap{
    grid-template-columns:minmax(0,1fr) 40px!important;
  }
}

@media(max-width:420px){
  .nav-wrap{
    grid-template-columns:minmax(0,1fr) 38px!important;
  }
}


/* ========================================================================== 
   WERKELIJK VASTE HEADER — onafhankelijk van sticky/overflow browsergedrag
   ========================================================================== */
.site-fixed-shell{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  z-index:5000!important;
  width:100%!important;
  transform:none!important;
  contain:none!important;
}

.site-fixed-shell .site-header{
  position:relative!important;
  top:auto!important;
  z-index:2!important;
  width:100%!important;
}

.site-header-spacer{
  display:block!important;
  width:100%!important;
  height:132px!important;
  pointer-events:none!important;
}

html{
  scroll-padding-top:142px!important;
}

@media(max-width:850px){
  .site-fixed-shell .utility-bar{
    display:none!important;
  }

  .site-header-spacer{
    height:66px!important;
  }

  html{
    scroll-padding-top:76px!important;
  }

  .site-fixed-shell .site-header{
    position:relative!important;
  }

  .site-fixed-shell .header-listen{
    display:none!important;
  }

  .site-fixed-shell .nav-wrap{
    grid-template-columns:minmax(0,1fr) 40px!important;
  }
}

@media(max-width:420px){
  .site-fixed-shell .nav-wrap{
    grid-template-columns:minmax(0,1fr) 38px!important;
  }
}
