/* Ergänzungen zum Original-Theme: ersetzt, was bisher per JavaScript gesetzt wurde. */
.site { overflow-x: clip; }
.wpb_animate_when_almost_visible { opacity: 1; }

/* Volle Breite der WPBakery-Reihen */
.vc_row[data-vc-full-width='true'] {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: 100vw;
  margin-left: -50vw;
  margin-right: 0;
  padding-left: max(15px, calc((100vw - 1170px) / 2));
  padding-right: max(15px, calc((100vw - 1170px) / 2));
  box-sizing: border-box;
  overflow: visible;
}
.vc_row[data-vc-full-width='true'][data-vc-stretch-content='true'] { padding-left: 0; padding-right: 0; }
.vc_row[data-vc-full-width-init='false'] { opacity: 1; }

/* Startbild */
.held { position: relative; overflow: hidden; aspect-ratio: 2000 / 655; min-height: 320px; background: #1b2733; }
.held-folie { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s ease; }
.held-folie.aktiv { opacity: 1; }
.held-folie img { width: 100%; height: 100%; object-fit: cover; display: block; }
.held-text {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0 max(72px, calc((100vw - 1170px) / 2));
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(30px, 4.86vw, 70px);
  line-height: 1.15;
  text-transform: none;
}
.held-pfeil {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 0;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 28px;
  cursor: pointer;
}
.held-zurueck { left: 16px; }
.held-weiter { right: 16px; }
.held-pfeil:hover { background: rgba(0, 0, 0, 0.6); }

/* Karussells als Scroll-Leisten */
.owl-carousel { display: flex !important; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.owl-carousel::-webkit-scrollbar { display: none; }
.owl-carousel > * { flex: 0 0 calc((100% - 60px) / 3); scroll-snap-align: start; min-width: 0; }
.gallery-fs-thumbnails.owl-carousel { gap: 10px; }
.gallery-fs-thumbnails.owl-carousel > * { flex-basis: calc((100% - 40px) / 5); }
.gallery-fs-thumbnails img { width: 100%; height: auto; display: block; }
@media (max-width: 991px) {
  .owl-carousel > * { flex-basis: calc((100% - 30px) / 2); }
}
@media (max-width: 599px) {
  .owl-carousel > * { flex-basis: 100%; }
  .gallery-fs-thumbnails.owl-carousel > * { flex-basis: calc((100% - 20px) / 3); }
}

/* Mobilmenü */
.mobile-showchildren { border: 0; background: none; color: inherit; }
@media (max-width: 1199px) {
  .main-menu .sub-menu { display: none; }
  .main-menu li.offen > .sub-menu { display: block; }
}

/* Anfahrt statt Google-Karte */
.anfahrt { padding: 32px; background: #f5f7f9; text-align: center; }
.anfahrt .fa { font-size: 36px; color: #1e73be; }
.anfahrt p { margin: 12px 0 20px; }

/* Rechtstexte */
.recht { padding-bottom: 48px; }
.recht h2 { font-size: 20px; margin: 28px 0 10px; }

/* Kontaktformular im Stil des alten Formulars */
.kf-feld { margin-bottom: 16px; }
.kf-label { display: block; margin-bottom: 6px; }
.kf-eingabe { width: 100%; padding: 10px 12px; border: 1px solid #dcdcdc; background: #fff; }
.kf .stern { color: #c0392b; margin-left: 2px; }
.kf button[type='submit'] { padding: 12px 32px; border: 0; background: #1e73be; color: #fff; font-weight: 700; cursor: pointer; }
.kf button[type='submit']:hover { background: #17609f; }
