/* Grundlegende Stildefinitionen */
:root {
    --haie-rot: #d60010; /* Kölner Haie Rot */
    --haie-schwarz: #1a1a1a; /* Dunkles Schwarz für Text/Hintergrund */
    --haie-weiss: #ffffff; /* Weiß */
    --text-grau: #f0f0f0; /* Leichtes Grau für Fließtext */
    --light-grey-bg: #f4f4f4; /* Hellgrau für abwechselnde Sektionen */
    --dark-grey-bg: #2b2b2b; /* Dunkles Grau für Kontrast */
    --border-radius: 8px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.6;
    color: var(--haie-schwarz);
    background: var(--haie-weiss);
    /* Setzt den Platz für den fixierten Header auf 50px. */
    scroll-padding-top: 50px; 
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    overflow: hidden;
    padding: 20px 0; /* Vertikaler Abstand innerhalb des Containers */
}

/* Header & Navigation */
header {
    background: var(--haie-schwarz);
    color: var(--haie-weiss);
    padding: 10px 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    transition: all 0.3s ease;
}

header.compact {
    /* Kompakte Ansicht beim Scrollen */
    padding: 5px 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

header .container {
    display: flex;
    flex-wrap: wrap; /* Erlaubt Umbruch auf kleinen Screens */
    justify-content: space-between;
    align-items: center;
    padding: 0 5%;
}

header h1 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.8em;
    margin: 0;
}

header p {
    font-size: 0.8em;
    margin: -10px 0 0;
    color: var(--text-grau);
}

.header-logo {
    height: 40px;
    width: auto;
    margin-right: 15px;
}

nav ul {
    list-style: none;
    display: flex;
    margin-top: 5px;
}

nav ul li a {
    color: var(--haie-weiss);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    padding: 5px 15px;
    display: block;
    transition: color 0.3s ease;
}

nav ul li a:hover {
    color: var(--haie-rot);
}

/* Allgemeine Sektionen */
section {
    padding: 50px 0;
    text-align: center;
    color: var(--haie-schwarz);
    background: var(--haie-weiss);
}

.dark-section {
    background: var(--dark-grey-bg);
    color: var(--text-grau);
}

section h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 2.2em;
    color: var(--haie-rot);
    margin-bottom: 40px;
    text-transform: uppercase;
}

/* Hero Section */
.hero-section {
    padding-top: 70px; /* Platz für den fixierten Header */
    background: var(--haie-schwarz);
}

.hero-banner {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: cover;
    border-radius: var(--border-radius);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

/* Game Highlight Card (Nächstes Spiel) */
#games {
    background: var(--dark-grey-bg);
    color: var(--text-grau);
}

.game-highlight-card {
    background: var(--haie-schwarz);
    border-radius: var(--border-radius);
    padding: 30px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);
    border: 2px solid var(--haie-rot);
    max-width: 600px;
    margin: 20px auto;
    font-family: 'Oswald', sans-serif;
}

.highlight-title {
    font-size: 2.5em;
    color: var(--haie-rot);
    margin-bottom: 10px;
}

.highlight-date {
    font-size: 1.2em;
    font-weight: 400;
    color: var(--text-grau);
    margin-bottom: 5px;
}

.highlight-opponent {
    font-size: 3em;
    font-weight: 700;
    color: var(--haie-weiss);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.highlight-details {
    font-size: 1.1em;
    color: var(--haie-rot);
    font-weight: 400;
}


/* Game List (Ausklappbarer Teil) */
/* DIESER ABSCHNITT WURDE FÜR DIE NEUE KARTENANSICHT VERMUTLICH NICHT MEHR BENÖTIGT UND WIRD ENTFERNT */
/*
#upcoming-games-list {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 30px; 
}

.game-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #222222;
    padding: 15px 20px;
    border-radius: 5px;
    border-left: 5px solid var(--haie-rot);
    transition: background 0.3s ease;
}

.game-item:hover {
    background: #333333;
}

.date-info {
    font-weight: 700;
    color: var(--haie-rot);
    flex: 0 0 150px; 
    text-align: left;
}

.opponent-info {
    font-weight: 700;
    color: var(--haie-weiss);
    text-align: left;
    flex-grow: 1;
}

.location-info {
    font-size: 0.9em;
    color: var(--text-grau);
    flex: 0 0 180px; 
    text-align: right;
}
*/

/* News Section */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 30px;
    text-align: left;
}

.news-item {
    background: var(--haie-schwarz);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    transition: transform 0.3s ease;
}

.news-item:hover {
    transform: translateY(-5px);
}

.news-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.news-item h3 {
    color: var(--haie-rot);
    padding: 15px 15px 5px;
    font-family: 'Oswald', sans-serif;
}

.news-item p {
    padding: 0 15px 15px;
    color: var(--text-grau);
}

