h1 {
    color: rgb(231, 14, 14);
    font-size: 75px;
    font-family: "Allura", cursive;
    margin-top: 20px; 
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

h2 {
    color: rgb(231, 14, 14);
    font-size: 45px;
    font-family: "Times New Roman", Times, serif;
    margin-top: 20px; 
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

h3 {
    color: #333;
    font-size: 35px;
    font-family: "Times New Roman", Times, serif;
    margin-top: 40px; 
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

/* Grundlegende Einstellungen, Text wird generell zentriert */
body {
    margin: 0;
    padding: 0;
    text-align: center; 
    font-family: sans-serif;
    background-color: #f0f0f0; 
}

/* Der Container des 'Über uns'-Textes */
.mitte-container {
    width: 90%; 
    max-width: 700px; 
    margin: 20px auto; 
    padding: 0px;
    background-color: transparent;
}

/* Styling für die Absätze, damit sie besser lesbar sind */
.mitte-container p {
    line-height: 1.6;
    color: #333; 
    margin-bottom: 15px;
    text-align: justify; /* Diese Zeile richtet den Text im Blocksatz aus! */
}

div {
    font-size: 20px;
    font-family: "Arial", Helvetica, sans-serif;
}

p {
    font-size: 20px;
    font-family: "Arial", Helvetica, sans-serif;
}

/* Styling für die Kontakt-Liste im Modal */
.kontakt-liste { 
    max-width: 500px; 
    width: 90%; 
    margin: 0 auto; 
    text-align: left;
    padding: 0; 
    
    /* NEU: HIER KOMMT DEIN ABSTAND ZUR H2 */
    margin-top: 25px; /* Ich habe 25px genommen, der Wert kann angepasst werden */
}

/* Wichtig: Die DL/DT/DD-Regeln, falls sie nicht global definiert sind */
.kontakt-liste dt,
.kontakt-liste dd {
    margin: 0;
    padding: 0;
    line-height: 1.4; 
    display: inline-block;
    vertical-align: top;
}

.kontakt-liste dt {
    width: 120px; 
    text-align: right; 
    margin-right: 10px; 
    display: inline-block; 
    vertical-align: top;
}

.kontakt-liste dd {
    display: inline-block;
    vertical-align: top; 
    width: calc(100% - 150px); 
}

/* 1. GRUNDSTYLING DER NAVIGATION */
nav {
    background-color: transparent;
    overflow: visible;
    color: #000;
    box-shadow: none;
    border-radius: 0;
    width: max-content;
    display: flex;
    justify-content: flex-start; 
    margin: 20px auto;
    padding: 0;
}

/* 2. STYLING DER EINZELNEN LINKS (DIE "KNÖPFE") */
nav > a {
    float: left;
    display: block;
    color: #333;
    text-align: center;
    padding: 14px 50px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    
    box-shadow: 6px 6px 12px #c8d0d9, 
                -6px -6px 12px #ffffff;
    border-radius: 50px;
    background-color: #f0fefc;
}

nav > a:link, .dropbtn:link { color: #000; }
nav > a:visited, .dropbtn:visited { color: #000; }

/* 3. HOVER-EFFEKT (DER "GEDRÜCKTE KNOPF") */
nav > a:hover, .dropbtn:hover {
    background-color: #e0f0f0; 
    color: #000;
    box-shadow: inset 3px 3px 7px #c8d0d9, 
                inset -3px -3px 7px #ffffff;
    transform: translate(1px, 1px); 
}

/* Optional: Damit der Link beim Besuch nicht kaputt aussieht */
nav a:active {
    box-shadow: inset 3px 3px 7px #c8d0d9, 
                inset -3px -3px 7px #ffffff;
    transform: translate(1px, 1px);
}

/* Container für den Dropdown-Bereich */
.dropdown {
    float: left; 
    overflow: visible; 
    position: relative; 
}

/* Der Hauptlink ('Über uns' / 'Leistungsangebot') */
.dropbtn {
    float: left;
    display: block;
    color: #333;
    text-align: center;
    padding: 14px 50px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    box-shadow: 6px 6px 12px #c8d0d9, 
                -6px -6px 12px #ffffff;
    border-radius: 50px;
    background-color: #f0fefc;
}

/* Der Container der Unterpunkte (standardmäßig versteckt) */
.dropdown-content {
    display: none; /* Wichtig: Standardmäßig versteckt */
    position: absolute;
    top: 100%; /* Standard-Position: öffnet nach unten */
    left: 0;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 2001; 
    border-radius: 50px;
}

/* NEU: WIRD ÜBER JAVASCRIPT GESTEUERT, ersetzt :hover */
.dropdown-content.show-menu {
    display: block;
}

/* FIX: Klasse, die den Dropdown nach oben öffnet */
.dropdown-content.open-up {
    top: auto; 
    bottom: 100%; 
}

/* Die Links im Dropdown */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block; 
    text-align: center;
    float: none;
    box-shadow: none;
    transform: none;
}

/* ------------------------------------------------------------------ */
/* 1. LAYOUT NUR FÜR IMPRESSUM-SEITE ANWENDEN */
/* ------------------------------------------------------------------ */

/* Ich wende die Regeln nur an, wenn der Body die Klasse 
   "impressum-layout" hat. 
*/
.impressum-layout .header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    /* Hintergrundfarbe ist Pflicht, damit der Text dahinter nicht durchscheint */
    background-color: transparent;
}

.impressum-layout nav {
    position: fixed;
    top: 230px; 
    width: 100%; /* Wichtig, damit die Zentrierung funktioniert */
    z-index: 250;
    background-color: transparent; 
    
    /* FIX: Die Zentrierung der Links in der fixierten Nav */
    display: flex; 
    justify-content: center; /* Zentriert die Nav-Buttons */
    
    /* Die ursprünglichen Margins/Padding wiederherstellen, falls nötig */
    margin: 0 auto; 
    padding: 20px; /* Das ersetzt den margin-top: 20px; aus der Standard-nav-Regel */
}

/* 2. PLATZSCHAFFUNG UND SCROLL-CONTAINER DEFINIEREN */

.impressum-layout {
    /* FIX: Ich brauche 250px Platz, damit der Text UNTER fixierten Elementen startet. */
    padding-top: 265px; 
    overflow: hidden;
    background-image: url('Bilder/Homepage 1.png');
    background-size: cover; 
    background-attachment: fixed;
}


/* Der Inhalts-Container (.mitte-container) bekommt die scrollbare Höhe */
.impressum-layout .mitte-container {
    /* FIX: Höhe des Viewports (100vh) minus der fixen 250px */
    height: calc(100vh - 265px); 
    overflow-y: scroll; 
    position: relative; 
    /* WICHTIG: Alle standardmäßigen Margins, die das Scrollen stören könnten, entfernen */
    margin: 0 auto;
    scrollbar-width: none;
    z-index: 10;
}

/* NEU: ERSTELLEN EINES STACKING CONTEXT FÜR DEN INHALT */
.impressum-layout .mitte-container .content-wrapper {
    /* WICHTIG: Erzeugt einen Stacking Context und bringt den Text nach vorne */
    position: relative; 
    z-index: 2; 
    padding-top: 0px;
    padding-bottom: 50px;
}

/* ================================================= */
/* NEU: STYLING FÜR DEN EINFACHEN BUTTON (IMPRESSUM) */
/* ================================================= */

.nav-button {
    /* Setzt das Grund-Styling für den Button-Look (übernimmt von .dropbtn) */
    float: left;
    display: block;
    color: #333;
    text-align: center;
    padding: 14px 50px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    cursor: pointer; 
    border: none; /* Wichtig: Button-Standard-Border entfernen */
    
    /* Neumorphismus Styling */
    box-shadow: 6px 6px 12px #c8d0d9, 
                -6px -6px 12px #ffffff;
    border-radius: 50px;
    background-color: #f0fefc;
    
    /* Schrift-Styling */
    font-size: 20px; 
    font-family: "Arial", Helvetica, sans-serif;
}

/* HOVER-EFFEKT für den neuen Button */
.nav-button:hover {
    background-color: #e0f0f0; 
    color: #000;
    box-shadow: inset 3px 3px 7px #c8d0d9, 
                inset -3px -3px 7px #ffffff;
    transform: translate(1px, 1px);
}

/* ======================================== */
/* HEAD-BEREICH: LOGO NEBEN H1, H2 DARUNTER */
/* ======================================== */

.header {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    position: relative; 
    min-height: 50px;
    background-color: transparent;
    padding: 20px 10px;
}

/* Der äußere Text-Container: Stapelt die Zeilen (top-row und h2) */
.header-text {
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    text-align: center; 
}

/* Der innere Container: Stellt H1 und Logo nebeneinander */
.top-row {
    display: flex;
    align-items: center; 
    justify-content: center; 
    margin-bottom: 5px; 
}

/* LOGO-POSITIONIERUNG */
.eckenbild-container {
    position: relative; 
    margin-left: 15px; 
    margin-right: 0; 
    top: auto; 
    right: auto; 
    transform: none; 
    padding: 0;
    z-index: 100;
    flex-shrink: 0; 
}

.eckenbild-container img {
    width: 10vw; 
    max-width: 120px; 
    min-width: 70px; 
    height: auto;
}

.index {
    background-image: url('Bilder/Homepage 1.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
}

/* Das Modale Fenster */
.modal {
    display: none; 
    position: fixed; 
    z-index: 2000; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%;
    overflow: auto; 
    background-color: rgba(0,0,0,0.8); 
}

/* WICHTIG: LAYER-HIERARCHIE ANPASSEN */
/* Wenn modal-about 2000 ist, braucht nested-services mindestens 2001 */
#modal-services-nested {
    z-index: 2001; 
}

/* Optional: Styling für den Zurück-Button, wenn er anders aussehen soll */
.back-btn {
    /* Kann das gleiche Styling wie .modal-open-btn verwenden, ist aber optional */
    margin-top: 30px; 
}

/* FÜGT DIESEN NEUEN BLOCK HINZU, UM DIE ZWEITE EBENE HÖHER ZU LEGEN */
#modal-services {
    /* MUSS HÖHER SEIN als der Basis-z-index (2000) */
    z-index: 2001; 
}

/* optional: wenn aus Services der Kontakt geöffnet werden sollte, bräuchte Kontakt 2002 */
#modal-kontakt {
    z-index: 2002;
}

/* FÜGT DIESES STYLING FÜR DEN NEUEN BUTTON HINZU (sieht aus wie ein Nav-Button) */
.modal-open-btn {
    /* Übernimmt das Styling des .nav-button */
    float: none; /* wichtig: Button soll nicht floaten */
    display: inline-block;
    color: #333;
    text-align: center;
    padding: 14px 50px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    cursor: pointer; 
    border: none; 
    margin-top: 25px; /* Abstand nach oben */
    
    box-shadow: 6px 6px 12px #c8d0d9, 
                -6px -6px 12px #ffffff;
    border-radius: 50px;
    background-color: #f0fefc;
    
    font-size: 20px; 
    font-family: "Arial", Helvetica, sans-serif;
}

.modal-open-btn:hover {
    background-color: #e0f0f0; 
    color: #000;
    box-shadow: inset 3px 3px 7px #c8d0d9, 
                inset -3px -3px 7px #ffffff;
    transform: translate(1px, 1px);
}

/* Der Container für den Inhalt */
.modal-content {
    margin: 10% auto; 
    padding: 20px;
    border: none;
    width: 80%; 
    border-radius: 20px;
    box-shadow: 10px 10px 20px #c8d0d9, 
                -10px -10px 20px #ffffff;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-blend-mode: multiply;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff; 
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}


/* Modal-H1/H2 */
.modal-content h2, .modal-content h3 {
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

/* 1. Hintergrundbild für das "Über Uns" Modal */
#modal-about .modal-content {
    background-image: url('Bilder/Homepage 2.png'); 
}

/* 2. Hintergrundbild für das "Dienstleistungen" Modal */
#modal-services .modal-content {
    background-image: url('Bilder/Homepage 3.png');
}

