/* Header / Nav */

.nav-parent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4em 0.4em;
    padding-right: 1em;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000;
    backdrop-filter: blur(16px);
    background: var(--main-nav-bg);
    box-shadow: 0 4px 20px var(--shadow);
    transition:
        background var(--transition),
        box-shadow var(--transition);
}

.nav-parent .logo-text {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var( --main-nav-logo-text);
}

/* Logo */
.logo-container {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
}

.logo {
    height: 40px; /* scales the logo */
    width: auto; /* keeps proportions */
}

#main-nav form {
    display: inline-flex;
}

#main-nav .nav-link {
    margin-left: var(--gap-md);
    text-decoration: none;
    color: var(--nav-text-color);
    font-weight: var(--font-weight-regular);
    position: relative;
}

#main-nav .nav-link::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--nav-underline-color);
    transition: width 0.3s;
}

#main-nav .nav-link:hover::after {
    width: 100%;
}

#main-nav .nav-link.active {
    font-weight: var(--font-weight-semiregular);
    color: var(--main-nav-active);
}

#main-nav a.active::after {
    width: 100%; /* underline effect */
}


/* Hide toggle on desktop */
.nav-toggle {
    display: none;
    position: relative;
    background: none;
    border: none;
    font-size: 1.8rem;
    cursor: pointer;
    color: var(--nav-text-color);
    z-index: 1101; /* above menu */
}


.nav-links a,
.nav-links logout-btn{
    width: 100%;
}

#main-nav .menu-items{
    display: none;
}


@media (min-width: 650px) and (max-width: 700px) {
    #main-nav .nav-link {
        margin-left: var(--gap-sm);
    }
}

/* Mobile Drawer */
@media (max-width: 650px) {
    #main-nav .menu-items{
        display: flex;
        
    }
    .nav-parent:has(.nav-links.active) {
        /*backdrop-filter: unset;*/
        background-color: var(--nav-overlay);
        width: 100%;
        height: 100%;
        align-items: start;
    }
    
    .nav-links {
        position: fixed;
        top: 0;
        display: flex;
        /*right: 0; */
        right: -100vw; 
        height: 100%; /* full height */
        overflow-x: hidden;        /*width: 100%; */
        min-width: 200px;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 5rem;
        gap: var(--gap-sm);
        z-index: 1000;
        backdrop-filter: blur(10px);
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.15);
        transition: all 300ms ease;
        background:var(--nav-link-bg);

    }

    
    #main-nav .nav-link{
        margin-left: 0;
    }

    .nav-link{
        padding: var(--padding-xs) var(--padding-sm);
    }
    .nav-links.active {        
        right: 0;
        transition: all 300ms ease;
        
    }

    .nav-toggle {
        display: block;
    }
    
    .nav-link.active {
        font-weight: var(--font-weight-semiregular);
        background-color: var(--nav-active-bg-color);
        color: var(--nav-active-text-color);
    }
    
    #main-nav button:hover,
    .nav-links .nav-link:hover{
        background-color: var(--nav-active-bg-color);
        color: var(--nav-active-text-color);
    }
    #main-nav .nav-link:hover{
        color: var(--nav-hover-text-color);
    }
    
    #main-nav .nav-link:hover::after {
        width: 0%;
    }
    #main-nav .nav-link.active::after {
        width: 0%; /* underline effect */
    }
    #main-nav form {
        display: flex;
        flex-direction: row;
        width: 100%;
    }
     #main-nav #logout-btn {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        font-weight: var(--font-weight-regular);
        padding: var(--padding-xs) var(--padding-sm);
    }
   
    
    
    
    #main-nav #logout-btn svg {
        display: block;
        color: var(--nav-logout-text-color);
        fill: var(--nav-logout-text-color);
        
    }
    
    #NL-ACCOUNT{
        display: none;
    }
    #main-nav #logout-btn:hover {
        background-color: var(--nav-logout-hover-color); 
    }
    
    #main-nav #logout-btn .menu-item-text {
        /*color: var(--nav-text-color);*/
        color: var(--nav-logout-text-color);
    }
    
    
}

.hide {
    
    display: none;
}

/* Match Logout Button to Nav Links */
#logout-btn {
  background: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  /*display: none;*/
}

#logout-btn .menu-item-text{
    white-space: nowrap;
    color: var(--nav-text-color);
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-lg); /* text-sm */
}

#logout-btn svg{
    display: none;
    width: 30px; /* w-6 */
    height: 30px; /* h-6 */
    flex-shrink: 0;
    margin-left: 3em;
    color: red;
    fill: var(--nav-icon-color);

}

/* Listing action: beside the mobile toggle, or before the expanded menu links. */
.nav-actions {
    display: none;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}
.nav-add-listing,
#main-nav .nav-add-listing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 0.35rem .5rem;
    border: 1px solid #deadaa;
    border-radius: 7px;
    background: var(--color-bg-light);
    color: var(--color-text-light);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}
#main-nav .nav-add-listing--menu {
    /*margin-right: var(--gap-md);*/
}
.nav-add-listing:hover {
    color: var(--nav-text-color) !important;
}
@media (prefers-color-scheme: light) {
    .nav-add-listing:hover {
        color: #fff !important;
    }
}
.nav-add-listing:focus-visible {
    outline: 1px solid var(--brand-color, #deadaa);
    outline-offset: 1px;
}
.nav-add-listing--mobile {
    display: none;
}
@media (max-width: 650px) {
    .nav-actions {
        display: flex;
        position: relative;
        z-index: 1101;
        margin-left: auto;
    }
    .nav-add-listing--mobile {
        display: inline-flex;
        /*padding: 0.6rem 0.75rem;*/
    }
    #main-nav .nav-add-listing--menu {
        margin: 0.5rem var(--padding-sm);
    }
    .nav-parent:has(.nav-links.active) .nav-add-listing--mobile {
        display: none;
    }
}
@media (max-width: 380px) {
    .nav-parent .logo-text {
        font-size: 1rem;
    }
    .nav-parent .logo {
        height: 32px;
    }
    .nav-parent .logo-container {
        gap: 0.35rem;
    }
    .nav-actions .nav-toggle {
        padding: 0.4rem;
    }
}

@media (max-width: 650px) {
    #main-nav .nav-add-listing--authenticated {
        display: none;
    }
}
