/* already defined
@gray:                   lighten(@gray-base, 33.5%); // #555
@gray-light:             lighten(@gray-base, 46.7%); // #777
@gray-lighter:           lighten(@gray-base, 93.5%); // #eee*/
/* Ergänzungen für Zielgruppen-Kacheln – baut auf dem bestehenden Theme auf */
body.page-zielgruppe .acf-container-top-image-lp .top-image {
  height: 280px;
}
body.page-zielgruppe .acf-container-top-image-lp .top-image .image-text .container {
  padding-bottom: 0;
}
body.page-zielgruppe .acf-container-top-image-lp .top-image .vertical-align h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 36px);
  line-height: 1.15;
  text-transform: none;
}
@media (max-width: 991px) {
  body.page-zielgruppe .acf-container-top-image-lp .top-image {
    height: 200px;
  }
  body.page-zielgruppe .acf-container-top-image-lp .top-image .vertical-align h2 {
    font-size: 32px;
    line-height: 36px;
  }
}
body.page-zielgruppe .text-cols-3 .zielgruppe-angebot-cols {
  margin-top: 10px;
  text-align: left;
}
body.page-zielgruppe .text-cols-3 .zielgruppe-angebot-cols h4 {
  margin-top: 0;
}
body.page-zielgruppe .text-cols-3 .zielgruppe-angebot-cols p {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.page-zielgruppe .text-cols-3 .zielgruppe-angebot-cols > [class*='col-'] + [class*='col-'] {
    margin-top: 0;
  }
}
.acf-container-zielgruppen .kachel-outer {
  margin-top: 20px;
}
.acf-container-zielgruppen .kachel-line-2 {
  font-size: 16px;
  font-style: normal;
  margin-top: 6px;
}
.acf-container-zielgruppen .acf-text-layout h3 {
  font-family: inherit;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  margin-top: 12px;
}
.zielgruppe-intro {
  max-width: 820px;
  margin: 0 auto 10px;
}
.zielgruppe-einzelgaeste {
  text-align: center;
  margin: 16px 0 0;
  font-size: 16px;
}
body.page-zielgruppe .zielgruppe-schwerpunkt {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.5;
}
/* Startseite: Zielgruppen-Menüzeile direkt unter dem Hero */
.zielgruppen-nav {
  --zielgruppen-nav-item-width: calc(100% / var(--zielgruppen-count, 4));
  width: 100%;
  margin: 0;
}
.zielgruppen-nav__list {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zielgruppen-nav__item {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}
.zielgruppen-nav__item.color-beige .zielgruppen-nav__link {
  background-color: rgba(226, 191, 160, 0.9);
  color: #262626;
}
.zielgruppen-nav__item.color-rose-dark .zielgruppen-nav__link {
  background-color: rgba(187, 145, 145, 0.9);
  color: #fff;
}
.zielgruppen-nav__item.color-blue-dark .zielgruppen-nav__link {
  background-color: rgba(46, 91, 106, 0.9);
  color: #fff;
}
.zielgruppen-nav__item.color-green-light .zielgruppen-nav__link {
  background-color: rgba(167, 191, 183, 0.9);
  color: #262626;
}
.zielgruppen-nav__item.color-rose-light .zielgruppen-nav__link {
  background-color: rgba(198, 165, 165, 0.9);
  color: #262626;
}
.zielgruppen-nav__item.color-red-dark .zielgruppen-nav__link {
  background-color: rgba(151, 96, 100, 0.9);
  color: #fff;
}
.zielgruppen-nav__link {
  display: block;
  padding: 16px 10px;
  font-size: 16px;
  line-height: 1.25;
  font-weight: normal;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.zielgruppen-nav__link:hover,
.zielgruppen-nav__link:focus {
  opacity: 0.85;
  text-decoration: none;
}
@media (max-width: 767px) {
  .zielgruppen-nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .zielgruppen-nav__list {
    min-width: 100%;
  }
  .zielgruppen-nav__item {
    flex: 1 0 25%;
    min-width: 120px;
  }
  .zielgruppen-nav__link {
    padding: 14px 8px;
    font-size: 15px;
  }
}
@media (min-width: 992px) {
  .acf-container-zielgruppen .kachel-outer .kachel {
    min-height: 220px;
  }
}
/* Startseite kompakt – nur body.home */
body.home .acf-container .acf-text-layout {
  margin-top: 15px;
  margin-bottom: 30px;
}
body.home .acf-container-text-spalten .acf-text-layout img {
  max-width: 280px;
  margin: 0 auto;
  display: block;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-intro {
  text-align: center;
  margin-bottom: 20px;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-bild img {
  max-width: 100%;
  width: 100%;
  max-height: 300px;
  height: 100%;
  object-fit: cover;
  margin: 0;
  display: block;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-zitat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  margin-top: 0;
  min-height: 0;
  overflow: hidden;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-zitat h3 {
  margin: 0 0 10px;
  font-size: clamp(15px, 1.6vw, 22px);
  line-height: 1.35;
}
body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-zitat p {
  font-family: "Crimson Text", Georgia, "Times New Roman", Times, serif;
  font-size: clamp(13px, 1.4vw, 22px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.4;
  margin: 0;
}
@media (max-width: 767px) {
  body.home .acf-container-text-spalten .startseite-welcome .startseite-welcome-zitat {
    margin-top: 20px;
    text-align: center;
  }
}
body.home .acf-container-startseite_2-cols .acf-text-layout {
  margin-top: 25px;
  margin-bottom: 25px;
}
body.home .acf-container-text-spalten + .acf-container-startseite_2-cols .acf-text-layout {
  margin-top: 15px;
}
body.home .acf-container-zielgruppen .kachel-outer {
  margin-top: 10px;
  margin-bottom: 30px;
}
body.home .acf-container-zielgruppen .kachel .kachel {
  visibility: hidden;
  opacity: 0;
}
body.home .acf-container-zielgruppen .kachel .kachel-hover {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) {
  body.home .acf-container-zielgruppen .kachel-outer .kachel {
    width: 50%;
    float: left;
  }
}
@media (min-width: 992px) {
  body.home .acf-container-zielgruppen .kachel-outer .kachel {
    min-height: 180px;
  }
}
body.home .acf-container-zitat .acf-text-layout {
  margin: 35px 0;
}
body.home .acf-container-zitat p {
  font-size: 22px;
  line-height: 30px;
}
body.home .acf-container-accordion #accordion {
  margin-bottom: 40px;
}
body.home .acf-container-accordion #accordion h3.ui-accordion-header-active {
  height: 200px;
}
body.home .acf-container-accordion #accordion .acf-text-layout {
  margin-bottom: 30px;
}
body.home .acf-container-text-bild-spalten .acf-text-layout .text-bild-zeile {
  margin-top: 15px;
  margin-bottom: 10px;
}
body.home .image-link-outer {
  margin-bottom: 30px;
}
