/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating wil be much easier then.
Version: 1.1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/


/* =============================================================================
   Sofortkontakt-Halbkreis (Hero)
   ============================================================================= */

/*
 * Sofortkontakt: Wrap wird per JS in .avia-slideshow gehängt — bottom:0 = Unterkante der Slider-Box
 * (Enfold-Höhe per JS), nicht nur #sofort. Parallax auf .avia-slideshow-inner ist per CSS aus.
 */
body#top #wrap_all #main #sofort,
body#top #wrap_all #main #slideroben {
	position: relative !important;
	z-index: 1;
	overflow: hidden !important;
	margin-bottom: 0 !important;
}

body#top #wrap_all #main #sofort .avia-slideshow,
body#top #wrap_all #main #slideroben .avia-slideshow {
	position: relative !important;
	width: 100% !important;
	margin: 0 !important;
	z-index: 1 !important;
	overflow: visible !important;
}

/*
 * Fullscreen-Parallax (slideshow_fullscreen.js) setzt translateY auf .avia-slideshow-inner —
 * das Bild wandert, der Sofortkontakt hängt an #sofort → wirkt wie ein „wandern“ des Buttons
 * Richtung nächstes Foto. Parallax-Transform hier abschalten (!important schlägt jQuery-.css()).
 * Slides wechseln per Opacity/Fade, nicht über UL-transform.
 */
body#top #wrap_all #main #sofort .avia-slideshow-inner,
body#top #wrap_all #main #slideroben .avia-slideshow-inner {
	transform: none !important;
	-webkit-transform: none !important;
}

body#top #wrap_all #main #sofort .avia-slideshow .andi-sofortkontakt-wrap,
body#top #wrap_all #main #sofort > .andi-sofortkontakt-wrap,
body#top #wrap_all #main #slideroben .avia-slideshow .andi-sofortkontakt-wrap,
body#top #wrap_all #main #slideroben > .andi-sofortkontakt-wrap {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	top: auto !important;
	bottom: 0 !important;
	transform: none !important;
	display: flex !important;
	justify-content: center !important;
	align-items: flex-end !important;
	z-index: 25 !important;
	pointer-events: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

#sofort .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date,
#slideroben .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date {
	pointer-events: auto;
	position: relative;
	left: auto;
	transform: none;
	width: min(62vw, 320px);
	max-width: 320px;
	min-width: 180px;
	aspect-ratio: 2 / 1;
	height: auto;
	background-color: rgba(197, 154, 58, 0.6);
	background-image: linear-gradient(
		to bottom,
		rgba(212, 176, 89, 0.6),
		rgba(184, 135, 38, 0.6)
	);
	border-radius: 999px 999px 0 0;
	box-shadow: 0 0 25px rgba(0, 0, 0, 0.45);
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: clamp(14px, 2.2vw, 24px);
	transition: opacity 0.2s ease, visibility 0.2s ease;
	/* Kein zusätzlicher Button-Puls — nur dezentes Leuchten am ::before (3s), wie früher im Customizer */
}

/* Scroll-Guard (wp_footer): kein Klick-Overlay über dem Menü */
#sofort .andi-sofortkontakt-wrap.andi-sofortkontakt--behind-header .save-the-date.popup-save-the-date,
#slideroben .andi-sofortkontakt-wrap.andi-sofortkontakt--behind-header .save-the-date.popup-save-the-date {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

#sofort .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date::before,
#slideroben .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100%;
	height: 100%;
	border-radius: inherit;
	box-shadow: 0 0 40px 8px rgba(197, 154, 58, 0.8);
	z-index: 0;
	animation: sofortkontakt-glow-customizer 2.1s ease-in-out infinite;
}

#sofort .save-the-date .sofortkontakt-label,
#sofort .save-the-date .sofortkontakt-phone,
#slideroben .save-the-date .sofortkontakt-label,
#slideroben .save-the-date .sofortkontakt-phone {
	position: relative;
	z-index: 1;
}

#sofort .sofortkontakt-label,
#slideroben .sofortkontakt-label {
	margin-top: clamp(10px, 2vw, 22px);
	font-family: "Great Vibes", cursive;
	font-style: normal;
	font-size: clamp(20px, 2.3vw, 34px);
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-shadow:
		-0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		-0.5px 0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px 0.5px 0 rgba(0, 0, 0, 0.8);
}

