/*
Theme Name: Astra Child
Template: astra
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child Template: astra */



/* ======================================== Schriften ======================================== */
/* fredoka-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fredoka LOC';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.eot'); /* IE9 Compat Modes */
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-500.svg#Fredoka') format('svg'); /* Legacy iOS */
}


/* fredoka-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fredoka LOC';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.eot'); /* IE9 Compat Modes */
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-600.svg#Fredoka') format('svg'); /* Legacy iOS */
}

/* fredoka-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Fredoka LOC';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/fredoka-v17-latin/fredoka-v17-latin-700.svg#Fredoka') format('svg'); /* Legacy iOS */
}



/* work-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans LOC';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-regular.svg#WorkSans') format('svg'); /* Legacy iOS */
}

/* work-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans LOC';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.eot'); /* IE9 Compat Modes */
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-500.svg#WorkSans') format('svg'); /* Legacy iOS */
}

/* work-sans-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Work Sans LOC';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.eot'); /* IE9 Compat Modes */
  src: url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/work-sans-v24-latin/work-sans-v24-latin-600.svg#WorkSans') format('svg'); /* Legacy iOS */
}



/* caveat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Caveat LOC';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/caveat-v23-latin/caveat-v23-latin-500.eot'); /* IE9 Compat Modes */
  src: url('fonts/caveat-v23-latin/caveat-v23-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/caveat-v23-latin/caveat-v23-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/caveat-v23-latin/caveat-v23-latin-500.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/caveat-v23-latin/caveat-v23-latin-500.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/caveat-v23-latin/caveat-v23-latin-500.svg#Caveat') format('svg'); /* Legacy iOS */
}


