@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&display=swap');

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

body { 
    font-family: 'Montserrat', sans-serif; 
    background-color: #a89a8c; 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='0.05' d='M0,224L48,229.3C96,235,192,245,288,224C384,203,480,149,576,144C672,139,768,181,864,197.3C960,213,1056,203,1152,181.3C1248,160,1344,128,1392,112L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%23ffffff' fill-opacity='0.08' d='M0,96L48,128C96,160,192,224,288,245.3C384,267,480,245,576,213.3C672,181,768,139,864,138.7C960,139,1056,181,1152,186.7C1248,192,1344,160,1392,144L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
    color: #ffffff; 
    min-height: 100vh; 
    display: flex; 
    flex-direction: column; 
    overflow-x: hidden; 
}

/* Header & Nav */
header { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 40px 50px; 
    z-index: 10; 
}

.logo-container { display: flex; align-items: center; text-decoration: none; }
.logo-img { height: 60px; object-fit: contain; border-radius: 5px; }

/* Hamburger Menu (Mobile) */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 6px;
}
.menu-toggle span {
    display: block;
    width: 30px;
    height: 3px;
    background-color: white;
    border-radius: 2px;
    transition: 0.3s;
}

nav { 
    display: flex; 
    gap: 30px; 
}

nav a { 
    color: white; 
    text-decoration: none; 
    font-size: 0.9rem; 
    font-weight: 300; 
    padding-bottom: 5px; 
    transition: 0.3s ease; 
}

nav a:hover, nav a.active { border-bottom: 1px solid white; }

/* Main Content */
main { 
    flex: 1; 
    padding: 40px 50px; 
    display: flex; 
    flex-direction: column; 
    position: relative; 
    z-index: 10; 
}

h1 { font-weight: 300; letter-spacing: 5px; margin-bottom: 30px; text-transform: uppercase; }
h2 { font-weight: 400; margin-top: 30px; margin-bottom: 15px; font-size: 1.1rem; }
p { font-weight: 300; line-height: 1.6; margin-bottom: 15px; }

/* Coming Soon (Index) */
.coming-soon-container { 
    text-align: center; 
    margin: auto; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
}
.big-logo-img { width: 300px; max-width: 80%; margin-bottom: 40px; border-radius: 10px; }
.coming-soon-container h1 { font-size: 2.5rem; letter-spacing: 8px; margin-bottom: 10px; }
.coming-soon-subtitle { font-size: 1rem; margin-bottom: 40px; color: rgba(255, 255, 255, 0.9); }

.btn { 
    display: inline-block; 
    padding: 12px 30px; 
    border: 1px solid white; 
    border-radius: 30px; 
    color: white; 
    text-decoration: none; 
    font-weight: 300; 
    background: transparent; 
    transition: 0.3s; 
    cursor: pointer; 
}
.btn:hover { background: rgba(255, 255, 255, 0.1); }

/* Contact Grid */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 30px; }
.contact-info .info-item { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
.info-item svg { width: 24px; height: 24px; fill: none; stroke: white; stroke-width: 1.5; flex-shrink: 0; }

/* Form */
form { display: flex; flex-direction: column; gap: 15px; }
input, textarea { 
    width: 100%; 
    padding: 15px; 
    background: rgba(255, 255, 255, 0.2); 
    border: none; 
    border-radius: 5px; 
    color: white; 
    font-family: 'Montserrat', sans-serif; 
    font-size: 0.9rem; 
}
input::placeholder, textarea::placeholder { color: rgba(255, 255, 255, 0.7); }
textarea { resize: vertical; min-height: 150px; }

/* Footer */
footer { 
    display: flex; 
    justify-content: space-between; 
    padding: 20px 50px; 
    font-size: 0.8rem; 
    font-weight: 300; 
    border-top: 1px solid rgba(255, 255, 255, 0.2); 
    z-index: 10; 
}
footer a { color: white; text-decoration: none; margin: 0 5px; }
footer a:hover { text-decoration: underline; }

.bg-decoration { 
    position: absolute; 
    right: -5%; 
    bottom: -10%; 
    width: 600px; 
    max-width: 150%; 
    opacity: 0.05; 
    z-index: 0; 
    pointer-events: none; 
    border-radius: 20px; 
}

/* =========================================
   MOBILE RESPONSIVENESS
   ========================================= */
@media (max-width: 768px) {
    /* Header Anpassungen */
    header { 
        padding: 20px; 
    }
    
    .logo-img { height: 45px; }
    
    /* Hamburger Menu aktivieren */
    .menu-toggle { display: flex; }
    
    nav {
        display: none; /* Standardmäßig ausblenden, wird per JS getoggelt */
        flex-direction: column;
        position: absolute;
        top: 80px; /* Unterhalb des Headers */
        left: 0;
        width: 100%;
        background-color: #a89a8c;
        padding: 20px;
        box-shadow: 0 10px 15px rgba(0,0,0,0.1);
        text-align: center;
        gap: 20px;
    }
    
    nav.active {
        display: flex;
    }

    nav a { font-size: 1.2rem; }
    
    /* Hauptbereich Anpassungen */
    main { padding: 30px 20px; }
    
    h1 { font-size: 1.8rem; letter-spacing: 3px; }
    
    /* Index Seite */
    .big-logo-img { width: 220px; }
    .coming-soon-container h1 { font-size: 1.8rem; letter-spacing: 4px; }
    .coming-soon-subtitle { font-size: 0.9rem; }
    
    /* Kontakt Seite */
    .contact-grid { 
        grid-template-columns: 1fr; /* Formular unter die Kontakt-Infos schieben */
        gap: 30px;
    }
    
    /* Hintergrund-Deko */
    .bg-decoration {
        width: 400px;
        right: -20%;
        bottom: 0;
    }
    
    /* Footer Anpassungen */
    footer { 
        flex-direction: column; 
        align-items: center; 
        gap: 15px; 
        padding: 20px;
        text-align: center;
    }
    .footer-links { line-height: 2; }
}