#sofort .sofortkontakt-phone,
#slideroben .sofortkontakt-phone {
	margin-top: clamp(4px, 1vw, 10px);
	font-family: "Great Vibes", cursive;
	font-size: clamp(14px, 1.7vw, 26px);
	letter-spacing: 0.04em;
	text-shadow:
		-0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		-0.5px 0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px 0.5px 0 rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
	body#top #wrap_all #main #sofort,
	body#top #wrap_all #main #slideroben {
		overflow: visible !important;
		z-index: 5;
	}

	#sofort .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date,
	#slideroben .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date {
		width: min(74vw, 240px);
		min-width: 170px;
		padding-top: clamp(24px, 7vw, 34px);
	}

	#sofort .sofortkontakt-label,
	#slideroben .sofortkontakt-label {
		margin-top: clamp(12px, 3.5vw, 24px);
		font-size: clamp(18px, 7vw, 26px);
		line-height: 1.1;
	}

	#sofort .sofortkontakt-phone,
	#slideroben .sofortkontakt-phone {
		margin-top: clamp(8px, 2.4vw, 12px);
		font-size: clamp(12px, 4.6vw, 17px);
		letter-spacing: 0.02em;
	}

	/*
	 * Kontakt mobil:
	 * 1) Avia-Dynamic-CSS setzt am Bild-Container z-index:100 → der Block liegt über dem Titel,
	 *    obwohl die Überschrift danach im DOM steht (Geschwister mit auto liegen unten).
	 * 2) Titel explizit nach vorne; Hintergrund etwas nach oben schieben, damit weniger „Haare“
	 *    im Titelbereich (Parallax background-position war 50% 50%).
	 */
	#kontakt .avia-image-container {
		z-index: auto !important;
	}

	#kontakt .avia-image-container img.avia_image {
		width: min(92vw, 980px);
		max-width: none;
		height: auto;
		margin-bottom: 0;
	}

	#kontakt #titel .av-special-heading,
	#kontakt #section-title-white {
		position: relative;
		z-index: 3;
	}

	#kontakt .av-parallax .av-parallax-inner {
		background-position: 50% 18% !important;
	}

	#impressum .avia-image-container.av-3fq9wt-96c36591822fd1a46addde6fd46b7705 img.avia_image {
		width: min(92vw, 980px);
		max-width: none;
		height: auto;
		margin-bottom: -28px;
	}

}

@media (min-width: 769px) and (max-width: 1024px) {
	#sofort .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date,
	#slideroben .andi-sofortkontakt-wrap .save-the-date.popup-save-the-date {
		width: min(52vw, 300px);
		padding-top: clamp(14px, 2.2vw, 22px);
	}

	body#top #wrap_all #main #sofort,
	body#top #wrap_all #main #slideroben {
		margin-bottom: 0 !important;
	}
}

/* =============================================================================
   Slideshow ganz oben: volle Viewport-Höhe (wie Enfold .avia-fullscreen-slider)
   Gilt für Hero #sofort und Fullwidth-Slider #full_slider_1 auf der Startseite.
   ============================================================================= */
body.home #sofort .avia-slideshow,
body.home #slideroben .avia-slideshow,
body.home #full_slider_1 .avia-slideshow {
	margin: 0 !important;
	height: 100vh !important;
	height: 100dvh !important;
	min-height: 250px;
}

body.home #sofort .avia-slideshow-inner,
body.home #slideroben .avia-slideshow-inner,
body.home #full_slider_1 .avia-slideshow-inner {
	width: 100%;
	height: 100%;
	position: absolute;
}

body.home #sofort .avia-slideshow > ul,
body.home #slideroben .avia-slideshow > ul,
body.home #full_slider_1 .avia-slideshow > ul {
	height: 100% !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body.home #sofort .avia-slideshow > ul > li,
body.home #slideroben .avia-slideshow > ul > li,
body.home #full_slider_1 .avia-slideshow > ul > li {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
}

/*
 * Weicheres Überblenden der Slides:
 * längere Fade-Dauer + sanfteres Easing statt hartem Wechsel.
 */
body.home #sofort .avia-slideshow > ul > li,
body.home #slideroben .avia-slideshow > ul > li,
body.home #full_slider_1 .avia-slideshow > ul > li {
	transition: opacity 1.35s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
	will-change: opacity;
}