@font-face {
  font-family: 'sternchen';
  src:
    url('/wp-content/uploads/elementor/custom-icons/sternchen/fonts/sternchen.ttf?1pp9cm') format('truetype'),
    url('/wp-content/uploads/elementor/custom-icons/sternchen/fonts/sternchen.woff?1pp9cm') format('woff'),
    url('/wp-content/uploads/elementor/custom-icons/sternchen/fonts/sternchen.svg?1pp9cm#sternchen') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'sternchen' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.sternchensternchen-pfeil:before {
  content: "\e900";
  color: #fff;
}
.sternchensternchen-brillen-keyvisual-stern:before {
  content: "\e901";
}


/* ======================================== Menü ======================================== */
.header-gradient-border.e-con,
.body-gradient-border {
    border-bottom: 5px solid transparent;
    border-image: linear-gradient(90deg, #00C4E9 0%, #C70087 33%, #F1B53D 66%, #A5C79D 100%) 1;
}

.footer-gradient-border.e-con {
    border-top: 5px solid transparent !important;
    border-image: linear-gradient(90deg, #00C4E9 0%, #C70087 33%, #F1B53D 66%, #A5C79D 100%) 1;
}

/* =========================================================
   STERNCHEN — Schrumpfender Header
   Gesteuert über .is-shrunk (Skript im Footer).

   :not(.elementor-sticky__spacer) ist zwingend: Elementor
   klont den Header als unsichtbaren Platzhalter.
   ========================================================= */

/* ---------- Übergänge (Grundzustand) ---------- */

.elementor-location-header .e-con-inner,
.elementor-location-header .e-con {
	transition: padding-block .35s ease, min-height .35s ease;
}

.elementor-location-header .elementor-widget-theme-site-logo img {
	height: auto;
	transition: max-width .35s ease;
}

.elementor-location-header .elementor-item,
.elementor-location-header .elementor-button {
	transition: padding .35s ease;
}


/* =========================  DESKTOP  ===================== */

.elementor-location-header.is-shrunk
.elementor-element-ef78901:not(.elementor-sticky__spacer) {
	min-height: 0 !important;
	padding-block: 0 !important;
}

.elementor-location-header.is-shrunk
.elementor-element-ef78901:not(.elementor-sticky__spacer) > .e-con-inner {
	min-height: 0 !important;
	padding-block: 8px !important;
}

/* Logo */
.elementor-location-header.is-shrunk
.elementor-element-ef78901:not(.elementor-sticky__spacer)
.sternchen-header__logo img {
	max-width: 240px !important;
}

/* Menü — vertikales Padding der Links reduzieren */
.elementor-location-header.is-shrunk
.elementor-element-ef78901:not(.elementor-sticky__spacer)
.elementor-item {
	padding-block: 6px !important;
}

/* Button */
.elementor-location-header.is-shrunk
.elementor-element-ef78901:not(.elementor-sticky__spacer)
.elementor-button {
	padding-block: 8px !important;
}


/* =====================  MOBIL / TABLET  ================== */

/*.elementor-location-header.is-shrunk
.elementor-element-387d6aa:not(.elementor-sticky__spacer) {
	min-height: 0 !important;
	padding-block: 0 !important;
}

.elementor-location-header.is-shrunk
.elementor-element-387d6aa:not(.elementor-sticky__spacer) > .e-con-inner {
	min-height: 0 !important;
	padding-block: 6px !important;
}

.elementor-location-header.is-shrunk
.elementor-element-387d6aa:not(.elementor-sticky__spacer)
.elementor-element-8f07e84 img {
	max-width: 160px !important;
}

.elementor-location-header.is-shrunk
.elementor-element-387d6aa:not(.elementor-sticky__spacer)
.elementor-button {
	padding-block: 6px !important;
}*/

/* Off-Canvas: Untermenüs unterhalb aufklappen statt seitlich */
@media (max-width: 1440px) {

  /* Off-Canvas Menü: Untermenüs untereinander aufklappen */

/* 1. Kein Positionierungs-Kontext auf den Elternelementen */
.elementor-element-cfdcfb2 .elementor-nav-menu li {
  position: static !important;
}

/* 2. Untermenü zurück in den Fluss – das schaltet SmartMenus um */
.elementor-element-cfdcfb2 ul.sub-menu {
  position: static !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  white-space: normal !important;   /* hebt .sm-nowrap auf */
  transform: none !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  z-index: auto !important;
}

/* 3. Einrückung der Unterpunkte */
.elementor-element-cfdcfb2 ul.sub-menu .elementor-sub-item {
  padding-left: 2em !important;
}
.elementor-element-cfdcfb2 ul.sub-menu ul.sub-menu .elementor-sub-item {
  padding-left: 3em !important;
}

/* 4. Pfeil dreht beim Öffnen */
.elementor-element-cfdcfb2 a[aria-expanded="true"] .sub-arrow i {
  transform: rotate(180deg);
}
.elementor-element-cfdcfb2 .sub-arrow i {
  transition: transform .2s ease;
}
}


/* Off-Canvas Panel scrollbar machen */
.e-off-canvas__main {
  display: flex;
  flex-direction: column;
  max-height: 100dvh;
}

.e-off-canvas__header {
  flex: 0 0 auto;
}

.e-off-canvas__content {
  flex: 1 1 auto;
  min-height: 0;                       /* entscheidend im Flex-Kontext */
  overflow-y: auto;
  overscroll-behavior: contain;        /* kein Durchscrollen auf die Seite */
  -webkit-overflow-scrolling: touch;   /* iOS Momentum-Scrolling */
}


/* ======================================== Typografie ======================================== */

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0px !important;
}

b, strong {
	  font-weight: 600;
}

.h1-dunkel h1 {
	color: var( --e-global-color-primary ) !important;
}

.h2-weiss h2 {
	color: #fff !important;
}

.highlight-blau {
	font-family: 'Fredoka LOC';
	font-style: normal;
	font-weight: 500;
	color: var( --e-global-color-accent );
	letter-spacing: 0.03em;
}

.highlight-magenta {
	font-family: 'Fredoka LOC';
	font-style: normal;
	font-weight: 500;
	color: var( --e-global-color-secondary );
	letter-spacing: 0.03em;
}

.zitat {
	font-family: "Caveat LOC", Sans-serif;
	font-weight: 500;
	color: var( --e-global-color-secondary );
	font-size: 25px;
	line-height: 28px;
}

/* Button Animation allgemein */
.elementor-animation-grow:hover {
  transform: scale(1.05);
}


/* Aufzählungszeichen */
/* Alle Inhaltslisten – ohne Elementor-Widgets, Menüs und Slider */
ul:not(
  [class*="elementor-"],
  [class*="e-n-"],
  [class*="swiper"],
  .menu,
  .sub-menu,
  .page-numbers
) {
  list-style: none;
  margin: 1.5em 0;
  padding: 0;
}

ul:not(
  [class*="elementor-"],
  [class*="e-n-"],
  [class*="swiper"],
  .menu,
  .sub-menu,
  .page-numbers
) > li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 15px;
}

ul:not(
  [class*="elementor-"],
  [class*="e-n-"],
  [class*="swiper"],
  .menu,
  .sub-menu,
  .page-numbers
) > li::before {
  content: "\e901";
  font-family: 'sternchen' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 22px;
  position: absolute;
  left: 0;
  color: #fff;
}

/* --- Farbvarianten --- */
ul.liste-dunkel.liste-dunkel > li::before,
.liste-dunkel ul:not([class]) > li::before {
  color: #00C4E9;
}

.elementor-menu-anchor {
  scroll-margin-top: 250px;   /* Header 80px + etwas Luft */
}



/* ======================================== Herobereich Unterseiten ======================================== */
/* =========================================================
   BLEED-ROW
   Boxed-Optik links, rechts bis zum Viewport-Rand.
   Funktioniert mit e-con-full und e-con-boxed.
   ========================================================= */

.bleed-row {
	--content-width: 1500px;  /* Content Width aus den Site-Einstellungen */
	--gutter-min: 20px;
	--split: 55;              /* Anteil des linken Blocks in Prozent */
	--gap: 0px;
}

/* Bei e-con-boxed ist .e-con-inner die Flex-Zeile,
   bei e-con-full der Container selbst. */
.bleed-row.e-con-full,
.bleed-row > .e-con-inner {
	--edge: max(
		var(--gutter-min),
		calc((100% - var(--content-width)) / 2)
	);

	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--gap);
	max-width: 100%;
	padding-inline: var(--edge) 0 !important;
}

