/*
 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
------------------------------------------------------- */
/* ==========================================================================
   ten-gen gGmbH – DIVI Custom CSS
   ==========================================================================
   Einfügen unter: DIVI → Theme Options → Custom CSS
   (alternativ: Theme Customizer → Zusätzliches CSS)

   Theme Customizer zusätzlich setzen:
   - Akzentfarbe:     #1072BD
   - Linkfarbe:       #1072BD  (falls separat verfügbar)

   Schriften (DIVI → Theme Customizer → Allgemeine Einstellungen):
   - Überschriften: Montserrat
   - Fließtext:     Source Sans 3

   Optionale CSS-Klassen (Modul → Erweitert → CSS-Klassen):
   - ten-gen-hero          Fullwidth Header / Hero-Section
   - ten-gen-badge         Text-Modul (grünes Badge über H1)
   - ten-gen-section-alt   Section mit hellem Blau-Hintergrund
   - ten-gen-stat-card     Blurb (Kennzahlen-Karte)
   - ten-gen-cta           CTA-Section / Fullwidth CTA
   - ten-gen-label         Text-Modul (kleine Überschrift „Über uns“)
   - ten-gen-btn-accent    Button (grün)
   - ten-gen-btn-primary   Button (blau)
   - ten-gen-btn-outline   Button (Outline blau)
   - ten-gen-btn-light     Button (weißer Rand auf dunklem Hintergrund)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Markenfarben
   -------------------------------------------------------------------------- */
:root {
  --ten-gen-blue: #1072bd;
  --ten-gen-blue-dark: #0c5a96;
  --ten-gen-blue-light: #3d96d4;
  --ten-gen-green: #83f931;
  --ten-gen-green-dark: #6ad41f;
  --ten-gen-text: #333333;
  --ten-gen-text-muted: #5c6670;
  --ten-gen-bg-alt: #f4f9fd;
  --ten-gen-border: #dce8f2;
  --ten-gen-radius: 8px;
}

/* --------------------------------------------------------------------------
   Basis & Typografie
   -------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body,
.et_pb_section,
.et_pb_row,
.et_pb_column {
  color: var(--ten-gen-text);
}

#main-content a:not(.et_pb_button):not(.et_pb_more_button) {
  color: var(--ten-gen-blue);
}

#main-content a:not(.et_pb_button):not(.et_pb_more_button):hover {
  color: var(--ten-gen-blue-dark);
}

/* --------------------------------------------------------------------------
   Buttons – alle et_pb_button Module
   -------------------------------------------------------------------------- */
.et_pb_button {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  border-radius: 4px !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* Standard-Button: blau (DIVI-Default überschreiben) */
.et_pb_button,
.et_pb_button.et_pb_custom_button_icon,
body #page-container .et_pb_button {
  background-color: var(--ten-gen-blue) !important;
  border-color: var(--ten-gen-blue) !important;
  color: #ffffff !important;
}

.et_pb_button:hover,
body #page-container .et_pb_button:hover {
  background-color: var(--ten-gen-blue-dark) !important;
  border-color: var(--ten-gen-blue-dark) !important;
  color: #ffffff !important;
}

/* Klasse ten-gen-btn-accent → grüner Button */
.ten-gen-btn-accent .et_pb_button,
body #page-container .ten-gen-btn-accent .et_pb_button {
  background-color: var(--ten-gen-green) !important;
  border-color: var(--ten-gen-green) !important;
  color: #1a2e0a !important;
}

.ten-gen-btn-accent .et_pb_button:hover,
body #page-container .ten-gen-btn-accent .et_pb_button:hover {
  background-color: var(--ten-gen-green-dark) !important;
  border-color: var(--ten-gen-green-dark) !important;
  color: #1a2e0a !important;
}

/* Klasse ten-gen-btn-outline */
.ten-gen-btn-outline .et_pb_button,
body #page-container .ten-gen-btn-outline .et_pb_button {
  background-color: transparent !important;
  border: 2px solid var(--ten-gen-blue) !important;
  color: var(--ten-gen-blue) !important;
}