/*
 * Hero-Slider ohne seitliches Gleiten:
 * Enfold setzt je nach Effekt translateX/translate3d auf UL/LI.
 * Hier erzwingen wir einen reinen Bildwechsel ohne horizontale Bewegung.
 */
body.home #sofort .avia-slideshow > ul,
body.home #slideroben .avia-slideshow > ul,
body.home #full_slider_1 .avia-slideshow > ul,
body.home #sofort .avia-slideshow > ul > li,
body.home #slideroben .avia-slideshow > ul > li,
body.home #full_slider_1 .avia-slideshow > ul > li {
	transform: none !important;
	-webkit-transform: none !important;
}

body.home #sofort .avia-slideshow .avia-slide-wrap,
body.home #slideroben .avia-slideshow .avia-slide-wrap,
body.home #full_slider_1 .avia-slideshow .avia-slide-wrap,
body.home #sofort .avia-slideshow .avia-slide-wrap img,
body.home #slideroben .avia-slideshow .avia-slide-wrap img,
body.home #full_slider_1 .avia-slideshow .avia-slide-wrap img {
	transform: none !important;
	-webkit-transform: none !important;
	animation: none !important;
}

body.home #sofort .avia-slide-wrap,
body.home #slideroben .avia-slide-wrap,
body.home #full_slider_1 .avia-slide-wrap {
	display: block;
	width: 100%;
	height: 100%;
}

body.home #sofort .caption_container,
body.home #slideroben .caption_container,
body.home #full_slider_1 .caption_container {
	height: 100%;
}

@media only screen and (max-width: 767px) {
	body.home #sofort .avia-slideshow,
	body.home #slideroben .avia-slideshow,
	body.home #full_slider_1 .avia-slideshow {
		min-height: 150px;
	}
}

/* Unified heading hearts for key sections */
#sofort-service #titel .av-special-heading-tag,
#fotobox #titel .av-special-heading-tag,
#mich #titel .av-special-heading-tag,
#kontakt #titel .av-special-heading-tag,
#impressum #titel .av-special-heading-tag {
	position: relative;
	display: inline-block;
	padding-top: clamp(12px, 2vw, 18px);
	margin-top: 0;
}

#sofort-service #titel .av-special-heading-tag::before,
#fotobox #titel .av-special-heading-tag::before,
#mich #titel .av-special-heading-tag::before,
#kontakt #titel .av-special-heading-tag::before,
#impressum #titel .av-special-heading-tag::before {
	content: "";
	position: absolute;
	top: auto;
	bottom: calc(100% - 5px);
	left: 50%;
	transform: translateX(-50%);
	width: clamp(68px, 10vw, 102px);
	height: clamp(20px, 3.1vw, 30px);
	background-image: url("/wp-content/uploads/2025/01/herzenklein.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

/* Sofort-Service: schmales Banner (1024×163) — keine künstliche Höhe; Ornament direkt über Text */
#sofort-service #titel .av-special-heading {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#sofort-service #titel .av-special-heading,
#sofort-service #titel .av-special-heading-inner {
	overflow: visible;
}

#sofort-service #titel .av-special-heading-tag {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	float: none !important;
	width: 100%;
	padding-top: 0;
	line-height: 1.12;
	gap: 4px;
	overflow: visible !important;
}

#sofort-service #titel .av-special-heading-tag::before {
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	transform: none;
	flex-shrink: 0;
	width: clamp(80px, 12vw, 120px);
	aspect-ratio: 1024 / 163;
	height: auto;
	margin: 0;
	background-image: url("/wp-content/uploads/2026/04/logogesmtneu-1.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	pointer-events: none;
}

@media (max-width: 768px) {
	#sofort-service #titel .av-special-heading-tag,
	#fotobox #titel .av-special-heading-tag,
	#mich #titel .av-special-heading-tag,
	#kontakt #titel .av-special-heading-tag,
	#impressum #titel .av-special-heading-tag {
		padding-top: clamp(14px, 5vw, 22px);
	}

	#sofort-service #titel .av-special-heading-tag::before,
	#fotobox #titel .av-special-heading-tag::before,
	#mich #titel .av-special-heading-tag::before,
	#kontakt #titel .av-special-heading-tag::before,
	#impressum #titel .av-special-heading-tag::before {
		width: clamp(76px, 26vw, 114px);
		height: clamp(22px, 8vw, 34px);
	}

	#sofort-service #titel .av-special-heading-tag {
		padding-top: 0;
		gap: 3px;
	}

	#sofort-service #titel .av-special-heading-tag::before {
		width: clamp(84px, 30vw, 132px);
		height: auto;
		aspect-ratio: 1024 / 163;
		background-size: contain;
		background-position: center center;
	}
}

