/*
 Theme Name:     Divi Child Theme
 Theme URI:      http://www.elegantthemes.com
 Description:    Child Theme for Divi Theme by Elegant Themes
 Author:         Divi.world
 Author URI:     http://divi.world
 Template:       Divi
 Version:        1.0.0
*/
 
/* =Ab hier kannst du deine CSS-Anpassungen eintragen
------------------------------------------------------- */
/*** Navigation Styling Start ***/
.et-menu .nav-cta a{
	background-color:#2e7925;
	padding: 0px 20px!important;
	transition:all .5s ease-in-out;
	color:white!important;
	font-family: Rubik, sans-serif!important;
	height:50px;
	align-self:center;
}

.et-menu .nav-cta a:hover {
	background-color:grey;
	transition:all .3s ease-in-out;
	transform: scale(.95);
	color:white!important;
}

/* Mobile Menu Style */
.et_mobile_menu {
	margin-top: 20px !important;
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0);
	margin-left:-5px;
}

.et_mobile_menu a {
  font-weight:300!important;
}

/* Mobile Submenu */
.et_mobile_menu ul.sub-menu li a {
  font-family: 'Rubik', sans-serif !important;
	font-weight:300!important;
	border:none!important;
}

.et-mobile-menu ul.sub-menu {
		transition: all .5s ease-in-out!important;
}

.mobile-toggle:after {
    content: '\43'!important;
}

/* Vertikale Abstände verringern */
.et_mobile_menu li a {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  line-height: 1.3 !important;
	border:none;
	background-color:transparent!important;
}

/* Icon Nav Dropdown */
.et-menu .menu-item-has-children>a:first-child:after {
	color:#2e7925;
}
/*** Navigation Styling End ***/

/* Accordion */
/*add icon to the opened accordion*/
/* Farbe + Größe: Divi 5 übernimmt die Icon-Einstellungen nur für geschlossene Toggles */
.pa-add-accordion-icon .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
	display: block;
	content: "\42"!important;
	color: #2e7925 !important;
	font-size: 30px !important;
}

/* Hintergrund-Overlay für die Bild-Spalte bei Leistungen auf der Startseite */
.schadenspalte {
    position: relative;
}

.schadenspalte::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(46,121,37,0.5);
    transition: all 0.5s ease-in-out;
    z-index: 2;
	opacity:1;
}

/* Overlay verschwindet beim Hover über die gesamte Reihe */
.schadenzeile:hover .schadenspalte::before {
	width:0;
	opacity:0;
}

/* Ersetzt das Standard-Dropdown-Icon für "Leistungen" */
.et-menu-nav > ul > li.menu-item-has-children > a:after {
    content: "\43"!important; /* Neues Icon */
}

/* Button im Textmodul */
.textmodulebutton {
    display: inline-block;
    transition: all 0.5s ease-in-out;
}

.textmodulebutton:hover {
    transform: translateX(10px);
	color:black;
}

/* Referenzen Karussell */
/* Animationsbereich */
.logo-track {
    display: flex;
    gap: 90px;
    width: max-content;
    animation: scrollLogos 60s linear infinite;
    align-items: center;
}

/* Referenzen Logo-Bilder */
.logo-track img {
    max-height: 80px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%);
    transition: all 0.5s ease-in-out;
    opacity: 0.8;
}

/* Referenzen Logo Hover-Effekt für Farben */
.logo-track img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Keyframe-Animation */
@keyframes scrollLogos {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); } /* Bewegung nach links */
}

/* Mobile Column Reverse */
@media screen and ( max-width: 980px ) {
    .reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}


/* ===== START: Image Accordion Team (Über uns) – ersetzt Divi Supreme ===== */
/* Struktur: Gruppe .svm-image-accordion > Gruppen .svm-ia-panel (Hintergrundbild) > Heading .svm-ia-title + Text .svm-ia-text */
.svm-image-accordion {
	--svm-ia-open: 900ms;
	--svm-ia-copy: 500ms;
	--svm-ia-title-delay: 450ms;
	--svm-ia-text-delay: 600ms;
	width: 100%;
	height: 400px;
	gap: 20px;
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: stretch !important;
}

