/* WGRCMS-Step-0039 Frontend Design Polish */
:root{
  --wgr-blue:#015da8;
  --wgr-blue-2:#006bb6;
  --wgr-dark:#09233b;
  --wgr-text:#16324a;
  --wgr-muted:#5d7183;
  --wgr-line:#dbe8f0;
  --wgr-soft:#f3f8fb;
  --wgr-green:#9fbd3e;
  --wgr-box:1180px;
  --wgr-radius:14px;
  --wgr-shadow:0 18px 48px rgba(9,35,59,.11);
}

html{
  scroll-behavior:smooth;
}

body{
  background:#fff!important;
  color:var(--wgr-text)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}

/* Header: wertiger, weniger hart */
.site-header{
  background:var(--wgr-blue)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 6px 22px rgba(0,55,105,.18)!important;
}

.header-inner{
  max-width:1500px!important;
}

.main-nav a{
  position:relative!important;
  opacity:.95!important;
  transition:opacity .18s ease!important;
}

.main-nav a:hover{
  opacity:1!important;
}

.main-nav a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  background:#fff!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .18s ease!important;
}

.main-nav a:hover::after,
.main-nav a:first-child::after{
  transform:scaleX(1)!important;
}

/* Hero: professioneller, ruhiger, Mockup-nah */
.hero{
  min-height:660px!important;
  background:
    radial-gradient(circle at 72% 34%,rgba(159,189,62,.28),rgba(159,189,62,0) 32%),
    linear-gradient(90deg,#fff 0%,#fff 31%,rgba(255,255,255,.88) 52%,rgba(255,255,255,.25) 100%),
    linear-gradient(135deg,#f5fbff 0%,#dceff8 44%,#dcebc8 100%)!important;
}

.hero-content{
  padding-top:82px!important;
}

.eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  color:var(--wgr-blue)!important;
}

.eyebrow::before{
  content:""!important;
  width:34px!important;
  height:3px!important;
  border-radius:999px!important;
  background:var(--wgr-green)!important;
}

.hero h1{
  font-size:62px!important;
  line-height:1.07!important;
  color:var(--wgr-blue)!important;
  letter-spacing:.01em!important;
  text-wrap:balance!important;
}

.hero-text{
  color:var(--wgr-text)!important;
  font-size:18px!important;
  line-height:1.75!important;
  max-width:540px!important;
}

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

.hero-actions{
  gap:16px!important;
}

.btn,
.btn.primary,
.btn.ghost{
  border-radius:7px!important;
  min-height:50px!important;
  padding:0 26px!important;
  box-shadow:none!important;
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease!important;
}

.btn:hover,
.btn.primary:hover,
.btn.ghost:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 10px 24px rgba(1,93,168,.16)!important;
}

.btn.primary:hover{
  background:#004f91!important;
}

.btn.ghost:hover{
  background:#f4f9fd!important;
}

/* Hero Illustration: mehr Tiefe */
.house-scene::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:6px!important;
  height:80px!important;
  background:radial-gradient(ellipse at center,rgba(9,35,59,.12),rgba(9,35,59,0) 70%)!important;
  filter:blur(8px)!important;
  z-index:0!important;
}

.roof,.building,.green{
  z-index:2!important;
}

.building{
  box-shadow:0 18px 34px rgba(9,35,59,.12)!important;
}

.green{
  box-shadow:inset 0 2px 0 rgba(255,255,255,.28)!important;
}

/* Quickcards: weniger „Tabelle“, mehr hochwertig */
.quick-wrap{
  margin-top:-82px!important;
}

.quick-grid{
  border-radius:12px!important;
  box-shadow:var(--wgr-shadow)!important;
  border:1px solid rgba(219,232,240,.9)!important;
}

.quick-card{
  min-height:165px!important;
  padding:32px 28px!important;
  transition:background-color .18s ease, transform .18s ease!important;
}

.quick-card:hover{
  background:#f8fbfd!important;
}

.quick-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  background:#edf7fc!important;
  font-size:30px!important;
}

.quick-card h3{
  font-size:18px!important;
  margin-bottom:9px!important;
}

.quick-card p,
.quick-card .card-text{
  color:var(--wgr-muted)!important;
}

/* Main Section */
.main{
  padding-top:54px!important;
}

.section-head{
  margin-bottom:22px!important;
}

