/*
	Theme Name: 	avada child
	Theme URI: 		
	Description: 	This is child theme of avada
	Author: 		David
	Author URI: 	
	Template: 		neustaberlin
	Version: 		1.0
	Text Domain:  	avada-child
*/

/****************************************************************************************/
/*************************************  Algemain  ***************************************/
/****************************************************************************************/

a:not([target="_blank"]):after {
	content: unset !important;
}

.post-content h1 {
	position: relative;
	padding: 1em !important;
	display: table !important;
	color: #fff !important;
	/*font-size: 1em;
	font-family: TKETypeMono-Light;
	line-height: 1em !important;*/
}

.post-content h1:before {
	content:'';
	position: absolute;
	width: 1em;
	height: 1em;
	background: url(../images/brand-gradient-bracket_H1.png);
	background-repeat: no-repeat;
	background-size: cover;
	left:0;
	top:0;
}

.post-content h1:after {
	content:'';
	position: absolute;
	width: 1em;
	height: 1em;
	background: url(../images/brand-gradient-bracket_H1.png);
	background-repeat: no-repeat;
	background-size: cover;
	right:0;
	bottom:0;
	transform: rotate(180deg);
}

.fusion-body #wrapper .fusion-title.h1black h1,
.fusion-body #wrapper .h1black h1 {
	color: #000 !important;
}

.post-content h2 {
	position: relative;
	padding: 1em !important;
	/*
	line-height: 1;
	font-family: TKEType-Regular;
	font-weight: 400;
	font-size: clamp(22px, 3.1vw, 32px);
	line-height: 1em !important;*/
}

.post-content h2:before {
	content:'';
	position: absolute;
	width: 1em;
	height: 1em;
	background: url(../images/brand-gradient-bracket_H1.png);
	background-repeat: no-repeat;
	background-size: cover;
	left:0;
	top:0;
}

.post-content .white h1:before,
.post-content .white h2:before {
	background: url(../images/brand-gradient-bracket-white.png);
	background-repeat: no-repeat;
	background-size: cover;
}


/* Weisse Hinterlegung bei H1 mit der Klasse "h1boxed" (am Avada-Title-Element:
   Extras -> CSS-Klasse). Der Hintergrund gilt immer; die dunkle Schrift nur,
   wenn NICHT zusaetzlich "h1white" gesetzt ist -> mit h1white bleibt/wird die
   Schrift weiss. */
.post-content .h1boxed h1 {
	background-color: rgba(255,255,255,0.7);
}

.post-content .h1boxed:not(.h1white) h1 {
	color: #000 !important;
}

/* h1white erzwingt weisse Schrift (auch zusammen mit h1boxed). */
.post-content h1.h1white,
.post-content .h1white h1 {
	color: #fff !important;
}

@media (max-width: 480px) {
	.post-content h1 {
		font-size: 1.6rem !important;
	}
}

.post-content h1:before {
	top: -6px;
	left: -6px;
}

.post-content h1:after {
	bottom: -6px;
	right: -6px;
}

/* .fusion-layout-column .fusion-column-wrapper {
	background: none !important;
} */




sup {
	vertical-align: top;
	position: relative;
	top: -3px;
}

.neusta-flex-alignment .fusion-builder-row {
	display: flex;
	align-items: stretch !important;
}

.neusta-flex-alignment .fusion-builder-row .fusion-layout-column {
	padding-bottom: 80px !important;
	position: relative;
}

.neusta-flex-alignment .fusion-builder-row div a.fusion-button {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
}

.neusta-flex-alignment .fusion-builder-row div a.fusion-button .fusion-button-text {
	white-space: nowrap;
}

.neusta-carousel-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #900;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	z-index: 10;
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/*.post-content .white h1,
.post-content .white h2 {
	color: #fff !important;
}*/