/*
 * Logo nach rechts — Enfold-Sonderfälle:
 * - Zentriert: left:50% + translate(-50%) → nur "left" ändert fast nichts; Offset in calc(50% + …).
 * - Mobil (max 767): .logo oft position:static → margin-left / translateX.
 * - html-Element: .html_logo_* und .responsive (nicht auf body).
 */
@media (min-width: 768px) {
	/* Logo links (und ggf. Symmetrie); bei logo_center separat — kein künstlicher rechter Menü-Gutter. */
	body#top {
		--andi-header-edge-gutter: clamp(48px, 12vw, 265px);
	}

	html.html_logo_center body#top #wrap_all #header #header_main .container.av-logo-container .logo,
	html.html_logo_center body#top #header #header_main .logo {
		left: calc(50% + clamp(40px, 10vw, 200px)) !important;
		transform: translate(-50%, 0) !important;
	}

	html.html_logo_left body#top #wrap_all #header #header_main .container.av-logo-container .logo,
	html.html_logo_left body#top #header #header_main .logo {
		left: var(--andi-header-edge-gutter) !important;
		transform: none !important;
	}

	html.html_logo_right body#top #wrap_all #header #header_main .container.av-logo-container .logo,
	html.html_logo_right body#top #header #header_main .logo {
		left: auto !important;
		right: 0 !important;
		transform: translateX(clamp(16px, 4vw, 96px)) !important;
	}
}

/*
 * Text-Menü auf Desktop: Enfold zeigt den Burger erst <768px (bzw. 768–989px nur mit „Tablet“-Option).
 * Ab hier: gleicher Modus wie Enfold-Tablet bis 1280px — kein Überlappen mit Logo.
 * Nur bei html_text_menu_active (nicht wenn ohnehin „Burger auf Desktop“ gewählt ist).
 */
@media (min-width: 768px) and (max-width: 1280px) {
	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top .av-burger-menu-main {
		display: block !important;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #wrap_all .main_menu {
		top: 0;
		left: auto;
		right: 0;
		display: block;
	}

	html.responsive.html_logo_right.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #wrap_all .main_menu {
		left: 0;
		right: auto;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top .av-main-nav > .menu-item:not(.menu-item-avia-special) {
		display: none !important;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top .av-main-nav > .menu-item-avia-special {
		display: block !important;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #wrap_all .menu-item-search-dropdown > a {
		font-size: 24px;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #header_main > .container .main_menu .av-main-nav > li > a {
		min-width: 0;
		padding: 0 0 0 20px;
		margin: 0;
		border-style: none;
		border-width: 0;
	}

	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #header .av-main-nav > li > a,
	html.responsive.html_text_menu_active:not(.html_burger_menu_active):not(.html_header_sidebar) #top #header .av-main-nav > li > a:hover {
		background: transparent;
		color: inherit;
	}
}

@media (max-width: 767px) {
	html.responsive body#top #wrap_all #header #header_main .container.av-logo-container .logo,
	html.responsive body#top #header #header_main .logo {
		margin-left: clamp(10px, 5.5vw, 44px) !important;
	}
}

/*
 * Hauptnavigation: Abstände zwischen Punkten (nur sichtbar ab >1280px bei Text-Menü, sonst Burger).
 * logo links/rechts: symmetrischer Abstand zum Rand am großen Desktop.
 */
@media (min-width: 768px) {
	body#top .av_seperator_small_border .av-main-nav > li > a > .avia-menu-text {
		padding-left: 14px !important;
		margin-left: -14px !important;
	}

	body#top .av_seperator_big_border#header .av-main-nav > li > a,
	body#top #header.av_seperator_big_border .av-main-nav > li > a {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	body#top #header .av-main-nav > li > a {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	html.html_logo_left body#top #header #header_main .main_menu,
	html.html_logo_left body#top #header #header_main_alternate .main_menu,
	html.html_logo_right body#top #header #header_main .main_menu,
	html.html_logo_right body#top #header #header_main_alternate .main_menu {
		padding-right: calc(var(--andi-header-edge-gutter) + 18px) !important;
		box-sizing: border-box;
	}
}