.section-head h2{
  font-size:28px!important;
  color:var(--wgr-dark)!important;
  letter-spacing:.01em!important;
}

.section-head a{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}

.section-head a:hover{
  text-decoration:underline!important;
}

/* News Cards */
.news-grid{
  gap:20px!important;
}

.news-card{
  border-radius:12px!important;
  border:1px solid var(--wgr-line)!important;
  background:#fff!important;
  min-height:360px!important;
  box-shadow:0 8px 26px rgba(9,35,59,.06)!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}

.news-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 16px 34px rgba(9,35,59,.12)!important;
}

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

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

.news-body small{
  color:var(--wgr-muted)!important;
  font-weight:700!important;
}

.news-body h3{
  font-size:18px!important;
  color:var(--wgr-blue)!important;
}

.news-body p{
  color:var(--wgr-muted)!important;
  line-height:1.55!important;
}

.news-body a{
  display:inline-flex!important;
  margin-top:8px!important;
}

/* Generische Placeholder-Bilder etwas schöner */
.news-1{
  background:
    radial-gradient(circle at 55% 35%,rgba(255,255,255,.9) 0 18px,transparent 19px),
    linear-gradient(135deg,#e7f2f8,#c7dcea)!important;
}
.news-2{
  background:repeating-linear-gradient(90deg,#d4c096 0 28px,#eadcbb 28px 56px)!important;
}
.news-3{
  background:
    radial-gradient(circle at 40% 35%,#ee8fa4 0 7px,transparent 8px),
    linear-gradient(135deg,#e8f5fb,#cfe4ef)!important;
}
.news-4{
  background:linear-gradient(135deg,#b7d5e8,#7fb4d7)!important;
}

/* Vorteile */
.benefits{
  border-radius:12px!important;
  box-shadow:0 12px 32px rgba(9,35,59,.08)!important;
}

.benefits div{
  min-height:118px!important;
}

.benefits strong{
  color:var(--wgr-blue)!important;
}

.benefits span{
  color:var(--wgr-muted)!important;
}

/* Info/Office Block */
.info-row{
  border-radius:14px!important;
  box-shadow:0 18px 46px rgba(9,35,59,.10)!important;
  border:1px solid var(--wgr-line)!important;
}

.info-text,
.office{
  padding:34px!important;
}

.info-text h2{
  font-size:28px!important;
  color:var(--wgr-blue)!important;
}

.info-text p,
.office p{
  color:var(--wgr-muted)!important;
  line-height:1.7!important;
}

.info-image{
  background:
    linear-gradient(135deg,rgba(1,93,168,.08),rgba(159,189,62,.18)),
    linear-gradient(135deg,#d9edf8,#cfe6bd)!important;
  position:relative!important;
}

.info-image::after{
  content:""!important;
  position:absolute!important;
  inset:34px!important;
  border-radius:12px!important;
  border:2px solid rgba(255,255,255,.65)!important;
}

/* CTA */
.home-cta{
  border-radius:12px!important;
  box-shadow:0 18px 44px rgba(1,93,168,.24)!important;
  background:linear-gradient(135deg,var(--wgr-blue),var(--wgr-blue-2))!important;
}

.home-cta .btn.ghost{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
}

.home-cta .btn.ghost:hover{
  background:rgba(255,255,255,.16)!important;
}

/* Footer */
.footer{
  margin-top:0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
}

.footer h3{
  font-size:17px!important;
  letter-spacing:.01em!important;
}

.footer p,
.footer a{
  color:#eaf6ff!important;
  line-height:1.65!important;
}

.footer a:hover{
  color:#fff!important;
}

/* Unterseiten ebenfalls sauberer */
.cms-page,
.apt-page,
.contact-page,
.downloads-page{
  background:#f4f9fd!important;
}

.cms-page-hero-inner,
.cms-content-box,
.apt-card,
.contact-info,
.contact-formbox,
.download-card,
.download-empty{
  border-radius:14px!important;
  box-shadow:0 16px 42px rgba(9,35,59,.10)!important;
  border:1px solid var(--wgr-line)!important;
}

/* Mobile Feinschliff */
@media(max-width:980px){
  .hero{
    padding-bottom:120px!important;
  }

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

  .quick-card{
    min-height:auto!important;
  }

  .news-card{
    min-height:auto!important;
  }

  .home-cta{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:18px!important;
  }
}
