/*
 Theme Name: Divi-Mastermind-Child-Theme
 Theme URI: https://www.divimastermind.com/
 Description: Dies ist ein <b>ready-to-start</b> Child-Theme f&uuml;r Divi. Entwickelt und bereitgestellt von den Divi Masterminds. Dieses Theme beinhaltet alle notwendigen Dateien, um den schnellen und einfach Start zu erm&ouml;glichen.
 Author: Divi Mastermind - Benny Hozjan und Frank Oschatz
 Author URI: https://divimastermind.com/
 Template: Divi
 Version: 1.0.0
 Tag: divi, child-theme, rawbone, easy-to-use, mastermind, german-group, 
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/*  ==================================================================
	STANDARD CSS =====================================================
	==================================================================  */
	
	#wpadminbar {
    z-index: 9999999;
	}
	
	* {
	margin:0;
	padding:0;
	box-sizing: border-box;
	}
	html {
	font-size: 62.5%;
	}

	/* toolbar sticky by scroll */
	.mce-top-part {
	position: sticky!important;
	top: -60px;
	}


/* ==========================================================================
   LÖMI — Maximale Zeilenbreite (Content Width) für Divi 5
   --------------------------------------------------------------------------
   WARUM DIESE REGEL NÖTIG IST

   Im Customizer steht unter „Layout-Einstellungen › Website-Inhaltsbreite"
   der Wert 1277px. Divi schreibt diesen Wert aber nur in diese Regel:

       .container,
       .et_pb_row:not([class*="et_flex_column"]),
       ... { max-width: 1277px }

   Entscheidend ist das :not([class*="et_flex_column"]).
   Jede Divi-5-Zeile trägt zwingend eine Spaltenklasse, auf loemi.com also
   et_flex_column_24_24. Damit fällt JEDE Zeile aus der Regel heraus, und der
   Customizer-Wert erreicht sie nie. Übrig bleibt nur die Breite aus den
   Zeileneinstellungen (width: 80% !important), die ungebremst mitwächst:
   bei 1920px Viewport also 1536px statt 1277px.

   Divi 5 setzt für Flex-Zeilen von sich aus KEINE maximale Breite. Geprüft:
   in keiner Divi-Stylesheet-Datei existiert eine max-width-Regel für
   .et_flex_row, und die Seite gibt auch keine CSS-Variable für die
   Inhaltsbreite aus.

   BEWUSST OHNE !important
   Einzelne Zeilen, die absichtlich abweichen, setzen ihren Wert per
   Moduleinstellung mit !important und behalten ihn dadurch:
     - Footer-Zeilen: max-width 1366px
     - schmale Textzeile (et_pb_row_18): max-width 780px
   Diese Regel wirkt also als globaler Standard, nicht als Zwang.

   NICHT auf innere Zeilen anwenden
   Innere Zeilen tragen die Klasse .et_pb_row_inner statt .et_pb_row und
   werden von Divi ohnehin auf max-width: none gesetzt. Der Selektor unten
   trifft sie nicht.
   ========================================================================== */

.et-db #et-boc .et-l .et_pb_row.et_flex_row {
	max-width: 1277px;
}

/* Wird die Inhaltsbreite später geändert, ist ab sofort DIESER Wert die
   maßgebliche Stelle, nicht mehr das Customizer-Feld. Damit es nicht
   auseinanderläuft: den Customizer-Wert auf denselben Wert mitziehen, oder
   das Feld bewusst als „ohne Wirkung auf Divi-5-Zeilen" behandeln. */




	/*increase the height of the Divi inner field settings modal*/
	.et-fb-field-settings-modal {
	  max-height: 500px!important;
	}

/*increase the height of the Divi inner field settings modal*/
	.et-fb-field-settings-modal {
	  max-height: 600px!important;
	}


/* Align Buttons in bottom of a row */
	.lem_fixed_buttons .et_pb_column {
	padding-bottom:20px;}
	.lem_fixed_buttons .et_pb_button_module_wrapper {
	    	position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			margin: auto;
	}