/* Vollflächiges Burger-Overlay: etwas mehr Zeilenabstand zwischen Einträgen */
.html_av-overlay-full #top #wrap_all #av-burger-menu-ul > li {
	padding-top: 0.35em !important;
	padding-bottom: 0.35em !important;
}

/*
 * Fixierter Header (Enfold-Option „Sticky“): position:sticky scheitert hier oft an html/body overflow-x:hidden.
 * Enfold nutzt position:fixed + padding-top am #main — das mit !important absichern, falls anderes CSS eingreift.
 */
html.html_header_top.html_header_sticky #top #header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 501;
	background-color: #fefdfb !important;
}

body.admin-bar html.html_header_top.html_header_sticky #top #header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar html.html_header_top.html_header_sticky #top #header {
		top: 46px;
	}
}

/* Header-Hintergrund (Enfold legt Farbe/Gradient oft auf .header_bg per Dynamic CSS) */
#top #header .header_bg {
	background-color: #fefdfb !important;
	background-image: none !important;
	opacity: 1 !important;
}

/* Zwei 1px-Linien mit kleinem Abstand dazwischen (Gradient, kein box-shadow) */
#top #header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(
		to bottom,
		#ebe9e6 0 1px,
		#fefdfb 1px 3px,
		#d4d2ce 3px 4px
	);
	pointer-events: none;
	z-index: 1;
}

/* Footer social icons below the email address in Impressum */
.andi-social-icons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	gap: 8px;
	margin-top: 8px;
}

.andi-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	text-decoration: none !important;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.andi-social-icon:hover {
	transform: translateY(-1px);
	opacity: 0.9;
}

.andi-social-icon img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

/* Paragraph text a bit larger, still mobile-friendly */
#top #wrap_all p {
	font-size: clamp(1.06rem, 1rem + 0.35vw, 1.22rem);
	line-height: 1.65;
}

/*
 * Enfold kann am #main padding-top setzen (fixer Header / data-scroll-offset) —
 * wirkt wie ein Streifen zwischen Menü und erstem Block (z. B. Slider).
 * Nur Startseite: Unterseiten behalten ggf. den Offset, damit nichts unter den fixen Header rutscht.
 */
body.front-page #top #wrap_all #main {
	padding-top: 0 !important;
}

/* =============================================================================
   Ehem. Enfold Customizer → Quick CSS (hier gepflegt, damit alles im Child-Theme liegt).
   Save-the-date-Regeln nur unter #full_slider_1, damit der bestehende #sofort-Hero
   (oben in dieser Datei) nicht von doppelten ::before/@keyframes überschrieben wird.
   ============================================================================= */

#main {
	padding-top: 0px !important;
}

.av-special-heading-tag {
	margin-top: 0px !important;
}

/* Halbkreis „Save the date“ im Fullwidth-Slider (#full_slider_1), nicht den #sofort-Hero überschreiben */
#full_slider_1 {
	position: relative;
	margin-bottom: 80px; /* create space so circle doesn't overlap next section */
}

#full_slider_1 .save-the-date.popup-save-the-date {
	/* Semi-circle aligned to bottom of hero caption/slider */
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 280px;
	height: 140px;
	background-color: rgba(197, 154, 58, 0.6);
	background-image: linear-gradient(
		to bottom,
		rgba(212, 176, 89, 0.6),
		rgba(184, 135, 38, 0.6)
	);
	border-radius: 140px 140px 0 0;
	box-shadow: 0 0 25px rgba(0, 0, 0, 0.45);
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-top: 38px; /* Text weiter nach unten schieben */
	z-index: 1; /* circle above its pulsing shadow */
}

#full_slider_1 .save-the-date.popup-save-the-date::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100%;
	height: 100%;
	border-radius: inherit;
	/* dezentes goldenes Leuchten mit leichter Animation */
	box-shadow: 0 0 40px 8px rgba(197, 154, 58, 0.8);
	z-index: 0;
	animation: sofortkontakt-glow-customizer 2.1s ease-in-out infinite;
}

#full_slider_1 .sofortkontakt-label {
	font-family: "Great Vibes", cursive;
	font-style: normal;
	font-size: 32px;
	line-height: 1.2;
	letter-spacing: 0.03em;
	/* feinere schwarze Außenlinie für bessere Lesbarkeit */
	text-shadow:
		-0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		-0.5px 0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px 0.5px 0 rgba(0, 0, 0, 0.8);
}

