:root {
    --primary: #0056b3;
    --text: #333;
    --light-bg: #f4f4f4;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: sans-serif; }
html { scroll-behavior: smooth; }

.navbar {
    display: flex; justify-content: space-between; align-items: center;
    background: #fff; padding: 1rem 2rem;
    position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.logo { font-size: 1.5rem; font-weight: bold; color: var(--primary); }
.nav-links { list-style: none; display: flex; gap: 1.5rem; }
.nav-links a { text-decoration: none; color: var(--text); font-weight: bold; }

/* Hero Section */
.hero {
    height: 80vh;
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('images/hero-bg.jpg') center/cover;
    display: flex; align-items: center; justify-content: center;
    text-align: center; color: #fff;
}
.hero h1 { font-size: 3rem; margin-bottom: 1rem; }
.hero p { font-size: 1.2rem; margin-bottom: 2rem; }
.btn { background: var(--primary); color: #fff; padding: 0.8rem 2rem; text-decoration: none; border-radius: 4px; }

.section { padding: 4rem 2rem; text-align: center; }
.bg-light { background: var(--light-bg); }
.section h2 { margin-bottom: 1rem; color: var(--primary); }

/* Norms Info Box */
.coop-text { font-size: 1.2rem; font-weight: bold; margin-bottom: 1rem; color: var(--text); }
.norms-info {
    max-width: 800px; margin: 0 auto 3rem auto; background: #e6f2ff;
    padding: 1.5rem; border-left: 5px solid var(--primary); border-radius: 4px; text-align: left;
}
.norms-info h3 { margin-bottom: 0.5rem; color: var(--primary); }
.norms-info p { line-height: 1.6; color: var(--text); }

/* Slider Styles */
.slider-container {
    position: relative; max-width: 800px; margin: 0 auto; background: #fff;
    border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); overflow: hidden;
}
.slides { width: 100%; position: relative; }
.slide { display: none; text-align: center; animation: fade 0.5s ease-in-out; }
.slide.active { display: block; }

.slide img { width: 100%; height: 350px; object-fit: cover; }
.slide-content { padding: 1.5rem 3rem 2rem 3rem; }
.slide-content h3 { margin-bottom: 0.5rem; color: var(--primary); }
.slide-content p { color: #555; line-height: 1.5; }

/* Slider Buttons */
.slider-btn {
    position: absolute; top: 175px; /* Mittig über dem Bild (350px/2) */
    transform: translateY(-50%); background: var(--primary); color: white;
    border: none; width: 45px; height: 45px; cursor: pointer; font-size: 1.2rem;
    border-radius: 50%; z-index: 10; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3); transition: background 0.3s;
}
.slider-btn.prev { left: 15px; }
.slider-btn.next { right: 15px; }
.slider-btn:hover { background: #003d82; }

@keyframes fade { from { opacity: 0.4; } to { opacity: 1; } }

/* Partner & Footer */
.partner-container { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.partner-card {
    background: #fff; padding: 2rem; border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); max-width: 350px;
    text-decoration: none; color: var(--text); transition: transform 0.3s;
}
.partner-card:hover { transform: translateY(-5px); }

footer { background: #222; color: #fff; padding: 2rem; text-align: center; }
footer a { color: #4da6ff; text-decoration: none; }
.footer-bottom { margin-top: 1rem; border-top: 1px solid #444; padding-top: 1rem; font-size: 0.9rem; }

/* --- Responsive Design (Mobile) --- */
@media (max-width: 768px) {
    .navbar { flex-direction: column; padding: 1rem; }
    .nav-links { margin-top: 1rem; gap: 1rem; flex-wrap: wrap; justify-content: center; }
    .hero h1 { font-size: 2rem; }
    .hero p { font-size: 1rem; padding: 0 1rem; }
    .section { padding: 3rem 1rem; }
    .norms-info { padding: 1rem; font-size: 0.9rem; }
    
    .slide img { height: 250px; }
    .slider-btn { top: 125px; width: 35px; height: 35px; font-size: 1rem; }
    .slide-content { padding: 1.5rem 1rem; }
    .partner-card { width: 100%; }
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}