/* =========================================
   GRUNDEINSTELLUNGEN & FARBEN
========================================= */
:root {
  --farbe-weiss: #ffffff;
  --farbe-hintergrund: #F8F9FA; /* Ein ganz helles Grau/Weiß */
  --farbe-text: #333333; /* Dunkelgrau für bessere Lesbarkeit als pures Schwarz */
  --farbe-dunkelblau: #1A365D; /* Seriosität (BOS, Corporate) */
  --farbe-beige: #D4C4A8; /* Eleganz & Wärme */
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Helvetica Neue', Arial, sans-serif; /* Cleane, moderne Schrift */
  color: var(--farbe-text);
  background-color: var(--farbe-hintergrund);
  line-height: 1.6;
}

/* =========================================
   NAVIGATION (Menü oben)
========================================= */
.navbar {
  background-color: var(--farbe-weiss);
  padding: 20px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid var(--farbe-beige);
}

.logo {
  font-size: 24px;
  font-weight: bold;
  color: var(--farbe-dunkelblau);
  text-decoration: none;
}

.nav-links a {
  text-decoration: none;
  color: var(--farbe-text);
  margin-left: 30px;
  font-weight: 500;
  transition: color 0.3s ease;
}

.nav-links a:hover {
  color: var(--farbe-beige); /* Hover-Effekt in Beige */
}

/* =========================================
   HERO BEREICH (Startseite oben)
========================================= */
.hero {
  /* HIER TAUSCHST DU SPÄTER DEN BILD-LINK AUS */
  background-image: url(bilder/FeldbbrandBoden.jpg);
  background-size: cover;
  background-position: center;
  height: 80vh; /* Nimmt 80% der Bildschirmhöhe ein */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--farbe-weiss);
  padding: 20px;
}

.hero h1 {
  font-size: 48px;
  margin-bottom: 10px;
}

.hero p {
  font-size: 20px;
  margin-bottom: 30px;
  max-width: 600px;
}

