/**
Theme Name: Astra Child
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
*/

/* poppins-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Poppins LOC';
  font-style: normal;
  font-weight: 400;
  src: 	url('../astra-child/fonts/poppins-v24-latin-regular.eot'); /* IE9 Compat Modes */
  src: 	url('../astra-child/fonts/poppins-v24-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	  	url('../astra-child/fonts/poppins-v24-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       	url('../astra-child/fonts/poppins-v24-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
		url('../astra-child/fonts/poppins-v24-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       	url('../astra-child/fonts/poppins-v24-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
}

/* poppins-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Poppins LOC';
  font-style: normal;
  font-weight: 600;
  src: url('../astra-child/fonts/poppins-v24-latin-600.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/poppins-v24-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/poppins-v24-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/poppins-v24-latin-600.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/poppins-v24-latin-600.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/poppins-v24-latin-600.svg#Poppins') format('svg'); /* Legacy iOS */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Poppins LOC';
  font-style: normal;
  font-weight: 700;
  src: url('../astra-child/fonts/poppins-v24-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/poppins-v24-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/poppins-v24-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/poppins-v24-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/poppins-v24-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/poppins-v24-latin-700.svg#Poppins') format('svg'); /* Legacy iOS */
}

/* noto-sans-300 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: normal;
  font-weight: 300;
  src: url('../astra-child/fonts/noto-sans-v42-latin-300.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-300italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: italic;
  font-weight: 300;
  src: url('../astra-child/fonts/noto-sans-v42-latin-300italic.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-300italic.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-regular - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: normal;
  font-weight: 400;
  src: url('../astra-child/fonts/noto-sans-v42-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-regular.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans LOC';
  font-style: italic;
  font-weight: 400;
  src: url('../astra-child/fonts/noto-sans-v42-latin-italic.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-italic.svg#NotoSans') format('svg'); /* Legacy iOS */
}
/* noto-sans-500 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: normal;
  font-weight: 500;
  src: url('../astra-child/fonts/noto-sans-v42-latin-500.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans LOC';
  font-style: italic;
  font-weight: 500;
  src: url('../astra-child/fonts/noto-sans-v42-latin-500italic.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-500italic.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-600 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: normal;
  font-weight: 600;
  src: url('../astra-child/fonts/noto-sans-v42-latin-600.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-600italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: italic;
  font-weight: 600;
  src: url('../astra-child/fonts/noto-sans-v42-latin-600italic.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-600italic.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-700 - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: normal;
  font-weight: 700;
  src: url('../astra-child/fonts/noto-sans-v42-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700.svg#NotoSans') format('svg'); /* Legacy iOS */
}

/* noto-sans-700italic - latin */
@font-face {
  font-display: swap; 
  font-family: 'Noto Sans LOC';
  font-style: italic;
  font-weight: 700;
  src: url('../astra-child/fonts/noto-sans-v42-latin-700italic.eot'); /* IE9 Compat Modes */
  src: url('../astra-child/fonts/noto-sans-v42-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../astra-child/fonts/noto-sans-v42-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700italic.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700italic.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../astra-child/fonts/noto-sans-v42-latin-700italic.svg#NotoSans') format('svg'); /* Legacy iOS */
}


/* ––––––––––––––– Gestaltung ––––––––––––––– */
h1, h2, h3 {
font-family: 'Poppins LOC', Geneva, Verdana, sans-serif;}

p, h4, h5, h6, a {
font-family: 'Noto Sans LOC', Geneva, Verdana, sans-serif;}

body {
  font-family: 'Noto Sans LOC', Geneva, Verdana, sans-serif;
}

p, ul, ol, li, a {
	word-break: break-word;
	hyphens: auto;
}



.elementor-widget-text-editor p, .elementor-widget-theme-post-content p {
	  margin-bottom: 1em;
}

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

h2 .green, h3 .green, h4 .green {
	color: var(--e-global-color-primary);
}

.style-h3, .style-h3 p {
	color: var( --e-global-color-primary );
  font-family: "Poppins LOC", Sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 38px;
  letter-spacing: 2px;  
margin-bottom: 10px !important;
}

/*Tablet quer*/
@media (max-width: 1280px) {
	.style-h3, .style-h3 p {
  font-size: 25px;
  line-height: 35px;
}}

/*Mobil quer und hoch*/
@media (max-width: 880px) {
	.style-h3, .style-h3 p {
  font-size: 22px;
  line-height: 28px;
}}

.style-h4 h3 {
	color: var( --e-global-color-text );
  font-family: "Noto Sans LOC", Sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 27px;
}

/*Tablet quer*/
@media (max-width: 1280px) {
	.style-h4 h3 {
  font-size: 20px;
  line-height: 25px;
}}


/*Buttons*/
.angebote .button-unten {
	margin-top: auto;
}

/*Copyright*/
.copyright .wp-caption-text {
  margin-top: -20px;
  margin-left: 15px;
  text-align: start;
  color: var( --e-global-color-accent );
  font-family: "Poppins LOC", Sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 15px;
  text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.7);
}

.copyright-2 .wp-caption-text {
  margin-top: -30px;
  margin-left: 15px;
  text-align: start;
  color: var( --e-global-color-accent );
  font-family: "Poppins LOC", Sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 15px;
  text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.7);
}

/* Untertitel */
.flex-image .copyright-2 {
	display: flex;
}

/* Aufzählung */
/*
.site-content ul {
  padding-left: 2.5em;
	margin: 0px;
	margin-bottom: 20px;
}

.site-content ul li {
	padding-left: 0.5em;
	line-height: 28px;
	position: relative;
	list-style: square;
}

.site-content ul li::marker {
  font-size: 1.4em;
	color: var(--e-global-color-b454e84);
}*/

.site-content ul {
  list-style: none;
  padding-left: 1em;
margin-left: 0px;
}

.site-content ul li {
  position: relative;
  padding-left: 1.5em;
}

.site-content ul li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--e-global-color-b454e84);
  position: absolute;
  left: 0;
  top: 0.6em;
}

ul ul {
  list-style: none !important;
  padding-left: 1.2em; /* Platz für dein Quadrat */
}

ul ul > li {
  list-style: none !important;       /* wichtig: auch am li */
  list-style-type: none !important;  /* extra sicher */
  position: relative;
}

/* falls der Browser trotzdem noch was rendert */
ul ul > li::marker {
  content: "" !important;
}

/* dein Outline-Quadrat */
ul ul > li::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  border: 2px solid var(--e-global-color-b454e84);
  position: absolute;
  left: -1.2em;
  top: 0.5em;
  box-sizing: border-box;
}

