/*
Theme Name: Venomous Odyssee
Author: Everybody's Darling
Description: Modern Metal Single-Page Theme - Custom built.
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;700;900&display=swap');

:root {
    --brand-pink: #f5c864; /* Ein viel satteres, warmes Gold */
    --bg-dark: #0a0a0a;
    --text-light: #ffffff;
}

/* Basis-Reset & fließendes Scrollen */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    
    /* HIER GEHÖREN DIE SCHLÖSSER HIN: */
    overflow-x: hidden; /* Sperrt den 200% Nebel aus, Seite bleibt exakt einen Monitor breit */
    overflow-y: auto;   /* Erlaubt das vertikale Scrollen für das Snapping (fixt die doppelte Leiste!) */
    
    font-family: 'Montserrat', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-light);
}

body {
    /* WICHTIG: Das hier bleibt jetzt komplett leer! Kein overflow-Befehl mehr hier drin. */
    margin: 0;
    padding: 0;
}

/* Feste Navigation oben */
/* Header Layout-Update (Schlanker und eleganter) */
header {
    position: fixed;
    top: 10;
    width: 100%;
    padding: 10px 0; /* Sehr schmales Padding */
    background: rgba(10, 10, 10, 0.9);
    backdrop-filter: blur(10px);
    z-index: 1000;
    border-bottom: 1px solid var(--brand-pink); /* Dezentere Linie */
}

header .header-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: row; /* Zwingt Logo und Menü in eine Zeile */
    justify-content: space-between; /* Logo links, Menü rechts */
    align-items: center;
}

/* Logo zähmen */
header .band-logo {
    max-height: 50px; /* HIER ist der Zaubertrick: Wir begrenzen die HÖHE, nicht die Breite! */
    width: auto;
    display: block;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3)); /* Leichter Glow */
}

/* Navigation anpassen */
header nav {
    display: flex;
    gap: 15px; /* Abstand zwischen den Links */
}

header a {
    color: var(--text-light);
    text-decoration: none;
    font-size: 0.9rem; /* Schriftgröße etwas anpassen */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: color 0.3s;
}
header a:hover {
    color: var(--brand-pink);
    text-shadow: 0 0 10px var(--brand-pink);
}

/* Die 5 Odyssee-Sektionen */
section {
    min-height: 100vh; /* WICHTIG: Erlaubt der Sektion zu wachsen, wenn der Inhalt zu groß ist! */
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 80px 20px 40px; /* Oben etwas Platz für den Header lassen */
    position: relative;
}

/* Sektions-Titel (Wuchtig, aggressiv & lesbar!) */
section h2 {
    /* HIER KANNST DU TESTEN: 
       Tausche 'MedievalSharp' gegen 'Metal Mania' oder 'New Rocker' aus */
    font-family: 'Cinzel', sans-serif;
    font-size: 4rem; 
    font-weight: normal; /* Metal-Fonts brauchen oft kein "bold" */
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 3px;
    
    /* Der hohle Outline-Effekt für den düsteren Look */
    -webkit-text-stroke: 1px var(--text-light);
    color: transparent;
    transition: color 0.3s ease, -webkit-text-stroke 0.3s ease;
}

section h2:hover {
    -webkit-text-stroke: 1px transparent;
    color: var(--brand-pink);
    text-shadow: 0 0 20px var(--brand-pink);
}

section p {
    font-size: 1.2rem;
    max-width: 600px;
    line-height: 1.6;
    font-weight: 300;
}

/* Magie: Der mysteriöse Cinematic Fade-In */
.fade-in {
    opacity: 0;
    filter: blur(15px); /* Startet komplett unscharf (wie im Nebel) */
    transform: translateY(40px); /* Schwebt leicht von unten ein */
    
    /* 2.5 Sekunden Dauer, und ein 'cubic-bezier' für einen extrem weichen, auslaufenden Effekt */
    transition: opacity 1.5s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 1.5s cubic-bezier(0.25, 1, 0.5, 1),
                filter 2s ease-out;
}

