/* navbar.css */

/* Import Lato for consistent typography */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');

/* ========== Floating Pill Nav ========== */
nav.floating-nav {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #343a40;
  padding: 10px 24px;
  border-radius: 32px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  z-index: 1050;
  display: flex;
  align-items: center;
  font-family: 'Lato', Arial, sans-serif;
}

/* spacer so content doesn’t jump under fixed nav */
.nav-spacer {
  height: 60px;
}

/* menu list */
nav.floating-nav .nav {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
nav.floating-nav .nav.open {
  display: flex;
}
nav.floating-nav .nav-item + .nav-item {
  margin-left: 16px;
}

/* text links – bumped padding to match original pages */
nav.floating-nav .nav-link {
  color: #f8f9fa !important;
  padding: 8px 12px;      /* increased vertical/horizontal padding */
  font-size: 16px;
  font-weight: 400;
  text-decoration: none !important;
  transition: color 0.2s ease;
  line-height: 1;
}
nav.floating-nav .nav-link:hover {
  color: #e63946 !important;
  text-decoration: none !important;
}

/* LOGOUT BUTTON – match same vertical rhythm */
nav.floating-nav .logout-btn {
  display: inline-block;
  padding: 8px 14px;      /* match link height */
  margin-left: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: #f8f9fa !important;
  background: transparent !important;
  border: 2px solid #f8f9fa !important;
  border-radius: 4px;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
nav.floating-nav .logout-btn:hover {
  background: #f8f9fa !important;
  color: #343a40 !important;
}

/* hamburger toggle */
nav.floating-nav .nav-toggle {
  display: none;
  background: none;
  border: none;
  color: #f8f9fa;
  font-size: 24px;
  margin-right: 12px;
  cursor: pointer;
}

/* responsive (≤768px) */
@media (max-width: 768px) {
  nav.floating-nav .nav-toggle { display: block; }
  nav.floating-nav .nav {
    display: none;
    flex-direction: column;
    width: 100%;
    margin-top: 8px;
  }
  nav.floating-nav .nav.open { display: flex; }
  nav.floating-nav .nav-item + .nav-item {
    margin-left: 0;
    margin-top: 8px;
  }
  nav.floating-nav .nav-link {
    font-size: 14px;
    padding: 8px 12px;
  }
  nav.floating-nav .logout-btn {
    margin-top: 8px;
    margin-left: 0;
  }
  nav.floating-nav {
    position: static;
    transform: none;
    padding: 8px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    flex-direction: column;
  }
  .nav-spacer { height: 0; }
}
/* Fade‐out class on the nav */
nav.floating-nav {
  transition: opacity 0.3s ease;
}

nav.floating-nav.fade-out {
  opacity: 0;
  pointer-events: none; /* so it doesn’t catch clicks while hidden */
}