#full_slider_1 .sofortkontakt-phone {
	margin-top: 10px;
	font-family: "Great Vibes", cursive;
	font-size: 24px;
	letter-spacing: 0.04em;
	text-shadow:
		-0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px -0.5px 0 rgba(0, 0, 0, 0.8),
		-0.5px 0.5px 0 rgba(0, 0, 0, 0.8),
		0.5px 0.5px 0 rgba(0, 0, 0, 0.8);
}

@keyframes sofortkontakt-glow-customizer {
	0% {
		box-shadow: 0 0 28px 5px rgba(197, 154, 58, 0.55);
	}
	50% {
		box-shadow: 0 0 72px 16px rgba(212, 176, 89, 1);
	}
	100% {
		box-shadow: 0 0 28px 5px rgba(197, 154, 58, 0.55);
	}
}

@media (max-width: 767px) {
	#full_slider_1 .save-the-date.popup-save-the-date {
		width: 260px;
		height: 120px;
	}

	#full_slider_1 .sofortkontakt-label {
		font-size: 24px;
	}

	#full_slider_1 .sofortkontakt-phone {
		font-size: 16px;
	}
}

/* Mobiles Menü */

@media (max-width: 990px) {
	.av-burger-overlay li a {
		font-family: "Dosis", Arial, sans-serif !important;
		color: #936a10 !important;
	}

	.av-burger-overlay li a:hover {
		color: #b88a1f !important;
	}
}

/* Navigationsbutton im Slider */

/*
 * Hero (#sofort): Zuverlässige Klicks + bessere Sichtbarkeit
 * - Fullscreen-Slider: Enfold blendet Pfeile per opacity:0 ein, bis die ganze Fläche gehovert wird;
 *   auf Touch / beim Anfahren von der Seite wirkt das leer oder „hängend“.
 * - Standard z-index der Pfeile ist 99; Avia-Dynamic-CSS legt Bild-/Caption-Layer oft höher —
 *   dann fangen die Slides die Klicks ab.
 */
body#top #wrap_all #main #sofort .avia-slideshow .avia-slideshow-arrows {
	z-index: 10000 !important;
	pointer-events: none !important;
}

body#top #wrap_all #main #sofort .avia-slideshow .avia-slideshow-arrows a {
	z-index: 10001 !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* Ensure slider overlays never steal arrow hover/clicks in hero section. */
body#top #wrap_all #main #sofort .avia-slideshow .caption_fullwidth,
body#top #wrap_all #main #sofort .avia-slideshow .slideshow_caption,
body#top #wrap_all #main #sofort .avia-slideshow .av-click-overlay {
	pointer-events: none !important;
}

#top .av-slideshow-ui .avia-slideshow-arrows a {
	background: rgb(190, 154, 75) !important;
	box-shadow: 0 0 0 5px #be9a4b;
	border: 3px solid #997525 !important;
	color: #ffffff !important;

	width: 50px !important;
	height: 50px !important;
	line-height: 50px !important;
	padding: 0 !important;
	margin: 10px !important;

	display: inline-block !important;
	text-align: center !important;
	border-radius: 50% !important;

	box-sizing: border-box !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
}

#top .av-slideshow-ui .avia-slideshow-arrows a:before {
	color: #ffffff !important;
	font-size: 20px !important;
	line-height: 50px !important;
	text-align: center !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
}

#top .av-slideshow-ui .avia-slideshow-arrows a:hover {
	background: #997525 !important;
	border-color: #7f611d !important;
	color: #ffffff !important;
}

#top .av-slideshow-ui .avia-slideshow-arrows a:hover:before {
	color: #ffffff !important;
}

@media only screen and (max-width: 768px) {
	#top .av-slideshow-ui .avia-slideshow-arrows a {
		width: 44px !important;
		height: 44px !important;
		line-height: 44px !important;
	}

	#top .av-slideshow-ui .avia-slideshow-arrows a:before {
		font-size: 18px !important;
		line-height: 44px !important;
	}
}

#top .av-slideshow-ui .avia-slideshow-arrows a:before {
	position: relative;
	top: -1px;
}

/* Schriften */

p {
	font-size: 17px;
	line-height: 28px;
	letter-spacing: 0.01em;
	color: #767878;
	font-weight: 300;
}