/* Dropdown Fix */
	.dropdown_fix ul {
	right: 0px !important;
	}






/* ============================================================
   LÖMI · GLOBALES CSS  (einmal einfügen: Divi > Theme-Optionen >
   Allgemein > Benutzerdefiniertes CSS, oder ins Child-Theme)
   Nutzt die Variablen aus dem Divi Variable Manager (Lime = Primärfarbe).
   Alle Bausteine unten verwenden ausschließlich diese Klassen,
   damit das CSS überall identisch greift.
   ============================================================ */

/* Eyebrow / Kicker-Label ---------------------------------- */
.loemi-eyebrow{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:1.3rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gcid-link-color);display:inline-block}
.loemi-eyebrow.on-dark{color:var(--gcid-eyebrow-dark)}

/* Buttons ------------------------------------------------- */
.loemi-btn{display:inline-flex;align-items:center;gap:.55em;font-family:"Space Grotesk",sans-serif;
  font-weight:600;font-size:1.6rem;line-height:1;padding:1.1rem 1.8rem;border-radius:2px;
  border:2px solid transparent;text-decoration:none;cursor:pointer;transition:.25s}
.loemi-btn--primary{background:var(--gcid-primary-color);color:var(--gcid-heading-color)}
.loemi-btn--primary:hover{background:var(--gcid-accent-hover);transform:translateY(-2px)}
.loemi-btn--dark{background:var(--gcid-dark-section);color:#ffffff}
.loemi-btn--dark:hover{background:var(--gcid-primary-color);color:var(--gcid-heading-color);transform:translateY(-2px)}

/* SS1 · Hero-Statleiste ----------------------------------- */
.loemi-statbar{display:flex;flex-wrap:wrap;border-top:1px solid var(--gcid-hero-border);background:rgba(18,22,11,.55)}
.loemi-statbar__item{flex:1;min-width:16rem;padding:2.2rem 3.2rem;color:#ffffff;border-right:1px solid var(--gcid-hero-border)}
.loemi-statbar__item:last-child{border-right:none}
.loemi-statbar__n{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:2.2rem;line-height:1.1}
.loemi-statbar__n b{color:var(--gcid-primary-color)}
.loemi-statbar__t{font-size:1.4rem;color:rgba(255,255,255,.72);margin-top:.2rem}
@media(max-width:980px){.loemi-statbar__item{min-width:50%;border-bottom:1px solid var(--gcid-hero-border)}}

/* SS2 · Kennzahl-/Wirtschaftlichkeitsblock ---------------- */
.loemi-figure__num{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(6rem,9vw,10rem);
  line-height:.9;color:var(--gcid-link-color);letter-spacing:-.03em}
.loemi-figure__num sup{font-size:.34em;vertical-align:super;color:var(--gcid-heading-color)}
.loemi-figure h2{color:var(--gcid-heading-color)}
.loemi-specs{margin:2.4rem 0 0;border-top:1px solid var(--gcid-border)}
.loemi-specs > div{display:flex;justify-content:space-between;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--gcid-border)}
.loemi-specs dt{font-family:"Space Grotesk",sans-serif;font-weight:600;color:var(--gcid-heading-color);margin:0}
.loemi-specs dd{margin:0;color:var(--gcid-text-muted)}

/* SS3 · Nummern-Icons (SVG) ------------------------------- */
.loemi-icon{width:4.6rem;height:4.6rem;display:inline-block;vertical-align:middle}

/* SS4 · Prozess-Schritte, Nummer per ::before-Element ------ */
.loemi-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;counter-reset:loemi-step}
.loemi-step{counter-increment:loemi-step}
.loemi-step__no{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:.8rem;
  letter-spacing:.1em;color:var(--gcid-link-color);display:block;margin-bottom:.4rem}
.loemi-step__no::before{content:"0" counter(loemi-step) " / "}
.loemi-step h3{color:var(--gcid-heading-color);font-size:1.9rem;margin:.2rem 0 .4rem}
.loemi-step p{color:var(--gcid-text-muted);font-size:1.5rem}
@media(max-width:980px){.loemi-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.loemi-steps{grid-template-columns:1fr}}

