/* WGRCMS-Step-0058 Subpage Recovery Fix */
:root{
  --wgr-blue:#015da8;
  --wgr-dark:#09233b;
  --wgr-muted:#40556a;
  --wgr-line:#dbe8f0;
  --wgr-soft:#f4f9fd;
  --wgr-box:1180px;
}

/* Kaputte große Unterseiten-Hero-Flächen aus 0057 entschärfen */
.cms-page,
.subpage,
.page-wrap,
.page-content-wrap,
.apt-page,
.contact-page,
.downloads-page{
  background:#f4f9fd!important;
}

/* Alles, was als Unterseiten-Hero/Banner kommt: kompakt und sauber */
.cms-page-hero,
.subpage-hero,
.page-hero,
.cms-hero,
.page-banner,
.subpage-banner{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:48px max(28px,calc((100% - 1180px)/2)) 42px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78)),
    linear-gradient(135deg,#eef8fd,#dcebc8)!important;
  border-bottom:1px solid #dbe8f0!important;
  overflow:hidden!important;
  display:block!important;
}

/* Falsch gestylte leere Bildboxen im Seitenkopf ausblenden */
.cms-page-hero .hero-visual,
.subpage-hero .hero-visual,
.page-hero .hero-visual,
.cms-hero .hero-visual,
.page-banner .hero-visual,
.subpage-banner .hero-visual,
.cms-page-hero img:empty,
.subpage-hero img:empty,
.page-hero img:empty{
  display:none!important;
}

/* Innencontainer wieder normal */
.cms-page-hero-inner,
.subpage-hero-inner,
.page-hero-inner,
.cms-hero-inner,
.page-banner-inner,
.subpage-banner-inner{
  max-width:1180px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  min-height:0!important;
  height:auto!important;
}

/* Wenn der Hero-Inhalt durch alte Grid/Flex-Regeln zerlegt wurde */
.cms-page-hero-inner > *,
.subpage-hero-inner > *,
.page-hero-inner > *,
.cms-hero-inner > *,
.page-banner-inner > *,
.subpage-banner-inner > *{
  max-width:760px!important;
}

/* Eyebrow/Label auf Unterseiten klein und korrekt */
.cms-page-hero .eyebrow,
.subpage-hero .eyebrow,
.page-hero .eyebrow,
.cms-hero .eyebrow,
.page-banner .eyebrow,
.subpage-banner .eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  color:#015da8!important;
  font-size:12px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:900!important;
}

.cms-page-hero .eyebrow::before,
.subpage-hero .eyebrow::before,
.page-hero .eyebrow::before,
.cms-hero .eyebrow::before,
.page-banner .eyebrow::before,
.subpage-banner .eyebrow::before{
  content:""!important;
  width:42px!important;
  height:3px!important;
  background:#98bd3d!important;
  border-radius:999px!important;
  display:block!important;
}

/* Überschriften wieder normal statt riesig/zerhackt */
.cms-page-hero h1,
.subpage-hero h1,
.page-hero h1,
.cms-hero h1,
.page-banner h1,
.subpage-banner h1,
.cms-page > h1,
.subpage > h1,
.page-wrap > h1{
  color:#015da8!important;
  font-size:42px!important;
  line-height:1.12!important;
  letter-spacing:.01em!important;
  font-weight:900!important;
  margin:0 0 12px!important;
  max-width:760px!important;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Falls h1 wegen alter Breiten in Zeilen zerbricht */
.cms-page-hero h1 *,
.subpage-hero h1 *,
.page-hero h1 *{
  max-width:none!important;
}

/* Unterseiten-Text */
.cms-page-hero p,
.subpage-hero p,
.page-hero p,
.cms-hero p,
.page-banner p,
.subpage-banner p{
  color:#40556a!important;
  font-size:16px!important;
  line-height:1.62!important;
  margin:0!important;
  max-width:760px!important;
  text-align:left!important;
}

/* Hauptinhalt: Box korrekt, nicht leer/überbreit */
.cms-content,
.cms-content-box,
.subpage-content,
.page-content,
.content-box,
.content-card{
  max-width:1180px!important;
  width:auto!important;
  margin:30px auto 54px!important;
  padding:34px!important;
  background:#fff!important;
  border:1px solid #dbe8f0!important;
  border-radius:10px!important;
  box-shadow:0 12px 34px rgba(9,35,59,.08)!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}

/* Falls eine leere Input-artige Box durch falsches Styling entstand */
.cms-content input[readonly],
.cms-content-box input[readonly],
.page-content input[readonly]{
  display:none!important;
}

/* Leere Platzhalter im Content ausblenden */
.cms-content:empty,
.cms-content-box:empty,
.page-content:empty{
  display:none!important;
}

/* Content-Typografie */
.cms-content h2,
.cms-content-box h2,
.subpage-content h2,
.page-content h2{
  color:#015da8!important;
  font-size:27px!important;
  line-height:1.22!important;
  font-weight:900!important;
  margin:0 0 16px!important;
}

.cms-content h3,
.cms-content-box h3,
.subpage-content h3,
.page-content h3{
  color:#09233b!important;
  font-size:21px!important;
  margin:24px 0 10px!important;
}

.cms-content p,
.cms-content-box p,
.subpage-content p,
.page-content p,
.cms-content li,
.cms-content-box li,
.subpage-content li,
.page-content li{
  color:#40556a!important;
  font-size:16px!important;
  line-height:1.72!important;
}

/* Home-Hero darf NICHT betroffen sein */
body:not(.is-subpage) > .hero,
.hero:not(.cms-page-hero):not(.subpage-hero):not(.page-hero){
  /* keine Wiederherstellung hier */
}

/* Admin nicht anfassen */
.wgr-admin-sidebar ~ main,
.wgr-admin-sidebar ~ .main{
  margin-left:320px!important;
}

/* Mobile */
@media(max-width:980px){
  .cms-page-hero,
  .subpage-hero,
  .page-hero,
  .cms-hero,
  .page-banner,
  .subpage-banner{
    padding:38px 22px 34px!important;
  }

  .cms-page-hero h1,
  .subpage-hero h1,
  .page-hero h1,
  .cms-hero h1,
  .page-banner h1,
  .subpage-banner h1,
  .cms-page > h1,
  .subpage > h1,
  .page-wrap > h1{
    font-size:34px!important;
  }

  .cms-content,
  .cms-content-box,
  .subpage-content,
  .page-content,
  .content-box,
  .content-card{
    margin:24px 22px 44px!important;
    padding:24px!important;
    max-width:none!important;
  }
}
