        :root {
            --hintergrundfarbe: #f8f9fa;
            --textfarbe: #333;
            --kartenhintergrund: white;
            --inputhintergrund: white;
            --borderfarbe: #ddd;
            --buttonfarbe: #ff6600;
            --hervorhebung: #ffd700;
            --headerfarbe: #0056b3;
            --footerfarbe: #0056b3;
            --hitfarbe: #0056b3;
            --vorschlagshintergrund: white;
            --trefferhintergrund: #fefefe;
        }

        .dark-mode {
            --hintergrundfarbe: #121212;
            --textfarbe: #e0e0e0;
            --kartenhintergrund: #1e1e1e;
            --inputhintergrund: #2d2d2d;
            --borderfarbe: #444;
            --buttonfarbe: #ff9800;
            --hervorhebung: #a46404;
            --headerfarbe: #0d47a1;
            --footerfarbe: #0d47a1;
            --hitfarbe: #5287d6;
            --vorschlagshintergrund: #2d2d2d;
            --trefferhintergrund: #252525;
        }
        /* Darkmode-Schalter */
        .darkmode-container {
            display: flex;
            flex-direction: column; /* Stellt Label und Schalter untereinander dar */
            align-items: center;
            margin-bottom: 20px;
        }

        .darkmode-label {
            margin-bottom: 0px; /* Abstand zwischen Label und Schalter */
            color: var(--hintergrundfarbe);
            font-size: 8px;
        }

        .darkmode-switch {
            position: relative;
            display: inline-block;
            width: 50px;
            height: 20px;
            margin-bottom: 10px; /* Optional: Abstand nach unten */
        }

        .darkmode-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

        .darkmode-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: var(--hitfarbe);
            border: 1px solid var(--inputhintergrund);
            transition: .4s;
            border-radius: 24px;
        }

        .darkmode-slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 4px;
            bottom: 1px;
            background-color: var(--inputhintergrund);
            transition: .4s;
            border-radius: 50%;
        }

        input:checked + .darkmode-slider {
            background-color: var(--hitfarbe);
            
        }

        input:checked + .darkmode-slider:before {
            transform: translateX(26px);
        }

        /* Grundlegende Stile */
        body {
            font-family: Arial, sans-serif;
            max-width: 800px;
            margin: 0 auto;
            padding: 20px;
            background-color: var(--hintergrundfarbe);
            color:var(--textfarbe);
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        header {
            background-color: var(--headerfarbe);
            color: white;
            padding: 15px 0;
            text-align: center;
            margin-bottom: 20px;
            border-radius: 5px;
        }

        header h1 {
            margin: 0;
            font-size: 24px;
        }

        /* Suchbereich */
        .search-area {
            background-color: var(--kartenhintergrund);
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            margin-bottom: 20px;
            flex: 1;
        }

        .search-form {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        label {
            font-weight: bold;
            color: var(--textfarbe);
        }

        /* Eingabefeld mit Pfeil */
        #suchbegriff {
            width: 300px;
            padding: 8px;
            border: 1px solid var(--borderfarbe);
            border-radius: 4px;
            font-size: 16px;
            appearance: none;
            background-color: var(--inputhintergrund);
            color: var(--textfarbe);
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 10 10"><polygon points="0,0 10,0 5,10" fill="black"/></svg>');
            background-repeat: no-repeat;
            background-position: right 10px center;
            background-size: 10px;
            padding-right: 30px;
            cursor: pointer;
        }

        /* Unsichtbarer Bereich für den Pfeil, um Klicks zu erfassen */
        #suchbegriff::after {
            content: '';
            position: absolute;
            right: 0;
            top: 0;
            width: 30px;
            height: 100%;
            cursor: pointer;
}

        #suchbegriff:focus {
            outline: none;
            border-color: var(--headerfarbe);
        }

        select {
            width: 220px;
            padding: 8px;
            border: 1px solid var(--borderfarbe);
            border-radius: 4px;
            background-color: var(--inputhintergrund);
            color: var(--textfarbe);
        }

        button {
            width: 80px;
            padding: 8px;
            border: none;
            border-radius: 4px;
            background-color: var(--buttonfarbe);
            color: white;
            font-weight: bold;
            cursor: pointer;
            align-self: flex-start;
        }

        button:hover {
            background-color: var(--buttonfarbe);
        }

        /* Vorschläge */
        #vorschlaege {
            max-height: 200px;
            overflow-y: auto;
            border: 1px solid var(--borderfarbe);
            display: none;
            position: absolute;
            background: var(--vorschlagshintergrund);
            color: var(--textfarbe);
            z-index: 1000;
            width: 300px;
            top: 100%;
            left: 0;
        }

        .vorschlag {
            padding: 8px;
            cursor: pointer;
        }

        .vorschlag:hover {
            background-color: var(--headerfarbe);
            color: white;
        }

        /* Ergebnisse */
        #ergebnis {
            margin-top: 20px;
            padding: 15px;
            border: 1px solid var(--borderfarbe);
            border-radius: 5px;
            background-color: var(--kartenhintergrund);
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            flex: 1;
        }

        .treffer {
            display: flex;
            margin-bottom: 15px;
            align-items: flex-start;
            padding: 10px;
            border: 1px solid var(--borderfarbe);
            border-radius: 4px;
            background-color: var(--trefferhintergrund);
            color: var(--textfarbe);
        }

        /* Bilder im Trefferbereich */
        .treffer-bild {
            margin-right: 15px;
            position: relative;
            width: 180px;
            height: 180px;
            cursor: pointer;
        }

        .treffer-bild img {
            max-width: 100%;
            max-height: 100%;
            border: 1px solid var(--borderfarbe);
            border-radius: 4px;
            transition: transform 0.3s ease;
        }

        .treffer-bild:hover::after {
            content: "Click to Zoom";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 12px;
            z-index: 10;
            pointer-events: none;
        }

        .treffer-bild.vergroessert img {
            transform: scale(3);
            position: relative;
            z-index: 20;
            margin-left: 150px;
            margin-top: -100px;
        }

        .treffer-info {
            flex: 1;
            color: var(--textfarbe);
        }

        .treffer-info h3 {
            margin: 0 0 10px 0;
            color: var(--hitfarbe);
        }

        .treffer-info p {
            margin: 5px 0;
        }