/* Innenabstand in px: Prozent würde sich auf die Containerbreite beziehen und das Aufklappen blockieren */
.svm-image-accordion .svm-ia-panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-width: 0;
	height: 100%;
	flex: 1 1 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	padding: 0 30px 30px !important;
	background-size: cover !important;
	background-position: center center !important;
	transition: flex-grow var(--svm-ia-open) cubic-bezier(.22,.61,.36,1);
}

/* Grünes Overlay, erscheint beim Hover */
.svm-image-accordion .svm-ia-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(46,121,37,0.8);
	opacity: 0;
	transition: opacity var(--svm-ia-open) ease;
}

.svm-image-accordion .svm-ia-panel:hover { flex: 4 1 0 !important; }
.svm-image-accordion .svm-ia-panel:hover::before { opacity: 1; }

/* Texte: versteckt, blenden nach dem Aufklappen ein */
.svm-image-accordion .svm-ia-copy {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0 !important;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 120ms ease, transform 120ms ease;
}

.svm-image-accordion .svm-ia-panel:hover .svm-ia-title {
	opacity: 1;
	transform: none;
	transition: opacity var(--svm-ia-copy) ease var(--svm-ia-title-delay), transform var(--svm-ia-copy) cubic-bezier(.22,.61,.36,1) var(--svm-ia-title-delay);
}

.svm-image-accordion .svm-ia-panel:hover .svm-ia-text {
	opacity: 1;
	transform: none;
	transition: opacity var(--svm-ia-copy) ease var(--svm-ia-text-delay), transform var(--svm-ia-copy) cubic-bezier(.22,.61,.36,1) var(--svm-ia-text-delay);
}

.svm-image-accordion .svm-ia-title h3 { white-space: nowrap; padding-bottom: 10px; }
.svm-image-accordion .svm-ia-text p { padding-bottom: 0; }

/* E-Mail-Link im Stil des bisherigen Supreme-Buttons */
.svm-image-accordion .svm-ia-mail {
	display: inline-block;
	margin-top: 20px;
	padding: 6px 14px;
	background: #ededed;
	color: #000 !important;
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 1px;
	border: 2px solid #ededed;
	transition: border-color .3s ease;
}
.svm-image-accordion .svm-ia-mail::after {
	content: "\45";
	font-family: ETmodules;
	color: #2e7925;
	margin-left: 6px;
	vertical-align: middle;
}
.svm-image-accordion .svm-ia-mail:hover { border-color: #2e7925; }

/* Tablet + Handy: untereinander, Texte immer sichtbar */
@media (max-width: 980px) {
	.svm-image-accordion {
		height: auto;
		flex-direction: column !important;
	}
	.svm-image-accordion .svm-ia-panel,
	.svm-image-accordion .svm-ia-panel:hover {
		flex: 0 0 auto !important;
		min-height: 360px;
	}
	.svm-image-accordion .svm-ia-panel::before { opacity: 1; background: linear-gradient(to top, rgba(46,121,37,0.85) 0%, rgba(46,121,37,0.35) 60%, rgba(46,121,37,0) 100%); }
	.svm-image-accordion .svm-ia-copy,
	.svm-image-accordion .svm-ia-panel:hover .svm-ia-copy {
		opacity: 1;
		transform: none;
		transition-delay: 0ms;
	}
	.svm-image-accordion .svm-ia-title h3 { white-space: normal; }
}

@media (max-width: 767px) {
	.svm-image-accordion .svm-ia-panel,
	.svm-image-accordion .svm-ia-panel:hover { min-height: 420px; padding: 0 24px 24px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.svm-image-accordion .svm-ia-panel,
	.svm-image-accordion .svm-ia-panel::before,
	.svm-image-accordion .svm-ia-copy { transition: none !important; }
}
/* ===== ENDE: Image Accordion Team (Über uns) ===== */
