
        /* Global styles */
        :root {
            --primary-color: #a3b18a;
            --secondary-color: #a3b18a;
            --text-color: #1f2937;
            --header-text-color: #ffffff;
            --font-family: 'Poppins', sans-serif;
            
        }

        body {
            font-family: var(--font-family);
            margin: 0;
            background-color: var(--secondary-color);
            color: var(--text-color);
            line-height: 1.6;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            background-color: #a3b18a;

    /* Der Mesh-Effekt durch übereinandergelegte radiale Verläufe */
        background-image:
        /* 1. Großes weiches Licht von oben links (helles Mint) */
        radial-gradient(at 20% 20%, rgba(237, 242, 236, 0.7) 0px, transparent 60%),

        /* 2. Tiefere, dunklere Zone unten rechts (Moosgrün) */
        radial-gradient(at 85% 85%, rgba(85, 107, 79, 0.5) 0px, transparent 50%),

        /* 3. Ein ganz dezenter warmer Akzent unten links (Sand) */
        radial-gradient(at 0% 100%, rgba(230, 213, 195, 0.3) 0px, transparent 40%);

    /* WICHTIG: Damit der Hintergrund beim Scrollen stehen bleibt und nicht kachelt */
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 100vh;
        }

        /* Header and Footer Common Styling */
        .header, .footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem 2rem;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            position: sticky;
            z-index: 1000;
        }

        /* Header specific styling */
        .header {
            top: 0;
            background-color: #343434;
        }


        .footer {
            bottom: 0;
            margin-top: auto;
            background-color:  #1f2937;
        }

        .logo {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--primary-color);
            text-decoration: none;
            /* Use Flexbox to align the logo image and text */
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        /* Main navigation menu */
        .nav-menu {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            gap: 1.5rem;
        }

        .nav-menu li a {
            text-decoration: none;
            color: var(--header-text-color);
            font-weight: 400;
            transition: color 0.3s ease;
        }

        .nav-menu li a:hover {
            color: var(--secondary-color);
        }

        /* Hamburger button for mobile */
        .hamburger {
            display: none; /* Hide by default on desktop */
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.5rem;
            position: relative;
            z-index: 1001; /* Ensure it's above the menu */
        }

        .hamburger-icon,
        .hamburger-icon::before,
        .hamburger-icon::after {
            display: block;
            width: 25px;
            height: 3px;
            background-color: var(--text-color);
            border-radius: 3px;
            transition: all 0.3s ease-in-out;
        }

        .hamburger-icon::before,
        .hamburger-icon::after {
            content: '';
            position: absolute;
            left: 0;
        }

        .hamburger-icon::before {
            transform: translateY(-8px);
        }

        .hamburger-icon::after {
            transform: translateY(8px);
        }

        /* State for when the menu is active/open */
        .hamburger.active .hamburger-icon {
            transform: rotate(45deg);
        }

        .hamburger.active .hamburger-icon::before {
            opacity: 0;
        }

        .hamburger.active .hamburger-icon::after {
            transform: rotate(-90deg) translateX(8px);
        }
        
        /* Mobile menu styling */
        @media (max-width: 768px) {
            .header, .footer {
                flex-wrap: wrap;
            }

            .hamburger {
                display: block; /* Show hamburger menu on mobile */
            }

            .nav-menu {
                flex-direction: column;
                width: 100%;
                background-color: #fff;
                padding: 1rem 0;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
                /* Hide the menu by default and animate it in */
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.5s ease-in-out;
            }

            .nav-menu.active {
                max-height: 500px; /* A value large enough to fit all menu items */
            }

            .nav-menu li {
                text-align: center;
                margin: 0.5rem 0;
            }

            /* Main content mobile styling */
            .content-container {
                flex-direction: column; /* Stack items on mobile */
            }
        }

        /* Main content layout styling */
        .content-container {
            display: flex;
            gap: 2rem;
            align-items: flex-start;
            margin-top: 2rem;
        }

        .text-section {
            flex: 1;
        }

        .text-section-center {
            flex: 1;
            text-align: center;
            font-size:larger;

        }

        .image-section {
            flex-shrink: 0;
        }

        .image-section img {
            max-width: 100%;
            height: auto;
            border-radius: 8px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        /* Mögliche Ergänzung in deiner style.css */
.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-top: 0.5rem;
    font-family: var(--font-family);
}