.fade-in.visible {
    opacity: 1;
    filter: blur(0); /* Wird gestochen scharf */
    transform: translateY(0);
}
/* Magie: Cinematic Fade-In für die Startseite (ohne Scrollen!) */
@keyframes fadeInLoad {
    from { opacity: 0; filter: blur(15px); transform: translateY(40px); }
    to   { opacity: 1; filter: blur(0); transform: translateY(0); }
}

.fade-in-load {
    opacity: 0; /* Startet unsichtbar */
    animation: fadeInLoad 2.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Wir verzögern die Elemente leicht, damit sie nacheinander auftauchen (richtig geiler Effekt!) */
#awakening h2.fade-in-load { animation-delay: 0.2s; }
#awakening p.fade-in-load { animation-delay: 0.6s; }
#awakening .video-wrapper.fade-in-load { animation-delay: 1.0s; }


/* =========================================
   CINEMATIC SEKTIONS-HINTERGRÜNDE
   ========================================= */

/* Basis-Styling für alle Hintergründe */
.section-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%; /* Etwas höher für den Parallax-Effekt */
    z-index: -1; /* Liegt hinter dem Text */
    background-size: cover; /* Füllt die Box aus */
    background-position: center; /* Zentriert */
    background-repeat: no-repeat; /* Verhindert Kacheln */
    opacity: 0.25; /* Symbol sehr dezent im Hintergrund */
    filter: blur(3px) brightness(0.6); /* Leicht unscharf und dunkel */
    transition: all 1s ease; /* Weicher Übergang beim Scrollen */
	
	overflow: hidden;
}

/* 1. Awakening: Sonnengesicht (image_6.png) */
#awakening .section-background {
    /* radialer Verlauf über das Bild gelegt */
    background-image: radial-gradient(circle, rgba(10, 10, 10, 0.4) 0%, rgba(10, 10, 10, 1) 100%), 
                      url('https://via.placeholder.com/1920x1080/111/333?text=Sonnengesicht+Hintergrund'); 
    background-color: #1a000e; /* Dezent dunkler Schimmer */
    /* Später tauschst du die via.placeholder URL gegen deinen echten Pfad zu image_6.png aus! */
}

/* 2. Descent: Spirale (image_4.png) */
#descent .section-background {
    background-image: radial-gradient(circle, rgba(10, 10, 10, 0.2) 0%, rgba(10, 10, 10, 1) 100%), 
                      url('https://via.placeholder.com/1920x1080/111/333?text=Spirale+Hintergrund'); 
    background-color: #050505;
    /* Hier tauschst du die via.placeholder URL gegen image_4.png aus! */
    /* WICHTIG: Das S/W Foto der Sängerin in image_1.png bleibt im Vordergrund! */
}

/* 3. Confrontation: Auge der Vorsehung (image_5.png) */
#confrontation .section-background {
    background-image: radial-gradient(circle, rgba(10, 10, 10, 0.2) 0%, rgba(10, 10, 10, 1) 100%), 
                      url('https://via.placeholder.com/1920x1080/111/333?text=Auge+Hintergrund'); 
    background-color: var(--bg-dark);
    /* Hier tauschst du die via.placeholder URL gegen image_5.png aus! */
}

/* 4. Catharsis: Lotusblume (image_3.png) */
#catharsis .section-background {
    background-image: radial-gradient(circle, rgba(10, 10, 10, 0.2) 0%, rgba(10, 10, 10, 1) 100%), 
                      url('https://via.placeholder.com/1920x1080/111/333?text=Lotus+Hintergrund'); 
    background-color: radial-gradient(circle, #111 0%, var(--bg-dark) 100%);
    /* Hier tauschst du die via.placeholder URL gegen image_3.png aus! */
}

/* 5. Ascent: Flügelpaar (image_7.png) */
#ascent .section-background {
    background-image: radial-gradient(circle, rgba(10, 10, 10, 0.2) 0%, rgba(10, 10, 10, 1) 100%), 
                      url('https://via.placeholder.com/1920x1080/111/333?text=Flügel+Hintergrund'); 
    background-color: var(--bg-dark);
    /* Hier tauschst du die via.placeholder URL gegen image_7.png aus! */
}
/* =========================================
   TOURDATEN (CONFRONTATION)
   ========================================= */