#modal-services-nested .modal-content {
    background-image: url('Bilder/Homepage 3.png');
}

/* 3. Hintergrundbild für das "Kontakt" Modal (oder andere) */
#modal-kontakt .modal-content {
    background-image: url('Bilder/impressum.png');
    max-height: 80vh; 
    overflow-y: auto; 
}

/* Ziel: Liste als Block zentrieren, aber Inhalt linksbündig */
#modal-services ul {
    width: max-content; 
    max-width: 90%; 
    margin: 20px auto; 
    padding-left: 20px; 
    list-style-type: disc; 
}

/* Text innerhalb der Listenelemente bleibt linksbündig (wichtig!) */
#modal-services li {
    margin-bottom: 15px; 
    line-height: 1.4;
    text-align: left; 
}

/* Optional: Textzentrierung für die Liste entfernen, falls sie im Modal zentriert war */
#modal-services .modal-content ul {
    text-align: left; 
}

/* ============================================================= */
/* KORRIGIERTE ZENTRIERUNG FÜR DAS VERSCHACHTELTE SERVICES-MODAL */
/* ============================================================= */

#modal-services-nested ul {
    /* WICHTIG: width: max-content; stellt sicher, dass der UL-Container
       nur so breit ist wie das längste Listenelement. */
    width: max-content; 
    max-width: 90%; 
    
    /* Zentriert den UL-Block selbst auf der Seite. */
    margin: 20px auto; 
    
    /* Stellt Padding und Textausrichtung für eine saubere linke Liste wieder her. */
    padding-left: 20px; 
    text-align: left; 
    list-style-position: outside; /* Setzt die Bullet Points außerhalb des Inhalts, sieht oft sauberer aus */
}