/******************

ul {
	list-style: none;
}

ul li {
	padding-left: 40px;
	margin-bottom: 20px;
	position: relative;
	font-size: 1.4rem;
}

ul li:before {
	content: "\e91a";
	font-family: awb-icons!important;
	position: absolute;
	width: 1.2rem;
	height: 1.2rem;
	left:0;
	top:0;
	font-size: 1.2em;
}

div:not(.review) > blockquote {
	padding: 20px !important;
	border-left: 10px solid transparent !important;
	border-image: linear-gradient(0deg, #7000bd 0%, #f26c08 100%) 0 0 0 1 !important;
	border-image-slice: 1 !important;
	background-color: #f0f0f0 !impoprtant;
}
*/
/****************************************************************************************/
/**************************************  Header  ****************************************/
/****************************************************************************************/

.home .breadcrumbs {
	display: none;
}

/****************************************************************************************/
/***************************************  Menu  *****************************************/
/****************************************************************************************/


/*.eyeAble_topFixedPosition {
	top: 70% !important;
}*/

/****************************************************************************************/
/**************************************  Content  ***************************************/
/****************************************************************************************/

.has-pattern-background.has-mask-background {
	background-position: center;
}

/* Wrapper mit Hero-/Banner-Textboxen (.orange-text-box): Ausrichtung ans Ende --
   ersetzt die Inline-Styles am Column-Wrapper. Getrennt nach Layout-Typ: */

/* Spalten-Layout: Avada-Flex-Spalte -> Box(en) unten links ausrichten
   (ersetzt Inline "justify-content: flex-end" und "align-items: flex-start"). */
.fusion-column-wrapper.fusion-content-layout-column:has(.orange-text-box) {
	justify-content: flex-end !important;
	align-items: flex-start !important;
}

/* Block-Layout: als Flex-Zeile -> Box nach rechts (zusammen mit margin-left:auto
   an der Box) (ersetzt Inline "display: flex"). overflow: hidden schneidet
   ueberstehende Inhalte/Hintergrund ab (ersetzt Inline "overflow: hidden"). */
.fusion-column-wrapper.fusion-content-layout-block:has(.orange-text-box) {
	display: flex !important;
	justify-content: flex-end !important;
	overflow: hidden;
}

/* Banner-Textbox so breit wie der Text (eine Zeile), bricht nur bei Platzmangel
   um, und nach rechts geschoben (margin-left:auto). Nur im Block-Layout ->
   Hero-Boxen (Spalten-Layout) bleiben unberuehrt. */
.fusion-content-layout-block .orange-text-box {
	width: fit-content;
	max-width: 100%;
	margin-left: auto !important;
	margin-right: 0 !important;
	margin-bottom: 16px !important;
}

/* Orange-Textboxen: bei Umbruch nur die WOERTER hinterlegen (kein orangener
   Freiraum). Hintergrund + Padding vom Kasten auf den inline gesetzten Text
   verlagern; box-decoration-break: clone gibt jeder Zeile eigenen Hintergrund. */
.orange-text-box {
	background: none !important;
	padding: 0 !important;
}

.orange-text-box p {
	display: inline;
	background: #f26c08;
	color: #fff !important;
	padding: 12px 18px;
	line-height: 1.5; /* Abstand fuer umbrechende Zeilen -> bei Bedarf anpassen */
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* Hero/Banner-Sektion (Reihe mit .orange-text-box) schon unter 1100px
   untereinander stapeln statt erst bei Avadas Standard-Breakpoint (~810px). */
@media (max-width: 1100px) {
	.fusion-builder-row:has(.orange-text-box) > .fusion-layout-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}
}

/* Produkt-Listen-Box (Schatten-Block mit Trennlinien, z. B. "Prodotti").
   IDs wie .fusion-text-265 sind pro Installation/Sprache verschieden -> hier
   ueber die Struktur angesprochen, damit es auf allen Sprachen greift.
   :has(.fusion-separator) grenzt gezielt die Produkt-Liste ab, damit andere
   Schatten-Bloecke (z. B. die Garanzia-Bildbox) NICHT getroffen werden. */
