
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

// <weight>: Use a value from 100 to 900
// <uniquifier>: Use a unique and descriptive class name

.noto-sans-<uniquifier> {
  font-family: "Noto Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

:root {

  --bs-primary: #4D7A43;
  --bs-secondary: #6FA05E;
  --bs-success: #4D7A43;

  --bs-warning: #F5A623;

  --bs-light: #F6F9F5;

  --bs-dark: #2E2E2E;

}

* {
  margin: 0;
  padding: 0;
	  font-family: "Noto Sans", sans-serif;
}

html {  scroll-padding-top: 200px;}


body {

  background:#f0f5ef;

}

.slider-hero {
    position: relative;
    width: 100%;
    height: 100vh; /* oder fixe Höhe */
    overflow: hidden;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.headerimage-inner .slick-dotted.slick-slider {
  margin-bottom: 0px; 
}




main p {margin-bottom: 0.2rem;}




.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px 16px;
    z-index: 1000;
    text-decoration: none;
    font-weight: bold;
}

/* Nur sichtbar, wenn per Tastatur fokussiert */
.skip-link:focus {
    top: 10px;
}




main .frame-custom-50 .gallery-item img {border-radius: 46px;   box-shadow:0 8px 20px rgba(0,0,0,0.2);}


.filelink-list span:before {
  font-family: 'Font Awesome\ 5 Free';
  content: '\f1c1';
  margin: 0 5px 0 0px;
  color: #79ac2b;
  font-size: 30px;
  font-weight: 900;
}



.news-archiv .news-img-wrap img {
  filter: grayscale(100%);
}



.slick-slide figure .caption {
  padding-top: 0.25rem;
  font-size: 5rem;
  word-wrap: break-word;
  opacity: 0.8;
  position: absolute;
  z-index: 10000;
  border: 2;
  top: 35%;
  text-align: center;
  margin: 0 auto;
  width: 100%;
	color:#fff;
	font-weight: bold;
}



main a {
  color:#0b0c0c ;
  text-decoration: none;
}


.frame-custom-22 .gallery-item img {  width: 80%;}
.frame-custom-23 .gallery-item img {  width: 60%;}
.frame-custom-24 .gallery-item img {  width: 40%;}
.frame-custom-25 .gallery-item img {  width: 20%;}
.frame-custom-26 .gallery-item img {  width: 10%;}

.frame-custom-27 .gallery-item img {  width: 80%;float: left;}
.frame-custom-28 .gallery-item img {  width: 60%;float: left;}
.frame-custom-29 .gallery-item img {  width: 40%; float: left;}
.frame-custom-30 .gallery-item img {  width: 20%;float: left;}
.frame-custom-31 .gallery-item img {  width: 10%;float: left;}



.frame a[class=""], .frame a:not([class]) {
  color: #303030;
}

.container .row .col .row .container {padding:0;}
.container .row .col .row .container .row {padding:0; margin:0;}
.container .row .col .row .container .row .col {padding:0; margin:0;}


.mobilehead {display: none;}
.kopfbereich .logo {  margin-top: 0.4%;   }
.kopfbereich .menu { }
.kopfbereich .headerright {float: right; padding-top: 22px;direction: ltr;   }
.kopfbereich  .textmedia  {gap:0;}
.kopfbereich .frame {padding: 0; }
.kopfbereich .row {--bs-gutter-x: 0px;}
.kopfbereich {  z-index: 100;  position: fixed;   width: 100%;  transform: none; position: sticky;  top: 0;  
  padding-top: 8px;   background:#f0f5ef;}
.kopfbereich .rechterbereich {float: right; margin-left: 10px; padding-top: 0.2%;}
.kopfbereich .sprachenbereich {float: right; margin-left: 10px;}
footer {
  margin-top: 50px;
  padding-top: 0px;

}




/* 1) Flex-Header */
.header-row{
  display:flex;
  align-items:center;
  width:100%;
  gap: 0;              /* kein extra Abstand zwischen Blöcken */
}
.header-row{
  position: relative;
  z-index: 5000;
  overflow: visible;   /* wichtig: darf nicht hidden sein */
}

.header-menu.menu{
  position: relative;
  z-index: 6000;
  overflow: visible;   /* wichtig */
}

.logomenu {padding-bottom: 20px;}
.header-logo { flex: 0 0 350px; display:flex; align-items:center; }
.header-logo img { max-width:300px; width:100%; height:80px; display:block; }

.logosmenu {
  display: flex;
  justify-content: flex-end; /* rechtsbündig */
  align-items: center;
  gap: 20px;                 /* Abstand zwischen Logos */
}

.logosmenu img {
  height: 40px;              /* FIX: 40px Höhe */
  width: auto;
  display: block;
}

/* 4) Menü nimmt den Rest und startet links (nicht zentriert) */
.header-menu{
  flex: 1 1 auto;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
  min-width: 0;        /* verhindert komische Überläufe */
}

/* 5) Menü-UL resetten (hier entsteht oft der große Abstand) */
.header-menu ul.navilo{
  margin: 0;
  padding: 0;
  list-style: none;
  display:flex;
  align-items:center;
  gap: 30px;           /* Abstand zwischen Menüpunkten (anpassen) */
}

/* falls irgendwo margins auf li/a sind */
.header-menu ul.navilo > li{
  margin: 0;
  padding: 0;
}

/* 6) Social immer ganz rechts */
.header-social{
  flex: 0 0 auto;
  margin-left: auto;
  display:flex;
  align-items:center;
}

/* Optional: auf kleineren Screens untereinander */
@media (max-width: 768px){
  .header-row{ flex-direction:column; align-items:stretch; }
  .header-logo{ flex: 0 0 auto; max-width: 200px; margin-right: 0; }
  .header-menu{ justify-content:center; }
  .header-social{ margin-left: 0; justify-content:center; }
}

.kopfbereichr + main {
  padding-top: 80px;
}


.tx-powermail   .col-sm-2 {    width: 100%;  }



/* Außenbereich: Hintergrund + Luft */
.headerimage-outer{
  background: #e5e5e5;   /* hellgrau */
  padding: 10px 0 60px;
}

.headerimage-inner{
  width: 80%;
  margin: 0 auto;
  max-width: 1800px;

  border-radius: 0;
  overflow: hidden;

  /* Schatten nur unten, schmal */
  box-shadow:
    0 18px 22px -14px rgba(0,0,0,0.35);
}
/* TYPO3-Wrapper sollen die Höhe nicht sprengen */
.headerimage-inner .frame,
.headerimage-inner .frame-container,
.headerimage-inner .frame-inner,
.headerimage-inner .textmedia,
.headerimage-inner .textmedia-item,
.headerimage-inner .gallery-row,
.headerimage-inner figure,
.headerimage-inner picture{
  display: block;
  width: 100%;
  max-height: 550px;
}

/* Das Bild: maximal 550px hoch, dynamisch zuschneiden */
.headerimage-inner img{
  display: block;
  width: 100%;
  height: 550px;        /* feste Höhe für sauberen Look */
  max-height: 550px;
  object-fit: cover;    /* crop statt verzerren */
}

/* Handy: 100% */
@media (max-width: 768px){
  .headerimage-outer{ padding: 24px 0; }
  .headerimage-inner{ width: 100%; }
}

/* Große Desktops / 4K: 60% */
@media (min-width: 2000px){
  .headerimage-inner{ width: 60%; }
}


.powermail_tab_navigation .pull-right {float: right;}
.powermail_tab_navigation .pull-left {float: left;}
.btn-group {width: 100%;}
 legend {
    font-size: 1.5rem;
    margin-top: 40px;
  }

.powermail_fieldset .col-md-6 {    width: 100%; }


.carousel-item-bodytext a {background-color:#216096; color:#fff !important; ; padding: 6px 14px; border-radius: 4px;}
.carousel-item-bodytext a:hover {background-color:#009770 !important; }
/*###SUCHE*/

.kopfbereich .submitbutt {float: left;}

.slick-slide img {
    display: block;
    width: 100%;
	margin: 0 auto;
}

.slider {
	display: table !important;
	table-layout: fixed !important;
	width: 100% !important;
	position: relative;
	background: #888;
}
.slick-prev, .slick-next {z-index: 100000;}
slider .container {max-width: inherit !important; width: 100% !important;}
slider .container .col, slider .container, 
slider .container .row {padding: 0; margin:0;}
slider h2 {display: none !important;}

 .slick-prev {left: 25px !important;}
.slick-next {right: 25px !important;}

.slick-next::before,
.slick-prev::before {color:#0089cc;font-size: 2.5rem;}

ul.slick-dots {
    bottom: 3% !important;
}

span.resetbutt a {max-width: 180px !important;}








/*###SUCHE*/

.copyright p {font-size: 0.8rem;}

.rootline p {margin-bottom: 0; padding: 8px 0;  text-transform: uppercase; font-size: 1rem;}

.animation {max-height: 800px; overflow: hidden;}





.t3s-slickslider .slick-slide {
  padding: 0.1%;
}



/*++++++ Back to top btn Ende ++++*/


.frame-background-primary h2 {color:#fff !important;}


h1 {
  font-family: inherit;
  font-size: clamp(2.2rem, 3.2vw, 3.2rem);
  text-transform: none;
  color: #e6912a ;
  margin: 0 0 1.2rem 0;
  padding-bottom: 0.75rem;
  position: relative;
font-weight: bold;

}

h2 {
  font-family: inherit;
  font-size: clamp(1.8rem, 2.2vw, 2.2rem);
  color: #535d3d  ;
  margin: 0 0 1.2rem 0;
  padding-bottom: 0.75rem;
  position: relative;
	font-weight: bold;

}

.kopfbereich .textmedia,
.footertext .textmedia {gap:0;}

.logoimage .gallery-item figure {max-width: 65%;margin: 0 auto;}


.hunderter .megazeil,
.hunderter .ce-outer,
.hunderter .ce-row,
.hunderter .ce-gallery,
.hunderter .ce-textpic,
.hunderter .image { width: 100% !important;}
.hunderter .container {padding: 0 !important;}
.hunderter .frame {width: 100%; height: auto; margin: 0;
padding: 0;}

.hunderter .ce-gallery[data-ce-columns="3"] .ce-column {
    width: 33.33333% !important;}

.hunderter {max-width: 100% !important; padding: 0 !important; z-index: 0;}
.hunderter .ce-gallery img {padding: 0;width: 100%; }
.hunderter .ce-column {padding: 0 !important ;}
.hunderter .textmedia {gap:0;}
.hunderter hr {height: 0; padding: 2% 0; background:none !important;}
.hunderter .frame-container-default {
  max-width: 100%; padding: 0; margin:0;
}


.headerimage {position: relative; width: 100%; overflow: hidden; margin-bottom: 0.5%;}
.headerimage .carousel-image picture {width: 100%;}
.headerimage .carousel .carousel-content-inner,
.headerimage  .frame-container {min-width: 100% !important; max-width: inherit !important; padding: 0; margin:0; }

#pageid1 .headerimage .carousel .carousel-content-inner {min-height: 60vh;}

.headerimage .carousel .carousel-content {  height: inherit;}
.headerimage .carousel-item-type-image .carousel-image img {	width: 100%;}
.headerimage .frame {padding: 0;}
.headerimage .carousel .item {height: auto;}


.headerimage .carousel-image {
  display: block;
	z-index: 1;
  width: 100%;
}

.frame-custom-10 .image {max-width: 50%;}
.frame-custom-11 .image {max-width: 65%;}
.frame-custom-12 .image {max-width: 80%;}


.frame-space-before-extra-small {margin-top:0.5%;display: block;}
.frame-space-before-small {margin-top:3%!important;display: block;}
.frame-space-before-medium {margin-top:6% !important;display: block;}
.frame-space-before-large {margin-top:9%;display: block;}

.frame-space-after-extra-small {margin-bottom:0.5%;display: block;}
.frame-space-after-small {margin-bottom:3%;display: block;}
.frame-space-after-medium {margin-bottom:6%;display: block;}
.frame-space-after-large {margin-bottom:9%; display: block;}

.textmedia, .textpic {
		grid-column-gap: rem;
	gap: 0rem 2rem;
}





/* Optional: Pfeile im Slider auch dunkler (besser lesbar) */
.slick-next::before,
.slick-prev::before{
  color: var(--stwv-blue) !important;
}





/*-------------------------------------------------------------- */
/*		Reset */
/*  -------------------------------------------------------------- */
.side-menu,
.side-menu * {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  text-decoration: none;
  line-height: 1;
}

/*-------------------------------------------------------------- */
/*		Root */
/*  -------------------------------------------------------------- */
.side-menu {
  --sm-z-index: 9999;
  --sm-offset: 0px;
  --sm-color: #ffffff;
  --sm-icon-color: #ffffff;
  --sm-extra-text-color: #ffffff;
  --sm-background: #8a8b8c;
  --sm-hover-background: #8a8b8c;
  --sm-item-height: 40px;
  --sm-icon-width: 40px;
  --sm-icon-size: 24px;
  --sm-label-size: 16px;
  --sm-label-font: inherit;
  --sm-label-font-style: normal;
  --sm-label-font-weight: normal;
  --sm-border-width: 0px;
  --sm-border-color: rgba(0, 0, 0, 0.75);
  --sm-radius-top: 0px;
  --sm-radius-bottom: 0px;
  --sm-button-space: 2px;
  --sm-extra-text-width: 270px;
  --sm-extra-fontsize: 16px;
}

/*-------------------------------------------------------------- */
/*		Main */
/*  -------------------------------------------------------------- */
.side-menu {
  position: fixed;
  z-index: var(--sm-z-index);
}
@media print {
  .side-menu {
    display: none;
  }
}
.side-menu.is-hidden.is-left {
  left: -100%;
}
.side-menu.is-hidden.is-right {
  right: -100%;
}
.side-menu .sm-list {
  display: flex;
  flex-direction: column;
  gap: var(--sm-button-space);
}
.side-menu .sm-item {
  position: relative;
  transition: transform 0.4s, opacity 0.4s linear;
}
.side-menu .sm-item:hover > .sm-link {
  background-color: var(--sm-hover-background);
}
.side-menu .sm-link {
  display: flex;
  height: var(--sm-item-height);
  align-items: center;
  color: var(--sm-color);
  background-color: var(--sm-background);
  cursor: pointer;
  transition: background-color 0.2s linear;
}
.side-menu .sm-icon {
  width: var(--sm-icon-width);
  color: var(--sm-icon-color);
  font-size: var(--sm-icon-size);
  text-align: center;
}
.side-menu .sm-icon img {
  width: var(--sm-icon-size);
}
.side-menu .sm-icon.is-hidden {
  display: none;
}
.side-menu .sm-label {
  padding: 0 10px;
  font-size: var(--sm-label-size);
  font-family: var(--sm-label-font);
  font-style: var(--sm-label-font-style);
  font-weight: var(--sm-label-font-weight);
}
.side-menu .sm-input {
  box-sizing: border-box;
  background-color: #fff;
  height: calc(var(--sm-item-height) - 2px - var(--sm-border-width));
  padding-left: 5px;
  padding-right: 5px;
  border: none;
}
.side-menu .sm-input::-webkit-search-decoration, .side-menu .sm-input::-webkit-search-cancel-button, .side-menu .sm-input::-webkit-search-results-button, .side-menu .sm-input::-webkit-search-results-decoration {
  display: none;
}
.side-menu .sm-input:focus {
  outline: none;
}

/*-------------------------------------------------------------- */
/*		Appearance */
/*  -------------------------------------------------------------- */
.side-menu.sm-connected .sm-list {
  border-width: var(--sm-border-width) var(--sm-border-width) var(--sm-border-width) 0;
  border-style: solid;
  border-color: var(--sm-border-color);
}
.side-menu.sm-connected.has-shadow .sm-list {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}
.side-menu:not(.sm-connected) .sm-list .sm-item .sm-link {
  border-width: var(--sm-border-width) var(--sm-border-width) var(--sm-border-width) 0;
  border-style: solid;
  border-color: var(--sm-border-color);
}
.side-menu:not(.sm-connected).has-shadow .sm-list .sm-item .sm-link {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

/*-------------------------------------------------------------- */
/*		Position Left */
/*  -------------------------------------------------------------- */
.side-menu.is-left {
  left: 0;
  transform: translateX(-100%) translateX(var(--sm-icon-width));
  transition: left 0.4s ease-in-out;
  /* Default */
  /* Connected */
}
.side-menu.is-left.-top {
  top: 0;
  margin-top: var(--sm-offset);
}
.side-menu.is-left.-center {
  top: 50%;
  margin-top: var(--sm-offset);
  transform: translateY(-50%) translateX(-100%) translateX(var(--sm-icon-width));
}
.side-menu.is-left.-bottom {
  bottom: 0;
  margin-bottom: var(--sm-offset);
}
.side-menu.is-left:not(.sm-connected) .sm-item {
  align-self: end;
}
.side-menu.is-left:not(.sm-connected) .sm-item .sm-link {
  flex-direction: row-reverse;
  border-top-right-radius: var(--sm-radius-top);
  border-bottom-right-radius: var(--sm-radius-bottom);
}
.side-menu.is-left:not(.sm-connected) .sm-item.sm-open, .side-menu.is-left:not(.sm-connected) .sm-item:hover {
  transform: translateX(100%) translateX(calc(var(--sm-icon-width) * -1));
}
.side-menu.is-left:not(.sm-connected) .sm-item.sm-open .sm-icon.is-hidden, .side-menu.is-left:not(.sm-connected) .sm-item:hover .sm-icon.is-hidden {
  display: block;
}
.side-menu.is-left:not(.sm-connected) .sm-item.sm-open .sm-icon.is-visible, .side-menu.is-left:not(.sm-connected) .sm-item:hover .sm-icon.is-visible {
  display: none;
}
.side-menu.is-left.sm-connected {
  transition: transform 0.4s linear;
}
.side-menu.is-left.sm-connected > .sm-list {
  border-top-right-radius: var(--sm-radius-top);
  border-bottom-right-radius: var(--sm-radius-bottom);
}
.side-menu.is-left.sm-connected > .sm-list > .sm-item:first-child .sm-link {
  border-top-right-radius: var(--sm-radius-top);
}
.side-menu.is-left.sm-connected > .sm-list > .sm-item:last-child .sm-link {
  border-bottom-right-radius: var(--sm-radius-bottom);
}
.side-menu.is-left.sm-connected > .sm-list > .sm-item > .sm-link {
  flex-direction: row-reverse;
}
.side-menu.is-left.sm-connected.sm-open, .side-menu.is-left.sm-connected:hover {
  transform: translateY(-50%) translateX(0);
}
.side-menu.is-left.sm-connected.sm-open .sm-icon.is-hidden, .side-menu.is-left.sm-connected:hover .sm-icon.is-hidden {
  display: block;
}
.side-menu.is-left.sm-connected.sm-open .sm-icon.is-visible, .side-menu.is-left.sm-connected:hover .sm-icon.is-visible {
  display: none;
}
.side-menu.is-left.sm-connected.is-hidden {
  transform: translateY(-50%) translateX(-100%);
}

/*-------------------------------------------------------------- */
/*		Position Right */
/*  -------------------------------------------------------------- */
.side-menu.is-right {
  right: 0;
  margin-top: var(--sm-offset);
  transform: translateX(100%) translateX(calc(var(--sm-icon-width) * -1));
  transition: right 0.4s ease-in-out;
  /* Default */
  /* Connected */
}
.side-menu.is-right.-top {
  top: 0;
}
.side-menu.is-right.-center {
  top: 50%;
  margin-top: var(--sm-offset);
  transform: translateY(-50%) translateX(100%) translateX(calc(var(--sm-icon-width) * -1));
}
.side-menu.is-right.-bottom {
  bottom: 0;
  margin-bottom: var(--sm-offset);
}
.side-menu.is-right:not(.sm-connected) .sm-item {
  align-self: start;
}
.side-menu.is-right:not(.sm-connected) .sm-item .sm-link {
  border-width: var(--sm-border-width) 0 var(--sm-border-width) var(--sm-border-width);
  border-top-left-radius: var(--sm-radius-top);
  border-bottom-left-radius: var(--sm-radius-bottom);
}
.side-menu.is-right:not(.sm-connected) .sm-item.sm-open, .side-menu.is-right:not(.sm-connected) .sm-item:hover {
  transform: translateX(-100%) translateX(calc(var(--sm-icon-width)));
}
.side-menu.is-right.sm-connected {
  transition: transform 0.4s linear;
}
.side-menu.is-right.sm-connected > .sm-list {
  border-width: var(--sm-border-width) 0 var(--sm-border-width) var(--sm-border-width);
  border-top-left-radius: var(--sm-radius-top);
  border-bottom-left-radius: var(--sm-radius-bottom);
}
.side-menu.is-right.sm-connected > .sm-list > .sm-item:first-child .sm-link {
  border-top-left-radius: var(--sm-radius-top);
}
.side-menu.is-right.sm-connected > .sm-list > .sm-item:last-child .sm-link {
  border-bottom-left-radius: var(--sm-radius-bottom);
}
.side-menu.is-right.sm-connected.sm-open, .side-menu.is-right.sm-connected:hover {
  transform: translateY(-50%) translateX(0);
}
.side-menu.is-right.sm-connected.is-hidden {
  transform: translateY(-50%) translateX(100%);
}


.section-divider {

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 30px;

  margin: 80px 0;

}


.divider-line {

  flex: 1;
  height: 2px;

  background: #6b5b53;

  opacity: 0.6;

}


.divider-icon {

  display: flex;
  align-items: center;
  justify-content: center;

}


.divider-icon img {

  height: 70px;
  width: auto;

}



/* ================================
   FOOTER
================================ */

.fusszeile {

background: #e5d7c6;

  position: relative;
	padding-top: 30px;

}

.fusszeile .section-divider {
  margin: 10px 0;
}

/* Container Abstand */

.fusszeile .container {

  position: relative;
  z-index: 2;

}


/* TYPO3 Frame Abstände entfernen */




/* Linkliste schöner darstellen */

.fusszeile #s15-3 p {

  line-height: 2;

}


/* Spalten Abstand */

.fusszeile .row > div {

}

.contact-box {
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.icon-circle {
  width: 36px;
  height: 36px;
  background: #e6912a; /* Farbe anpassen */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 14px;
  flex-shrink: 0;
}

.contact-item a {
  text-decoration: none;
  color: #333;
}

.contact-item a:hover {
  text-decoration: underline;
}
/* ================================
   COPYRIGHT
================================ */

.copyright {

  border-top: 1px solid rgba(255,255,255,0.2);

  margin-top: 40px;

  padding-top: 20px;

  text-align: center;

  font-size: 14px;

  color: rgba(255,255,255,0.8);

}

.copyright p {

  margin: 0;
color:#353535;
}

#footer .gallery-item img {max-width: 300px;}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 992px) {

  .fusszeile {

    padding: 60px 0 30px 0;

  }

}

@media (max-width: 768px) {

  .fusszeile {

    text-align: center;

  }

  .fusszeile .row > div {

    margin-bottom: 30px;

  }

}




.row.kacheln {
  margin-top: 40px;
  align-items: stretch;
}

.row.kacheln > [id^="s125-"] {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.row.kacheln > [id^="s125-"] > .frame {
  flex: 1;
  display: flex;
}

.row.kacheln > [id^="s125-"] > .frame .frame-group-container,
.row.kacheln > [id^="s125-"] > .frame .frame-group-inner,
.row.kacheln > [id^="s125-"] > .frame .frame-container,
.row.kacheln > [id^="s125-"] > .frame .frame-inner,
.row.kacheln > [id^="s125-"] > .frame .textmedia,
.row.kacheln > [id^="s125-"] > .frame .textmedia-text {
  height: 100%;
}

.row.kacheln > [id^="s125-"] > .frame .frame-inner {
  background: #F6F9F5;
  padding: 32px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
}

.row.kacheln h3 {
  margin-top: 0;
}

.row.kacheln p:last-child {
  margin-top: auto;
  margin-bottom: 0;
}

.row.kacheln .btn {
  display: inline-block;
  margin-top: 10px;
}

@media (max-width: 767px) {
  .row.kacheln > [id^="s125-"] {
    gap: 20px;
  }

  .row.kacheln > [id^="s125-"] > .frame .frame-inner {
    padding: 24px;
  }
}


/* =========================
   HERO – Basis
========================= */
.slider-hero{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  margin:0 0 56px 0 !important;
}

/* Bootstrap-Container im Hero neutralisieren */
.slider-hero.container-fluid,
.slider-hero .container-fluid{
  padding:0 !important;
  margin:0 !important;
}

/* Alle TYPO3 / Gallery Wrapper auf volle Fläche bringen */
.slider-hero .frame,
.slider-hero .frame-group-container,
.slider-hero .frame-group-inner,
.slider-hero .frame-container,
.slider-hero .frame-inner,
.slider-hero .textmedia,
.slider-hero .textmedia-gallery,
.slider-hero .gallery-row,
.slider-hero .gallery-item,
.slider-hero figure.image,
.slider-hero picture{
  position:relative;
  display:block;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}

/* Bildbereich */
.slider-hero img{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:72vh !important;
  min-height:540px !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none;
  transform-origin:center center;
}

/* Overlay */
.slider-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex !important;
  align-items:center;
  pointer-events:none;
}

.slider-overlay .container{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding-left:32px;
  padding-right:32px;
}

.slider-content{
  max-width:560px;
  color:#fff;
  pointer-events:auto;
}

.slider-content h1{
  margin:0 0 16px 0;
  color:#fff;
 /* text-transform:uppercase; */
  font-size:clamp(2.4rem, 4vw, 4.2rem);
  line-height:1.05;
  font-weight:600;
}

.slider-content p{
  margin:0 0 24px 0;
  color:#fff;
  font-size:1.2rem;
  line-height:1.45;
}

.slider-btn{
  display:inline-block;
  padding:12px 26px;
  background:#fff;
  color:#333;
  text-decoration:none;
  border-radius:8px;
  transition:transform .25s ease;
}

.slider-btn:hover{
  transform:translateY(-2px);
}

/* Verlauf oben / links */
.slider-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.48) 0%,
      rgba(0,0,0,.28) 34%,
      rgba(0,0,0,.10) 56%,
      rgba(0,0,0,0) 76%
    );
}

/* weicher Übergang unten */
.slider-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:140px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(240,245,239,0) 0%,
    rgba(240,245,239,.30) 40%,
    rgba(240,245,239,.70) 72%,
    #f0f5ef 100%
  );
}

/* =========================
   Tablet
========================= */
@media (max-width: 991.98px){
  .slider-hero img{
    height:66vh !important;
    min-height:500px !important;
    object-position:66% center !important;
  }

  .slider-overlay .container{
    padding-left:24px;
    padding-right:24px;
  }

  .slider-content{
    max-width:470px;
  }

  .slider-content h1{
    font-size:clamp(2rem, 5.4vw, 3.2rem);
  }

  .slider-content p{
    font-size:1.05rem;
  }
}

/* =========================
   Mobile – Bootstrap/Theme Override
========================= */
@media (max-width: 767.98px){

  .slider-hero{
    margin-bottom:52px !important;
  }

  /* Bootstrap im Overlay hart überschreiben */
  .slider-overlay{
    align-items:flex-start !important;
    padding-top:136px !important;
    padding-bottom:84px !important;
  }

  .slider-overlay .container{
    max-width:100% !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  /* Bild hochformatiger + Zoom */
  .slider-hero img{
    width:100% !important;
    height:84vh !important;
    min-height:600px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:72% center !important;
    transform:scale(1.34) !important;
    transform-origin:center center !important;
  }

  /* mobile Verlauf etwas stärker */
  .slider-hero::before{
    background:
      linear-gradient(
        180deg,
        rgba(20,45,70,.50) 0%,
        rgba(20,45,70,.30) 26%,
        rgba(20,45,70,.10) 52%,
        rgba(20,45,70,0) 76%
      ),
      linear-gradient(
        90deg,
        rgba(0,0,0,.30) 0%,
        rgba(0,0,0,.12) 45%,
        rgba(0,0,0,0) 75%
      ) !important;
  }

  .slider-hero::after{
    height:120px !important;
  }

  .slider-content{
    max-width:100% !important;
  }

  .slider-content h1{
    font-size:clamp(1.9rem, 8.8vw, 3rem) !important;
    line-height:1.02 !important;
    margin-bottom:12px !important;
  }

  .slider-content p{
    font-size:1rem !important;
    line-height:1.4 !important;
    margin-bottom:18px !important;
    max-width:95%;
  }

  .slider-btn{
    padding:12px 20px !important;
    font-size:1rem !important;
  }
}

/* =========================
   Kleine Smartphones
========================= */
@media (max-width: 480px){

  .slider-overlay{
    padding-top:124px !important;
    padding-bottom:76px !important;
  }

  .slider-overlay .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .slider-hero img{
    height:80vh !important;
    min-height:560px !important;
    object-position:74% center !important;
     transform:scale(1.22);
  }

  .slider-content h1{
    font-size:clamp(1.75rem, 9.5vw, 2.5rem) !important;
  }

  .slider-content p{
    font-size:.98rem !important;
    max-width:100%;
  }
}

