/* css/styles.css – 100 % funktionierend mit deinem hintergrundbild.jpg */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Roboto',sans-serif; background:#000; color:white; position:relative; min-height:100vh; }

/* Dein lokales transparentes Bild */
#hintergrundbild {
    position:fixed;
    top:0; left:0; width:100%; height:100%;
    background: url('../hintergrundbild.jpg') center/contain no-repeat;
    opacity:0.9;
    z-index:1;
    pointer-events:none;
}

/* Dunkler Overlay für Lesbarkeit */
body::before {
    content:"";
    position:fixed;
    top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.88);
    z-index:1;
}

header, main, footer { position:relative; z-index:2; }

/* Dein bestehendes Design – nur Lesbarkeit verbessert */
header {
    background:rgba(0,0,0,0.95);
    padding:20px 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:fixed;
    width:100%;
    top:0;
    border-bottom:4px solid #ff6200;
    z-index:10;
}
.logo a { color:white; font-size:28px; font-weight:700; text-decoration:none; }
nav ul { display:flex; gap:30px; list-style:none; }
nav a { color:white; text-decoration:none; font-weight:bold; }
nav a:hover { color:#ff6200; }
.menu-toggle { display:none; background:none; border:none; cursor:pointer; }
.icon-bar { display:block; width:30px; height:4px; background:white; margin:6px 0; }

#hero {
    height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}
#hero h1 {
    font-size:clamp(50px,10vw,120px);
    font-weight:900;
    color:white;
    background:#000;
    padding:20px 60px;
    border:8px solid #ff6200;
    margin-bottom:20px;
}
#hero p { font-size:28px; margin:20px 0; }
.primary-cta {
    background:#ff6200;
    color:black;
    padding:20px 60px;
    font-size:28px;
    font-weight:900;
    text-decoration:none;
    border-radius:60px;
}

.abschnitt-mit-hintergrund { padding:80px 20px; }
.karten-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px; max-width:1200px; margin:0 auto; }
.leistungskarte {
    background:rgba(255,255,255,0.1);
    padding:30px;
    border-radius:15px;
    backdrop-filter:blur(10px);
}

footer { background:#000; padding:40px; text-align:center; border-top:4px solid #ff6200; }
footer a { color:#ff6200; margin:0 15px; text-decoration:none; font-weight:bold; }

/* Mobile */
@media (max-width:768px) {
    nav ul { display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:#000; padding:20px; }
    nav ul.show { display:flex; }
    .menu-toggle { display:block; }