/* Grundlayout */
body {
  font-family: Arial, sans-serif;
  margin: 0;
  line-height: 1.6;
  background-color: #f4f4f4;
  color: #333;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-bottom: 60px; /* Platz für den Footer */
}

/* Header / Navigation */
header {
  background-color: #90BC8F; /* Geänderte Farbe */
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}


.title-container {
    display: flex;
    align-items: baseline; /* Subtitle etwas tiefer, passend zur Schriftgröße */
    gap: 3px; /* Abstand zwischen Title und Subtitle */
}

.title {
    font-size: 1.3em;
    font-style: italic;
    color: #ecf0f1;
}

.subtitle {
    font-size: 1em;
    font-style: italic;
    color: #ecf0f1;
}


h1 {
    font-size: 1.5em; /* oder z. B. 24px */
    font-weight: bold; /* optional */
    /*margin: 0;*/ 
}


nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.menu {
  list-style-type: none;
  padding: 0;
  display: flex;
  justify-content: space-between; /* Menüpunkte gleichmäßig verteilt */
  width: auto;                    /* Menü nimmt nur so viel Platz ein wie nötig */
}

.menu li {
  margin: 0 10px;
}

.menu a {
  color: #ecf0f1;
  text-decoration: none;
  white-space: nowrap; /* Verhindert Zeilenumbruch der Menüpunkte */
}

.menu-toggle {
  display: none;
  font-size: 1.5em;
  color: #ecf0f1;
  cursor: pointer;
}

/* Beispiel-Home-Layout (falls auf anderen Seiten verwendet) */
.home-content {
  display: flex;
  flex-direction: row-reverse; /* Bild rechts vom Text */
  align-items: flex-start;
}

.profile-image {
  max-width: 38%;     /* Größe des Bildes */
  margin-left: 20px;  /* Abstand Bild/Text */
  padding-top: 20px;  /* Abstand oben */
}

.home-text {
  flex: 1;
  padding-left: 10px;
}

.main-text {
   padding-left: 10px;
}

.services {
  padding-left: 10px;
}

/* Responsive Navigation & Layout */
@media (max-width: 768px) {
  .nav-container {
    justify-content: space-between;
    align-items: center;
  }

  .menu {
    display: none;
    padding-left: 10px;
    flex-direction: column;
    margin-right: 10px;
  }

  .menu li {
    margin: 4px 0;
  }

  .menu-toggle {
    display: block;
    padding-right: 10px;
    padding-left: 10px;
  }

  .home-content {
    flex-direction: column;      /* Spalte auf Mobil */
    align-items: flex-start;     /* Links ausrichten */
  }

  .profile-image {
    max-width: 100%;
    margin-left: 0;
    order: 1;
    padding-top: 0;
  }

  .home-text {
    order: 2;
  }
}

/* Aktive Zustände für Mobilmenü */
.menu-toggle.active {
  color: #ecf0f1;
}

.menu.active {
  display: flex;            /* zeigen, wenn aktiv */
  flex-direction: column;
  text-align: right;
}

/* Main-Bereich */
main {
  flex: 1;
  padding-bottom: 60px; /* Platz für den Footer */
}

/* Footer */
footer {
  background-color: #B4A395; /* Geänderte Farbe */
  color: #FFF4E8;
  font-size: 0.9em;
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 1px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  
}


footer a {
      color: #FFF4E8 !important;
      text-decoration: none;
    }
    footer a:hover,
    footer a:focus {
      text-decoration: underline;
}

.footer-content {
  display: flex;
  justify-content: space-around;
  width: 100%;
}

.footer-column1 {
  flex: 1;
  text-align: left;
  padding-left: 10px;
}

.footer-column2 {
  flex: 1;
  text-align: center;
}

.footer-column3 {
  flex: 1;
  text-align: right;
  padding-right: 10px;
}

footer .footer-column1 ul {
  list-style: none !important; /* Entfernt Aufzählungszeichen */
  padding: 0;
  margin: 0;
}

@media (max-width: 768px) {
  .footer-content {
    flex-direction: column;
    align-items: center;
  }
  .footer-column1,
  .footer-column2,
  .footer-column3 {
    min-width: 100%;
    text-align: center;
  }
}

/* --- NEU: Kontaktbereich mit Icons --- */

.contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-item {

  align-items: center;
  gap: .6rem;
  margin: .35rem 0;
}

.contact-item .icon {
  width: 1.1em;
  height: 1.1em;
  fill: #90BC8F;             /* farblich zum Header passend */
}

.contact-item a {
  color: inherit;
  text-decoration: none;
}

.contact-item a:hover,
.contact-item a:focus {
  text-decoration: underline;
}

/* Falls Icons im dunklen Footer gebraucht werden:
footer .contact-item .icon { fill: #FFF4E8; }
*/

/* Linkfarbe im Footer korrigieren*/

.js-phone,
.js-mail {
  color: #333;
  text-decoration: none;
}
.js-phone:hover,
.js-mail:hover {
  text-decoration: underline;
}


/* Override: Keep footer three-column layout on all screen sizes */
@media (max-width: 768px) {
  .footer-content {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }

  .footer-column1,
  .footer-column2,
  .footer-column3 {
    min-width: 0;
    flex: 1 1 0;
    text-align: center;
  }
}
