/* WGRCMS-Step-0053 Logo + Menu Click Fix */

:root{
  --wgr-header-h:86px!important;
  --wgr-blue:#015da8!important;
}

/* Header etwas höher für vernünftiges Logo, aber ohne Versatz */
.site-header,
.site-header.wgr-scrolled{
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  overflow:hidden!important;
  background:#015da8!important;
}

body{
  padding-top:86px!important;
}

.header-inner,
.site-header.wgr-scrolled .header-inner{
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  position:relative!important;
}

/* Logo wieder deutlich größer */
.brand,
.site-header.wgr-scrolled .brand{
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  flex:0 0 370px!important;
  width:370px!important;
  max-width:370px!important;
  overflow:hidden!important;
  position:relative!important;
  z-index:20!important;
}

.brand img,
.site-header.wgr-scrolled .brand img{
  width:335px!important;
  max-width:335px!important;
  max-height:76px!important;
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Navigation klickbar und über allen Überlagerungen */
.main-nav,
.site-header.wgr-scrolled .main-nav{
  position:relative!important;
  z-index:50!important;
  pointer-events:auto!important;
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-left:auto!important;
  overflow:visible!important;
}

/* Jeder Menüpunkt bekommt eigene sichere Klickfläche */
.main-nav a,
.site-header.wgr-scrolled .main-nav a{
  position:relative!important;
  z-index:55!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  padding:0 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Kontaktblock darf Aktuelles/Kontakt nicht überdecken */
.header-contact,
.site-header.wgr-scrolled .header-contact{
  position:relative!important;
  z-index:30!important;
  pointer-events:auto!important;
  height:86px!important;
  min-height:86px!important;
  max-height:86px!important;
  margin-left:18px!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}

/* Falls Kontakt intern zu breit ist, nicht über Navigation legen */
.header-contact *{
  pointer-events:auto!important;
}

/* Hintergrund-Hover explizit für alle */
.main-nav a::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:17px 0!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.11)!important;
  opacity:0!important;
  transform:scale(.96)!important;
  transition:opacity .16s ease, transform .16s ease!important;
  z-index:-1!important;
  pointer-events:none!important;
}

/* Unterstrich explizit für alle */
.main-nav a::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:7px!important;
  right:7px!important;
  bottom:0!important;
  height:4px!important;
  border-radius:4px 4px 0 0!important;
  background:#fff!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .18s ease!important;
  z-index:1!important;
  pointer-events:none!important;
}

.main-nav a:hover::before,
.main-nav a:focus-visible::before{
  opacity:1!important;
  transform:scale(1)!important;
}

.main-nav a:hover::after,
.main-nav a:focus-visible::after{
  transform:scaleX(.55)!important;
}

.main-nav a.active::before,
.main-nav a[aria-current="page"]::before{
  opacity:.9!important;
  transform:scale(1)!important;
}

.main-nav a.active::after,
.main-nav a[aria-current="page"]::after{
  transform:scaleX(1)!important;
}

/* Alte first-child Sperren komplett überschreiben */
.main-nav a:first-child::before,
.main-nav a:first-child::after,
.main-nav a[href*="aktuelles"]::before,
.main-nav a[href*="aktuelles"]::after,
.main-nav a[href*="news"]::before,
.main-nav a[href*="news"]::after,
.main-nav a[href*="view=aktuelles"]::before,
.main-nav a[href*="view=aktuelles"]::after,
.main-nav a[href*="page=aktuelles"]::before,
.main-nav a[href*="page=aktuelles"]::after{
  display:block!important;
  content:""!important;
}

/* Falls Aktuelles aus irgendeinem Grund disabled wurde */
.main-nav a[href*="aktuelles"],
.main-nav a[href*="news"],
.main-nav a[href*="view=aktuelles"],
.main-nav a[href*="page=aktuelles"]{
  pointer-events:auto!important;
  cursor:pointer!important;
  z-index:60!important;
}

/* Hero bleibt direkt darunter */
.hero{
  margin-top:0!important;
}

/* Mobile */
@media(max-width:980px){
  :root{
    --wgr-header-h:150px!important;
  }

  .site-header,
  .site-header.wgr-scrolled{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body{
    padding-top:150px!important;
  }

  .header-inner,
  .site-header.wgr-scrolled .header-inner{
    height:auto!important;
    max-height:none!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
  }

  .brand,
  .site-header.wgr-scrolled .brand{
    height:auto!important;
    max-height:none!important;
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }

  .brand img,
  .site-header.wgr-scrolled .brand img{
    width:280px!important;
    max-height:70px!important;
  }

  .main-nav,
  .site-header.wgr-scrolled .main-nav{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:12px 0 0!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }

  .main-nav a,
  .site-header.wgr-scrolled .main-nav a{
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
  }

  .main-nav a::before{
    inset:4px 0!important;
  }

  .header-contact,
  .site-header.wgr-scrolled .header-contact{
    height:auto!important;
    max-height:none!important;
    margin:10px 0 0!important;
    flex-wrap:wrap!important;
  }
}