.tour-dates {
    width: 100%;
    max-width: 800px;
    margin: 40px auto 0;
    text-align: left;
}

.tour-date {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #333; /* Dunkle Trennlinie */
    padding: 25px 0;
    transition: all 0.4s ease;
}

/* Hover-Effekt: Die Linie leuchtet auf, wenn man drübergeht */
.tour-date:hover {
    border-bottom-color: var(--brand-pink);
    transform: translateX(10px); /* Schiebt den ganzen Gig leicht nach rechts */
}

.date-box {
    text-align: center;
    color: var(--brand-pink);
    min-width: 100px;
}

.date-box .day {
    display: block;
    font-family: 'Metal Mania', cursive;
    font-size: 3.5rem;
    line-height: 0.9;
    text-shadow: 0 0 10px rgba(230, 0, 126, 0.4);
}

.date-box .month-year {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--text-light);
}

.gig-info {
    flex-grow: 1;
    padding: 0 30px;
}

.gig-info h3 {
    margin: 0 0 5px 0;
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: 900;
}

.gig-info p {
    margin: 0;
    color: #888;
    font-size: 1rem;
}

.ticket-btn {
    padding: 12px 25px;
    border: 2px solid var(--brand-pink);
    color: var(--text-light);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    /* Optional: Leichter Glitch/Glow Effekt */
    box-shadow: inset 0 0 0 rgba(230, 0, 126, 0);
}

.ticket-btn:hover {
    background: var(--brand-pink);
    box-shadow: 0 0 20px var(--brand-pink);
    color: #fff;
}

/* =========================================
   MUSIK PLAYER (CATHARSIS)
   ========================================= */
.player-wrapper {
    width: 100%;
    max-width: 650px;
    margin: 40px auto 0;
    /* Wir geben dem Spotify-Player einen brutalen, wabernden Pink-Glow */
    box-shadow: 0 10px 20px #f5c864;
    border-radius: 12px;
    transition: box-shadow 1.5s ease, transform 0.5s ease;
}

.player-wrapper:hover {
    box-shadow: 0 15px 60px #f5c864;
    transform: translateY(-5px); /* Hebt den Player leicht an */
}
/* =========================================
   DIE BAND (DESCENT) - PASSBILD-UPDATE
   ========================================= */
.band-roster {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; 
    gap: 20px; /* Etwas enger zusammen, damit alle 7 gut wirken */
    width: 100%;
    max-width: 1000px;
    margin-top: 20px;
}

.band-member {
    width: 220px !important; 
    max-width: 220px !important;
    flex: 0 0 220px !important; 
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 2px solid transparent;
    transition: all 0.4s ease;
    cursor: pointer;
    margin: 0 auto; /* Zentriert die Karte zur Sicherheit */
}

.band-member img {
    width: 220px !important; /* Erzwingt die Breite */
    height: 293px !important; /* Erzwingt eine Höhe (bei 3:4) */
    object-fit: cover !important; 
    display: block;
    
    filter: grayscale(100%) contrast(1.2) brightness(0.8); 
    transition: filter 0.5s ease, transform 0.5s ease;
}
/* Die Namenseinblendung unten im Bild */
.member-info {
    position: absolute;
    bottom: -50px; /* Versteckt unter dem Rand */
    left: 0;
    width: 100%;
    background: rgba(10, 10, 10, 0.9);
    padding: 15px 0;
    border-top: 2px solid var(--brand-pink);
    transition: bottom 0.4s ease;
}

.member-info h3 {
    margin: 0;
    font-size: 1.2rem;
    text-transform: uppercase;
    color: var(--text-light);
}

