/* Global Styling */
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 /* Header Styling */
 header {
     max-width: 1200px;
     margin: 0 auto;
     padding: 20px 0;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background-color: #ffffff;
     border-bottom: 2px solid #ddd;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
     position: sticky;
     top: 0;
     z-index: 1000;
 }

 header .logo img {
     height: 100px;
     width: auto;
 }

 #burger-icon {
     display: none;
     font-size: 30px;
     cursor: pointer;
     padding: 10px;
     color: #372F7C;
     background: none;
     border: none;
     position: absolute;
     top: 15px;
     right: 15px;
 }

 nav {
     display: flex;
     gap: 20px;
 }

 nav a {
     text-decoration: none;
     font-weight: bold;
     color: #333;
     padding: 8px 15px;
     border-radius: 5px;
     transition: background-color 0.2s ease-in-out;
 }

 nav a.active {
     background-color: #372F7C;
     color: white;
 }

 nav a:hover {
     background-color: #ddd;
 }

 nav a img {
     width: 30px;
     height: 30px;
     border-radius: 50%;
     object-fit: cover;
 }

 @media (max-width: 768px) {
     #burger-icon {
         display: block;
     }

     nav {
         display: none;
         flex-direction: column;
         position: absolute;
         top: 80px;
         right: 0;
         background: white;
         width: 200px;
         box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
         padding: 10px;
         border-radius: 5px;
         z-index: 999;
     }

     nav.show {
         display: flex;
     }

     nav a {
         padding: 10px;
         text-align: center;
     }
 }

 /* Body Styling */
 body {
     font-family: Arial, sans-serif;
     margin: 0;
     background-color: #f8f9fa;
 }

 /* Hauptcontainer für Filter & Inhalte */
 .content-container {
     display: flex;
     max-width: 1200px;
     margin: 50px auto;
     gap: 20px;
     align-items: flex-start;
     justify-content: flex-start;
     /* Elemente am Anfang ausrichten */
 }

 /* Angebote Styling */
 .angebote {
     display: flex;
     flex-direction: column;
     /* Vertikale Anordnung */
     gap: 40px;
     /* Abstand zwischen den Boxen */
     width: 100%;
     /* Füllt den Bereich */
     align-items: center;
     /* Zentriert die Boxen */
     margin: 20px auto;
 }

 .angebot-box {
     background-color: #372F7C;
     color: white;
     width: 100%;
     max-width: 300px;
     border-radius: 10px;
     padding: 15px;
     text-align: center;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
     display: flex;
     flex-direction: column;
     gap: 10px;
     transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
     margin-top: 0 !important;
     /* Entferne jeglichen Abstand nach oben */
 }

 .angebot-box:hover {
     transform: scale(1.05);
     box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
 }

 .angebot-img {
     width: 70px;
     height: 70px;
     object-fit: contain;
     margin: 0 auto;
 }

 .angebot-box h2 {
     font-size: 16px;
     font-weight: bold;
     /* Nur der Titel bleibt fett */
     margin: 10px 0 5px;
     text-transform: uppercase;
 }

 .angebot-details {
     font-weight: normal;
     /* Detailschrift bleibt normal */
     color: #fff;
     text-align: middle;
     /* Text links ausrichten */
 }

 .angebot-details strong {
     font-weight: bold;
     /* Labels wie Ort:, Dauer:, Preis: fett machen */
     color: #fff;
     /* Optional: Schriftfarbe */
 }

 .icon {
     width: 20px;
     height: auto;
 }

 /* Footer Styling */
 footer {
     margin-top: 50px;
     /* Abstand über dem Footer */
     text-align: center;
     font-size: 14px;
     color: #666;
     padding: 10px;
     background-color: #ffffff;
     border-top: 1px solid #ddd;
 }

 /* Abstände zwischen Boxen */
 .angebot-box+.angebot-box {
     margin-top: 20px;
     /* Weißer Bereich als Abstand zwischen Boxen */
 }

 /* Links allgemein */
 a {
     text-decoration: none;
     /* Unterstrich entfernen */
     color: inherit;
     /* Übernimmt die Schriftfarbe vom Elterncontainer */
     font-weight: bold;
     /* Optional: Schrift fett machen */
 }

 .angebot-box {
     flex: 1 1 calc(33.333% - 20px);
     /* Lässt 2–3 Boxen pro Reihe zu */
     max-width: 300px;
     min-width: 250px;
 }

 .filter-container {
     width: 250px;
     background: white;
     padding: 20px;
     border-radius: 8px;
     box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
     position: sticky;
     top: 120px;
     flex-shrink: 0;
     /* Der Filter bleibt FEST und verschiebt nichts */
 }

 /* Hauptinhalt rechts (Ausschreibungen) */
 .angebote-container {
     flex-grow: 1;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     /* Elemente am Anfang ausrichten */
     margin-left: 20px;
     /* Abstand zum Filterbereich */
 }

 .angebote {
     display: flex;
     flex-wrap: wrap;
     gap: 20px;
     justify-content: flex-start;
     /* Elemente am Anfang ausrichten */
     align-items: flex-start;
     width: 100%;
     max-width: 900px;
     margin-top: 20px;
     /* Abstand unter dem Titel */
 }

 /* Titel des Filters */
 .filter-container h3 {
     margin-bottom: 15px;
     font-size: 18px;
     font-weight: bold;
 }

 /* Abstand und Styling für Label */
 .filter-container label {
     display: block;
     margin: 10px 0 5px;
     font-weight: bold;
 }

 /* Eingabefelder und Dropdowns */
 .filter-container input[type="text"],
 .filter-container select {
     width: 100%;
     padding: 8px;
     border: 1px solid #ccc;
     border-radius: 5px;
     font-size: 14px;
 }

 /* Preis-Schieberegler */
 .filter-container input[type="range"] {
     width: 100%;
     cursor: pointer;
 }

 /* Checkboxen für Kategorien */
 #filter-kategorie label {
     display: flex;
     align-items: center;
     font-size: 14px;
     gap: 5px;
     margin-bottom: 5px;
 }

 .hidden {
     display: none;
 }

 /* 🔹 Detailansicht Styling */
 /* 🔹 Detailansicht Styling */
 .detail-card {
     display: flex;
     gap: 20px;
     background: white;
     padding: 20px;
     border-radius: 10px;
     box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
     max-width: 900px;
     margin: 20px auto;
     align-items: center;
 }

 .detail-left {
     flex: 1;
 }

 .detail-right {
     flex: 2;
 }

 .detail-image {
     max-width: 100%;
     height: auto;
     border-radius: 8px;
 }

 /* 🔹 Icon Styling */
 .icon {
     width: 16px;
     margin-right: 5px;
 }

 /* 🔹 Beschreibung separieren */
 .beschreibung-text {
     margin-top: 5px;
 }

 /* 🔹 Button Styling */
 .button-container {
     display: flex;
     gap: 10px;
     margin-top: 20px;
 }

 .contact-btn,
 .back-btn {
     padding: 10px 15px;
     font-size: 16px;
     font-weight: bold;
     border-radius: 5px;
     text-align: center;
     border: none;
     cursor: pointer;
     transition: background 0.3s;
 }

 .contact-btn {
     background: #372F7C;
     color: white;
     text-decoration: none;
 }

 .contact-btn:hover {
     background: #868686;
 }

 .back-btn {
     background: #372F7C;
     color: white;
 }

 .back-btn:hover {
     background: #868686;
 }

 .detail-right h2 {
     color: #372F7C;
     /* Beserved Lila */
 }

 /* Stil für den Preis-Slider */
 #filter-preis {
     width: 100%;
     accent-color: #372F7C;
     /* Beserved-Lila */
 }

 /* Preis-Anzeige */
 #preis-werte {
     font-weight: bold;
     color: #372F7C;
     display: block;
     text-align: center;
     margin-top: 5px;
 }



 /* Preis-Filter Styling */
 .preis-slider-container {
     position: relative;
     width: 100%;
     height: 30px;
 }

 .preis-slider-container input[type="range"] {
     position: absolute;
     width: 100%;
     z-index: 2;
     /* Kugel über der Linie */
     background: none;
     pointer-events: none;
 }

 .preis-slider-container input[type="range"]::-webkit-slider-runnable-track {
     height: 5px;
     background: #ddd;
     border-radius: 5px;
 }

 .preis-slider-container input[type="range"]::-webkit-slider-thumb {
     appearance: none;
     width: 18px;
     height: 18px;
     background: #372F7C;
     /* Beserved-Lila */
     border-radius: 50%;
     cursor: pointer;
     pointer-events: auto;
     margin-top: -6px;
     position: relative;
     z-index: 3;
     /* Sicherstellen, dass die Kugel vorne ist */
 }

 .preis-anzeige {
     display: flex;
     justify-content: space-between;
     font-weight: bold;
     color: #372F7C;
     margin-top: 5px;
 }

 @media (max-width: 768px) {
     .content-container {
         flex-direction: column;
         padding: 10px;
     }

     .filter-container {
         width: 100%;
         position: static;
         margin-bottom: 20px;
     }

     .angebote-container {
         margin-left: 0;
     }

     .angebote {
         justify-content: center;
     }

     .angebot-box {
         max-width: 100%;
     }
 }

 #burger-icon {
     display: none;
     font-size: 30px;
     cursor: pointer;
     padding: 10px;
     color: #372F7C;
     background: none;
     border: none;
     position: absolute;
     top: 15px;
     right: 15px;
 }

 @media (max-width: 768px) {
     #burger-icon {
         display: block;
     }

     nav {
         display: none;
         flex-direction: column;
         position: absolute;
         top: 80px;
         right: 0;
         background: white;
         width: 200px;
         box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
         padding: 10px;
         border-radius: 5px;
         z-index: 999;
     }

     nav.show {
         display: flex;
     }

     nav a {
         padding: 10px;
         text-align: center;
     }
 }

 /* Toggle Button für Mobile */
 .filter-toggle {
     display: none;
     background-color: #8b8b8b;
     color: rgb(255, 255, 255);
     padding: 10px 15px;
     font-size: 16px;
     border: none;
     width: 100%;
     font-weight: bold;
     cursor: pointer;
     margin: 10px 0;
     border-radius: 6px;
 }

 /* Nur auf Mobile sichtbar */
 @media (max-width: 768px) {
     .filter-toggle {
         display: block;
     }

     .filter-container {
         display: none;
         width: 100%;
         margin-top: 10px;
         position: relative;
         box-shadow: none;
         top: 0;
     }

     .filter-container.active {
         display: block;
     }

     .content-container {
         flex-direction: column;
         align-items: center;
     }

     .angebote-container {
         margin-left: 0;
         width: 100%;
     }
 }