.fusion-column-wrapper.fusion-column-has-shadow.fusion-content-layout-block:has(.fusion-separator) {
	padding: 16px;
}
/* Alle Textbloecke ohne Aussenabstand. */
.fusion-column-wrapper.fusion-column-has-shadow.fusion-content-layout-block:has(.fusion-separator) > .fusion-text {
	margin: 0;
}
/* Listen-Eintraege: p mit 6px oben/unten -- nur in diesem Block. */
.fusion-column-wrapper.fusion-column-has-shadow.fusion-content-layout-block:has(.fusion-separator) > .fusion-text:not(:first-child) p {
	margin-top: 6px;
	margin-bottom: 6px;
}

/* ============================================================================
   Banner-Reihe: grosses Bild links + rechte Spalte (Garanzia oben / Prodotti
   unten). Ziel: alle drei Boxen gleich breit/ausgerichtet, einheitlicher
   8px-Gap. Avada verschachtelt stark und gibt der inneren Reihe INLINE
   `width:104% !important` mit (per CSS NICHT ueberschreibbar) -> die innere
   Reihe wird per JS (main.js: neustaFixBannerRow) auf 100% gezogen; hier werden
   alle uebrigen Ebenen randlos gemacht. Struktur-Selektoren statt IDs
   (…-90/-91/-352 sind pro Sprache/Installation verschieden). Mobil UND Desktop.
   ========================================================================== */

/* Alle Wrapper der Banner-Reihe ohne Aussen-Margin. Padding bleibt erhalten
   (z. B. Prodottis 16px-Textabstand). Deckt grosses-Bild-Wrapper, Garanzia-
   Wrapper und Prodotti-Wrapper ab. */