/* =========================================
   BUTTONS
========================================= */
.btn-primary {
  background-color: var(--farbe-beige);
  color: var(--farbe-dunkelblau);
  padding: 15px 30px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.btn-primary:hover {
  background-color: var(--farbe-weiss);
}

/* =========================================
   PORTFOLIO BEREICH (Unterseite)
========================================= */
        /* Basis Variablen & Reset */
        :root {
            --farbe-weiss: #ffffff;
            --farbe-hintergrund: #F8F9FA;
            --farbe-text: #333333;
            --farbe-dunkelblau: #1A365D;
            --farbe-beige: #D4C4A8;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Helvetica Neue', Arial, sans-serif;
            background-color: var(--farbe-hintergrund);
            color: var(--farbe-text);
            line-height: 1.6;
        }

        /* Navbar */
        .navbar {
            background-color: var(--farbe-weiss);
            padding: 20px 50px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 2px solid var(--farbe-beige);
        }

        .logo {
            font-size: 24px;
            font-weight: bold;
            color: var(--farbe-dunkelblau);
            text-decoration: none;
        }

        .nav-links a {
            text-decoration: none;
            color: var(--farbe-text);
            margin-left: 30px;
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .nav-links a:hover {
            color: var(--farbe-beige);
        }

        /* Content Section */
        .content-section {
            padding: 60px 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .content-section h2 {
            color: var(--farbe-dunkelblau);
            font-size: 32px;
            margin-bottom: 10px;
            border-bottom: 3px solid var(--farbe-beige);
            display: inline-block;
            padding-bottom: 5px;
        }

        /* ========================================================
           DER NEUE, UNBESCHNITTENE SLIDER-CODE
           ======================================================== */
        .slider-wrapper {
            position: relative;
            display: flex;
            align-items: center;
            margin-top: 20px;
            margin-bottom: 60px;
            width: 100%;
        }

        .portfolio-slider {
            display: flex;
            gap: 20px;
            overflow-x: auto;
            scroll-behavior: smooth;
            padding: 20px 0; /* Etwas Padding für den Box-Shadow der Bilder */
            width: 100%;
            /* Scrollbar verstecken */
            scrollbar-width: none; 
            -ms-overflow-style: none;
        }

        .portfolio-slider::-webkit-scrollbar {
            display: none;
        }

        /* HIER IST DIE MAGIE FÜR UNBESCHNITTENE BILDER */
        .portfolio-item {
            flex: 0 0 auto; /* Breite passt sich automatisch dem Bild an */
            height: 400px;  /* Feste Höhe für die Schiene */
            background-color: transparent; /* Kein dunkler Rand mehr */
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .portfolio-item img, 
        .portfolio-item video {
            height: 100%;
            width: auto;
            object-fit: contain;
            border-radius: 8px;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
            display: block;
            background-color: #000; /* Sorgt für einen schwarzen Hintergrund, falls das Video lädt */
        }

        /* Pfeil Buttons */
        .slide-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background-color: var(--farbe-dunkelblau);
            color: var(--farbe-weiss);
            border: none;
            width: 45px;
            height: 45px;
            border-radius: 50%;
            font-size: 22px;
            cursor: pointer;
            z-index: 10;
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: 0 4px 6px rgba(0,0,0,0.3);
            transition: background-color 0.3s;
        }

        .slide-btn:hover {
            background-color: var(--farbe-beige);
            color: var(--farbe-dunkelblau);
        }

        .prev-btn { left: -15px; }
        .next-btn { right: -15px; }

        /* Mobile Anpassungen */
        @media (max-width: 768px) {
            .navbar { padding: 15px 20px; flex-direction: column; gap: 15px; }
            .nav-links a { margin: 0 10px; }
            .portfolio-item { height: 250px; } /* Etwas flacher auf Handys */
            .prev-btn { left: 5px; }
            .next-btn { right: 5px; }
        }

        /* Footer */
        .footer {
            background-color: var(--farbe-dunkelblau);
            color: var(--farbe-weiss);
            text-align: center;
            padding: 40px 20px;
            margin-top: 50px;
        }
        .footer a {
            color: var(--farbe-beige);
            text-decoration: none;
        }
/* =========================================
   FOOTER (Ganz unten)
========================================= */
.footer {
  background-color: var(--farbe-dunkelblau);
  color: var(--farbe-weiss);
  text-align: center;
  padding: 40px 20px;
  margin-top: 50px;
}

.footer a {
  color: var(--farbe-beige);
  text-decoration: none;
  margin: 0 10px;
}

/* ================= LIGHTBOX DESIGN ================= */
        .lightbox {
            display: none; /* Ist standardmäßig unsichtbar */
            position: fixed; /* Klebt über der ganzen Seite */
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.9); /* Schwarzer, leicht transparenter Hintergrund */
            z-index: 9999; /* Garantiert, dass es GANZ oben liegt */
            justify-content: center;
            align-items: center;
        }

        .lightbox-content {
            max-width: 90%;
            max-height: 90%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .lightbox-content img,
        .lightbox-content video {
            max-width: 100%;
            max-height: 90vh; /* Darf maximal 90% der Bildschirmhöhe einnehmen */
            box-shadow: 0 0 20px rgba(255,255,255,0.2);
            border-radius: 4px;
        }

        /* Das X zum Schließen */
        .close-lightbox {
            position: absolute;
            top: 20px;
            right: 40px;
            color: white;
            font-size: 40px;
            font-weight: bold;
            cursor: pointer;
            z-index: 10000;
        }
        
        .close-lightbox:hover {
            color: #D4C4A8;
        }

        /* Mauszeiger beim Drüberfahren im Slider ändern, damit Nutzer wissen, dass sie klicken können */
        .portfolio-item img,
        .portfolio-item video {
            cursor: pointer; 
        }

        /* ================= Kontaktformular ================= */
        .contact-container {
            max-width: 700px;
            margin: 0 auto;
            background-color: var(--farbe-weiss);
            padding: 40px;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
            color: var(--farbe-dunkelblau);
        }

        .form-group input, 
        .form-group select, 
        .form-group textarea {
            width: 100%;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-family: inherit;
            font-size: 16px;
        }

        .form-group input:focus, 
        .form-group select:focus, 
        .form-group textarea:focus {
            outline: none;
            border-color: var(--farbe-beige);
            box-shadow: 0 0 5px rgba(212, 196, 168, 0.5);
        }

        .form-group textarea {
            resize: vertical;
            min-height: 150px;
        }

        .btn-submit {
            width: 100%;
            cursor: pointer;
            border: none;
            font-size: 18px;
        }
