/*
Theme Name: Nothberger Fanfarentrompeter Theme
Author: Dein Name
Description: Hybrid-Theme mit Vorhang-Effekt, Vereinsfarben Rot/Gelb und Sidebar.
Version: 1.6
*/

:root {
    --primary-red: #B71C1C;
    --accent-yellow: #FFD600;
    --text-dark: #222222;
    --text-light: #ffffff;
    --bg-light: #f4f4f4;
    --font-heading: 'Oswald', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --header-height: 80px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { 
    margin: 0; padding: 0; 
    font-family: var(--font-body); 
    color: var(--text-dark); 
    background-color: var(--bg-light); 
}

/* HEADER & HERO */
#hero-header {
    position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
    background-color: var(--primary-red);
    display: flex; justify-content: center; align-items: center;
    z-index: 10; overflow: hidden;
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

#hero-header.shrink, #hero-header.static-page {
    height: var(--header-height);
    z-index: 2000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.hero-image {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover; background-position: center;
    filter: brightness(0.4); transition: opacity 0.5s;
}

#hero-header.shrink .hero-image, #hero-header.static-page .hero-image { opacity: 0.2; }

.hero-content {
    position: relative; z-index: 20; text-align: center;
    color: var(--accent-yellow); width: 85%; transition: all 0.5s;
}

.hero-content h1 {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 6vw, 4.5rem);
    text-transform: uppercase; margin: 0; line-height: 1.1;
    text-shadow: 2px 2px 15px rgba(0,0,0,0.7);
}

#hero-header.shrink .hero-content h1, #hero-header.static-page .hero-content h1 {
    font-size: clamp(1.1rem, 4vw, 1.6rem); text-shadow: none;
}

#hero-header.shrink .hero-content p, #hero-header.static-page .hero-content p { display: none; }

/* NAVIGATION */
.nav-container { position: absolute; top: 30px; right: 5%; z-index: 3000; }
#hero-header.shrink .nav-container, #hero-header.static-page .nav-container { top: 22px; }

.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 20px; }
.main-navigation a {
    color: var(--accent-yellow); text-decoration: none;
    font-family: var(--font-heading); font-weight: bold;
    text-transform: uppercase; font-size: 0.9rem;
}
.main-navigation a:hover { color: var(--text-light); }

/* CONTENT BEREICH */
.main-content {
    position: relative; background: white; z-index: 100;
    padding: 60px 10%; min-height: 100vh;
    box-shadow: 0 -10px 30px rgba(0,0,0,0.15);
}

.home .main-content { margin-top: 100vh; }
body:not(.home) .main-content { margin-top: var(--header-height); }

.content-wrapper { display: flex; flex-wrap: wrap; gap: 40px; }
.primary-content { flex: 1; min-width: 300px; }

.section-title {
    font-family: var(--font-heading); font-size: 2.2rem;
    color: var(--primary-red); text-transform: uppercase;
    border-left: 8px solid var(--accent-yellow); padding-left: 15px; margin-bottom: 40px;
}

/* SIDEBAR */
.club-sidebar { width: 300px; }
.sidebar-widget {
    background: #fff; padding: 25px; margin-bottom: 30px;
    border-radius: 12px; border: 1px solid #eee; box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.widget-title {
    font-family: var(--font-heading); color: var(--primary-red);
    text-transform: uppercase; border-bottom: 2px solid var(--accent-yellow);
    display: inline-block; margin-bottom: 15px;
}
.social-icons { display: flex; gap: 15px; font-size: 1.8rem; }
.social-icons a { color: var(--primary-red); transition: 0.3s; }
.social-icons a:hover { color: var(--accent-yellow); transform: scale(1.1); }
.booking-phone { display: block; color: var(--text-dark); text-decoration: none; font-weight: bold; margin-top: 10px; }

/* MOBILE */
@media (max-width: 1000px) {
    .club-sidebar { width: 100%; }
    .main-navigation {
        position: fixed; top: 0; right: -100%; width: 80%; height: 100vh;
        background: var(--primary-red); padding: 100px 30px; transition: 0.4s;
    }
    .main-navigation.toggled { right: 0; }
    .main-navigation ul { flex-direction: column; }
    .menu-toggle { display: block; background: none; border: none; cursor: pointer; }
    .menu-toggle span { display: block; width: 25px; height: 3px; background: var(--accent-yellow); margin: 5px 0; }
}