/* Elementor Navigation: KEINE Pseudo-Elemente */
nav .elementor-nav-menu li::before,
nav .elementor-nav-menu li::marker {
  content: none !important;
  display: none !important;
}

ol li:not(:last-child) {
  padding-bottom: 10px;
}

ol {
	margin-left: 0;
}


/* Menü */
/* --- Farben --- */
/*Hauptmenü HOVER: Textfarbe + Unterstreichung */
.elementor-nav-menu a.elementor-item:hover,
.elementor-nav-menu a.elementor-sub-item:hover {
  color: var(--ast-global-color-2) !important;
  text-decoration: underline;
  text-underline-offset: 10px; /* schöner Abstand */
}

/* ACTIVE / aktuelle Seite */
.elementor-nav-menu .current-menu-item > a,
.elementor-nav-menu .current-menu-ancestor > a {
  color: var(--ast-global-color-2) !important;
  text-decoration: none; /* kein Unterstrich */
}

/* Dropdown-Hintergrund */
.elementor-nav-menu--dropdown {
	background-color: var(--e-global-color-secondary) !important;
}

.elementor-nav-menu--dropdown a:hover {
	background-color: var(--e-global-color-primary) !important;
}

.elementor-nav-menu--dropdown a.elementor-sub-item:hover {
	color: var(--e-global-color-accent) !important;
}

/* DESKTOP: aktiver Untermenüpunkt wie Hover */
  .elementor-nav-menu--dropdown 
  .current-menu-item > a.elementor-sub-item,
  .elementor-nav-menu--dropdown 
  .current-menu-ancestor > a.elementor-sub-item {
    
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-accent) !important;
    text-decoration: none !important;
    text-underline-offset: 10px;
  }




.site-footer  a.elementor-item:hover
{
    color: var(--ast-global-color-4) !important;
}

#footer .elementor-item.elementor-item-active.menu-link {
	color: var( --e-global-color-accent) !important;
}

 #footer .elementor-nav-menu a.elementor-item:hover, .elementor-nav-menu a.elementor-sub-item:hover {
	 color: var( --e-global-color-accent) !important;
}

/* ================================
   MOBILES MENÜ (ab 1280px)
   STILE GETAUSCHT
   ================================ */
@media (max-width: 1280px) {

  /* 1) Dropdown-CONTAINER */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    background-color: var(--e-global-color-accent) !important;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.08);
  }

  /* 2) HAUPTMENÜPUNKTE (jetzt Stil der alten Untermenüs) */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-item {
    background-color: var(--e-global-color-accent) !important;
    color: var(--e-global-color-primary) !important;
  }

  /* Hover/Fokus Hauptebene = invers */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-item:hover,
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown > ul.elementor-nav-menu > li > a.elementor-item:focus-visible {
    background-color: var(--e-global-color-primary) !important;
    color: var(--e-global-color-accent) !important;
    text-decoration: underline;
    text-underline-offset: 10px;
  }

  /* 3) UNTERMENÜ-FLÄCHE */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown ul.sub-menu {
    background-color: var(--e-global-color-secondary) !important;
  }

  /* 4) UNTERMENÜPUNKTE */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown ul.sub-menu li > a.elementor-sub-item {
    background-color: var(--e-global-color-secondary) !important;
    color: var(--e-global-color-text) !important;
  }

  /* Hover/Fokus Untermenü = invers */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown ul.sub-menu li > a.elementor-sub-item:hover,
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown ul.sub-menu li > a.elementor-sub-item:focus-visible {
    background-color: var(--e-global-color-text) !important;
    color: var(--e-global-color-secondary) !important;
    text-decoration: underline;
    text-underline-offset: 10px;
  }

  /* 5) Aktiver Menüpunkt */
  .menu #hauptnavigation
  .elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-item > a {
    text-decoration: underline;
    text-underline-offset: 10px;
  }
}

/* ---------------------------
   4) Arrow: SVG aus, eigenes Icon via Font (rfa-icons)
   - kein Underline (durch Background-Line gelöst)
   - Farbe folgt Text (currentColor)
   --------------------------- */

/* SVG ausblenden */
.elementor-nav-menu .sub-arrow svg {
  display: none !important;
}

/* Platz für Pfeil reservieren (wichtig für calc(100% - 1.8em)) */
.elementor-nav-menu .sub-arrow {
  display: inline-block;
  width: 1.8em;
  vertical-align: middle;
}

.elementor-nav-menu .sub-arrow {
    width: 16px;
    height: 16px;
    background: url('/wp-content/uploads/2026/02/icon-arrow-down.svg') no-repeat center;
	margin-left: 8px;
    background-size: contain;
}

@media (max-width: 1280px) {
.has-submenu:hover .sub-arrow {
	background: url('/wp-content/uploads/2026/02/icon-arrow-down-weiss.svg') no-repeat center;
}
	}

/* Pfeil Grundzustand */
.elementor-nav-menu .sub-arrow {
    transition: transform 0.25s ease;
}

/* NUR mobiles Menü */
@media (max-width: 880px) {

  /* Hover → Pfeil weiß */
  .elementor-nav-menu--dropdown 
  a.elementor-item:hover 
  .sub-arrow svg path {
      fill: #ffffff !important;
  }
}


.menu ul.elementor-nav-menu--dropdown a:hover {
	line-height: 25px;
}
	
@media (max-width: 1620px){
	.menu-logo {
		width: 15% !important;
	}
	}

@media (max-width: 1490px) {
	.menu .menu-item a {
		font-size: 16px !important;
	}
}

@media (max-width: 1440px) {
	.menu .menu-item a {
		font-size: 18px !important;
	}
	
	.menu-logo {
		width: 20% !important;
	}
}

@media (max-width: 1280px) {
	.menu-logo {
		width: 22% !important;
	}
	
	.logo-sub-menu {
		align-items: center;
	}
}

@media (max-width: 1024px) {
	.menu-logo {
		width: 30% !important;
	}
	.menu-suche {
		column-gap: 0%;
	}
}

@media (max-width: 880px) {
	.menu-logo {
		width: 40% !important;
	}
	
	.menu {
		width: 60% !important;
	}
	
	.elementor-menu-toggle {
		padding: 0;
	}
	.menu-kontakt-btn {
		width: 60% !important;
	}
	
	.menu-suchleiste {
		width: 60% !important;
	}
}