h2 {
	font-size: 55px;
	letter-spacing: 0.01em;
}

h3 {
	font-size: 2.55556rem;
	letter-spacing: 0.08em;
}

h4 {
	font-size: 35px;
	letter-spacing: 0.08em;
}

h5 {
	font-size: 28px;
	letter-spacing: 0.08em;
}

h6 {
	font-size: 1.81rem !important;
	line-height: 1.5;
	font-weight: 300 !important;
}

strong {
	color: #767878 !important;
}

/* Kontaktformular */

#top .av-light-form .input-text,
#top .av-light-form input[type="text"],
#top .av-light-form input[type="password"],
#top .av-light-form input[type="email"],
#top .av-light-form input[type="number"],
#top .av-light-form input[type="url"],
#top .av-light-form input[type="tel"],
#top .av-light-form input[type="search"],
#top .av-light-form textarea,
#top .av-light-form select,
#top .av-light-form .button {
	background: #f3f0ec !important;
	border-width: 2px;
	border-radius: 6px;
	font-family: "Dosis", Arial, sans-serif !important;
	text-align: left;
	color: #6e6e6e !important;
}

/* Button bei Kontaktformular */

#top .av-light-form .button {
	background: #997525 !important;
	color: #ffffff !important;
	border: 2px solid #997525;
	border-radius: 6px;
	font-family: "News Cycle", Arial, sans-serif !important;
	padding: 12px 28px;
	transition: all 0.3s ease;
}

#top .av-light-form .button:hover {
	background: transparent !important;
	color: #997525 !important;
	border: 2px solid #997525;
}

/* Mobiles Menü Schriftart */

.html_av-overlay-full #top #wrap_all #av-burger-menu-ul li {
	line-height: 1.6em;
	font-size: 20px;
	font-family: "Dosis", Arial, sans-serif !important;
}

/* Soziale Buttons bei Impressum in weiß */

#top .av-share-box ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
	border-style: solid;
	border-width: 1px;
	display: table;
	text-align: center;
	table-layout: fixed;
	border-radius: 3px;
	background: transparent;
	color: white;
}

/* Soziale Buttons bei Impressum weniger Abstand zum Text oben */

.av-social-sharing-box {
	/* margin-top: 30px; */
	float: left;
	width: 100%;
}

/* Teiler in der Farbsektion bei Impressum */

.section-divider {
	position: relative;
}

.section-divider::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	height: 100%;
	width: 1px;
	background: #997525;
	transform: translateX(-50%);
}

@media (max-width: 768px) {
	.section-divider::after {
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		transform: translateY(-50%);
	}
}

/*
 * Sektions-Titel: h3 ist display:inline-block — ohne text-align:center am Enfold-Heading-Container
 * sitzt der Block links (früher wirkte der spät geladene Customizer wie ein „Fix“).
 */
#titel .av-special-heading,
#titel .av-special-heading-inner,
#section-title-white,
#impressumtitel,
#kontakt #section-title-white {
	text-align: center !important;
}

/* Kontakt Titel in weiß */

#section-title-white h3 {
	font-size: 46px !important;
	color: white !important;
	background-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.1);
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: rgba(255, 255, 255, 0.1);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: rgba(255, 255, 255, 0.1);
	margin: 59px 0px 0px;
	padding: 10px 25px 5px;
	display: inline-block;
	text-transform: capitalize;
	letter-spacing: 3px;
	text-align: center;
}

#impressumtitel h3 {
	font-size: 46px !important;
	color: rgb(255, 255, 255);
	background-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.1);
	margin: 59px 0px 0px;
	padding: 10px 25px 5px;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: rgba(255, 255, 255, 0.1);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: rgba(255, 255, 255, 0.1);

	display: inline-block;
	text-transform: capitalize;
	letter-spacing: 3px;
	text-align: center;
}

/* Titel wie Sofort-Service, Fotobox, Über mich */

#titel h3 {
	color: #848383 !important;
	background-color: rgba(190, 154, 75, 0.1);
	font-size: 46px !important;
	color: rgb(132, 131, 131);
	margin: 59px 0px 0px;
	padding: 10px 25px 5px;
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: rgba(190, 154, 75, 0.1);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: rgba(190, 154, 75, 0.1);
	display: inline-block;
	text-transform: capitalize;
	letter-spacing: 3px;
	text-align: center;
}

