﻿/* --- 1. GLOBAL RESETS & BODY --- */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

body {
    font: 1em Tahoma, Verdana, Sans-Serif, Arial;
    background-color: #212121;
    color: #efefef;
    background-image: url(../images/bandlogo.png);
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    background-size: min(100%, 1049px) auto; 
}

a { outline: 0; color: #ffffff; text-decoration: none; }
a:hover {
  text-decoration: underline; /* Adds the underline back on hover */
  opacity: 0.8; /* Makes it slightly transparent when hovered */
}


#wrapper { 
    width: 95%; 
    margin: 0 auto; 
    text-align: center; 
}

/* --- 2. LOGO & MENU (Base Styles) --- */
#title { 
    display: block; 
    background: url(../images/title.png) no-repeat center; 
    width: 100%;
    max-width: 567px;
    aspect-ratio: 567 / 99; 
    margin: 20px auto 0 auto; 
    background-size: contain;
}

#menu {
    list-style-type: none; 
    background: #000000; 
    margin: 10px auto 0px auto !important;     
    padding: 10px; 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    align-items: center; 
    border-radius: 4px; 
    width: 100%;
    max-width: 630px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.8);
}

#menu li { margin: 5px 35px; font-size: 18px; text-transform: uppercase; }
#menu li a { color: #888; transition: color 0.3s; }
#menu li a.current, #menu li a:hover { color: #fff; }

.main-band-pic {
    display: block !important;
    margin: 0 auto;
    margin-top: 10px;
    text-align: center;
    width: 85%;
    max-width: 630px;
    height: auto;
    border: 2px solid #444;
    border-radius: 8px;
}

/* --- 3. DESKTOP ONLY (801px and wider) --- */
@media screen and (min-width: 801px) {
    #wrapper { max-width: 1100px; }

    .about-grid {
        display: grid;
        grid-template-columns: 100px 205px 100px 205px; 
        justify-content: center;
        gap: 10px 5px;        
        width: 100%;
        margin: 10px auto;    
        text-align: left;
    }

    .songs-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr); 
        gap: 12px;
        max-width: 630px; 
        margin: 40px auto;
        text-align: left;
    }

    .song-group { max-height: 52px; }
    
    /* Doubled Desktop Song Font */
    .group-content li { font-size: 1.7em; padding: 8px 0; }
}

/* --- 4. SHARED COMPONENT STYLES (Animations/Images) --- */
.member-row { display: contents; }

.member-row img {
    width: 90px; height: 90px;
    border-radius: 50%; border: 2px solid #efefef;
    object-fit: cover; display: block; margin: 0 auto;
}

.member-bio {
    background-color: #000000; 
    padding: 5px 15px; 
    border-radius: 8px; 
    border-left: 3px solid #efefef;
    max-height: 50px; 
    overflow: hidden; 
    transition: all 0.4s ease; 
    cursor: pointer;
}

/* --- 4. SHARED COMPONENT STYLES (Form Styling) --- */

/* The Black Box Container */
#contact-form {
    width: 100%;
    max-width: 630px; 
    margin: 10px auto !important;
    background: rgba(0, 0, 0, 0.85); /* Deep black transparent */
    padding: 10px;
    border-radius: 12px;
    border: 1px solid #444;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* The Input Fields */
#contact-form input, #contact-form textarea {
    width: 100% !important;
    padding: 15px !important;
    font-size: 18px !important; 
    background: #000000 !important; 
    border: 2px solid #333 !important;
    color: #efefef !important;
    border-radius: 6px;
}

/* Glow effect when someone clicks/taps to type */
#contact-form input:focus, #contact-form textarea:focus {
    border-color: #efefef !important;
    outline: none;
}

/* --- 4. SHARED COMPONENT STYLES --- */
#name {
    height: 20px;
}

/* Specific height for the Email input */
#email {
    height: 20px !important;
}

