/* GLOBAL RESET */
:root {
    --bg-dark: #121212;
    --bg-panel: #1e1e1e;
    --sidebar-bg: #181818;
    --text-main: #e0e0e0;
    --accent-gold: #c5a059;
    --accent-gold-hover: #e5c079;
    --border-color: #333;
    --success-green: #51cf66;
    --error-red: #ff6b6b;
    --discord-blurple: #5865F2;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Segoe UI', sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-main);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* --- ROW 1: HEADER VIDEO BANNER --- */
.site-header {
    width: 100%;
    /* Fixed height for the banner area */
    height: 300px;
    overflow: hidden;
    border-bottom: 2px solid var(--border-color);
    position: relative;
    flex-shrink: 0;
    background-color: #000;
}

.site-header video {
    width: 100%;
    height: 100%;
    /* CONTAIN: This forces the WHOLE video to show, never cropping */
    object-fit: contain;
    object-position: center;
    display: block;
}

/* --- ROW 2: SPLIT LAYOUT --- */
.content-wrapper {
    display: flex;
    flex: 1;
    width: 100%;
}

/* SIDEBAR */
.sidebar {
    width: 260px;
    min-width: 260px;
    background-color: var(--sidebar-bg);
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    padding: 20px;
}

/* MAIN CONTENT */
.main-content {
    flex-grow: 1;
    padding: 40px;
    background-color: var(--bg-dark);
}

/* --- STYLING --- */
.logo-container { text-align: center; margin-bottom: 20px; }
.server-logo { max-width: 100%; height: auto; border-radius: 8px; border: 1px solid #333; }

h1 { color: var(--accent-gold); border-bottom: 2px solid var(--border-color); padding-bottom: 15px; margin-bottom: 20px; }
h2 { color: var(--text-main); margin-top: 30px; margin-bottom: 15px; }
h3 { color: var(--accent-gold); font-size: 1.1em; margin-top: 20px; margin-bottom: 10px; border-bottom: 1px solid #333; padding-bottom: 5px; }
p { line-height: 1.6; color: #ccc; margin-bottom: 20px; }
a { color: var(--accent-gold); text-decoration: none; }
hr { border: 0; border-top: 1px solid var(--border-color); margin: 30px 0; }

.nav-link { display: block; padding: 10px 15px; color: var(--text-main); text-decoration: none; border-radius: 5px; margin-bottom: 5px; }
.nav-link:hover, .nav-link.active { background-color: rgba(197, 160, 89, 0.1); color: var(--accent-gold); border-left: 3px solid var(--accent-gold); }

form { background: var(--bg-panel); padding: 30px; border: 1px solid var(--border-color); max-width: 500px; border-radius: 8px; }
input { width: 100%; padding: 12px; background: #000; color: #fff; border: 1px solid #444; margin-bottom: 10px; border-radius: 4px; }
button { width: 100%; padding: 12px; background: var(--accent-gold); color: #000; font-weight: bold; border: none; cursor: pointer; border-radius: 4px; text-transform: uppercase; }
button:hover { background: var(--accent-gold-hover); }

.btn-discord-join { display: inline-block; padding: 15px 30px; background: var(--discord-blurple); color: white; text-decoration: none; font-weight: bold; border-radius: 4px; }
.validation-popup { display: none; color: var(--error-red); font-size: 0.8em; margin-top: -10px; margin-bottom: 10px; }
.validation-popup.show { display: block; }
.success { color: var(--success-green); } 
.error { color: var(--error-red); }