.read-more {
    display: block;
    padding: 0 15px 15px;
    color: var(--haie-rot);
    text-decoration: none;
    font-weight: 700;
    transition: color 0.3s ease;
}

.read-more:hover {
    color: var(--haie-weiss);
}

/* Gallery Section */
.image-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.gallery-item {
    background: var(--haie-schwarz);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    padding-bottom: 10px;
}

.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

.gallery-item p {
    margin-top: 10px;
    color: var(--haie-rot);
    font-weight: 700;
}

/* Footer */
footer {
    background: var(--haie-schwarz);
    color: var(--text-grau);
    padding: 20px 0;
    text-align: center;
    border-top: 3px solid var(--haie-rot);
}

footer a {
    color: var(--haie-rot);
    text-decoration: none;
    transition: color 0.3s ease;
}

footer a:hover {
    color: var(--haie-weiss);
}

.social-links {
    margin-top: 10px;
}

.social-links img {
    width: 24px;
    height: 24px;
    margin: 0 5px;
    vertical-align: middle;
}

/* Allgemeine Utility-Klassen */
.haie-rot {
    color: var(--haie-rot);
}

.cta-button {
    background-color: var(--haie-rot);
    color: var(--haie-weiss);
    text-decoration: none;
    padding: 12px 25px;
    border-radius: 5px;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 20px;
}

.cta-button:hover {
    background-color: #a9000c;
    transform: scale(1.05);
}

/* Cookie Banner */
#cookieConsent {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.9);
    color: var(--haie-weiss);
    padding: 15px 0;
    z-index: 1000;
    text-align: center;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.5);
}

#cookieConsent .container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
}

#cookieConsent p {
    margin: 0 20px 0 0;
    font-size: 0.9em;
    color: var(--text-grau);
}

#cookieConsent .cta-button {
    margin-top: 0;
    padding: 8px 20px;
    font-size: 0.9em;
}

/* --- VERALTETE STILE FÜR AUSKLAPPBARE SPIELLISTE WURDEN HIER ENTFERNT --- */
/* (Da die Logik nun ist, dass immer alle Spiele angezeigt werden) */


/* Responsive Design */
@media (max-width: 900px) {
    header .container {
        flex-direction: column;
        text-align: center;
    }
    
    header h1 {
        margin-top: 10px;
        font-size: 1.5em;
    }

    header p {
        margin-bottom: 10px;
    }

    nav ul {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    nav ul li {
        margin: 5px 0;
    }
    
    .hero-section {
        padding-top: 110px; /* Mehr Platz für den Header im mobilen Layout */
    }

    .news-grid {
        grid-template-columns: 1fr;
    }
    
    .image-gallery {
        grid-template-columns: 1fr;
    }

    /* Die alten Game-Item Stile wurden entfernt, falls sie existierten. */
    
    #cookieConsent .container {
        flex-direction: column;
    }
    
    #cookieConsent p {
        margin: 0 0 10px 0;
    }
}
/* Sektion für Spiele */
#spiele {
    padding: 100px 0;
    background-color: #1a1a1a; 
    color: #ffffff;
    text-align: center;
}
#spiele h2 {
    color: #FF0000;
    margin-bottom: 50px;
    font-size: 2.5em;
}
#spiele h3 {
    color: #FF0000;
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 1.8em;
}

/* Highlight-Box (Nächstes Spiel) */
#game-highlight {
    background-color: #2b2b2b;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
    margin: 0 auto 30px auto;
    max-width: 600px;
}
.highlight-info h3 {
    margin-top: 0;
    font-size: 1.5em;
}
.match-details {
    display: flex;
    justify-content: space-around;
    margin: 20px 0;
    flex-wrap: wrap;
}
.detail-item {
    padding: 10px;
    flex-basis: 30%;
    min-width: 150px;
}
.detail-item .icon {
    font-size: 1.5em;
    display: block;
    margin-bottom: 5px;
    color: #FF0000;
}
.detail-item p {
    margin: 0;
    font-weight: 700;
}

/* Weitere Spiele Liste (Diese Sektion wurde vereinfacht, da die Ausblenden-Funktion entfällt) */
#game-list-container {
    margin: 30px auto 0 auto;
    max-width: 600px;
    height: auto; 
    overflow: visible; 
    opacity: 1;
}

#games-list {
    list-style: none;
    padding: 0;
}
#games-list li {
    background-color: #3a3a3a;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    display: flex;
    justify-content: space-between;
    font-size: 1.1em;
}
.game-date {
    font-weight: bold;
    color: #FF0000;
}
.game-location {
    font-style: italic;
    color: #ccc;
}
/* #toggle-games-btn wurde entfernt */

/* =================================== */
/* 3. NÄCHSTE SPIELE SEKTION */
/* =================================== */

#next-games {
    background-color: #1a1a1a; /* Dunkler Hintergrund */
    padding: 80px 0;
    text-align: center;
}