/* Specific height for the Message box (Tallest) */
#message {
    height: 200px !important;
}
.contact-info-box {
    background: #000000 !important; /* Pure black background */
    border: 2px solid #444 !important; /* Subtle grey border */
    border-radius: 12px !important;
    padding: 25px !important;
    margin: 40px auto !important;
    
    display: block !important; /* Ensures it acts as a container */
    width: fit-content !important; /* Shrinks to fit the text */
    max-width: 90% !important;
    
    color: #efefef !important;
    text-align: center !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8); /* Gives it depth */
}

.contact-info-box p {
    margin: 10px 0 !important;
    font-size: 1.2em !important;
    line-height: 1.5 !important;
}

.contact-info-box a {
    color: #fff !important;
    text-decoration: underline !important;
}

/* Expansion Logic for Hover/Click */
.member-row:hover .member-bio, 
.member-row:active .member-bio,
.member-bio.is-expanded,
.song-group:hover,
.song-group:active { 
    max-height: 3000px !important; 
}

.song-group {
    background: rgba(0, 0, 0, 0.95);
    border: 1px solid #444;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.4s ease-in-out;
    cursor: pointer;
}

.group-header { font-weight: bold; color: #fff; text-align: center; background: #111; }
.group-content { padding: 15px; list-style: none; }
.group-content li { color: #ccc; border-bottom: 1px solid #222; }

.featured-video {
    padding-bottom: 40px; 
}

.featured-video h2 {
    color: #efefef;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.video-container {
    width: 100%;
    max-width: 630px;
    margin: 10px auto;
    overflow: hidden;
    border-radius: 12px;
    border: 2px solid #444;
    aspect-ratio: 630 / 355;
    position: relative;
}

.video-container iframe {
    position: absolute !important;
    top: -75px !important; /* This pulls the "Junk" header UP out of view */
    left: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
}

/* This forces the Instagram block to center and behave on mobile */
.instagram-media {
    margin: 20px auto !important;
    background: #000 !important; /* Forces the embed background to black */
    border: 1px solid #444 !important;
    border-radius: 12px !important;
}

/* This targets the text inside the Instagram block if it's visible */
.instagram-media a {
    color: #efefef !important;
}



/* --- 5. MOBILE "ULTRA" MODE (Triggered by Width OR Script) --- */
@media screen and (max-width: 800px), .is-mobile {
    #wrapper { max-width: 100% !important; padding: 0 10px; }

    /* Huge Menu Items */
    #menu { padding: 5px 5px !important; margin-bottom: 0px !important; }
    #menu li { font-size: 14px !important; margin: 10px 15px !important; }

    /* About Grid: Stacked & Massive */
   .about-grid {
        display: grid;
        grid-template-columns: 30% 60%; 
        justify-content: left;
        align-items: center;
        gap: 10px 5px;        
        width: 100%;
        margin: 10px auto;    
        text-align: left;
    }

    /* Songs: 50% Larger Letter Groups (120px tall) */
    .song-group { 
        width: 100% !important; 
        height: 120px !important; 
        max-height: 120px !important; 
        border-width: 3px !important; 
        margin-bottom: 15px !important; 
    }
    
    .group-header { 
        height: 120px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        font-size: 50px !important; 
        background: #000 !important;
        padding: 0 !important;
    }

    /* Doubled Mobile Song Fonts */
    .group-content li { padding: 25px 0 !important; font-size: 2.2em !important; border-bottom: 2px solid #333 !important; }

    /* Contact Form Ultra Scale */
    #contact-form input, #contact-form textarea {
        padding: 25px !important;
        font-size: 28px !important;
    }

    /* ADJUST THE CROP FOR PHONES */

    .main-band-pic { margin-top: 5px; width: 100%; }
    .video-container {
        height: 580px !important; 
        max-width: 100% !important;
        border-width: 1px !important;
        margin-top: 5px;
    }

    .video-container iframe {
        height: 246px
    }

    .featured-video {
        margin: 0px auto !important;
    }
}




}