#modal-services-nested li {
    margin-bottom: 15px; 
    line-height: 1.4;
    
    /* WICHTIG: Text muss linksbündig sein, um sauber untereinander zu stehen */
    text-align: left; 
}

/* Der Schließen-Button */
.close-btn {
    color: #ffffff; 
    float: right;
    font-size: 36px; 
    font-weight: bold;
    text-shadow: 0 0 5px #000000;
    margin: -10px -10px 0 0; 
}

.close-btn:hover,
.close-btn:focus {
    color: rgb(231, 14, 14);
    text-decoration: none;
    cursor: pointer;
    text-shadow: 0 0 10px rgb(231, 14, 14); 
}

/* Wichtig: Auf dem PC soll dieser Link unsichtbar sein */
.mobile-switch-link {
    display: none; 
}

/* Der Link muss auf Handys sichtbar sein, WENN jemand die Desktop-Seite forcet */
@media screen and (max-width: 768px) {
    .mobile-switch-link {
        display: block;
        position: fixed;
        bottom: 40px;
        right: 10px;
        font-size: 14px;
        padding: 5px 10px;
        background-color: #f0fefc;
        color: #333;
        border: 1px solid #ccc;
        border-radius: 5px;
        z-index: 9998;
        text-decoration: none;
    }
}

