/*
Theme Name: Gründerhelden Website
Theme URI: https://gruenderhelden.de/
Author: Gründerhelden
Description: Schlankes WordPress Block-Theme für Gründerhelden mit globalem Header und Footer.
Version: 3.6.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: gruenderhelden-website
*/

:root{
  --gh-primary:#00737c;
  --gh-primary-dark:#04545b;
  --gh-accent:#1abc9c;
  --gh-ink:#10283d;
  --gh-muted:#607487;
  --gh-line:#d8eef1;
  --gh-soft:#f2fbfc;
  --gh-footer:#071f22;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--gh-ink);background:#fff}

.gh-contact-bar{
  position:relative;
  z-index:1001;
  background:linear-gradient(90deg,#22c5ce,#35cfbf);
  color:#fff;
}

.gh-contact-bar__inner{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
}

.gh-contact-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
  transition:opacity .2s ease,transform .2s ease;
}
.gh-contact-link:hover{
  color:#fff!important;
  opacity:.86;
  transform:translateY(-1px);
}
.gh-contact-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.gh-contact-icon svg{
  width:18px;
  height:18px;
  display:block;
}

.gh-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(0,115,124,.10);
  box-shadow:0 8px 30px rgba(19,85,96,.06);
  backdrop-filter:blur(14px);
}

.gh-header-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.gh-logo img{height:36px!important;width:auto!important;object-fit:contain}

.gh-main-nav .wp-block-navigation-item__content{
  font-size:.94rem;
  font-weight:650;
  color:var(--gh-ink);
}

.gh-main-nav .wp-block-navigation-item__content:hover{color:var(--gh-primary)}

.gh-header-cta .wp-block-button__link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:14px;
  background:var(--gh-primary);
  color:#fff;
  font-weight:750;
  box-shadow:0 10px 24px rgba(0,115,124,.18);
  transition:.2s ease;
}
.gh-header-cta .wp-block-button__link:hover{
  background:var(--gh-primary-dark);
  transform:translateY(-1px);
}

.gh-page-content{min-height:55vh}

.gh-site-footer{
  margin-top:0;
  background:var(--gh-footer);
  color:#dceaea;
}

.gh-footer-main{
  padding-top:72px;
  padding-bottom:52px;
}

.gh-footer-logo img{
  height:36px!important;
  width:auto!important;
  object-fit:contain;
  filter:brightness(0) invert(1);
}