@media (max-width: 630px) {
	.menu-suche {
		width: 100%;
	}
	
	.menu-kontakt-btn {
		width: 50% !important;
	}
	
	.menu-suchleiste {
		width: 50% !important;
	}
	
	.home-main-menu {
		padding: 15px 25px 15px 25px;
	}
	
	.menu-logo {
		margin-top: 0;
	}
}

@media (max-width: 474px) {
	.menu-kontakt-btn {
    width: 100% !important;
		margin-bottom: 5px !important;
  }
	
	.menu-suchleiste {
    width: 100% !important;
		margin: 0 !important;
  }
	
	.menu-kontakt-btn a {
		width: 100%;
	}
	
	.menu-logo {
		width: 50% !important;
	}
	
	.menu {
		width: 50% !important;
	}
}

/*----Suche----*/
#search-query-line {
  margin-bottom: 50px;
}

/* ---- Links im Text ---- */
@media (max-width: 1024px) {
.elementor-widget-text-editor a {
  font-size: 18px !important;
}}

/* Buttons im Text-Widget nicht unterstreichen */
.elementor-widget-text-editor a.elementor-button,
.elementor-widget-text-editor .elementor-button a {
  text-decoration: none;
}

/* Grundzustand: unterstrichen */
.elementor-widget-text-editor a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  display: inline-block; /* wichtig für transform */
  transition: transform 0.25s ease, color 0.25s ease;
}

/* Hover & Fokus: kleiner Zoom */
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:focus {
  transform: scale(1.025);
  text-decoration: none;
}

/* Slider Nummerierung/Paginierung */
/* Gemeinsamer Container – sorgt für gleiche Höhe */
.swiper-pagination-bullet {
    width: 18px !important;              /* gleiche Gesamtfläche */
    height: 18px !important;             /* gleiche Gesamtfläche */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    margin: 0 6px !important;
    background: transparent !important;
    border: none !important;
    position: relative !important;
    opacity: 1 !important;
}

/* Nicht aktive Bullets – kleiner gefüllter Punkt */
.swiper-pagination-bullet::before {
    content: "";
    width: 10px;                          /* kleiner Punkt */
    height: 10px;
    background:  var(--e-global-color-primary);
    border-radius: 50%;
}

/* Aktiver Bullet – mit größerer Outline */
.swiper-pagination-bullet-active {
    border: 2px solid var(--e-global-color-primary) !important; /* äußerer Kreis */
}

/* Aktiver Bullet – innerer Punkt */
.swiper-pagination-bullet-active::before {
    width: 8px;                           /* innerer Kreis */
    height: 8px;
    background: var(--e-global-color-primary);
}

/* Pfeile */
/* ––––––––––––––– Navigation Reihe ––––––––––––––– */
.carousel-navigation-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 20px;
}

/* ––––––––––––––– Pfeile normalisieren ––––––––––––––– */
.carousel-navigation-row .elementor-swiper-button-prev,
.carousel-navigation-row .elementor-swiper-button-next {
    position: relative !important;
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 44px;
    height: 44px;
    background:  var(--e-global-color-primary);
    border-radius: 8px;

    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* ––––––––––––––– Icon im Pfeil ––––––––––––––– */
.carousel-navigation-row .elementor-swiper-button-prev i,
.carousel-navigation-row .elementor-swiper-button-next i {
    font-size: 20px;
    color: #fff;
}

/* ––––––––––––––– Pagination (Punkte) in der Mitte zentrieren ––––––––––––––– */
.carousel-navigation-row .swiper-pagination {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
    margin: 0 !important;
}

.elementor-swiper-button-prev .reisen-fuer-alle-icon-pfeil::before {
    transform: rotate(180deg);
}

/* ––––––––––––––– Instagram Light Widget ––––––––––––––– */
.lightwidget__posts--image-format-square .lightwidget__image {
  height: 120% !important;
	object-fit: cover !important;
}

/* ––––––––––––––– Swiper Bilder Galerie ––––––––––––––– */


/* ––––––––––––––– Blog ––––––––––––––– */
/* Card als Flex-Container definieren */
.elementor-post__card {
    display: flex !important;
    flex-direction: column;
}

/* Bild soll als erstes kommen */
.elementor-post__thumbnail__link {
    order: 1;
}

/* Datum direkt nach dem Bild */
.elementor-post__meta-data {
    order: 2;
}

/* Gesamter Textblock (Titel, Auszug, Weiterlesen) danach */
.elementor-post__text {
    order: 3;
	margin-top: 0px !important;
}

elementor-posts--thumbnail-top .elementor-post__thumbnail__link {
  margin-bottom: 15px !important;
}

/* Weiterlesen-Button optisch wie ein Button */
.elementor-post__read-more {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--e-global-color-primary);
    color: #fff !important;
    border-radius: 10px; 
    text-decoration: none !important;
	font-family: "Noto Sans LOC", Sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 25px;
	text-transform: inherit !important;
    border: none;
    cursor: pointer;
}

.angebote .widget-image-caption.wp-caption-text {
	padding: 5px 10px 5px 10px;
}

.angebote .wp-caption .wp-caption-text {
	margin: 0px;
}


.angebote .elementor-widget-image figcaption.wp-caption-text {
  position: absolute;
  bottom: 0;
left: 0 ;
  padding: 6px 10px;
  background: rgba(0, 0, 0, 0.8);
  min-width: 100%;
}

/*@media (max-width: 768px) {
    .widget-image-caption {
        position: static !important;
        display: block !important;
        margin-top: -25px !important;
    }
}*/

@media (max-width: 880px) {
  .widget-image-caption {
    margin-block-start: -55px !important;
  }
}

/* ––––––––––––––– Übersicht Angebote Filter ––––––––––––––– */
/*--------- HOME und UNTERSEITEN --------*/
.rfa-filter-master-wrapper {
	width: 100%;
	gap: 85px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.rfa-dd {
	width: fit-content;
}

.rfa-filter-row-1,
.rfa-filter-row-2 {
	display: flex;
	gap: 25px;
	width: 100%;
	justify-content: space-between;
}

.rfa-filter-row-1 {
  width: 95%;
}

.rfa-filter-row-2 {
  width: 105%;
  margin-left: -5%;
}

 #rfa-topbar{
    width:100%;
    display:flex;
    justify-content:center;
    margin: 10px 0 24px;
  }

  .rfa-topbar-inner{
    width:100%;
    display:flex;
    gap:75px;
    align-items:stretch;
    padding: 30px;
    border-radius:10px;
    background:#fff;
    box-shadow: 0 4px 4px rgba(0,0,0,.25);
    position:relative;
    z-index: 50;
    justify-content: space-between;
  }
  
  .rfa-dd-btn{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding: 0 !important;
    background-color:#fff !important;
    cursor:pointer;
    min-width:0;
    text-align:left;
    box-shadow: none;
  }