.ten-gen-btn-outline .et_pb_button:hover,
body #page-container .ten-gen-btn-outline .et_pb_button:hover {
  background-color: var(--ten-gen-blue) !important;
  color: #ffffff !important;
}

/* Klasse ten-gen-btn-light → auf dunklem Hero/CTA-Hintergrund */
.ten-gen-btn-light .et_pb_button,
body #page-container .ten-gen-btn-light .et_pb_button {
  background-color: transparent !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
}

.ten-gen-btn-light .et_pb_button:hover,
body #page-container .ten-gen-btn-light .et_pb_button:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--ten-gen-blue) !important;
}

/* --------------------------------------------------------------------------
   Hero – Fullwidth Header Modul
   Klasse ten-gen-hero an Section oder Modul setzen
   -------------------------------------------------------------------------- */
.ten-gen-hero.et_pb_fullwidth_header,
.ten-gen-hero .et_pb_fullwidth_header {
  min-height: 72vh;
}

.ten-gen-hero .header-content h1,
.ten-gen-hero .et_pb_fullwidth_header_container h1 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1.2;
}

.ten-gen-hero .header-content .et_pb_fullwidth_header_subhead,
.ten-gen-hero .et_pb_fullwidth_header_subhead {
  font-size: 1.15rem;
  line-height: 1.6;
  opacity: 0.95;
}

/* Overlay-Farbe wenn im Modul nicht gesetzt: Blau #1072BD mit Transparenz */
.ten-gen-hero .et_pb_fullwidth_header_overlay {
  background-color: rgba(16, 114, 189, 0.65);
}

/* --------------------------------------------------------------------------
   Badge – kleines grünes Label (Text-Modul mit Klasse ten-gen-badge)
   -------------------------------------------------------------------------- */
.ten-gen-badge,
.ten-gen-badge p {
  display: inline-block;
  margin-bottom: 1rem !important;
  padding: 0.35rem 0.85rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8125rem !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #1a2e0a !important;
  background: var(--ten-gen-green);
  border-radius: 999px;
}

/* --------------------------------------------------------------------------
   Section-Label – „Über uns“, „Schwerpunkte“ etc.
   Text-Modul mit Klasse ten-gen-label
   -------------------------------------------------------------------------- */
.ten-gen-label,
.ten-gen-label p {
  margin-bottom: 0.75rem !important;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ten-gen-blue-dark) !important;
}

/* --------------------------------------------------------------------------
   Section-Hintergrund alternierend
   Klasse ten-gen-section-alt an Section setzen
   -------------------------------------------------------------------------- */
.ten-gen-section-alt.et_pb_section {
  background-color: var(--ten-gen-bg-alt) !important;
}

/* --------------------------------------------------------------------------
   Kennzahlen – Blurb-Module mit Klasse ten-gen-stat-card
   Section optional: ten-gen-stats (negativer Abstand nach Hero)
   -------------------------------------------------------------------------- */
.ten-gen-stats {
  padding-top: 0 !important;
  margin-top: -3rem;
  position: relative;
  z-index: 2;
}

