:root { --primary: #0070f3; --dark: #1f2937; --light: #f3f4f6; --accent: #f59e0b; }
body { font-family: 'Segoe UI', sans-serif; margin: 0; background: var(--light); color: var(--dark); }
header { background: var(--dark); color: white; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 100; }
nav a { color: white; margin-left: 15px; text-decoration: none; font-weight: bold; }
nav a:hover { color: var(--accent); }
.container { max-width: 1000px; margin: 2rem auto; padding: 2rem; background: white; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.hero-img { width: 100%; height: 300px; object-fit: cover; border-radius: 8px; margin-bottom: 20px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.card { border: 1px solid #ddd; padding: 1.5rem; border-radius: 8px; text-align: center; }
.card img { width: 80px; height: 80px; border-radius: 50%; margin-bottom: 10px; }
footer { text-align: center; padding: 2rem; color: #666; }

/* Styling für das Kontaktformular */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 25px; /* Etwas mehr Abstand zwischen den Gruppen */
    margin-top: 20px;
    max-width: 600px; /* Begrenzung für bessere Lesbarkeit */
}

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

.form-group label {
    font-weight: 600;
    color: #333;
    font-size: 0.95rem;
}

.contact-form input, 
.contact-form textarea {
    width: 100%;
    /* Größeres Padding für ein luftigeres Gefühl */
    padding: 16px; 
    border: 2px solid #e0e0e0; /* Etwas dickerer, aber hellerer Rand */
    border-radius: 8px;
    font-size: 1.1rem; /* Leicht größere Schrift für bessere Lesbarkeit */
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
    background-color: #f9f9f9;
}

/* Der "Wohlfühl-Effekt" beim Reinklicken */
.contact-form input:focus, 
.contact-form textarea:focus {
    outline: none;
    border-color: var(--primary, #007bff);
    background-color: #fff;
    /* Subtiler Schatten macht das Feld "aktiv" */
    box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1); 
}

.contact-form textarea {
    min-height: 180px; /* Mehr Platz für Nachrichten */
    resize: vertical;
}

.submit-btn {
    background-color: var(--primary, #007bff);
    color: white;
    padding: 16px 30px; /* Größerer Button */
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 1.1rem;
    transition: transform 0.1s, background 0.3s;
    align-self: flex-start; /* Button nicht über die ganze Breite zwingen */
}

.submit-btn:hover {
    background-color: #0056b3;
    transform: translateY(-1px); /* Kleiner Hover-Effekt */
}

.submit-btn:active {
    transform: translateY(0);
}

.submit-btn:hover {
    background-color: #0056b3;
}