.rfa-caret {
	transform: rotate(-90deg);
}

.is-open .rfa-caret {
	transform: none;
}
  
  .rfa-ico img {
      width: 50px;
  }
  
  .rfa-dd-text{ 
      display: flex;
	  flex-direction: column;
	  align-items: flex-start;
  }
  
  .rfa-dd-label{
    display:block;
    font-size:16px;
    font-weight:600;
    color:#0b4c5b;
    line-height:25px;
    margin-right: 5px;
  }
  .rfa-dd-value{
    display:block;
    font-size:16px;
    color:#0b4c5b;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    margin-right: 10px;
    font-weight: 300;
  }

  .rfa-dd.is-open .rfa-dd-panel{ 
	  display:block; 
}

  .rfa-dd-item{
    padding:10px 10px;
    border-radius:10px;
    cursor:pointer;
    font-size:16px;
    line-height:1.2;
  }
  .rfa-dd-item:hover{ background: rgba(11,76,91,.08); }

  .rfa-dd-sep{ height:1px; background: rgba(0,0,0,.08); margin:8px 0; }

  .rfa-dd-loading{
    padding:8px 6px;
    font-size:14px;
    opacity:.75;
  }

  .rfa-dd-tools{
    display:flex;
    justify-content:flex-end;
    margin: 6px 0 10px;
  }
  .rfa-mini-btn{
    border:1px solid rgba(0,0,0,.2);
    background:#fff;
    padding:6px 10px;
    border-radius:10px;
    cursor:pointer;
    font-size:13px;
    border: 2px solid var(--e-global-color-primary) !important;
  }
  
  .rfa-mini-btn:hover {
      background: white;
  color: var(--e-global-color-primary);
  }

  .rfa-checklist{
    max-height: 320px;
    overflow:auto;
    padding-right:6px;
  }
  .rfa-check{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px;
    border-radius:10px;
    font-size:16px;
    line-height:1.25;
    cursor:pointer;
    font-weight: 300;
  }
  .rfa-check:hover { 
	  background: rgba(11,76,91,.08) !important; 
}
  .rfa-check input { 
	  margin-top:3px; 
}

  .rfa-search-btn{
    flex:0 0 auto;
    border-radius:10px;
    background:#0b4c5b;
    color:#fff;
    font-weight:600;
    cursor:pointer;
    min-width:170px;
      border: 2px solid var(--e-global-color-primary) !important;
  }
  
  .rfa-search-btn:hover {
      background: white;
  color: var(--e-global-color-primary);
  }
  
.rfa-check input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 5px !important;
  padding: 0 !important;
  margin-top: 0.09em;
  display: inline-grid;
}

.rfa-check input[type="checkbox"]:checked {
  background: var(--e-global-color-primary);
}

.rfa-check input[type="checkbox"]::after {
  content: "";
  width: 11px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  margin-left: 0.1em;
  margin-top: 0.15em;
}

.rfa-check input[type="checkbox"]:checked::after{
  opacity: 1;
}

@media (max-width: 1620px) {
	.rfa-topbar-inner {
		gap: 25px;
	}
	
	.rfa-filter-master-wrapper {
		gap: 10px;
	}
	
	.rfa-filter-row-1, .rfa-filter-row-2 {
		width: 100%;
		justify-content: space-evenly;
	}
	
	.rfa-filter-row-2 {
		margin-left: 0;
	}
}

@media (max-width: 1440px) {
	.rfa-filter-master-wrapper {
		grid-template-columns: 1fr;
	}
	
	.rfa-filter-row-1, .rfa-filter-row-2 {
		justify-content: flex-start;
	}
	
	.rfa-dd {
		width: 100%;
	}
	
	.rfa-topbar-inner {
		padding: 25px;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.rfa-search-btn {
		height: fit-content;
		width: 100%;
	}
	
	.rfa-caret {
		margin-left: auto;
	}
	
	#rfa-was-btn, #rfa-wohin-btn, #rfa-wohin2-btn, #rfa-welche-btn {
		width: 80%;
	}
}

@media (max-width: 1024px) {
	.rfa-search-btn, .rfa-mini-btn {
		font-size: 16px !important;
	}
}

@media (max-width: 768px) {
		.rfa-filter-row-1, .rfa-filter-row-2 {
		flex-direction: column;
	}
	
	#rfa-was-btn, #rfa-wohin-btn, #rfa-wohin2-btn, #rfa-welche-btn {
		width: 100%;
	}
}

/*--------- ÜBERSICHT --------*/
#rfa-topbar:has(.rfa-topbar-not-home) {
	flex-direction: column;
}

.rfa-topbar-not-home .rfa-filter-master-wrapper {
	grid-template-columns: 1fr 1fr auto;
}

.rfa-topbar-not-home .rfa-dd {
	width: 100%;
}

.rfa-topbar-not-home {
	max-width: none;
	gap: 0;
}

.rfa-topbar-not-home .rfa-dd-btn {
	width: 65%;
}

.rfa-topbar-not-home .rfa-caret {
	margin-left: auto;
}

@media (max-width: 1915px) {
	.rfa-topbar-not-home .rfa-dd-btn {
	width: 100%;
}
}

@media (max-width: 1440px) {
	.rfa-topbar-not-home .rfa-filter-master-wrapper {
		margin-bottom: 25px;
	}
	
	.rfa-topbar-not-home #rfa-was-btn, 
	.rfa-topbar-not-home #rfa-wohin-btn, 
	.rfa-topbar-not-home #rfa-wohin2-btn, 
	.rfa-topbar-not-home #rfa-welche-btn {
		width: 100%;
	}
	
	.rfa-topbar-not-home .rfa-filter-master-wrapper {
 	grid-template-columns: 1fr 1fr;
}
	
	.rfa-topbar-not-home .rfa-dd-panel {
		top:45% !important;
	}
}

@media (max-width: 1024px) {
	.rfa-topbar-not-home .rfa-filter-master-wrapper {
 	grid-template-columns: auto;
}
	
	.rfa-topbar-not-home #rfa-was-panel,
	.rfa-topbar-not-home #rfa-wohin-panel {
    top: 33% !important;
  }
	
	.rfa-topbar-not-home #rfa-wohin2-panel,
	.rfa-topbar-not-home #rfa-welche-panel {
    top: 60% !important;
  }
}

