/* GLOBAL RESET */
* { margin: 0; padding: 0; box-sizing: border-box; }

body { 
    font-family: 'Segoe UI', Arial, sans-serif; 
    background-color: #1a1a1a; 
    color: #ffffff; 
    line-height: 1.6; 
}

/* HEADER & NAV */
header { 
    background: #1a1a1a; 
    width: 100%; 
    border-bottom: 2px solid #ffcc00; 
    line-height: 0; 
}
.header-container { max-width: 1200px; margin: 0 auto; }
.header-container img { width: 100%; height: auto; display: block; }

nav { 
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap; 
    gap: 20px; 
    background: #222; 
    padding: 15px; 
    border-bottom: 1px solid #444;
}
nav a { color: #fff; text-decoration: none; font-weight: bold; transition: 0.3s; }
nav a:hover { color: #ffcc00; }

/* CONTENT BEREICH */
.content { 
    max-width: 1100px; 
    margin: 30px auto; 
    padding: 25px; 
    background: #2a2a2a; 
    border-radius: 8px; 
}
h2 { color: #ffcc00; margin-bottom: 20px; border-bottom: 1px solid #444; padding-bottom: 10px; }

/* STARTSEITEN GRID (Leistungs-Karten) */
.grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 25px; 
    margin-top: 20px; 
}
.card { 
    background: #333; padding: 20px; border-radius: 8px; 
    border-left: 5px solid #ffcc00; text-align: center;
}
.card img { width: 100%; height: 200px; object-fit: cover; border-radius: 5px; margin-bottom: 15px; }

/* TECHNIK-COLLAGE (Fix für Leistungen.html) */
.technik-collage {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
    background: #333;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #ffcc00;
    margin-top: 20px;
}
.technik-collage img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 4px;
    transition: transform 0.3s;
}
.technik-collage img:hover { transform: scale(1.03); }

/* GALERIE GRID (Vorschaubilder) */
.galerie-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}
.item {
    background: #333; padding: 10px; border-radius: 6px; 
    text-align: center; cursor: pointer; border: 1px solid #444; transition: 0.3s;
}
.item:hover { border-color: #ffcc00; transform: translateY(-3px); }
.item img, .item video { width: 100%; height: 160px; object-fit: cover; border-radius: 4px; }

/* LIGHTBOX POP-UP */
#lightbox {
    display: none; 
    position: fixed !important; 
    top: 0 !important; left: 0 !important; 
    width: 100% !important; height: 100% !important;
    background-color: rgba(0, 0, 0, 0.95) !important; 
    z-index: 99999 !important; 
    align-items: center !important; justify-content: center !important; flex-direction: column !important;
}
#lightbox-content { max-width: 90%; max-height: 80vh; }
#lightbox-content img, #lightbox-content video { max-width: 100%; max-height: 75vh; border: 3px solid #ffcc00; }
.close { position: absolute !important; top: 20px !important; right: 30px !important; color: #fff !important; font-size: 60px !important; cursor: pointer; }

/* FOOTER */
footer { text-align: center; padding: 30px; margin-top: 50px; background: #222; border-top: 2px solid #ffcc00; }
footer a { color: #bbb; text-decoration: none; margin: 0 10px; }
.copy { margin-top: 15px; font-size: 0.8rem; opacity: 0.5; }

/* --- KONTAKTFORMULAR OPTIMIERUNG --- */
form {
    display: flex;
    flex-direction: column; /* Erzwingt, dass alles untereinander steht */
    gap: 15px;              /* Abstand zwischen den Feldern */
    max-width: 600px;       /* Verhindert, dass die Zeilen zu breit werden */
    margin: 20px auto;      /* Zentriert das Formular im Content */
}

form label {
    font-weight: bold;
    color: #ffcc00;
    margin-bottom: -10px;   /* Zieht das Label näher an das Feld */
}

form input, 
form textarea {
    width: 100%;            /* Nutzt die volle Breite des Containers */
    padding: 12px;
    background: #333;
    border: 1px solid #444;
    color: #fff;
    border-radius: 4px;
    font-size: 1rem;
    font-family: inherit;
}

form input:focus, 
form textarea:focus {
    border-color: #ffcc00;
    outline: none;
    background: #3d3d3d;
}

form button {
    background: #ffcc00;
    color: #1a1a1a;
    padding: 15px;
    border: none;
    font-weight: bold;
    font-size: 1.1rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.3s ease;
    margin-top: 10px;
}

form button:hover {
    background: #e6b800;
}

/* Responsive Anpassung für Handys */
@media (max-width: 600px) {
    .content {
        padding: 15px;
    }
}

/* Kontakt-Button Styling */
.btn-kontakt {
    display: inline-block;
    background-color: #ffcc00; /* Das typische Gelb */
    color: #000000;            /* Dunkler Text für Kontrast */
    padding: 15px 30px;
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    border: 2px solid #ffcc00;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 204, 0, 0.3);
}

/* Optional: Farbe beim Drüberfahren ändern */
.btn-kontakt:hover {
    color: #ffffff; /* Schrift wird weiß beim Hover */
    background-color: #ff8c00; /* Hintergrund wird orange */
}
/* --- ÜBER MICH SEITE OPTIK --- */
.ueber-mich-container {
    display: flex;
    align-items: flex-start; /* Text und Bild oben bündig */
    gap: 30px;               /* Abstand zwischen Text und Bild */
    flex-wrap: wrap;         /* Wichtig für die mobile Ansicht */
}

.ueber-mich-text {
    flex: 2;                 /* Der Text bekommt mehr Platz (2 Anteile) */
    min-width: 300px;        /* Verhindert, dass der Text zu schmal gequetscht wird */
}

.ueber-mich-bild {
    flex: 1;                 /* Das Bild bekommt weniger Platz (1 Anteil) */
    min-width: 250px;        /* Mindestbreite für das Foto */
    text-align: center;
}

.ueber-mich-bild img {
    width: 100%;             /* Nutzt die Breite der Spalte */
    max-width: 350px;        /* Verhindert, dass das Foto zu riesig wird */
    height: auto;
    border-radius: 8px;      /* Abgerundete Ecken passend zum Design */
    border: 2px solid #ffcc00; /* Gelber Rahmen als Akzent */
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* Mobile Anpassung: Auf kleinen Handys wird alles untereinander angezeigt */
@media (max-width: 768px) {
    .ueber-mich-container {
        flex-direction: column;
        align-items: center;
    }
    
    .ueber-mich-text {
        order: 1; /* Text oben */
    }
    
    .ueber-mich-bild {
        order: 2; /* Bild unten */
        margin-top: 20px;
    }
}