.fusion-builder-row:has(.orange-text-box) .fusion-column-wrapper {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Wrapper zwischen rechter Spalte und innerer Reihe: auch Padding 0. */
.fusion-column-wrapper.fusion-content-layout-column.fusion-flex-justify-content-space-around:has(.fusion-separator) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Bild-Wrapper (grosses Bild + Garanzia) fuellen ihre Spalte randlos. */
.fusion-builder-row:has(.orange-text-box) .fusion-column-wrapper.fusion-column-has-bg-image {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
	max-width: none !important;
}
/* Innere Reihe: Margins 0 (Breite via JS 100%), fester 8px-Gap zwischen den Boxen. */
.fusion-column-wrapper.fusion-content-layout-column.fusion-flex-justify-content-space-around:has(.fusion-separator) > .fusion-builder-row-inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	row-gap: 8px !important;
}
/* Innere Spalten (Garanzia/Prodotti) randlos, keine Eigen-Margins. */
.fusion-column-wrapper.fusion-content-layout-column.fusion-flex-justify-content-space-around:has(.fusion-separator) > .fusion-builder-row-inner > .fusion_builder_column_inner {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* --- Desktop: rechte Spalte 8px-Gap zum grossen Bild, Boxen wachsen --- */
@media (min-width: 1101px) {
	.fusion-column-wrapper.fusion-content-layout-column.fusion-flex-justify-content-space-around:has(.fusion-separator) > .fusion-builder-row-inner {
		flex: 1 1 auto !important;
		align-content: stretch !important;
	}
	/* 8px Gap links zum grossen Bild; rechts buendig zum Sektionsrand. */
	.fusion-builder-row:has(.orange-text-box) > .fusion-layout-column:has(.fusion-separator) {
		padding-left: 8px !important;
		padding-right: 0 !important;
	}
}

/* --- Mobil: gestapelt, alles randlos, 8px zwischen den Boxen --- */
@media (max-width: 1100px) {
	.fusion-builder-row:has(.orange-text-box) > .fusion-layout-column {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	/* 8px Gap grosses Bild <-> Garanzia. */
	.fusion-builder-row:has(.orange-text-box) > .fusion-layout-column:has(.fusion-separator) {
		margin-top: 8px !important;
	}
}

/*
.inputtypes-search .fusion-page-title-bar,
.inputtypes-search .fusion-breadcrumbs {
	display: none;
}
*/

.neusta-wrap-banner,
.neusta-wrap {
	margin:0 auto !important;
}

#neusta-suche-banner,
.neusta-wrap {
	display: none;
	opacity:0;
	transition: opacity 400ms ease;
}

#neusta-suche-banner.aktiv,
.neusta-wrap.aktiv {
	display: block;
	opacity:1;
}

.inputtypes-search ul.fusion-grid-posts-cards {
	align-items: stretch;
}

.inputtypes-search ul.fusion-grid-posts-cards li.fusion-layout-column > .fusion-column-wrapper {
	background: #fff;
	box-shadow: 0px 0px 4px 0px #00000040;
	padding-bottom: 60px;
	position: relative;
	display: table;
	border-radius: 4px;
	transform: scale(1);
	transition: all 400ms ease;
}

.inputtypes-search ul.fusion-grid-posts-cards li.fusion-layout-column > .fusion-column-wrapper:hover {
	transform: scale(1.04);
}

.inputtypes-search ul.fusion-grid-posts-cards li.fusion-layout-column .fusion-imageframe {
	margin:0;
	width: 100%;
}

.inputtypes-search ul.fusion-grid-posts-cards li.fusion-layout-column .fusion-content-tb,
.inputtypes-search ul.fusion-grid-posts-cards li.fusion-layout-column .fusion-title {
	padding: 0 20px;
	margin: 20px 0;
}


a.neusta-read-more {
	position: absolute;
	right:20px;
	bottom: 20px;
	left:unset;
	top:unset;
	text-decoration: unset;
}

a.neusta-read-more svg {
	width: 40px;
	height: 40px;
}

a.neusta-read-more:after {
	content:unset !important;
}

/********* new search *********/

.search.search-results ul.fusion-grid-posts-cards li {
	position: relative;
}

.search.search-results ul.fusion-grid-posts-cards li img {
	height: 140px;
	object-fit: cover;
}

.search.search-results ul.fusion-grid-posts-cards li .fusion-placeholder-image {
	background: #f0f0f0;
}

/* === Such-Karten: CTA-Button "Hier geht's zum Artikel" ======================
   Der unklassierte Link unterscheidet sich je nach Kartentyp:
   - Promo-Karten:        PREIS-Link  (in .fusion-text)
   - Echte Suchergebnisse: BILD-Link  (in .fusion-post-card-image)
   Beide bekommen per ::before den Button-Text. Deshalb pro Typ getrennt. */

/* Gemeinsame Button-Optik */
.search.search-results ul.fusion-grid-posts-cards li a:not([class])::before {
	/* Button vorerst deaktiviert (ohne content rendert ::before nicht): */
	/* content: 'Hier geht´s zum Artikel'; */
	background: #7000bd;
	color: #fff;
	width: 295px;
	max-width: calc(100% - 30px);
	height: 50px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px; /* Button-Text 16px */
}
.search.search-results ul.fusion-grid-posts-cards li a:not([class]):hover::before {
	background: #5a0099;
}

/* Avada-"Weiterlesen"-Link ("[...]") im Auszug entkoppeln: nicht mehr klickbar
   und ohne Link-Optik -> bleibt als schlichter Text stehen. */
.fusion-content-tb p a:not([class]) {
	pointer-events: none;
	color: inherit !important;
	text-decoration: none !important;
	cursor: text;
}

/* A) PROMO-Karten: Preis-Link im Fluss als Spalte -> Preis OBEN, Button DARUNTER.
   Kein absolutes Positionieren -> keine Überlappung, keine zusätzliche Höhe. */
.search.search-results ul.fusion-grid-posts-cards li .fusion-text a:not([class]) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	color: var(--awb-custom_color_8);
	font-size: 18px;
	line-height: 1.3;
	white-space: nowrap;
}
.search.search-results ul.fusion-grid-posts-cards li .fusion-text a:not([class])::before {
	order: 1; /* Button unter den Preistext */
}

/* B) ECHTE SUCHERGEBNISSE: Bild bleibt oben, nur der Button wird unten am
   Kartenrand verankert. Platz nur für DIESE Karten reservieren. */
.search.search-results ul.fusion-grid-posts-cards li .fusion-post-card-image a:not([class])::before {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	z-index: 2;
}
.search.search-results ul.fusion-grid-posts-cards li:has(.fusion-post-card-image a:not([class])) {
	padding-bottom: 90px;
}

/****/

li.neusta-wrap-banner ul.fusion-grid-posts-cards li img {
	height: auto !important;
	object-fit: unset !important;
}

li.neusta-wrap-banner ul.fusion-grid-posts-cards li a:not([class]) {
	color: #7000bd !important;
	background: #fff !important;
	position: relative !important;
	bottom: unset !important;
	left: unset !important;
	transform: unset !important;
	display: block !important;
}

li.neusta-wrap-banner ul.fusion-grid-posts-cards li a:not([class])::before {
	content: unset !important;
}

li.neusta-wrap-banner ul.fusion-grid-posts-cards li a:not([class]):hover {
	color: #fff !important;
}

/***** Form *****/

.fusion-column-wrapper.aktiv {
	position: fixed;
	right: unset !important;
	left: 50% !important;
	top: 50% !important;
	transform: translateX(-50%) translateY(-50%) !important;
	max-width: 98%;
	max-height: 98%;
	margin:0 !important;
	width: 800px !important;
	z-index:9999;
	overflow: auto !important;
	box-shadow: 2px 2px 8px rgba(2,2,2,0.3) !important;
}

.fusion-column-wrapper.aktiv .fusion-form-1054 {
	position: relative;
}

.fusion-column-wrapper.aktiv .dashicons-no-alt {
	position:absolute;
	top:20px;
	right:20px;
	cursor:pointer;
	font-size:30px;
	color:#666;
}

.awb-form-step.active .fusion-column-wrapper fieldset {
	display: flex;
	align-items: stretch;
}

.awb-form-step.active .fusion-column-wrapper fieldset .fusion-form-image-select {
	flex: 1;
}

.awb-form-step.active .fusion-form-field .fusion-form-image-select label {
	height: 100%;
}

/* === Form-Checkbox als echte native Checkbox ===============================
   Avada blendet das echte Input aus und zeigt nur ein label::before. Wenn der
   Klick nicht durchkommt (z.B. Sonderzeichen im Feldnamen), laesst sich nichts
   ankreuzen. Loesung: das echte Input als sichtbare native Checkbox erzwingen
   (klickbar) und die Avada-Attrappe (::before/padding) entfernen. */
.fusion-form-checkbox {
	position: relative;
}

.fusion-form-checkbox input[type="checkbox"] {
	-webkit-appearance: checkbox !important;
	-moz-appearance: checkbox !important;
	appearance: auto !important;
	position: static !important;
	opacity: 1 !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: calc(0.2em - 2px) 8px 0 0 !important; /* 2px hoeher */
	padding: 0 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	z-index: 5;
	flex: 0 0 auto;
	align-self: flex-start;
}

/* Avada-Attrappe ausblenden: Kasten (::before) UND der graue Punkt/Haken
   (::after), der bei :checked erscheint und mit der nativen Checkbox keinen
   Sinn ergibt. */
.fusion-form-checkbox label::before,
.fusion-form-checkbox label::after {
	display: none !important;
}

.fusion-form-checkbox label {
	padding-left: 0 !important;
}

/************* Gallery ****************/

.neusta-carousel.fusion-image-carousel {
	display: block;
}

/*.neusta-carousel.fusion-image-carousel > .awb-carousel {
	width: auto !important;
}

.neusta-carousel.fusion-image-carousel > .awb-carousel > .swiper-wrapper {
	width: auto !important;
}*/

.neusta-carousel.fusion-image-carousel > .awb-carousel > .swiper-wrapper .swiper-slide {
	
}

.neusta-carousel .fusion-image-wrapper img {
	max-height: 575px !important;
	width: auto !important;
}

.neusta-carousel.fusion-image-carousel .awb-swiper {
	overflow: visible !important;
}

.neusta-carousel .swiper-pagination {
	left: unset !important;
	right: -52px;
	width: 52px !important;
	height: calc( 100% - 36px );
	top: 0 !important;
	display: block !important;
	padding-left: 12px;
}

.neusta-carousel .swiper-pagination .swiper-pagination-bullet,
.neusta-carousel .swiper-pagination .swiper-pagination-bullet-active {
	display: block !important;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: transparent;
	border: 2px solid #7000bd;
	margin-bottom: 10px !important;
	color: #7000bd;
	display: flex !important;
	justify-content: center;
    align-items: center;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
}

.neusta-carousel .awb-swiper-button {
	width: 50%;
	height: calc( 100% - 36px );
	top:0;
	left:0;
	right:unset;
	transform:unset;
	display: flex;
	align-items: center;
}

.neusta-carousel .awb-swiper-button-prev {
	justify-content: flex-start;
}

.neusta-carousel .awb-swiper-button-next {
	left: unset;
	right:0;
	justify-content: flex-end;
}

.neusta-carousel .awb-swiper-button .fas {
	opacity:0;
	font-size: 12rem;
	color: #fff !important;
	padding: 12px;
}

.neusta-carousel .awb-swiper-button:hover .fas {
	opacity:1;
}


/* === Blog-Kacheln: Masonry -> gleichmaessiges Grid (gleiche Hoehe/Reihen) ===
   Avada positioniert die Masonry-Karten per JS absolut (versetzt/unterschiedlich
   hoch). Hier wird das ueberschrieben und ein echtes Raster mit ausgerichteten
   Reihen erzwungen. Sauberer waere die Avada-Element-Option (Masonry -> Grid),
   aber das hier wirkt ohne Backend-Suche. */
.fusion-post-cards-masonry ul.fusion-masonry-posts-cards {
	position: static !important;
	height: auto !important;
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 30px !important;
}

.fusion-post-cards-masonry ul.fusion-masonry-posts-cards > li.fusion-post-card-masonry {
	position: static !important;
	left: auto !important;
	top: auto !important;
	width: auto !important;
	max-width: none !important;
}

@media (max-width: 800px) {
	.fusion-post-cards-masonry ul.fusion-masonry-posts-cards {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 540px) {
	.fusion-post-cards-masonry ul.fusion-masonry-posts-cards {
		grid-template-columns: 1fr !important;
	}
}

/* Bilder auf gleiche Hoehe -> Titel/Text richten sich ueber alle Karten aus. */
.fusion-post-cards-masonry .fusion-post-card-image img {
	width: 100% !important;
	height: 220px !important;
	object-fit: cover !important;
}

/* Kategorie-Label aus dem normalen Fluss nehmen, damit unterschiedlich lange
   Labels (1 vs. 2 Zeilen) die Bild-/Inhaltsposition nicht verschieben. Das
   Label ueberlagert weiterhin das Bild (per Avada-Transform). */
.fusion-post-cards-masonry li.fusion-post-card-masonry > .fusion-column-wrapper {
	position: relative;
}

.fusion-post-cards-masonry li.fusion-post-card-masonry > .fusion-column-wrapper > .fusion-builder-row-inner {
	position: absolute !important;
	/* Avadas translateY(90px) bleibt aktiv; mit negativem top ziehen wir das
	   Label wieder nach oben. Kleinerer (= negativerer) Wert = Label HOEHER. */
	top: -50px;
	left: 0;
	right: 0;
	margin: 0 !important;
	z-index: 99;
}

/****************************************************************************************/
/***************************************  Footer  ***************************************/
/****************************************************************************************/

.fusion-footer .fusion-fullwidth:not(:first-child) {
	padding-top:0 !important;
	padding-bottom:0 !important;
}

#menu-bottom-menu-legal li {
	margin: 0 30px 0 0;
	padding:0;
}

#menu-bottom-menu-legal li:last-child {
	margin: 0;
}

