/* --- Base Variables --- */
:root {
    /*--brand-color: #333; /* Change this to your main color */
    --sidebar-width: 280px;
}

/* --- Desktop Nav (Hide on Mobile) --- */
.nav-container {
	font-size: 1.5rem;
    display: flex;
    justify-content: center;
    border-top: 3px dashed var(--brand-color);
    border-bottom: 3px dashed var(--brand-color);
    padding: 10px 0;
	background: none;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 20px;
}

.nav-menu a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
}

/* --- Mobile Button & Icons --- */
#mainNavigationButton {
    display: none; /* Hidden on desktop */
    padding: 15px;
	position: absolute; /* Changes position relative to the header */
    left: 20px;       /* Distance from the left edge */
    top: 15px;         /* Distance from the top edge */
    z-index: 3001;     /* Keeps it above the sidebar */
}

.wbk-mnav-button {
    background: none;
    border: none;
    cursor: pointer;
    z-index: 3001;
    position: relative;
}

.wbk-mnav-button svg { fill: var(--brand-color); }

/* Switch icons based on .nav-open class on body */
.hider { display: none; }
body.nav-open .hider { display: block; }
body.nav-open .opener { display: none; }

.sidebar {
    height: 100vh;
    width: 280px;            /* Give it a fixed width */
    position: fixed;
    z-index: 3000;
    top: 0;
    left: -300px;           /* 1. Move it completely OFF-SCREEN to the left */
    visibility: hidden;      /* 2. Hide it from the browser entirely */
    background-color: #fff;
    overflow-x: hidden;
    transition: all 0.4s ease-in-out; /* Smooth transition for all properties */
    padding-top: 80px;
}

/* When the menu is open */
body.nav-open .sidebar {
    left: 0;                /* 3. Slide it back to the edge */
    visibility: visible;     /* Make it visible again */
    box-shadow: 5px 0 15px rgba(0,0,0,0.1);
}

.mobile-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-nav-menu li a {
    display: block;
    padding: 15px 30px;
    font-size: 1.2rem;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #eee;
}

/* --- Overlay --- */
#nav-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 2999;
}

body.nav-open #nav-overlay { display: block; }

/* --- Responsive Switch --- */
@media (max-width: 768px) {
    .nav-container { display: none; }
    #mainNavigationButton { display: block; }
}

/* --- Dark Mode --- */
body.dark-mode .sidebar { background: #222; }
body.dark-mode .mobile-nav-menu li a { color: #fff; border-bottom-color: #444; }
body.dark-mode .wbk-mnav-button svg { fill: var(--brand-color); }
body.dark-mode .nav-container { background: none; }

/* 1. The Container (The space between the dashed lines) */
body.dark-mode .nav-container {
    background-color: #1a1a1a; /* Dark background */
    border-top-color: #ffffff;  /* Change dashed border to white */
    border-bottom-color: #ffffff;
}

/* 2. The Navigation Links */
body.dark-mode nav ul.nav-menu li a {
    color: #ffffff; /* White text for links */
}

/* 3. Hover & Active States in Dark Mode */
body.dark-mode nav ul.nav-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.1); /* Subtle glow on hover */
    color: var(--brand-color); /* Keep your brand color on hover */
}

body.dark-mode nav ul.nav-menu li a.active {
    background-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}