/* Container für die Spielkarten (Grid-Layout) */
.game-list-grid {
    display: grid;
    /* Sorgt für 3 Spalten auf Desktop, passt sich flexibel an */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 30px; 
    margin-top: 40px;
    margin-bottom: 30px;
    
    /* Animation zum Aus-/Einblenden wurde entfernt */
    max-height: initial; /* Zeigt den Inhalt immer an */
}


/* Stil für die einzelne Spielkarte */
.game-card {
    background-color: #2b2b2b; 
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #3a3a3a;
    transition: transform 0.3s, box-shadow 0.3s;
    text-align: left; 
}

.game-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(255, 0, 0, 0.2); /* Roter Schatten bei Hover */
}

/* Inhalt der Karte */
.game-card-content {
    padding: 20px;
}

/* Spielüberschrift (z.B. "Colonia vs Gegner") */
.game-card-content h3 {
    font-family: 'Oswald', sans-serif;
    color: #FF0000; 
    font-size: 1.8em;
    margin-top: 0;
    margin-bottom: 15px;
    border-bottom: 2px solid #3a3a3a;
    padding-bottom: 10px;
}

/* Spieldaten (Datum, Uhrzeit, Ort) */
.game-card-content p {
    margin: 5px 0;
    font-size: 1.1em;
    color: #cccccc;
}

/* Highlight für Datum */
.game-card-content p strong {
    color: #fff;
    font-weight: 700;
}

/* =================================== */
/* AKTIONEN FÜR SPIELKARTEN (BUTTON-BEREICH) */
/* =================================== */

/* Der Button-Container am unteren Rand der Karte */
.game-card-action {
    /* Hintergrund auf transparent, damit der rote Button das einzige Highlight ist. */
    background-color: transparent; 
    padding: 0; /* Entfernt den inneren Abstand */
    text-align: center;
    /* Rote, dicke Linie als optische Abtrennung zum Inhalt */
    border-top: 3px solid #FF0000; 
    margin-top: 15px; /* Abstand zur Spielinfo */
    /* Achtung: Stellen Sie sicher, dass die Karte selbst (z.B. .game-card) einen border-radius hat! */
}

/* Der Button selbst: Das rote Banner / Die Plakette */
.game-card-action .cta-button {
    /* Basis-Stil */
    display: block; 
    width: 100%; /* WICHTIG: Füllt die gesamte Breite des Containers */
    margin: 0; /* Stellt sicher, dass er links und rechts bündig ist */
    padding: 18px 25px; /* Sehr große Füllung */
    
    /* Text-Stil */
    font-family: 'Oswald', sans-serif; /* Markantere Schrift für mehr Wucht */
    font-size: 1.5em; /* SEHR großer Text */
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    /* Nur unten abgerundet, oben bündig mit der roten Trennlinie */
    border-radius: 0 0 8px 8px; 
    
    /* Coole 3D-Akzente */
    background-color: #FF0000; /* Leuchtendes Rot */
    color: #fff;
    border: none; /* Keine extra Ränder */
    box-shadow: 0 6px 0 0 #a00; /* Tiefer 3D-Schatten */
    
    /* Übergänge für flüssige Animationen */
    transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

/* Hover-Effekt: Der Button hebt sich stärker an */
.game-card-action .cta-button:hover {
    background-color: #E60000; 
    transform: translateY(-4px); /* Hebt den Button SEHR STARK an */
    box-shadow: 0 10px 0 0 #a00; /* Extrem starker Schatten */
}

/* Klick-Effekt: Der Button wird "gedrückt" */
.game-card-action .cta-button:active {
    transform: translateY(2px);
    box-shadow: 0 0 0 0 #a00; /* Schatten verschwindet beim Klicken */
}

/* Responsive Design */
@media (max-width: 900px) {
    /* ... (Responsive Stile von oben) ... */
    
    .game-card-action .cta-button {
        font-size: 1.2em; /* Etwas kleiner auf Mobilgeräten */
        padding: 15px 10px;
    }
}
/* ================================================= */
/* WARENKORB-BENACHRICHTIGUNG (Toast) */
/* ================================================= */

#toast-notification {
    /* Ausgangszustand: unsichtbar */
    visibility: hidden; 
    min-width: 250px;
    
    /* GRÜNES DESIGN für erfolgreiches Hinzufügen */
    background-color: #28a745; /* Dunkelgrün */
    color: #fff;
    
    text-align: center;
    border-radius: 8px;
    padding: 16px;
    
    /* Positionierung */
    position: fixed;
    z-index: 1000;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    
    /* Schatten für bessere Sichtbarkeit */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    
    /* Transparenz für Animation */
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;
}

#toast-notification.show {
    visibility: visible;
    opacity: 1;
}
/* Standard-Stil für alle Texte in der Hauptklasse (z.B. linksbündig) */
.haupttext p {
    text-align: left;
}