/* SS5 · Row-Klasse: Hintergrundbild der Spalten zoomt beim Hover
   Klasse .loemi-bg-zoom auf die ROW, Hintergrundbild auf die SPALTEN. */
.loemi-bg-zoom .et_pb_column{position:relative;overflow:hidden}
.loemi-bg-zoom .et_pb_column::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:inherit;background-size:cover;background-position:center;transition:transform .6s ease}
.loemi-bg-zoom .et_pb_column:hover::before{transform:scale(1.08)}
.loemi-card__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(18,22,11,.86) 0%,rgba(18,22,11,.12) 55%,rgba(18,22,11,.3) 100%)}
.loemi-card__c{position:relative;z-index:2;padding:3rem;color:#ffffff}
.loemi-card__c h3{color:#ffffff;font-size:2.2rem;margin:.6rem 0 .4rem}
.loemi-card__c p{color:rgba(255,255,255,.85);font-size:1.5rem}

/* SS6 · FAQ-Accordion ------------------------------------- */
.loemi-faq details{border-bottom:1px solid var(--gcid-border)}
.loemi-faq summary{cursor:pointer;list-style:none;padding:2.2rem 0;font-family:"Space Grotesk",sans-serif;
  font-weight:600;font-size:1.9rem;color:var(--gcid-heading-color);display:flex;justify-content:space-between;align-items:center;gap:2rem}
.loemi-faq summary::-webkit-details-marker{display:none}
.loemi-faq summary::after{content:"+";color:var(--gcid-link-color);font-size:2.4rem;line-height:1;transition:.25s}
.loemi-faq details[open] summary::after{transform:rotate(45deg)}
.loemi-faq__a{padding:0 0 2.2rem;color:var(--gcid-text-muted);max-width:72ch;font-size:1.6rem}











:root {
    --primary-color: #333333; /* Dunkles Grau */
    --accent-color: #007BFF; /* Klassisches Blau */
    --accent-color-light: #0056b3; /* Dunkleres Blau für Hover */
    --error-color: #B22222; /* Dunkles Rot */
    --background-gray: #F5F5F5; /* Hellgrau */
    --text-color: #222222; /* Fast Schwarz */
    --placeholder-color: rgba(34, 34, 34, 0.5); /* Platzhalter in hellem Grau */
    --success-background: rgba(0, 123, 255, 0.2); /* Erfolgsmeldung Hintergrund in Blau */
    --error-background: rgba(178, 34, 34, 0.1); /* Fehlermeldung Hintergrund in Rot */
}

/*  ==================================================================
	GRAVITY FORMS ====================================================
	================================================================== */

/* Allgemeine Stile für Formularfuß */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper form .gform_footer.top_label,
footer .et_pb_section .et_pb_module .gform_wrapper form .gform_footer.top_label {
	margin-top: 1.5em;
	padding: 1em 0;
	border-top: 1px solid var(--accent-color-light);
	float: left;
	width: 98%;
	margin-right: 2%;
}

/* Stile für Textfelder, Auswahlfelder und Eingaben */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number] {
	border: 1px solid var(--accent-color);
	border-radius: 3px;
	padding: 0 1.5rem;
	background: var(--background-gray);
	color: var(--text-color);
	height: 45px;
	box-sizing: border-box;
}

/* Fokus-Stile für Eingaben */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input:focus,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input:focus {
	border-color: var(--accent-color-light);
	background: rgba(255, 255, 255, 1.0);
	outline: none;
}

/* Textarea */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper textarea,
footer .et_pb_section .et_pb_module .gform_wrapper textarea {
	border: 1px solid var(--accent-color);
	border-radius: 3px;
	padding: 1rem;
	background: var(--background-gray);
	color: var(--text-color);
	font-size: 1.6rem;
	min-height: 120px;
	width: 100%;
	box-sizing: border-box;
	resize: vertical;
}

html body article .et-l .et_pb_section .et_pb_module .gform_wrapper textarea:focus,
footer .et_pb_section .et_pb_module .gform_wrapper textarea:focus {
	border-color: var(--accent-color-light);
	background: rgba(255, 255, 255, 1.0);
	outline: none;
}

/* Absende-Button */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button {
	background-color: var(--accent-color) !important; /* Klassisches Blau */
	border: 1px solid var(--accent-color) !important; /* Gleicher Blauton */
	color: #fff !important; /* Weiße Schrift */
	text-transform: uppercase;
	padding: 1.3rem 2.5rem !important;
	cursor: pointer;
	transition: 0.3s;
  font-size: 1.4rem;
}

html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button:hover,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button:hover {
	background-color: var(--accent-color-light) !important; /* Dunkleres Blau für Hover */
	border-color: var(--accent-color-light) !important; /* Gleicher Blauton */
	color: #fff !important; /* Weiße Schrift */
}

/* Labels */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield .gfield_label,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
	color: var(--text-color);
	font-weight: 400;
	font-size: 1.6rem;
}