.ten-gen-stat-card.et_pb_blurb {
  background: #ffffff;
  border: 1px solid var(--ten-gen-border);
  border-radius: var(--ten-gen-radius);
  padding: 2rem 1.75rem !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.ten-gen-stat-card .et_pb_main_blurb_image .et-pb-icon,
.ten-gen-stat-card .et_pb_blurb_content .et-pb-icon {
  color: var(--ten-gen-green-dark) !important;
}

.ten-gen-stat-card .et_pb_module_header {
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}

.ten-gen-stat-card .et_pb_blurb_description {
  font-size: 1rem;
  color: var(--ten-gen-text-muted);
}

/* --------------------------------------------------------------------------
   Schwerpunkte – Blurb-Karten (Klasse ten-gen-card an jedem Blurb)
   -------------------------------------------------------------------------- */
.ten-gen-card.et_pb_blurb {
  background: #ffffff;
  border: 1px solid var(--ten-gen-border);
  border-radius: var(--ten-gen-radius);
  padding: 2rem 1.5rem !important;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.ten-gen-card.et_pb_blurb:hover {
  border-color: var(--ten-gen-green);
  transform: translateY(-2px);
}

.ten-gen-card .et_pb_main_blurb_image .et-pb-icon,
.ten-gen-card .et_pb_blurb_content .et-pb-icon {
  color: var(--ten-gen-blue) !important;
}

.ten-gen-card .et_pb_blurb_description {
  font-size: 0.9375rem;
  color: var(--ten-gen-text-muted);
}

/* --------------------------------------------------------------------------
   Finanzierung – Kennzahlen-Zahlen (Blurb oder Text mit ten-gen-finance)
   -------------------------------------------------------------------------- */
.ten-gen-finance .et_pb_module_header,
.ten-gen-finance h3,
.ten-gen-finance h4 {
  font-family: "Montserrat", sans-serif;
  font-size: 2rem !important;
  font-weight: 700;
  color: var(--ten-gen-green-dark) !important;
  line-height: 1;
}

/* --------------------------------------------------------------------------
   CTA-Banner – Call To Action / Section mit ten-gen-cta
   -------------------------------------------------------------------------- */
.ten-gen-cta.et_pb_section,
.ten-gen-cta .et_pb_section {
  position: relative;
}

.ten-gen-cta .et_pb_cta_content h2,
.ten-gen-cta .et_pb_fullwidth_header h1 {
  color: #ffffff;
}

.ten-gen-cta .et_pb_cta_description,
.ten-gen-cta .header-content p {
  font-size: 1.0625rem;
  line-height: 1.65;
}

/* CTA-Overlay wenn Hintergrundbild: Blau */
.ten-gen-cta.et_pb_section:not(.et_pb_section_0) {
  /* Fallback wenn Overlay im Modul auf rgba(16,114,189,0.88) gesetzt */
}

/* --------------------------------------------------------------------------
   Person / Team Member – Kontaktkarten
   Klasse ten-gen-contact an Person-Modul
   -------------------------------------------------------------------------- */
.ten-gen-contact.et_pb_team_member {
  background: #ffffff;
  border: 1px solid var(--ten-gen-border);
  border-radius: var(--ten-gen-radius);
  padding: 2.5rem 2rem !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.ten-gen-contact .et_pb_team_member_image img {
  border: 3px solid var(--ten-gen-green);
  border-radius: 50%;
}

.ten-gen-contact .et_pb_member_position {
  color: var(--ten-gen-text-muted);
  font-size: 0.875rem;
}

/* --------------------------------------------------------------------------
   Hinweis-Box (Text-Modul mit Klasse ten-gen-note)
   -------------------------------------------------------------------------- */
.ten-gen-note,
.ten-gen-note p {
  padding: 1rem 1.25rem;
  font-size: 0.875rem !important;
  color: var(--ten-gen-text-muted) !important;
  background: #ffffff;
  border-left: 3px solid var(--ten-gen-green);
  border-radius: 0 var(--ten-gen-radius) var(--ten-gen-radius) 0;
}

/* --------------------------------------------------------------------------
   Bilder – abgerundete Ecken
   Klasse ten-gen-image am Bild-Modul
   -------------------------------------------------------------------------- */
.ten-gen-image .et_pb_image_wrap,
.ten-gen-image img {
  border-radius: var(--ten-gen-radius);
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* --------------------------------------------------------------------------
   Footer (Theme Builder – Klasse ten-gen-footer an Footer-Template)
   -------------------------------------------------------------------------- */
.ten-gen-footer.et_pb_section {
  background-color: var(--ten-gen-blue-dark) !important;
}

.ten-gen-footer,
.ten-gen-footer p,
.ten-gen-footer li,
.ten-gen-footer a {
  color: rgba(255, 255, 255, 0.85) !important;
}

.ten-gen-footer a:hover {
  color: #ffffff !important;
}

.ten-gen-footer h4,
.ten-gen-footer .et_pb_module_header {
  color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
  .ten-gen-stats {
    margin-top: 0;
  }

  .ten-gen-hero.et_pb_fullwidth_header,
  .ten-gen-hero .et_pb_fullwidth_header {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .ten-gen-stat-card.et_pb_blurb,
  .ten-gen-card.et_pb_blurb {
    padding: 1.5rem 1.25rem !important;
  }
}