/* Linker Block — überschreibt Elementors eigene Breiten-Variable */
.bleed-row .bleed-row__main {
	--width: calc(
		min(100%, var(--content-width))
		* var(--split) / 100
	);

	flex: 0 0 var(--width) !important;
	width: var(--width) !important;
	max-width: var(--width) !important;
	min-width: 0;
}

/* Rechter Block — Rest bis zur Viewport-Kante */
.bleed-row .bleed-row__bleed {
	--width: auto;

	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
}


/* ---------- Ab 1540px abwärts: Text bekommt eigene Luft ---------- */

@media (max-width: 1540px) {
	.bleed-row .bleed-row__main {
		padding-inline: 40px !important;
	}
}

/* ---------- Ab 1280px abwärts: normaler Stapel ---------- */

@media (max-width: 1280px) {
	.bleed-row.e-con-full,
	.bleed-row > .e-con-inner {
		flex-wrap: wrap;
		gap: 24px;
		padding-inline: 0 !important;
	}

	.bleed-row .bleed-row__main,
	.bleed-row .bleed-row__bleed {
		--width: 100%;

		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: none !important;
	}

	.bleed-row .bleed-row__bleed {
		aspect-ratio: 16 / 9;
		min-height: 300px;
	}
}

/* ---------- Auf Mobil weniger Rand ---------- */

@media (max-width: 767px) {
	.bleed-row .bleed-row__main {
		padding-inline: 20px !important;
	}
}

/* ======================================== Kinderbrillen Kollektion Slider ======================================== */

.kollektion .e-n-carousel .swiper-wrapper .swiper-slide {
	overflow: visible !important;
}

.kollektion .e-n-carousel .swiper-wrapper {
	padding-bottom: 10px;
}

.kollektion .e-n-carousel {
  padding-left: max(20px, (100% - 1140px) / 2);
  padding-right: 160px;
}

.kollektion .elementor-swiper-button-prev {
  left: calc(max(20px, (100% - 1140px) / 2) + 20px);
}
.kollektion .elementor-swiper-button-next {
  right: 40px;
}

@media (max-width: 1024px) {
  .kollektion .e-n-carousel { padding-left: 25px; padding-right: 25px; }
  .kollektion .elementor-swiper-button-prev { left: 20px; }
}

@media (max-width: 767px) {
  .kollektion .e-n-carousel { padding-left: 10px; padding-right: 10px; }
}

.kollektion .elementor-swiper-button {
  transition: opacity .25s ease;
}
.kollektion .elementor-swiper-button.swiper-button-disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


.kollektion .elementor-swiper-button {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #16205A;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kollektion .elementor-swiper-button i {
  font-size: 18px;
  line-height: 1;
  color: #fff;
}
.kollektion .elementor-swiper-button:hover {
  background: #E6007E;
}