@media (max-width: 768px) {
	.rfa-topbar-not-home #rfa-was-panel {
		top: 20% !important;
	}
	
	.rfa-topbar-not-home #rfa-wohin-panel {
		top: 40% !important;
	}
	
	.rfa-topbar-not-home #rfa-wohin2-panel {
		top: 57% !important;
	}
	
	.rfa-topbar-not-home #rfa-welche-panel {
		top: 76% !important;
	}
}

/* ----- Ergebnisse-Popups (Auswahl-Felder) ----- */
/* Panels: begrenzen, damit die Seite nicht „mitläuft“ */
.rfa-dd-panel{
    max-height: 60vh;      /* Höhe des geöffneten Dropdowns */
    overflow: hidden;      /* Panel selbst nicht scrollen lassen */
	display:none;
    position:absolute;
    left:0; right:0;
    top: calc(100% + 10px);
    background:#fff;
    border-radius:10px;
    box-shadow: 0 4px 4px rgba(0,0,0,.25);
    padding:30px;
    z-index: 9999;
}

@media (max-width: 1440px) {
	#rfa-was-panel, #rfa-wohin-panel {
		top: 33%;
	}
	
	#rfa-wohin2-panel, #rfa-welche-panel {
		top: 60%;
	}
	
	.rfa-dd-panel {
		padding: 25px;
	}
}

@media (max-width: 768px) {
	#rfa-was-panel {
		top: 20%;
	}
	
	#rfa-wohin-panel {
		top: 40%;
	}
	
	#rfa-wohin2-panel {
		top: 57%;
	}
	
	#rfa-welche-panel {
		top: 76%;
	}
}

/* Listen: eigenes Scrollen + Scroll-Chaining stoppen */
#rfa-states-list,
#rfa-was-list,
#rfa-criteria-list,
#rfa-regions-list {
  max-height: 42vh;                 /* Scrollbereich in der Liste */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* iOS */
  overscroll-behavior: contain;      /* ✅ verhindert, dass die Seite mit-scrollt */
}

  .rfa-item{
    display:flex; 
    gap:16px; 
    padding:14px 0; 
    border-bottom:1px solid #e6e6e6;
    align-items:center; 
    width:100%; 
    box-sizing:border-box;
  }
  
  .rfa-img{ 
      width:20%; 
      max-width:35%; 
      aspect-ratio:16/10; 
      flex-shrink:0; 
      overflow:hidden; 
      border-radius:10px; 
      background:#f2f2f2; 
  }

@media (max-width: 1280px) {
	.rfa-img {
		width: 30%;
	}
}

@media (max-width: 768px) {
	.rfa-img {
		max-width: none;
		width: 40%;
	}
}
  
  .rfa-img img{ 
      width:100%; 
      height:100%; 
      object-fit:cover; 
      display:block; 
  }
  
  .rfa-title{ 
      font-size:16px; 
      line-height:1.2; 
      margin:0 0 4px; 
  }
  
  .rfa-title a {
      font-weight: 700;
  }
  
  .rfa-loc{ 
      margin:0; 
      opacity:.8; 
      font-size:14px; 
  }

  .rfa-pagebtn{ 
      display:inline-block; 
      margin-right:6px; 
      padding:6px 10px; 
      border-radius:10px; 
      cursor:pointer; 
      user-select:none; 
      background: var(--e-global-color-primary);
	  color: #fff;
  font-weight: 600 !important;
  }
  
  /*.rfa-pagebtn[data-next="1"] {
  background: var(--e-global-color-a8cd6cf);
}*/

.rfa-pagebtn:hover {
  background: var(--e-global-color-b454e84);
	color: var(--e-global-color-text);
}
  
  .rfa-pagebtn.is-active{ 
      background: var(--e-global-color-b454e84);
	  color: var(--e-global-color-text);
  }
  
.rfa-pagebtn.is-disabled{
  opacity:.4;
  cursor:default;
  pointer-events:none;
}

  @media (max-width: 860px){
    .rfa-topbar-inner{ flex-direction:column; }
    .rfa-search-btn{ width:100%; min-height:44px; }
  }
  
  .rfa-item{
  position: relative; /* wichtig für das Badge */
}

.rfa-badge{
  position:absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;     /* anpassen, falls größer/kleiner */
  height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rfa-badge img{
  width:100%;
  height:100%;
  object-fit: contain;
}

.rfa-item{
  position: relative;
  padding-right: 48px; /* Platz für Badge */
}

.rfa-badge{
  position:absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 5;
}

@media (max-width: 480px) {
	.rfa-badge {
		width: 25px;
		height: 25px;
	}
}

/* Überkategorie hervorheben */
.rfa-check.rfa-check-parent{
  font-weight: 700;
  background: rgba(11,76,91,.08);
  border: 1px solid rgba(11,76,91,.15);
  margin-top: 6px;
}

/* optional: etwas mehr Abstand für Unterpunkte */
.rfa-check:not(.rfa-check-parent) span{
  font-weight: 300;
}


/* ––––––––––––––– Angebote Details ––––––––––––––– */
.angebot-infos .e-con-inner {
	display: grid !important;
	grid-template-columns: 2fr 1fr;
	gap: 1.5rem;
}

.rfa-description p:not(:last-child) {
  padding-bottom: 15px;
}

.zertifiziert-code {
	display: none;
}


/* ––––––––––––––– Widget-Service ––––––––––––––– */
.widget-service .einstellungen {
	display: flex !important;
}

.widget-service .filter {
	width: 40%;
}

.widget-service .region {
	width: 60%;
}

.widget-service .styleh4 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 23px;
}

.widget-service .checkbox label {
	font-size: 16px;
  font-weight: 300;
}

.widget-service .checkbox input {
  cursor: pointer;
}

.widget-service input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 5px !important;
  padding: 0 !important;
  margin: 0;
  display: inline-grid;
}

.widget-service input[type="checkbox"]:checked {
  background: var(--e-global-color-primary);
}

.widget-service input[type="checkbox"]::after {
  content: "";
  width: 11px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  margin-left: 0.1em;
  margin-top: 0.15em;
}

.widget-service input[type="checkbox"]:checked::after{
  opacity: 1;
}

.widget-service .checkbox label {
  display: flex;
  gap: 10px;
  padding-bottom: 15px;
}

.widget-service .ws-text {
  margin-bottom: 10px;
}

.explanation p,
.explanation a {
  font-size: 16px;
  line-height: 21px;
}

