.site-header {
    display: none;
    background-color: rgba(247, 245, 242, 0.8);
    backdrop-filter: blur(10px);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 50;
    transition: box-shadow 0.3s ease;
}

.site-header.scrolled {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.main-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.nav-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.nav-links {
    display: none;
}

.nav-links a {
    margin-left: 2rem;
    font-weight: 500;
    transition: color 0.3s ease;
}

.nav-links a.nav-active:not(.button),
.mobile-menu a.nav-active:not(.button) {
    font-weight: 700;
    color: var(--brand-gold);
}

.nav-links a.button.nav-active,
.mobile-menu a.button.nav-active {
    background-color: var(--brand-gold);
    color: var(--brand-dark);
    transform: scale(1.05);
    font-weight: 700;
}

.mobile-menu-button {
    background: none;
    border: none;
    cursor: pointer;
}

.mobile-menu {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding-bottom: 1rem;
    /* Styles for mobile menu container */
    background-color: var(--brand-light); 
    position: fixed;
    top: 65px; /* Adjust based on header height */
    left: 0;
    right: 0;
    height: calc(100vh - 65px);
    z-index: 51;
    padding-top: 2rem;
    overflow-y: auto;
}

.mobile-menu.active {
    display: flex;
}

.mobile-menu a {
    transition: color 0.3s ease;
}

.mobile-menu .button {
    width: 100%;
}


@media (min-width: 768px) {
    .site-header {
        display: block; 
    }
    
    .nav-logo {
        font-size: 2rem;
    }
    .mobile-menu-button, .mobile-menu {
        display: none;
    }
    .nav-links {
        display: flex;
        align-items: center;
    }
}