.kollektion .elementor-swiper-button i {
  display: block;
  line-height: 1;
}
.kollektion .elementor-swiper-button-prev i {
  transform: rotate(-90deg);
}
.kollektion .elementor-swiper-button-next i {
  transform: rotate(90deg);
}

@media (max-width: 1024px) {
	.kollektion .elementor-swiper-button {
  width: 50px;
  height: 50px;
}
}


/* ======================================== Blog ======================================== */
.blog .swiper {
	padding: 15px !important;
}
.blog .swiper .swiper-slide {
	overflow: visible !important;
}


.e-loop-item:nth-of-type(1) > .elementor-element-59098e3 { transform: rotate(-2deg); }
.e-loop-item:nth-of-type(2) > .elementor-element-59098e3 { transform: rotate(2deg); }
.e-loop-item:nth-of-type(3) > .elementor-element-59098e3 { transform: rotate(-2deg); }


/* ======================================== Referenzen ======================================== */

/* Platz für Tape und Schatten */
.elementor-main-swiper { padding: 0px 4px 20px; }

.elementor-testimonial {
  position: relative;
  overflow: visible;
  border-radius: 25px;
  padding: 45px 30px 30px;
}

/* Klebestreifen */
.elementor-testimonial::before {
  content: "";
  position: absolute;
  top: -16px; left: 53%;
  width: 147px; height: 40px;
  background: rgba(243, 243, 243, 0.6);
  box-shadow: 0 3px 9px rgba(0,0,0,.3);
  transform: translateX(-60%) rotate(-2deg);
  pointer-events: none;
}

.swiper-slide:nth-of-type(even) .elementor-testimonial::before {
  transform: translateX(-60%) rotate(1deg);
}

.elementor-testimonial::before {
  transform: translateX(-60%) rotate(calc(var(--tilt, 0deg) * -1 - 1.5deg));
}

/* Farbwechsel im Dreier-Rhythmus */
.swiper-slide:nth-of-type(3n+1) .elementor-testimonial { 
	background-color: #C9DDC4; 
	box-shadow: 4px 4px 0 rgba(216, 216, 216, 1); 
}

.swiper-slide:nth-of-type(3n+2) .elementor-testimonial { 
	background-color: #F9E1B1; 
	box-shadow: 4px 4px 0 rgba(216, 216, 216, 1); 
}

.swiper-slide:nth-of-type(3n+3) .elementor-testimonial { 
	background-color: #99E7F6; 
	box-shadow: 4px 4px 0 rgba(216, 216, 216, 1); 
}

.swiper-slide:nth-of-type(odd)  .elementor-testimonial { --tilt: -2deg; }
.swiper-slide:nth-of-type(even) .elementor-testimonial { --tilt: 2deg; }

.elementor-testimonial {
  transform: rotate(var(--tilt, 0deg));
}

.elementor-testimonial::before {
  transform: translateX(-60%) rotate(calc(var(--tilt, 0deg) * -1));
}

/* Slides auf gleiche Höhe strecken */
.swiper-wrapper { 	align-items: stretch; }
.swiper-slide { height: auto; display: flex; align-items: stretch; }
.elementor-testimonial { 
	width: 100%;
	display: flex;
	flex-direction: column;
	align-self: stretch;
}

/* Der Textbereich frisst den freien Platz */
.elementor-testimonial__content { flex: 1 1 auto; }

.elementor-testimonial__footer {
  margin-top: auto;
  flex: 0 0 auto;
}

/* Referenzen Dots */
.referenzen .swiper-pagination-bullet,
.referenzen .swiper-pagination-bullet-active {
  width: auto !important;
  height: auto !important;
  background: none !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  line-height: 1;
  margin: 0 8px !important;
}
/* Standardpunkt neutralisieren */
.referenzen .swiper-pagination-bullet {
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  opacity: 1;
  line-height: 1;
  margin: 0 8px !important;
}

/* Sternchen aus der Icon-Font */
.referenzen .swiper-pagination-bullet::before {
  content: "\e901";
  font-family: 'sternchen' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  display: block;
  font-size: 24px;
  color: var( --e-global-color-primary );
	opacity: 40%;	
  transition: color .25s ease, transform .25s ease;
}