.widget-service .chosen-choices {
	border: 2px solid var(--e-global-color-primary) !important;
	border-radius: 10px;
	padding: 5px 10px !important;
	background-image: none !important;
}

.widget-service .chosen-choices li::marker,
.widget-service .chosen-results li::marker {
	content: none;
}

.widget-service .chosen-container {
	margin-bottom: 10px;
}

.widget-service hr {
  height: 0.15em;
  background-color: var(--e-global-color-primary) !important;
  margin-bottom: 20px !important;
  margin-top: 10px !important;
}

.widget-service .chosen-search-input.default {
  font-size: 16px !important;
  margin-top: 2px !important;
  color: var(--e-global-color-primary) !important;
}

.chosen-container-active .chosen-choices,
.chosen-container-active {
	box-shadow: none !important;
}

.widget-service .chosen-drop {
  margin-top: 10px;
  border-radius: 10px;
  box-shadow: 0 4px 4px rgba(0,0,0,.25) !important;
  border: none !important;
}

.chosen-container .chosen-results {
	padding: 10px !important;
}

.widget-service .active-result,
.widget-service .result-selected {
  font-size: 16px;
}

.chosen-container .chosen-results li.highlighted {
  background-color: rgba(11,76,91,.08) !important;
  background-image: none !important;
  color: var(--e-global-color-text) !important;
}

.chosen-container .chosen-results li {
	padding: 10px !important;
	border-radius: 10px;
}

.widget-service .search-choice {
  background-image: none !important;
  border: none !important;
  background-color: var( --e-global-color-astglobalcolor0) !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 16px;
  padding: 7px 25px 7px 15px !important;
  font-weight: 600;
	color: var(--e-global-color-text);
}

.chosen-choices li.search-field input[type="text"] {
	font-size: 16px !important;
  margin: 5px !important;
}

.chosen-choices li.search-choice .search-choice-close {
	top: 9px !important;
	right: 6px !important;
	transition: background-position 0s ease;
}

.widget-service label,
#codeResult label {
	font-size: 18px;
	font-weight: 600;
}

.widget-service .b-einstellung,
.widget-service .h-einstellung {
	margin-bottom: 10px;
}

.widget-service .b-einstellung {
	padding-right: 10px;
}

.widget-service .h-einstellung {
	padding-left: 10px;
}

.widget-service .bh-einstellung input {
	margin-top: 5px;
	padding: 10px 15px !important;
}

.widget-service .bh-einstellung {
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
}

.widget-service .bh-einstellung .col-xs-6 {
	width: 50%;
}

.widget-service #colorpicker {
	display: grid;
	column-gap: 20px;
	justify-content: space-between;
	margin-bottom: 20px;
	grid-template-columns: repeat(4, 1fr);
}

#colorpicker .col-sm-12 {
  grid-column: 1 / -1;
}

@media (max-width: 1280px) {
	.widget-service #colorpicker {
		column-gap: 10px;
	}
}

@media (max-width: 1024px) {
	.widget-service #colorpicker {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.widget-service .einstellungen {
		flex-direction: column;
	}
	
	.widget-service .filter,
	.widget-service .region {
  		width: 100%;
  		margin-bottom: 15px;
}
}

.widget-service #colorpicker .input-group {
	display: flex;
	align-items: stretch;
	margin-top: 5px;
	margin-bottom: 10px;
}

.widget-service #colorpicker .hashtag {
	background-color: var(--e-global-color-primary);;
	border: 2px solid var(--e-global-color-primary);
	width: 10%;
	border-radius: 10px 0 0 10px;
	align-items: center;
	display: flex;
	justify-content: center;
	color: #fff;
  font-weight: 500;
  font-size: 20px;
  padding: 0 10px;
}

.widget-service #colorpicker .input-group .hex-code {
	width: 80%;
	border-radius: 0;
	height: auto;
	padding: 5px 10px;
}

.widget-service .ws-color .sp-replacer {
	display: flex;
	padding: 9px;
  background-color: var(--e-global-color-primary);
  border: 2px solid var(--e-global-color-primary);
	align-items: center;
	border-radius: 0 10px 10px 0;
	color: #fff;
}

.widget-service .ws-color .sp-replacer:hover {
	color: var(--e-global-color-text);
}

.widget-service #colorpicker .ws-color {
	display: flex;
}

.widget-service .no-results {
  font-size: 16px;
  color: var(--e-global-color-text) !important;
  background-color: rgba(11,76,91,.08) !important;
}

.widget-service .sp-clear-display {
	background-color: #fff !important;
	color: #fff;
	border-radius: 3px;
}

.widget-service .sp-preview {
	border: none;
	background-image: none;
}

.widget-service .sp-preview-inner {
	border-radius: 3px;
}

.sp-container {
	background-color: #fff !important;
	border: 0 !important;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
	border-radius: 10px !important;
}

.sp-dragger {
	background: var(--e-global-color-primary) !important;
}

.sp-slider {
	opacity: 1 !important;
}

input.sp-input {
  font-size: 16px !important;
  padding: 10px 15px !important;
}

.sp-button-container .sp-cf {
	float: none;
}

a.sp-cancel {
	font-size: 16px !important;
	color: var(--e-global-color-primary) !important;
	margin-right: 12px !important;
}

a.sp-cancel:hover {
	color: var(--e-global-color-text) !important;
}

button.sp-choose {
	background-color: var(--e-global-color-primary) !important;
	background-image: none !important;
  border: 2px solid var(--e-global-color-primary) !important;
  /*border-bottom: 0 !important;*/
  border-radius: 5px !important;
  color: #fff !important;
  font-size: 16px !important;
  padding: 7px 10px !important;
  text-shadow: none !important;
  font-family: "Noto Sans LOC", Sans-serif !important;
}

button.sp-choose:hover {
  background-color: #fff !important;
  color: var(--e-global-color-primary) !important;
}

button.sp-choose:active {
	box-shadow: none !important;
}

#codeResult hr {
  height: 0.13em;
  background-color: var(--e-global-color-primary) !important;
  margin: 20px 0 !important;
}

.widget-service .ws-submit button {
  border: 2px solid var(--e-global-color-primary);
}

.widget-service .ws-submit button:hover {
  background-color: transparent;
  box-shadow: none;
  border: 2px solid var(--e-global-color-primary);
  color: var(--e-global-color-primary);
}

#codeResultText {
  margin-top: 5px;
	margin-bottom: 10px;
	padding: 10px 15px;
}

