:root {
    --dark: #1f1f1f;
    --gold: #c8a96a;
    --gold-hover: #b0945a;
    --light: #ffffff;
    --gray: #f4f4f4;
    --text: #333333;
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Roboto', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-body); color: var(--text); background: var(--light); line-height: 1.6; }
h1, h2, h3 { font-family: var(--font-heading); color: var(--dark); }
a { text-decoration: none; color: var(--gold); transition: 0.3s; }
a:hover { color: var(--gold-hover); }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Buttons */
.btn { display: inline-block; background: var(--gold); color: var(--light); padding: 12px 24px; text-transform: uppercase; font-weight: bold; border-radius: 4px; border: none; cursor: pointer; }
.btn:hover { background: var(--dark); color: var(--gold); }
.btn-outline { background: transparent; border: 2px solid var(--gold); color: var(--gold); }
.btn-outline:hover { background: var(--gold); color: var(--light); }

/* Header & Nav */
.main-header { background: var(--dark); padding: 20px 0; position: sticky; top: 0; z-index: 1000; }
.header-container { display: flex; justify-content: space-between; align-items: center; }
.logo { font-family: var(--font-heading); font-size: 24px; color: var(--gold); font-weight: bold; }
.logo:hover { color: var(--light); }
.main-nav ul { list-style: none; display: flex; gap: 20px; align-items: center; }
.main-nav a { color: var(--light); text-transform: uppercase; font-size: 14px; }
.main-nav a:hover { color: var(--gold); }
.main-nav .btn-nav { background: var(--gold); padding: 8px 16px; border-radius: 4px; color: var(--dark); font-weight: bold;}
.mobile-menu-toggle { display: none; background: none; border: none; color: var(--gold); font-size: 28px; cursor: pointer; }

/* Hero Section */
.hero { background: linear-gradient(rgba(31,31,31,0.7), rgba(31,31,31,0.7)), url('../images/hero-bg.jpg') center/cover; height: 80vh; display: flex; align-items: center; text-align: center; color: var(--light); }
.hero h1 { color: var(--gold); font-size: 48px; margin-bottom: 20px; }
.hero p { font-size: 20px; max-width: 800px; margin: 0 auto 30px; font-weight: 300; }
.hero-btns { display: flex; justify-content: center; gap: 15px; }

/* USPs Grid */
.usps { padding: 80px 0; background: var(--gray); }
.usp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; text-align: center; }
.usp-box { background: var(--light); padding: 40px 20px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-bottom: 3px solid var(--gold); }
.usp-box h3 { margin-bottom: 15px; }

/* Forms */
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 5px; font-weight: bold; }
.form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-family: inherit; }
.checkbox-group { display: flex; align-items: flex-start; gap: 10px; }
.checkbox-group input { width: auto; margin-top: 5px; }

/* Footer */
.main-footer { background: var(--dark); color: var(--light); padding: 60px 0 20px; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; margin-bottom: 40px; }
.footer-col h3 { color: var(--gold); margin-bottom: 20px; }
.footer-col ul { list-style: none; }
.footer-col a { color: #ccc; }
.footer-col a:hover { color: var(--gold); }
.sponsor-logos img { max-width: 150px; margin-right: 15px; background: #fff; padding: 10px; border-radius: 4px;}
.footer-bottom { text-align: center; border-top: 1px solid #333; padding-top: 20px; font-size: 14px; color: #777; }

/* Sticky Call */
.sticky-call-btn { display: none; position: fixed; bottom: 20px; right: 20px; background: var(--gold); color: var(--dark); padding: 15px 20px; border-radius: 50px; font-weight: bold; box-shadow: 0 4px 10px rgba(0,0,0,0.3); z-index: 9999; }

/* Responsive */
@media (max-width: 768px) {
    .main-nav { display: none; width: 100%; position: absolute; top: 100%; left: 0; background: var(--dark); padding: 20px; flex-direction: column; text-align: center; }
    .main-nav.active { display: flex; }
    .mobile-menu-toggle { display: block; }
    .hero h1 { font-size: 32px; }
    .sticky-call-btn { display: block; }
}
/* Video Hero Section */
.video-hero { 
    position: relative; 
    height: 100vh; /* Füllt den Bildschirm zu 100% in der Höhe aus */
    width: 100%; 
    display: flex; 
    align-items: center; 
    text-align: center; 
    color: var(--light); 
    overflow: hidden;
}

.hero-bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translateX(-50%) translateY(-50%);
    object-fit: cover; /* Verhindert Verzerrungen des Videos */
    z-index: -2;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(31, 31, 31, 0.5); /* 50% dunkler Filter über dem Video */
    z-index: -1;
}

.hero-content {
    position: relative;
    z-index: 1; /* Hält den Text und die Buttons im Vordergrund */
    width: 100%;
}

.hero-content h1 { 
    color: var(--gold); 
    font-size: 48px; 
    margin-bottom: 20px; 
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* Leichter Schatten für bessere Lesbarkeit */
}

.hero-content p { 
    font-size: 20px; 
    max-width: 800px; 
    margin: 0 auto 30px; 
    font-weight: 300; 
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

.hero-btns { 
    display: flex; 
    justify-content: center; 
    gap: 15px; 
}