.gh-site-footer h2,
.gh-site-footer h3,
.gh-site-footer h4{color:#fff}

.gh-site-footer p,
.gh-site-footer a{color:#a9bfc1}
.gh-site-footer a:hover{color:#fff}

.gh-footer-links .wp-block-navigation-item__content{
  font-size:.9rem;
  color:#a9bfc1;
}

.gh-footer-bottom{
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:22px;
  padding-bottom:22px;
  font-size:.84rem;
  color:#9fb4b6;
}

.gh-footer-legal{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:18px;
  padding-bottom:28px;
  color:#789092;
  font-size:.75rem;
}

@media(max-width:900px){
  .gh-contact-bar__inner{min-height:36px;justify-content:center;gap:14px}
  .gh-contact-link{font-size:.78rem}
  .gh-header-inner{min-height:68px}
  .gh-logo img{height:32px!important}
  .gh-footer-main{padding-top:54px;padding-bottom:38px}
}


/* Header-CTA auf Mobilgeräten und Tablets ausblenden */
@media(max-width:1180px){
  .gh-header-cta{display:none!important}
}

/* Seiteninhalt immer sichtbar und ohne Theme-Rand */
.gh-page-content,
.gh-page-content > .wp-block-post-content,
.gh-page-content .entry-content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.gh-page-content > .wp-block-post-content > *{
  max-width:none;
}
body .wp-site-blocks{
  padding-top:0;
  padding-bottom:0;
}

@media(max-width:620px){
  .gh-contact-bar__inner{
    min-height:34px;
    padding-top:6px;
    padding-bottom:6px;
    gap:7px 14px;
  }
  .gh-contact-link{font-size:.72rem}
  .gh-contact-icon,.gh-contact-icon svg{width:16px;height:16px}
}

/* Sicherer Seitenabstand für Logo und Burger-Menü auf Tablet und Mobil */
@media(max-width:1180px){
  .gh-header-inner{
    width:min(calc(100% - 48px),1400px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

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

/* Hauptnavigation V3.4 – Dropdown-Menüs für neue Inhaltsseiten */
.gh-main-nav .wp-block-navigation__container{
  gap:26px;
}
.gh-main-nav .wp-block-navigation-item{
  position:relative;
}
.gh-main-nav .wp-block-navigation-submenu__toggle{
  color:var(--gh-ink);
  font-weight:650;
}
.gh-main-nav .wp-block-navigation-submenu__toggle:hover{
  color:var(--gh-primary);
}
.gh-main-nav .wp-block-navigation__submenu-container{
  min-width:285px!important;
  padding:10px!important;
  border:1px solid rgba(0,115,124,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.99)!important;
  box-shadow:0 22px 55px rgba(16,72,82,.14)!important;
}
.gh-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{
  width:100%;
}
.gh-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  width:100%;
  padding:11px 13px!important;
  border-radius:11px;
  color:var(--gh-ink)!important;
  line-height:1.25;
}
.gh-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  background:var(--gh-soft);
  color:var(--gh-primary)!important;
}
.gh-main-nav .wp-block-navigation__submenu-icon{
  width:10px;
  height:10px;
  margin-left:6px;
}

@media(min-width:901px){
  /* Dropdown ohne Hover-Lücke direkt unter dem Hauptpunkt platzieren */
  .gh-main-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container{
    top:calc(100% - 1px)!important;
    margin-top:0!important;
  }

  /* Unsichtbare Brücke verhindert das Schließen beim Mausübergang */
  .gh-main-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-14px;
    height:14px;
    background:transparent;
  }

  /* Kleiner sichtbarer Pfeil bleibt erhalten */
  .gh-main-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container:before{
    content:"";
    position:absolute;
    left:22px;
    top:-7px;
    width:14px;
    height:14px;
    border-left:1px solid rgba(0,115,124,.12);
    border-top:1px solid rgba(0,115,124,.12);
    background:#fff;
    transform:rotate(45deg);
    z-index:1;
  }

  /* Geöffnetes Untermenü bleibt beim Bewegen über Elternpunkt und Dropdown sichtbar */
  .gh-main-nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
  .gh-main-nav .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container{
    visibility:visible!important;
    opacity:1!important;
    overflow:visible!important;
  }
}

@media(max-width:900px){
  .gh-main-nav .wp-block-navigation__responsive-container.is-menu-open{
    padding:28px 24px 38px;
    background:#fff;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content{
    padding-top:46px;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    width:100%;
    align-items:stretch;
    gap:6px;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
    width:100%;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  .gh-main-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content{
    padding:12px 0!important;
    font-size:1.05rem;
    font-weight:800;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{
    min-width:0!important;
    width:100%!important;
    margin:2px 0 10px!important;
    padding:5px 0 5px 14px!important;
    border:0!important;
    border-left:2px solid var(--gh-line)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding:9px 12px!important;
    font-size:.92rem;
    font-weight:650;
  }
}



/* V3.6 – vollständiges mobiles Overlay-Menü und aktuelle Navigation */
.gh-site-header{
  z-index:100000;
  overflow:visible!important;
}
.gh-contact-bar{z-index:100001}
.gh-main-nav{position:relative;z-index:100002}

@media(max-width:900px){
  /* backdrop-filter kann position:fixed-Kinder an den Header binden */
  .gh-site-header{
    position:sticky;
    top:0;
    overflow:visible!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:#fff!important;
    isolation:auto!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:2147483000!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:78px 22px 34px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    background:#fff!important;
    color:var(--gh-ink)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-open,
  .gh-main-nav .wp-block-navigation__responsive-container-close{
    color:var(--gh-ink)!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-close{
    position:fixed!important;
    top:20px!important;
    right:20px!important;
    z-index:2147483640!important;
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    border:1px solid var(--gh-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 10px 25px rgba(16,83,94,.10)!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-dialog,
  .gh-main-nav .wp-block-navigation__responsive-container-content{
    position:relative!important;
    z-index:2147483100!important;
    width:100%!important;
    max-width:680px!important;
    min-height:100%!important;
    margin:0 auto!important;
    padding:0!important;
    background:#fff!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content:before{
    content:"Menü";
    display:block;
    margin:0 0 22px;
    padding:0 54px 18px 0;
    border-bottom:1px solid var(--gh-line);
    color:var(--gh-ink);
    font-size:1.35rem;
    font-weight:850;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    gap:8px!important;
    align-items:stretch!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item{
    position:relative!important;
    width:100%!important;
    color:var(--gh-ink)!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item{
    padding:0 0 8px!important;
    border-bottom:1px solid #edf3f4!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle{
    color:var(--gh-ink)!important;
    opacity:1!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  .gh-main-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content{
    display:block!important;
    padding:13px 4px!important;
    color:var(--gh-ink)!important;
    font-size:1.08rem!important;
    font-weight:850!important;
    line-height:1.3!important;
  }

  /* Untermenüs mobil dauerhaft sichtbar: keine schwer bedienbare zweite Aufklappebene */
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{
    position:static!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    overflow:visible!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    margin:0 0 8px!important;
    padding:4px 0 5px 14px!important;
    border:0!important;
    border-left:2px solid var(--gh-line)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item{
    border:0!important;
    padding:0!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    display:block!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    color:#395163!important;
    font-size:.93rem!important;
    font-weight:680!important;
    line-height:1.35!important;
  }

  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
  .gh-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus{
    background:var(--gh-soft)!important;
    color:var(--gh-primary)!important;
  }

  .gh-main-nav .wp-block-navigation__submenu-icon,
  .gh-main-nav .wp-block-navigation-submenu__toggle{
    pointer-events:none;
  }

  body.has-modal-open{
    overflow:hidden!important;
  }
}

@media(max-width:620px){
  .gh-main-nav .wp-block-navigation__responsive-container.is-menu-open{
    padding:70px 16px 26px!important;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-close{
    top:14px!important;
    right:14px!important;
  }
  .gh-main-nav .wp-block-navigation__responsive-container-content:before{
    margin-bottom:16px;
    font-size:1.2rem;
  }
}