.contact-form button {
    background-color: var(--primary-color);
    color: white;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: background-color 0.3s ease;
}

.contact-form button:hover {
    background-color: #2563eb; /* Ein etwas dunklerer Blauton */
}

/* CSS für den aktiven Navigationslink */
.nav-menu li a:hover,
.nav-menu li.active a { /* Annahme: Du fügst eine .active-Klasse zum li-Element hinzu */
    color: var(--primary-color);
    font-weight: 600;
}

/* =================================
   Kontaktseite Layout
   ================================= */

/* Hauptcontainer für Formular und Karte */
.contact-container {
    display: flex; /* Aktiviert Flexbox */
    flex-wrap: wrap; /* Erlaubt den Umbruch auf kleinen Bildschirmen */
    gap: 2rem; /* Abstand zwischen Formular und Karte */
    margin-top: 2rem;
}

/* Bereich für das Formular */
.form-section {
    flex: 1; /* Nimmt den verfügbaren Platz ein */
    min-width: 300px; /* Mindestbreite, bevor es umbricht */
}

/* Bereich für die Karte */
.map-section {
    flex: 1; /* Nimmt ebenfalls den verfügbaren Platz ein */
    min-width: 300px;
    display: flex; /* Stellt sicher, dass die Karte den Container ausfüllt */
}

/* Styling für das iframe der Karte */
.map-section iframe {
    width: 100%; /* Füllt die Breite des map-section Containers */
    height: 100%; /* Füllt die Höhe des map-section Containers */
    border-radius: 8px; /* Passt zum Design der Eingabefelder */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Styling für die Formulargruppen für besseren Abstand */
.form-group {
    margin-bottom: 1rem;
}

/* =================================
   Layout für die Hauptseite (Home)
   ================================= */

.home-intro-layout {
    flex-direction: column; /* Ändert die Anordnung von horizontal zu vertikal */
    align-items: center;   /* Zentriert die Elemente horizontal */
}

/* Optional: Text im Text-Abschnitt zentrieren */
.home-intro-layout .text-section {
    text-align: center; /* Zentriert die Überschrift und Absätze */
    max-width: 800px;   /* Begrenzt die Breite für bessere Lesbarkeit */
}

/* Optional: Dem Bild einen größeren Abstand nach unten geben */
.home-intro-layout .image-section {
    margin-bottom: 1rem;
}

/* =================================
   Layout für die "Über Uns"-Seite
   ================================= */

/* Container für die zwei Bilder nebeneinander */
.dual-image-container {
    display: flex;             /* Aktiviert Flexbox für die Nebeneinander-Anordnung */
    justify-content: center;   /* Zentriert die Bilder im Container */
    flex-wrap: wrap;           /* Bilder rutschen auf Mobilgeräten untereinander */
    gap: 2rem;                 /* Abstand zwischen den Bildern */
    width: 100%;               /* Nimmt die volle Breite des Eltern-Containers ein */
    margin-bottom: 2rem;       /* Abstand zum Text darunter */
}

/* Sorgt dafür, dass die Bilder im dual-image-container flexibel sind */
.dual-image-container .image-section {
    flex: 1;                  /* Lässt die Bilder wachsen, um den Platz zu füllen */
    min-width: 300px;         /* Mindestbreite, bevor sie in die nächste Zeile umbrechen */
    max-width: 500px;         /* Verhindert, dass die Bilder auf großen Bildschirmen zu breit werden */
}

/* Eine sanfte Trennlinie für bessere visuelle Struktur */
.section-divider {
    border: 0;
    height: 1px;
    background: #e2e8f0;      /* Eine helle, unaufdringliche Farbe */
    margin: 4rem auto;        /* Großer vertikaler Abstand und zentriert die Linie */
    width: 80%;
}