/* Fehlermeldungen */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_validation_errors h2.gform_submission_error,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_validation_errors h2.gform_submission_error {
	font-size: 1.6rem;
	font-weight: 400;
	color: var(--error-color);
}

html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform-body > div.gform_fields > div > div.validation_message.gfield_validation_message,
footer .et_pb_section .et_pb_module .gform_wrapper .gform-body > div.gform_fields > div > div.validation_message.gfield_validation_message {
	border: solid 1px var(--error-color);
	border-radius: 5px;
	color: var(--error-color);
	padding: 1.2rem;
}

/* Platzhalter-Stile */
html body article .et-l .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input::placeholder,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input::placeholder {
	color: var(--placeholder-color);
}

/*  ==================================================================
	LOEMI FOOTER (C1) – dunkler Footer, Formular, Spalten
	(ergaenzt am 03.08.2026, ueberschreibt nichts Bestehendes)
	==================================================================  */

/* Herz in den Credits bleibt Lime */
footer .lm-heart{ color: var(--gcid-primary-color, #d5dc27); }

/* Spaltenueberschriften im Footer (strong im Textmodul) */
footer .et_pb_row .et_pb_text strong{
	display:block;
	font-family:'Space Grotesk',sans-serif;
	font-size:13px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--gcid-qytmtecscz, #ffffff);
	font-weight:600;
	margin-bottom:10px;
}

/* Footer-Links: Hover Lime, kein Unterstrich */
footer .et_pb_row .et_pb_text a{ text-decoration:none; transition:.2s; }
footer .et_pb_row .et_pb_text a:hover{ color:var(--gcid-primary-color, #d5dc27); }

/* --- Gravity Form im dunklen Footer --- */
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield .gfield_label{
	color:rgba(255,255,255,.72);
	font-size:14px;
}

footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=number],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield select,
footer .et_pb_section .et_pb_module .gform_wrapper textarea{
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.16);
	color:var(--gcid-qytmtecscz, #ffffff);
}

footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input:focus,
footer .et_pb_section .et_pb_module .gform_wrapper textarea:focus,
footer .et_pb_section .et_pb_module .gform_wrapper select:focus{
	border-color:var(--gcid-primary-color, #d5dc27);
	background:rgba(255,255,255,.10);
	outline:none;
}

footer .et_pb_section .et_pb_module .gform_wrapper .gform_body .gform_fields .gfield input::placeholder,
footer .et_pb_section .et_pb_module .gform_wrapper textarea::placeholder{
	color:rgba(255,255,255,.45);
}

/* Trennlinie ueber dem Absenden-Button */
footer .et_pb_section .et_pb_module .gform_wrapper form .gform_footer.top_label{
	border-top:1px solid rgba(255,255,255,.16);
}

/* Pflichtfeld-Sternchen + Beschreibungen */
footer .et_pb_section .et_pb_module .gform_wrapper .gfield_required{ color:var(--gcid-primary-color, #d5dc27); }
footer .et_pb_section .et_pb_module .gform_wrapper .gfield_description{ color:rgba(255,255,255,.55); }

/* Bestaetigung nach dem Absenden */
footer .gform_confirmation_message{ color:var(--gcid-qytmtecscz, #ffffff); font-size:1.6rem; }

/* Absenden-Button im Footer-Formular.
   WICHTIG: Gravity Forms rendert hier ein <button class='gform_button button'>,
   NICHT <input class='button'> – deshalb greifen input.button-Regeln nicht.
   Werte wie im bestehenden Button-Style (uppercase, 1.3rem/2.5rem, 1.4rem), Farben im LOEMI-Design. */
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer button.gform_button,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit]{
	background-color:var(--gcid-primary-color, #d5dc27) !important;
	border:1px solid var(--gcid-primary-color, #d5dc27) !important;
	color:var(--gcid-body-color, #191c15) !important;
	font-family:'Space Grotesk',sans-serif;
	font-weight:600;
	text-transform:uppercase;
	padding:1.3rem 2.5rem !important;
	font-size:1.4rem;
	border-radius:3px;
	cursor:pointer;
	transition:.3s;
	line-height:1.2;
}
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer button.gform_button:hover,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input.button:hover,
footer .et_pb_section .et_pb_module .gform_wrapper .gform_footer input[type=submit]:hover{
	background-color:var(--gcid-accent-hover, #aeb814) !important;
	border-color:var(--gcid-accent-hover, #aeb814) !important;
	color:var(--gcid-body-color, #191c15) !important;
}


/*  ==================================================================
	DIVI-BLAU-RESTE auf LOEMI-Lime ziehen
	Divi hat #2ea3f2 in seinem Theme-Stylesheet hartkodiert.
	Dafuer gibt es KEINE Customizer-Optionen – daher hier ueberschrieben.
	(ergaenzt 03.08.2026)
	==================================================================  */

/* Such-Icon, Social-Icons, Kommentar-Links, Read-More.
   body-Praefix noetig: Divis Customizer-CSS (aus accent_color) steht spaeter im Head
   und wuerde diese Regeln sonst mit dem hellen Lime ueberschreiben. */
body #et_search_icon:hover,
body .et-social-icon a:hover,
body .comment-reply-link,
body .nav-single a,
body .et_pb_bg_layout_light .et_pb_more_button,
body .et_pb_bg_layout_light .et_pb_promo_button,
body .et_pb_member_social_links a:hover{
	color: var(--gcid-link-color, #6f7a11);
}

/* Rahmen: Suchformular, Zitate, Dropdown- und Mobilmenue */
.et-search-form,
blockquote,
.nav li ul,
.et_mobile_menu{
	border-color: var(--gcid-primary-color, #d5dc27);
}

/* Divi-Standardbuttons (Passwortschutz, Kommentarformular) */
.et_password_protected_form .et_submit_button,
.form-submit .et_pb_button{
	background-color: var(--gcid-primary-color, #d5dc27);
	border-color: var(--gcid-primary-color, #d5dc27);
	color: var(--gcid-body-color, #191c15);
}


/*  ==================================================================
	SILBENTRENNUNG fuer Ueberschriften (Klasse .lm-hyphens am Modul)
	Voraussetzung erfuellt: <html lang="de"> → Browser nutzt deutsches
	Trennwoerterbuch. Klasse im Divi-Modul unter Erweitert > CSS-Klasse.
	(ergaenzt 03.08.2026)
	==================================================================  */

.lm-hyphens h1,
.lm-hyphens h2,
.lm-hyphens h3,
.lm-hyphens h4,
.lm-hyphens p,
h1.lm-hyphens, h2.lm-hyphens, h3.lm-hyphens, h4.lm-hyphens{
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	/* Wort mind. 8 Zeichen, mind. 4 vor und 3 nach der Trennung */
	-webkit-hyphenate-limit-before: 4;
	-webkit-hyphenate-limit-after: 3;
	hyphenate-limit-chars: 8 4 3;
	/* Notbremse: extrem lange Woerter ohne Trennstelle nicht ueberlaufen lassen */
	overflow-wrap: break-word;
}