.member-info span {
    color: var(--brand-pink);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* HIER PASSIERT DIE MAGIE BEIM HOVER */
.band-member:hover {
    border-color: var(--brand-pink);
    box-shadow: 0 10px 30px rgba(230, 0, 126, 0.3);
    transform: translateY(-10px); /* Karte hebt sich an */
}

.band-member:hover img {
    filter: grayscale(0%) contrast(1) brightness(1); /* Bild wird farbig */
    transform: scale(1.05); /* Leichter Zoom ins Bild */
}

.band-member:hover .member-info {
    bottom: 0; /* Name fährt von unten ins Bild */
}

/* Responsive: Auf kleinen Bildschirmen anpassen */
@media (max-width: 900px) {
    .band-member {
        width: calc(33.333% - 30px); /* 3 nebeneinander */
    }
}
@media (max-width: 600px) {
    .band-member {
        width: calc(50% - 30px); /* 2 nebeneinander auf Handys */
    }
}

/* =========================================
   AWAKENING (VIDEO) & ASCENT (SHOP)
   ========================================= */
/* Der Video-Container (Jetzt mit modernem Kino-Format) */
.video-wrapper {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 30px auto 0;
    
    /* DER NEUE WEG: Echtes 16:9 erzwingen, ohne Padding-Tricks */
    aspect-ratio: 16 / 9; 
    
    box-shadow: 0 10px 40px rgba(230, 0, 126, 0.2);
    border: 2px solid var(--brand-pink);
    border-radius: 10px;
    overflow: hidden;
}

/* Das iframe füllt den 16:9 Kasten exakt aus */
.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none; /* Verhindert fiese graue Ränder */
}

.shop-btn {
    display: inline-block;
    font-size: 1.2rem;
    padding: 15px 50px;
    margin: 30px 0;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 20px;
}

.social-links a {
    color: var(--text-light);
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;
}

.social-links a:hover {
    color: var(--brand-pink);
    border-bottom: 2px solid var(--brand-pink);
    text-shadow: 0 0 15px var(--brand-pink);
    transform: translateY(-3px);
}

/* =========================================
   WABERNDE NEBELSCHWADEN (ANIMATION)
   ========================================= */

/* Der Nebel-Container */
.fog-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 200%; /* Doppelt so breit, damit wir es scrollen können */
    height: 100%;
   
    /* Eine transparente, nahtlose Nebel-Textur */
    background: url('https://raw.githubusercontent.com/danielstuart14/CSS_FOG_ANIMATION/master/fog1.png') repeat-x;
    background-size: cover;
    
    /* Wir färben den weißen Nebel leicht golden ein */
    filter: sepia(1) hue-rotate(5deg) saturate(3) opacity(0.45); 
    
    /* Die Endlos-Animation: 60 Sekunden für eine sehr langsame, drückende Bewegung */
    animation: wabern 60s linear infinite;
    
    z-index: 1; /* Liegt über dem Bild, aber unter dem Text */
    pointer-events: none; /* Verhindert, dass der Nebel Klicks auf Buttons blockiert */
}

/* Die Bewegung (schiebt den Nebel langsam nach links) */
@keyframes wabern {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* =========================================
   MOBILE MENÜ (HAMBURGER)
   ========================================= */

/* Button-Styling (Standardmäßig versteckt) */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1001; /* Liegt ÜBER dem Menü */
}

/* Die drei Striche des Burgers */
.menu-toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--brand-pink);
    border-radius: 3px;
    transition: all 0.3s ease-in-out;
}

/* Handy-Ansicht ab 900px Breite */
@media (max-width: 900px) {
    .menu-toggle {
        display: flex; /* Button auf dem Handy anzeigen */
    }

    header nav {
        position: fixed;
        top: 0;
        right: -100%; /* Versteckt das Menü rechts außerhalb des Bildschirms */
        width: 250px;
        height: 100vh;
        background: rgba(10, 10, 10, 0.95); /* Fast schwarzer, milchiger Hintergrund */
        backdrop-filter: blur(15px);
        flex-direction: column; /* Links untereinander stapeln */
        justify-content: center;
        align-items: center;
        gap: 40px;
        transition: right 0.4s ease-in-out; /* Butterweiches Reinfahren */
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.5);
        border-left: 2px solid var(--brand-pink);
    }

    /* Diese Klasse wird per Javascript hinzugefügt, wenn man klickt */
    header nav.active {
        right: 0; /* Menü fährt rein */
    }

    header a {
        font-size: 1.5rem; /* Schrift auf dem Handy schön groß machen */
    }

    /* Coole Animation: Macht aus den 3 Strichen ein "X", wenn das Menü offen ist */
    .menu-toggle.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    .menu-toggle.active span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
}