/* WGRCMS-Step-0043 Hero 1:1 nach Mockup */
:root{
  --wgr-blue:#015da8;
  --wgr-dark:#09233b;
  --wgr-muted:#40556a;
  --wgr-box:1180px;
}

/* Header wie Mockup: kompakt, blau, Logo links, Menü rechts */
.site-header{
  height:82px!important;
  min-height:82px!important;
  background:#015da8!important;
  box-shadow:0 2px 12px rgba(0,0,0,.18)!important;
  position:relative!important;
  z-index:50!important;
}

.header-inner{
  max-width:1480px!important;
  height:82px!important;
  padding:0 34px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
}

.brand{
  flex:0 0 290px!important;
  width:290px!important;
  max-width:290px!important;
  height:72px!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
}

.brand img{
  width:260px!important;
  max-width:260px!important;
  max-height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
}

.main-nav{
  height:82px!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:24px!important;
}

.main-nav a{
  height:82px!important;
  display:flex!important;
  align-items:center!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:800!important;
  border-bottom:4px solid transparent!important;
  text-decoration:none!important;
  padding:0!important;
}

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

.header-contact{
  height:82px!important;
  display:flex!important;
  align-items:center!important;
  color:#fff!important;
  font-size:12px!important;
  gap:14px!important;
  white-space:nowrap!important;
}

/* HERO: genau Richtung Mockup - Foto als breiter Hintergrund */
.hero{
  min-height:520px!important;
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  padding:0!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 28%,rgba(255,255,255,.62) 45%,rgba(255,255,255,.06) 72%),
    url('/public/assets/img/wgr-hero-mockup-photo.jpg') center center / cover no-repeat!important;
}

/* alte rechte Box / Fallback-Grafiken komplett aus */
.hero-visual,
.hero-safe-visual,
.hero-mockup-visual,
.hero-safe-house,
.hero-safe-side,
.hero-safe-tree,
.hero-safe-hill,
.hero-mockup-visual *,
.house-scene,
.roof,
.building,
.green{
  display:none!important;
}

/* Hero Text exakt links in boxed Container */
.hero-content{
  width:auto!important;
  max-width:var(--wgr-box)!important;
  margin:0 auto!important;
  padding:78px 0 0!important;
  position:relative!important;
  z-index:2!important;
}

.hero-content > *{
  max-width:520px!important;
}

.eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 26px!important;
  color:#015da8!important;
  font-size:12px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:900!important;
}

.eyebrow:before{
  content:""!important;
  width:42px!important;
  height:3px!important;
  background:#98bd3d!important;
  border-radius:999px!important;
  display:block!important;
  flex:0 0 auto!important;
}

.hero h1{
  color:#015da8!important;
  font-size:44px!important;
  line-height:1.13!important;
  letter-spacing:.01em!important;
  font-weight:900!important;
  margin:0!important;
  max-width:480px!important;
}

.hero-text{
  margin:26px 0 0!important;
  color:#16324a!important;
  font-size:16px!important;
  line-height:1.65!important;
  max-width:500px!important;
}

.hero-text p{
  margin:0!important;
}

.hero-actions{
  display:flex!important;
  gap:18px!important;
  margin-top:28px!important;
  max-width:520px!important;
}

.btn,
.btn.primary,
.btn.ghost{
  min-height:44px!important;
  border-radius:3px!important;
  padding:0 24px!important;
  font-size:14px!important;
  font-weight:900!important;
}

.btn.primary{
  background:#015da8!important;
  border:1px solid #015da8!important;
  color:#fff!important;
}

.btn.ghost{
  background:rgba(255,255,255,.78)!important;
  border:1px solid #015da8!important;
  color:#015da8!important;
}

/* Quickcards wie Mockup: überlappend, boxed, clean */
.quick-wrap{
  max-width:var(--wgr-box)!important;
  margin:-42px auto 0!important;
  padding:0!important;
  position:relative!important;
  z-index:10!important;
}

.quick-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(8px)!important;
  border-radius:7px!important;
  box-shadow:0 20px 48px rgba(9,35,59,.14)!important;
  border:1px solid rgba(219,232,240,.9)!important;
  overflow:hidden!important;
}

