/* --- NEUSTART: CLEAN TECH-CORPORATE DESIGN --- */

:root {
    /* Dunkles Farbschema (Standard) */
    --bg-main: #0b1121; /* Sehr dunkles Blau/Grau */
    --bg-card: #111827; /* Etwas helleres Grau für Boxen */
    --bg-header: #111827;
    --text-main: #f3f4f6; /* Fast Weiß */
    --text-muted: #9ca3af; /* Grau für Nebentext */
    --primary: #3b82f6; /* Helles Blau für Akzente */
    --primary-hover: #60a5fa;
    --border: #1f2937; /* Dunkler Rand */
    --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
    
    /* Overlay-Werte für das Hintergrundbild */
    --bg-overlay: rgba(11, 17, 33, 0.9); /* Hohe Deckkraft */
    --bg-blur: 2px; /* Nur 10% Verschwommenheit */
}

/* Light Mode Anpassung (Sättigung der Farben umkehren) */
[data-theme="light"] {
    --bg-main: #f9fafb;
    --bg-card: #ffffff;
    --bg-header: #ffffff;
    --text-main: #111827;
    --text-muted: #6b7280;
    --border: #e5e7eb;
    --bg-overlay: rgba(249, 250, 251, 0.95);
    --shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* --- GRUNDLAGEN --- */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
body { background-color: var(--bg-main); color: var(--text-main); line-height: 1.6; position: relative; min-height: 100vh; }
a { text-decoration: none; color: inherit; transition: 0.2s; }

/* Das feste Hintergrundbild mit reduzierten Effekten */
body::before {
    content: '';
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-image: url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1920&q=80');
    background-size: cover; background-attachment: fixed; background-position: center;
    backdrop-filter: blur(var(--bg-blur)); /* 10% Blur */
    -webkit-backdrop-filter: blur(var(--bg-blur));
    z-index: -2;
}

/* Der dunkle/helle Schleier über dem Bild für Lesbarkeit */
body::after {
    content: '';
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: var(--bg-overlay);
    z-index: -1;
}

/* --- LAYOUT ELEMENTE --- */
main { max-width: 1200px; margin: 100px auto 60px; padding: 20px; min-height: 70vh; }
.card { background-color: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 40px; box-shadow: var(--shadow); }

/* --- HEADER & FOOTER (Solide Hintergründe) --- */
header { background-color: var(--bg-header); border-bottom: 1px solid var(--border); position: fixed; width: 100%; top: 0; z-index: 1000; box-shadow: var(--shadow); }
footer { background-color: var(--bg-card); border-top: 1px solid var(--border); padding: 60px 20px 30px; margin-top: auto; }

.nav-container { max-width: 1200px; margin: 0 auto; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 26px; font-weight: 800; color: var(--primary); letter-spacing: -1px; }
.nav-links { display: flex; gap: 25px; align-items: center; }
.nav-links a { font-weight: 600; font-size: 15px; color: var(--text-muted); }
.nav-links a:hover, .nav-links a.active { color: var(--primary); }

footer h4 { color: var(--primary); margin-bottom: 20px; font-weight: 700; }
footer ul { list-style: none; }
footer ul li { margin-bottom: 12px; }
footer ul li a { color: var(--text-muted); font-size: 15px; }
footer ul li a:hover { color: var(--text-main); }

/* --- BUTTONS & FORMS --- */
.btn { display: inline-block; padding: 10px 25px; border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; border: none; transition: 0.2s; }
.btn-primary { background-color: var(--primary); color: #ffffff !important; }
.btn-primary:hover { background-color: var(--primary-hover); transform: translateY(-1px); }
.btn-outline { background: none; border: 1px solid var(--border); color: var(--text-main); }
.btn-outline:hover { background-color: var(--bg-card); }

input, textarea, select { width: 100%; padding: 12px; background-color: var(--bg-main); border: 1px solid var(--border); border-radius: 8px; color: var(--text-main); margin-bottom: 15px; font-size: 15px; }
input:focus, textarea:focus { outline: none; border-color: var(--primary); }

/* --- KOMPONENTEN --- */
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: 40px; }
.service-card { background-color: var(--bg-card); border: 1px solid var(--border); border-radius: 12px; padding: 30px; transition: 0.2s; position: relative; overflow: hidden; }
.service-card:hover { border-color: var(--primary); transform: translateY(-3px); }
.service-card h3 { font-size: 22px; margin-bottom: 10px; }
.service-card p { color: var(--text-muted); font-size: 15px; }

/* Karriere / Jobs */
.job-item { background-color: var(--bg-card); border: 1px solid var(--border); padding: 25px; border-radius: 10px; margin-bottom: 15px; display: flex; justify-content: space-between; align-items: center; transition: 0.2s; text-decoration: none !important; color: inherit !important;}
.job-item:hover { border-color: var(--primary); background-color: var(--bg-main); }