#codeResult #copyText {
	margin-top: 20px;
	border: 2px solid var(--e-global-color-primary);
}

#codeResult #copyText:hover {
  background-color: transparent;
  box-shadow: none;
  border: 2px solid var(--e-global-color-primary);
  color: var(--e-global-color-primary);
}

#codeResult {
	display: none;
}


/* ––––––––––––––– Footer ––––––––––––––– */
/* Ab Tablet Portrait (<= 768px): Footer-Menü untereinander */
@media (max-width: 768px) {
    #menu-1-c988f42 {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px;
        align-items: flex-start;
    }
	
	.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a {
    margin-inline-start: 0 !important;
  }

    /* Links optisch auf volle Breite setzen (optional) */
    #menu-1-c988f42 .elementor-item {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Astra Scroll-to-Top auf allen Geräten sichtbar machen */
#ast-scroll-top {
	font-size: 0px !important;
    display: flex !important;
	justify-content: center;
	align-items: center;
	padding: 0px !important;
    opacity: 1 !important;
    visibility: visible !important;
	border-radius: 10px;
	border: none;
	width: 50px;
  height: 50px;
	background-color: #fff;
	box-shadow: 
        0 6px 18px rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.12);
}

.ast-scroll-to-top-right {
  right: 15px;
  bottom: 15px;
}

#ast-scroll-top:focus {
	outline: none;
}
#ast-scroll-top .ast-icon {
    display: none;
}
/* Icon*/
#ast-scroll-top::before {
	content: '';  
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/uploads/2026/02/icon-arrow-down.svg');
    background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
  	transform: rotate(180deg);
}


/* Phone Landscape und kleiner (max-width: 767px) */
@media (max-width: 880px) {
    #ast-scroll-top {
        width: 30px;       /* kleinere Box */
        height: 30px;      /* kleinere Box */
        right: 10px;       /* etwas näher am Rand */
        bottom: 10px;
        border-radius: 8px;
    }
	 #ast-scroll-top::before {
        font-size: 15px; /* ✅ richtig */
    }
}

/* ––––––––––––––– Presse Filter ––––––––––––––– */
.rfa-filter{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	width: 100%;
}

@media (min-width: 768px){
	.rfa-filter{
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
	}}

.post-navigation__arrow-prev .reisen-fuer-alle-icon-pfeil::before {
	transform: rotate(180deg);
}

/* Post-Card als Flex-Container */
.elementor-post__card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Textbereich flexibel machen */
.elementor-post__text {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* Button nach unten schieben */
.elementor-post__read-more {
    margin-top: auto;
}

/* Links im Beitragsinhalt unterstreichen */
.single-post .elementor-widget-theme-post-content a {
    text-decoration: underline;
}

/* Wichtig für Barrierefreiheit: auch Fokus sichtbar */
.single-post .elementor-widget-theme-post-content a:focus,
.single-post .elementor-widget-theme-post-content a:hover {
    text-decoration: underline;
}


/* Button-Basis: Typo wie Elementor Button */
.rfa-filter__btn{
	width: 100%;
	min-height: 60px;
	padding: 10px 30px;

	border: 2px solid var(--e-global-color-primary) !important;
	border-radius: 14px;
	background: transparent;

	cursor: pointer;
	text-align: left;

	font-family: "Noto Sans LOC", Sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 25px;

	color: var(--e-global-color-primary);

	/* Standard: niemals unterstrichen */
	text-decoration: none !important;
	text-underline-offset: .25em;
}

/* Hover – leichte Rückmeldung */
.rfa-filter__btn:hover{
	text-decoration: underline;
	text-underline-offset: .2em;
}

/* Fokus (AAA) */
.rfa-filter__btn:focus-visible{
	outline: 3px solid var(--e-global-color-primary);
	outline-offset: 4px;
}

/* Aktiv: Unterstreichung (AAA: nicht nur Farbe) */
.rfa-filter__btn.is-active,
.rfa-filter__btn[aria-checked="true"]{
	text-decoration: underline !important;
	text-underline-offset: .25em;
}

/* "Alle" – INAKTIV */
.rfa-filter__btn.is-all{
	background: transparent !important;
	color: var(--e-global-color-primary) !important;
	border-color: var(--e-global-color-primary) !important;

	/* ganz wichtig: inaktiv NICHT unterstrichen */
	text-decoration: none !important;
}

/*    "Alle" – AKTIV    */
.rfa-filter__btn.is-all.is-active,
.rfa-filter__btn.is-all[aria-checked="true"]{
	background: var(--e-global-color-accent) !important;
	color: var(--e-global-color-primary) !important;
	/* nur aktiv unterstrichen */
	text-decoration: underline !important;
	text-underline-offset: .25em;
}

/* Screenreader-only (Status bleibt für AAA, aber unsichtbar) */
.rfa-sr-only{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ––––––––––––––– Anker ––––––––––––––– */
/* ===== Globale Anker-Korrektur (Astra + Elementor) ===== */

/* 1) Moderne Methode: für alle Elemente mit ID im Content-Bereich */
.site-content [id]{
	scroll-margin-top: 140px;
}

/* Elementor Menu Anchor Widget explizit */
.elementor-menu-anchor{
	scroll-margin-top: 140px;
}

/* 2) Fallback: wenn JS/Smooth-Scroll scroll-margin ignoriert */
:target::before{
	content: "";
	display: block;
	height: 140px;
	margin-top: -140px;
}

/* Mobile Header meist niedriger */
@media (max-width: 768px){
	.site-content [id]{
		scroll-margin-top: 110px;
	}

	.elementor-menu-anchor{
		scroll-margin-top: 110px;
	}

	:target::before{
		height: 110px;
		margin-top: -110px;
	}}



/* Barrierefreiheit OneTap */

.onetap-container-toggle button {
	border-radius: 10px !important;
}

.onetap-container-toggle .onetap-toggle img {
	border-radius: 10px !important;
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.25);	
}

  .onetap-container-toggle .onetap-toggle {
    right: 12px !important;
	bottom: 75px !important;
}

@media (max-width: 880px) {
  #ast-scroll-top {
    width: 50px !important;
    height: 50px !important;
    right: 15px;
	bottom: 15px;
  }
}

.onetap-container-toggle .onetap-toggle img.design-size1 {
  padding: 7px !important;
  width: 50px !important;
  height: 50px !important;
}

/* Infobutton */
.contact-toggle .elementor-button {
	width: 50px;
	height: 50px;
}
@media (max-width: 880px){
.floating-contact-box .elementor-widget-text-editor p {
  margin-bottom: 0em;
}}
 