/* aktiver Punkt */
.referenzen .swiper-pagination-bullet-active::before {
  color: var( --e-global-color-secondary );
  transform: scale(1.15);
	opacity:1;
}

/* ======================================== FAQ ======================================== */

.e-n-accordion-item[open] > .e-n-accordion-item-title {
  border-radius: 25px 25px 0 0;
}

/* geschlossen: Schatten am Titel */
.e-n-accordion-item-title {
  box-shadow: 4px 4px 0 0 #D8D8D8;
}

/* geöffnet: Schatten weg vom Titel … */
.e-n-accordion-item[open] > .e-n-accordion-item-title {
  box-shadow: none;
}

/* … und ans ganze Element */
.e-n-accordion-item[open] {
  box-shadow: 4px 4px 0 0 #D8D8D8;
  border-radius: 25px;
}

/* geschlossen: Pfeil nach unten */
.e-n-accordion-item-title-icon i,
.e-n-accordion-item-title-icon svg {
  transform: rotate(180deg);
  transition: transform .3s ease;
}

/* geöffnet: Pfeil nach oben */
.e-n-accordion-item[open] .e-n-accordion-item-title-icon i,
.e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
  transform: rotate(0deg);
}

.e-n-accordion-item-title-icon::before {
  content: "\e901";
  font-family: 'sternchen' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  font-size: 22px;
  margin-right: 12px;
  flex: 0 0 auto;
}

.e-n-accordion-item-title-icon {
  display: flex;
  align-items: center;
}

.e-n-accordion-item:nth-of-type(4n+1) .e-n-accordion-item-title-icon::before { color: var(--e-global-color-secondary); }
.e-n-accordion-item:nth-of-type(4n+2) .e-n-accordion-item-title-icon::before { color: #F1B53D; }
.e-n-accordion-item:nth-of-type(4n+3) .e-n-accordion-item-title-icon::before { color: #A5C79D; }
.e-n-accordion-item:nth-of-type(4n+4) .e-n-accordion-item-title-icon::before { color: var(--e-global-color-accent); }


/* ======================================== Scroll To Top ======================================== */

#ast-scroll-top {
  width: 56px;
  height: 56px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--e-global-color-primary);
  color: #fff;
  box-shadow: 0 4px 16px rgba(22, 32, 90, .18);
  transition: background-color .25s ease, transform .25s ease;
  border: 2px solid white;
}

#ast-scroll-top .ast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#ast-scroll-top .ast-arrow-svg {
  width: 20px;
  height: auto;
  fill: currentColor;
}

#ast-scroll-top:hover {
  background: var(--e-global-color-secondary);
  transform: translateY(-3px);
}

#ast-scroll-top:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--e-global-color-secondary);
}

@media (max-width: 768px) {
  #ast-scroll-top { width: 48px; height: 48px; }
  #ast-scroll-top .ast-arrow-svg { width: 17px; }
	
	.ast-scroll-to-top-right {
		right: 15px;
	}
}


/* ======================================== Galerie Slider ======================================== */
.schatten-slider .e-con-inner {
	box-shadow: 4px 4px 0 0 #D8D8D8;
	border-radius: 25px;
	padding: 25px;
}

.lSSlideOuter .lSPager.lSGallery::before, 
.lSSlideOuter .lSPager.lSGallery::after,
.lSGallery li::before,
.lslide::before,
.lSSlideWrapper .clone.left::before,
.lSSlideWrapper .clone.right::before{
  display: none;
}

.lSGallery li {
  padding-left: 0 !important;
  height: 95px;
  border-radius: 25px;
}

.lSGallery li img {
  object-fit: cover;
  height: 100% !important;
  width: 100% !important;
}

.lSSlideOuter .lSPager.lSGallery li.active {
  border-color: var(--e-global-color-primary) !important;
  border-radius: 25px;
}

.lSSlideWrapper .lslide,
.lSSlideWrapper .clone.left,
.lSSlideWrapper .clone.right{
	height: 450px;
	padding-left: 0;
}

.lSSlideWrapper .lslide img,
.lSSlideWrapper .clone.left img,
.lSSlideWrapper .clone.right img {
  object-fit: cover !important;
  height: 100% !important;
	border-radius: 25px;
}

.item:has(.lSSlideOuter) {
	padding: 0 !important;
}

.gwts-gwl-slidergal {
	height: 450px !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
}