/* ============================================================ */
/* NEU: DATENSCHUTZ/IMPRESSUM LINKS UNTEN LINKS (nebeneinander) */
/* ============================================================ */

/* Der Container, der die Links nebeneinander legt */
.footer-links-container {
    position: absolute; /* Positioniert den Container am Dokumentende */
    bottom: 20px; 
    right: 20px; 
    padding: 0;
    z-index: 1000;
    display: flex; /* Wichtig: Legt die Kinder (die A-Tags) nebeneinander */
    gap: 15px; /* Abstand zwischen den Links */
}

/* Styling für die einzelnen Links */
.footer-fixed-link {
    background-color: transparent;
    color: #333; 
    font-size: 20px;
    text-decoration: underline; 
    box-shadow: none; 
    /* Zusätzliche Styles für sauberes Aussehen */
    padding: 0;
    margin: 0;
}

.footer-fixed-link:hover {
    color: rgb(231, 14, 14); 
    text-decoration: none;
}

/* Container-Klasse für die Liste */
.zentrierte-liste {
  /* List-Style ist standardmäßig 'disc' (Punkt) für die Hauptpunkte */
  list-style-position: inside; /* Stellt sicher, dass die Punkte/Pfeile richtig positioniert sind */
  padding-left: 0;           /* Entfernt die Standard-Einrückung der Liste */
  width: fit-content;        /* Macht die Liste nur so breit wie ihr Inhalt */
  margin: 0 auto;            /* Zentriert die gesamte Liste in ihrem übergeordneten Element (z.B. Modal) */
}

/* Haupt-Listenpunkte */
.zentrierte-liste > li {
  text-align: left;         /* Stellt sicher, dass der Text im li linksbündig ist */
  margin-bottom: 5px;       /* Kleiner Abstand zwischen den Hauptpunkten */
}

.zentrierte-liste ul li {
  position: relative;        /* Wichtig: Erlaubt die genaue Positionierung des Pfeils */
  padding-left: 15px;        /* Führt den eigentlichen Texteinzug durch (genug Platz für den Pfeil) */
}

/* Untergeordnete Liste (Unterpunkte) */
.zentrierte-liste ul {
  list-style-type: none;     /* Entfernt die Standard-Punkte der Unterpunkte */
  padding-left: 20px;        /* Stellt die gewünschte Einrückung nach rechts ein */
  margin-top: 5px;           /* Kleiner Abstand zum Hauptpunkt */
}

/* Fügt den Pfeil (›) vor jeden Unterpunkt ein */
.zentrierte-liste ul li::before {
  content: "› ";             /* Der Pfeil */
  font-weight: bold;
  /* WICHTIG: Diese drei Zeilen sorgen dafür, dass der Pfeil an den Anfang 
     des LI-Bereichs verschoben wird und der Text bündig einrückt. */
  position: absolute;        
  left: 0;                   
  top: 0;
}