.floating-contact-box,
.contact-toggle .elementor-button,
.scroll-top  {
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.25);
}
 
.floating-contact-box {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 100;
}
 
.floating-contact-box.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
 
.contact-toggle {
  position: fixed !important;
  right: 15px;
  bottom: 140px;
  z-index: 9999 !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: all !important;
}

.contact-toggle:hover {
	transition-duration: .15s ease !important;
	transform: scale(1.1) !important;
}

.ast-scroll-top-icon:hover {
	transform: scale(1.1) !important;
	transition-duration: .15s ease !important;
}


/* ---------- Accesskeys ---------- */
.skiplinks a {
  position: absolute;
  left: -9999px;
  top: 0;
  background-color: #000;
  color: #fff;
  padding: 0.6rem 0.9rem;
  z-index: 9999;
}

.skiplinks a:focus {
  left: 1rem;
  top: 1rem;
}


/* Tabelle */

.styled-table {
    width: 100%;
    border-collapse: collapse;
}

.styled-table thead {
    background: var(--ast-global-color-2);
    color: var(--ast-global-color-5);
}

.styled-table thead th {
    padding: 12px;
    text-align: left;
    letter-spacing: 0.05em;
}

.styled-table thead th:first-child {
    border-top-left-radius: 10px;
}

.styled-table thead th:last-child {
    border-top-right-radius: 10px;
}

.styled-table tbody td {
    padding: 12px;
    border-bottom: 2px solid var(--ast-global-color-2);
}

.styled-table tbody td:first-child {
    font-weight: 700;
    color: var(--ast-global-color-2);
}

@media (max-width: 768px) {

  .styled-table,
  .styled-table tbody,
  .styled-table tr,
  .styled-table td {
    display: block;
    width: 100%;
  }

  .styled-table thead {
    position: absolute;
    left: -9999px;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }

  .styled-table tr {
    margin: 20px 0;
    padding: 15px;
    border: 2px solid var(--ast-global-color-2);
    border-radius: 8px;
  }

  .styled-table td {
    border: none !important;
    padding: 6px 0;
  }

  .styled-table td:nth-child(1)::before {
    content: "Kategorien";
    font-weight: 600;
    display: block;
	color: #000 !important;
    text-transform: uppercase !important;
  }

  .styled-table td:nth-child(2)::before {
    content: "Beispiele für Kriterien";
    font-weight: 600;
    display: block;
	color: #000 !important;
    text-transform: uppercase !important;
  }

  /* Farbe der ersten Spalte mobil neutralisieren */
  .styled-table td:first-child {
    color: inherit;
  }
}



/* ---------- Datenschutzerklärung / Tabelle ---------- */
thead {
    background: var(--ast-global-color-2);
    color: var(--ast-global-color-5);
	text-align: left;
}

tbody tr td {
  border-bottom: 2px solid var(--ast-global-color-2);
}

th {
    border: none;
    }

tbody td:first-child {
  font-weight: 700;
  color: var(--ast-global-color-2);
}


thead th:first-child,
thead th:last-child {
  border-radius: 10px !important;
}


@media (max-width: 768px) {
  /* Tabelle umbrechen */
  .ccm-cookie-declaration--embedding-assets-table,
  .ccm-cookie-declaration--embedding-assets-table tbody,
  .ccm-cookie-declaration--embedding-assets-table tr,
  .ccm-cookie-declaration--embedding-assets-table td {
    display: block;
    width: 100%;
  }

  /* Thead nur visuell ausblenden (barrierefreundlicher als display:none) */
  .ccm-cookie-declaration--embedding-assets-table thead {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }

  /* Zeile als Karte */
  .ccm-cookie-declaration--embedding-assets-table tr {
    margin: 20px 0px 20px 0px;
    padding: 15px;
    border: 2px solid var(--ast-global-color-2);
    border-radius: 8px;
  }

  .ccm-cookie-declaration--embedding-assets-table td {
    border: none;
    padding: 6px 0;
  }

  /* Labels per CSS erzeugen */
  .ccm-cookie-declaration--embedding-assets-table td:nth-child(1)::before {
    content: "Name";
    font-weight: 600;
    display: block;
    color: #000 !important;
    text-transform: uppercase !important;
    ;
  }

  .ccm-cookie-declaration--embedding-assets-table td:nth-child(2)::before {
    content: "Lebensdauer";
    font-weight: 600;
    display: block;    
    color: #000 !important;
    text-transform: uppercase !important;
  }

  .ccm-cookie-declaration--embedding-assets-table td:nth-child(3)::before {
    content: "Beschreibung";
    font-weight: 600;
    display: block;
    color: #000 !important;
    text-transform: uppercase !important;
  }}

.datenschutz #content a {
  text-decoration: underline;
}

.datenschutz #content h1,
.datenschutz #content h2,
.datenschutz #content h3,
.datenschutz #content h4,
.datenschutz #content h5,
.datenschutz #content h6,
.datenschutz #content p {
    margin-bottom: 15px;
}


/* =========================
   BORLABS COOKIE WIDGET
   ========================= */

.brlbs-cmpnt-widget {
    /* Größe */
    width: 50px !important;
    height: 50px !important;

    /* Zentrierung */
    display: flex;
    align-items: center;
    justify-content: center;

    /* CI Hintergrund */
    background: var(--ast-global-color-4) !important;

    /* Form */
    border-radius: 10px !important;

    /* Schatten */
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.25);

    /* Reset */
    padding: 0 !important;
    border: none !important;

    /* Animation */
    transition: transform 0.2s ease, box-shadow 0.2s ease;

    /* Icon Farbe */
    --widget-color: var(--ast-global-color-2);
}

/* Icon Größe */
.brlbs-cmpnt-widget svg {
    width: 35px !important;
    height: 35px !important;
}


/* Position Abstand unten links */
.brlbs-cmpnt-container .brlbs-left-0 {
    left: 15px !important;
}

.brlbs-cmpnt-container .brlbs-bottom-0 {
    bottom: 15px !important;
}

/* Mobile etwas kleiner */
@media (max-width: 768px) {

    .brlbs-cmpnt-widget {
        width: 50px !important;
        height: 50px !important;
        border-radius: 10px !important;
    }

    .brlbs-cmpnt-widget svg {
        width: 25px !important;
        height: 25px !important;
    }
}

/* Kontaktformular */
.elementor-mark-required .elementor-field-label::after {
	color: var(--ast-global-color-0);
}