#menu-bottom-menu-legal li a .menu-text {
	color: #fff !important;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
}

/****************************************************************************************/

@media screen and ( max-width: 810px ) {

	.post-content h1 {
		color: #000 !important;
	}
	

	.post-content h1.h1white,
	.post-content .h1white h1 {
		color: #fff !important;
	}
	
	.fusion-body .fusion-title {
		margin-right:0 !important;
		margin-left:0 !important;
	}
	
	/*.fusion-imageframe:first-of-type img {
		width: 100vw !important;
		left: -20px;
		position: relative;
	}*/
}

@media screen and ( max-width: 600px ) {

	.neusta-carousel .awb-swiper-button .fas {
		font-size: 1.4rem;
	}
	
	.neusta-carousel .fusion-image-carousel .awb-swiper {
		display: block !important;
	}
	
	.neusta-carousel .swiper-pagination {
		width: 100% !important;
		right: unset !important;
		height: unset !important;
		background: rgba(255,255,255,0.4);
		padding: 10px 0;
	}
	
	.neusta-carousel .swiper-pagination .swiper-pagination-bullet,
	.neusta-carousel .swiper-pagination .swiper-pagination-bullet-active {
		display: inline-flex !important;
		margin: 0 5px !important;
	}
	
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/








/* === Broschüre-Anfragen Button ============================ */

.neustaBroschuereBt {
  transition: background 0.25s ease, background-color 0.25s ease !important;
}

/* Hover über die Spalte → Button nimmt seine eigene Avada-Hover-Farbe an
   (custom_color_7 -10%), genau wie die Kontakt-Buttons.
   Klick bleibt bei Link 1, nichts wird umgebogen. */
.fusion-layout-column:has(.neustaBroschuereBt):hover .neustaBroschuereBt {
  --button_gradient_top_color: var(--button_gradient_top_color_hover) !important;
  --button_gradient_bottom_color: var(--button_gradient_bottom_color_hover) !important;
}


/* Mobiler Sticky-Header: Burger + Button in einer Zeile, rechtsbündig, 20px Abstand */
.fusion-no-large-visibility:has(.neustaBroschuereBt) > .fusion-row {
  flex-wrap: nowrap !important;
  align-items: center !important;
}

/* Nav-Spalte (Burger): nur eigene Breite, schiebt sich + alles danach nach rechts */
.fusion-no-large-visibility:has(.neustaBroschuereBt) .fusion-layout-column:has(.awb-menu) {
  width: auto !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Button-Spalte: nur eigene Breite, 20px Abstand zum Burger */
.fusion-no-large-visibility:has(.neustaBroschuereBt) .fusion-layout-column:has(.neustaBroschuereBt) {
  width: auto !important;
  flex: 0 0 auto !important;
  margin-left: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Broschüre-Button mittig ausrichten */
div:has(> .neustaBroschuereBt) {
  text-align: center !important;
}

@media screen and (max-width: 810px) {
    .fusion-tb-header .fusion-column-wrapper .neustaBroschuereBt {
        width: 130px !important;
    }
}
/* ========================================================= */


/* === Sticky-Kontakt-Buttons: Box nur so breit wie die Icons =================
   Der fixierte Sticky-Container #sticky-btns-modal bekommt von Avadas
   Sticky-JS inline eine volle Breite (z.B. width:1243px). Diese leere Fläche
   liegt über dem Seiteninhalt und blockiert dort die Klicks.
   Fix: Container auf Inhaltsbreite schrumpfen und rechts anheften. */
#sticky-btns-modal {
  width: -moz-fit-content !important;
  width: fit-content !important;
  left: auto !important;
  right: 0 !important;
}

#sticky-btns-modal .fusion-builder-row {
  width: auto !important;
  max-width: none !important;
}

/* Doppelte Absicherung: leeren Bereich für Klicks durchlässig lassen,
   nur die Buttons selbst bleiben klickbar. */
#sticky-btns-modal,
#sticky-btns-modal .fusion-builder-row,
#sticky-btns-modal .fusion-layout-column,
#sticky-btns-modal .fusion-column-wrapper {
  pointer-events: none !important;
}

#sticky-btns-modal [id="custom-sticky-contact-btns"] {
  pointer-events: auto !important;
}
/* ========================================================= */


/* Preis-Abstand in den Such-Karten etwas verkleinern (Preis sitzt jetzt direkt
   über dem Button, der große 3rem-Abstand ist nicht mehr nötig). */
.search.search-results ul.fusion-grid-posts-cards li .fusion-checklist + .fusion-text {
  --awb-margin-top: 1.5rem !important;
  --awb-margin-top-medium: 1.5rem !important;
  --awb-margin-top-small: 1.5rem !important;
  margin-top: 1.5rem !important;
}
/* ========================================================= */