/* Stile für die Buttons im Trefferbereich */
.treffer-buttons {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.treffer-buttons button {
    padding: 8px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
}

.merken-button {
    background-color: #4CAF50;
    color: white;
}

.merken-button:hover {
    background-color: #45a049;
}

.anzeigen-button {
    background-color: #008CBA;
    color: white;
}

.anzeigen-button:hover {
    background-color: #0077a3;
}

.anzeigen-button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

        .ergebnis-hervorheben {
            background-color: var(--hervorhebung);
            padding: 5px;
            border-radius: 3px;
            display: inline-block;
            font-weight: bold;
        }

        hr {
            border: 0;
            height: 1px;
            background: var(--borderfarbe);
            margin: 10px 0;
        }

        /* Footer */
        footer {
            background-color: var(--footerfarbe);
            color: white;
            text-align: center;
            padding: 10px 0;
            margin-top: auto;
            width: 100%;
        }

        /* Login-Stile */
        .login-container {
            background-color: white;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            width: 300px;
            text-align: center;
            margin: 0 auto;
        }

        .login-container h2 {
            margin-bottom: 20px;
            color: #0056b3;
        }

        .login-container input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
        }

        .login-container button {
            width: 100%;
            padding: 10px;
            background-color: #0056b3;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        .login-container button:hover {
            background-color: #003d7a;
        }

        .error-message {
            color: red;
            margin-bottom: 15px;
            display: none;
        }

/* Passwortbereich */

.login-container, .set-password-container {
            background-color: white;
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            width: 300px;
            text-align: center;
            margin: 0 auto;
        }

        .set-password-container input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
        }

        .set-password-container button {
            width: 100%;
            padding: 10px;
            background-color: #0056b3;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        .set-password-container button:hover {
            background-color: #003d7a;
        }

        .error-message, .success-message {
            margin-bottom: 15px;
            display: none;
        }

        .error-message {
            color: red;
        }

        .success-message {
            color: green;
        }