.lSAction > a {
	width: 40px;
	height: 40px;
	opacity: 1;
	background-color: var(--e-global-color-primary);
	border-radius: 50%;
	background-image: none;
	transition: opacity 0.15s linear 0s;
}

.lSAction > a:hover {
  opacity: 0.7;
}

.lSAction > a.lSPrev::before {
  content: "\e900";
  color: #fff !important;
  font-family: 'sternchen' !important;
  font-size: 12px;
  transform: rotate(-90deg);
  display: inline-block;
  margin-left: 0.5rem;
  margin-top: 0.5rem;
}

.lSAction > a.lSNext::before {
  content: "\e900";
  color: #fff !important;
  font-family: 'sternchen' !important;
  font-size: 12px;
  transform: rotate(90deg);
  display: inline-block;
  margin-left: 0.65rem;
  margin-top: 0.5rem;
}

@media (max-width: 1280px) {
	.lSGallery li {
  	height: 80px;
}
	
	.gwts-gwl-slidergal,
	.lSSlideWrapper .lslide,
	.lSSlideWrapper .clone.left,
	.lSSlideWrapper .clone.right {
	height: 360px !important;
}
}

@media (max-width: 1024px) {
	.gwts-gwl-slidergal,
	.lSSlideWrapper .lslide,
	.lSSlideWrapper .clone.left,
	.lSSlideWrapper .clone.right {
	height: 300px !important;
}
	
	.lSAction > a {
  	width: 30px;
  	height: 30px;
}
	
	.lSAction > a.lSPrev::before {
  	font-size: 9px;
 	margin-left: 0.45rem;
 	margin-top: 0.25rem;
}
	
	.lSAction > a.lSNext::before {
  	font-size: 9px;
  	margin-left: 0.5rem;
  	margin-top: 0.25rem;
}
}

@media (max-width: 768px) {
	.lSGallery li {
  	height: 115px;
}
	
	.gwts-gwl-slidergal,
	.lSSlideWrapper .lslide,
	.lSSlideWrapper .clone.left,
	.lSSlideWrapper .clone.right {
	height: 360px !important;
}
}

/*@media (max-width: 500px) {
	.gwts-gwl-slidergal,
	.lSSlideWrapper .lslide,
	.lSSlideWrapper .clone.left,
	.lSSlideWrapper .clone.right {
	height: 250px !important;
}
}*/

@media (max-width: 500px) {
	.lSGallery li {
  	height: 90px;
}
	
	.gwts-gwl-slidergal,
	.lSSlideWrapper .lslide,
	.lSSlideWrapper .clone.left,
	.lSSlideWrapper .clone.right {
	height: 200px !important;
}
}

/* ======================================== Kontaktformular ======================================== */
input[type="email"], 
input[type="text"],
.elementor-field-textual{
 padding: 15px 25px;
min-height: 50px;
}

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="reset"], input[type="tel"], input[type="date"], select {
  height: 50px;
	  padding: 15px 25px;
}

.elementor-field-type-select .select-caret-down-wrapper {
    inset-inline-end: 24px; /* Elementor-Default ist 10px */
}

/* damit der Optionstext nicht unter den Pfeil rutscht */
.elementor-field-type-select select.elementor-field-textual {
    padding-right: 48px;
}

.e-off-canvas__content:has(> .hinweis) {
    flex: 0 0 auto;
}

/* ======================================== Sonstiges ======================================== */
.sternchen-wrapper {
  overflow-x: clip;
}

.elementor-social-icons-wrapper.elementor-grid {
  justify-content: left !important;
  flex-wrap: unset !important;
}

.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item {
	margin-inline: 0 !important;
}

.e--ua-appleWebkit .elementor-grid-0.elementor-widget-social-icons.e-grid-align-center .elementor-grid-item:first-child {
	margin-left: 12.5px !important;
}


/* Button immer unten in der Kachel – Elementor Flexbox-Container */
.kachel-button-unten,
.kachel-button-unten > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

.kachel-button-unten > .elementor-widget-button,
.kachel-button-unten > .e-con-inner > .elementor-widget-button {
    margin-top: auto;
}

/* Fallback für klassische Sektionen/Spalten */
.elementor-column.kachel-button-unten > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

.elementor-column.kachel-button-unten > .elementor-widget-wrap > .elementor-widget-button {
    margin-top: auto;
}