.quick-card{
  min-height:132px!important;
  padding:28px 28px!important;
  display:grid!important;
  grid-template-columns:56px 1fr!important;
  gap:18px!important;
  align-items:start!important;
  border-right:1px solid #dbe8f0!important;
  background:transparent!important;
  text-decoration:none!important;
}

.quick-card:last-child{
  border-right:0!important;
}

.quick-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#eef8fd!important;
  color:#015da8!important;
  font-size:30px!important;
}

.quick-card h3{
  color:#015da8!important;
  font-size:18px!important;
  line-height:1.2!important;
  margin:0 0 8px!important;
}

.quick-card p,
.quick-card .card-text{
  color:#40556a!important;
  font-size:14px!important;
  line-height:1.45!important;
  margin:0 0 12px!important;
}

.quick-card strong{
  color:#015da8!important;
  font-size:13px!important;
  font-weight:900!important;
}

/* Main Bereich wie Mockup */
.main{
  max-width:var(--wgr-box)!important;
  margin:0 auto!important;
  padding:36px 0 54px!important;
}

.section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0 0 18px!important;
}

.section-head h2{
  color:#09233b!important;
  font-size:25px!important;
  line-height:1.2!important;
  margin:0!important;
}

.section-head a{
  color:#015da8!important;
  font-weight:900!important;
  text-decoration:none!important;
}

.news-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:18px!important;
}

.news-card{
  border-radius:7px!important;
  border:1px solid #dbe8f0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(9,35,59,.06)!important;
  min-height:330px!important;
}

.news-image{
  height:138px!important;
}

.news-body{
  padding:17px!important;
}

.news-body h3{
  color:#015da8!important;
  font-size:17px!important;
  line-height:1.25!important;
  margin:10px 0!important;
}

.news-body p{
  color:#40556a!important;
  font-size:14px!important;
  line-height:1.45!important;
}

/* Vorteilskarten im Mockup-Stil */
.benefits{
  margin-top:26px!important;
  border-radius:7px!important;
  border:1px solid #dbe8f0!important;
  background:#fff!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  box-shadow:0 10px 28px rgba(9,35,59,.07)!important;
  overflow:hidden!important;
}

.benefits div{
  padding:24px 24px!important;
  border-right:1px solid #dbe8f0!important;
}

.benefits div:last-child{
  border-right:0!important;
}

.benefits strong{
  color:#015da8!important;
}

/* untere Infoblöcke */
.info-row{
  border-radius:7px!important;
  overflow:hidden!important;
  border:1px solid #dbe8f0!important;
  box-shadow:0 12px 34px rgba(9,35,59,.08)!important;
}

.home-cta{
  border-radius:7px!important;
  background:#015da8!important;
}

/* Footer wie Mockup */
.footer{
  background:#015da8!important;
}

.wgr-footer-bottom{
  background:#f6fbff!important;
  color:#015da8!important;
}

/* Responsive */
@media(max-width:1220px){
  .hero-content,
  .quick-wrap,
  .main{
    margin-left:34px!important;
    margin-right:34px!important;
    max-width:none!important;
  }
}

@media(max-width:980px){
  .site-header,
  .header-inner{
    height:auto!important;
  }

  .header-inner{
    padding:14px 22px!important;
    flex-wrap:wrap!important;
  }

  .brand{
    flex:0 0 100%!important;
    width:100%!important;
    height:auto!important;
  }

  .brand img{
    width:250px!important;
  }

  .main-nav{
    height:auto!important;
    margin-left:0!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }

  .main-nav a{
    height:auto!important;
    padding:8px 0!important;
  }

  .header-contact{
    height:auto!important;
    flex-wrap:wrap!important;
  }

  .hero{
    min-height:auto!important;
    padding-bottom:90px!important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.76)),
      url('/public/assets/img/wgr-hero-mockup-photo.jpg') center center / cover no-repeat!important;
  }

  .hero-content{
    margin:0 22px!important;
    padding:48px 0 0!important;
  }

  .hero h1{
    font-size:38px!important;
  }

  .quick-wrap{
    margin:-58px 22px 0!important;
    max-width:none!important;
  }

  .quick-grid,
  .news-grid,
  .benefits{
    grid-template-columns:1fr!important;
  }

  .quick-card,
  .benefits div{
    border-right:0!important;
    border-bottom:1px solid #dbe8f0!important;
  }

  .main{
    margin:0 22px!important;
    padding-top:34px!important;
  }
}
