/* WGRCMS-Step-0024d Final Header / Logo Fix */
:root{
  --wgr-brand-blue:#015da8;
}

/* alle vorherigen Header-Experimente übersteuern */
html,body{
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}

.site-header{
  background:#015da8!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  overflow:visible!important;
  box-shadow:0 3px 14px rgba(0,0,0,.16)!important;
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
}

.header-inner{
  width:100%!important;
  max-width:none!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  margin:0!important;
  padding:0 28px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:28px!important;
  overflow:visible!important;
  background:#015da8!important;
}

/* Logo-Container: links sauber, nicht schneiden */
.brand{
  position:relative!important;
  left:0!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  flex:0 0 470px!important;
  width:470px!important;
  min-width:470px!important;
  max-width:470px!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  background:#015da8!important;
  clip-path:none!important;
}

/* Logo-Bild vollständig anzeigen */
.brand img{
  position:relative!important;
  left:0!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:block!important;
  width:430px!important;
  min-width:430px!important;
  max-width:430px!important;
  height:auto!important;
  max-height:76px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  overflow:visible!important;
  background:#015da8!important;
  clip-path:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Navigation rechts */
.main-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  height:96px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:22px!important;
  overflow:visible!important;
  background:#015da8!important;
}

.main-nav a{
  height:96px!important;
  min-height:96px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:3px solid transparent!important;
  white-space:nowrap!important;
  background:transparent!important;
}

.main-nav a:hover,
.main-nav a:first-child{
  border-bottom-color:#fff!important;
}

/* Kontaktdaten rechts */
.header-contact{
  flex:0 0 auto!important;
  height:96px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:600!important;
  white-space:nowrap!important;
  overflow:visible!important;
  background:#015da8!important;
}

/* harte Reset-Regel gegen alte negative Verschiebungen */
.site-header *,
.header-inner *,
.brand *,
.main-nav *,
.header-contact *{
  box-sizing:border-box!important;
}

/* Hero direkt unter Header sauber */
.hero{
  margin-top:0!important;
}

/* Tablet */
@media(max-width:1300px){
  .header-inner{
    height:auto!important;
    max-height:none!important;
    min-height:96px!important;
    padding:14px 22px!important;
    flex-wrap:wrap!important;
  }
  .site-header{
    height:auto!important;
    max-height:none!important;
    min-height:96px!important;
  }
  .brand{
    flex:0 0 390px!important;
    width:390px!important;
    min-width:390px!important;
    max-width:390px!important;
    height:72px!important;
  }
  .brand img{
    width:360px!important;
    min-width:360px!important;
    max-width:360px!important;
    max-height:68px!important;
  }
  .main-nav{
    order:3!important;
    flex:0 0 100%!important;
    width:100%!important;
    height:auto!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:18px!important;
  }
  .main-nav a{
    height:auto!important;
    min-height:auto!important;
    padding:8px 0!important;
  }
  .header-contact{
    height:auto!important;
    margin-left:auto!important;
  }
}

/* Mobile */
@media(max-width:640px){
  .header-inner{
    padding:14px 18px!important;
  }
  .brand{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
  }
  .brand img{
    width:300px!important;
    min-width:0!important;
    max-width:300px!important;
    max-height:70px!important;
  }
  .header-contact{
    margin-left:0!important;
    flex-wrap:wrap!important;
  }
}
