/* ============================================================
   Agenarys Nav V2 — Unified Responsive Navigation
   Compatible with all screen sizes (mobile, tablet, desktop)
   Breakpoint: 1080px (hamburger shows at &amp;lt;=1080px)
   ============================================================ */

/* ---- Fonts ---- */
@import url(&amp;#39;https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&amp;amp;family=DM+Serif+Display&amp;amp;display=swap&amp;#39;);

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; }

/* ---- Nav Bar — sticky, full width ---- */
#mainNav {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: #1B3A5C !important;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

#mainNav.scrolled {
  background: rgba(27, 58, 92, 0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 1px 20px rgba(0,0,0,0.25) !important;
}

/* ---- Inner layout — full stretch ---- */
.nav, .nav-v2-inner {
  width: 100%;
  max-width: none !important;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 28px;
  transition: padding 0.25s;
  position: relative;
  box-sizing: border-box;
  min-height: 60px;
}

#mainNav.scrolled .nav,
#mainNav.scrolled .nav-v2-inner {
  padding: 8px 28px;
}

/* ---- Logo ---- */
.nav-logo, .nav-v2-logo {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;
  margin-right: 28px;
}

.nav-logo-name, .nav-v2-logo-name {
  font-family: &amp;#39;DM Serif Display&amp;#39;, serif;
  font-size: 20px;
  color: #ffffff;
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 400;
}

.nav-logo-sub, .nav-v2-logo-sub {
  font-family: &amp;#39;DM Sans&amp;#39;, sans-serif;
  font-size: 8px;
  color: rgba(255,255,255,0.38);
  letter-spacing: 0.11em;
  text-transform: uppercase;
  line-height: 1;
  margin-left: 2px;
}

/* ---- Desktop Links ---- */
.nav-links, .nav-v2-links {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
  flex: 1;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
  overflow: hidden;
}

.nav-links li a, .nav-links a,
.nav-v2-links li a, .nav-v2-links a {
  font-family: &amp;#39;DM Sans&amp;#39;, sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 6px 8px;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
  white-space: nowrap;
}

.nav-links li a:hover, .nav-links li a.active,
.nav-links a:hover, .nav-links a.active,
.nav-v2-links li a:hover, .nav-v2-links li a.active {
  color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.06);
}

/* All links get the ::after space (prevents jumping) */
.nav-links li a::after {
  content: &amp;#39;&amp;#39;;
  display: block;
  width: 100%;
  height: 2px;
  background: transparent;
  border-radius: 1px;
  margin-top: 3px;
}
/* Active links show green indicator */
.nav-links li a.active::after {
  background: #22c55e;
}

.nav-links a.geo, .nav-links li a.geo,
.nav-v2-links a.geo, .nav-v2-links li a.geo {
  color: #22c55e;
}
/* ---- Listings Highlight (Multisite Portal) ---- */
.nav-links a.listings, .nav-links li a.listings,
.nav-v2-links a.listings, .nav-v2-links li a.listings {
  color: #22c55e !important;
  font-weight: 800;
}
.nav-links a.listings::after, .nav-links li a.listings::after {
  background: #22c55e;
}

/* ---- Right Side ---- */
.nav-right, .nav-v2-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: 12px;
}

/* ---- Language Toggle ---- */
.lang-toggle, .nav-v2-lang {
  display: flex;
  align-items: center;
  gap: 2px;
  background: rgba(255,255,255,0.08);
  border-radius: 6px;
  padding: 3px 4px;
}

.lang-btn, .nav-v2-lang button {
  font-family: &amp;#39;DM Sans&amp;#39;, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 4px 8px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
  background: transparent;
  color: rgba(255,255,255,0.5);
}

.lang-btn.active, .nav-v2-lang button.active {
  background: rgba(255,255,255,0.15);
  color: #ffffff;
}

/* ---- CTA Button ---- */
.nav-cta, .nav-v2-cta {
  font-family: &amp;#39;DM Sans&amp;#39;, sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 8px 16px;
  background: #22c55e;
  color: #000;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
}

.nav-cta:hover, .nav-v2-cta:hover {
  background: #16a34a;
  transform: translateY(-1px);
}

/* ---- Hamburger Button ---- */
.hamburger, .nav-v2-mobile-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 5px;
  border-radius: 4px;
  flex-shrink: 0;
  z-index: 1001;
}

.hamburger span, .nav-v2-mobile-btn span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: #fff;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* Hamburger X animation when open */
.hamburger.open span:nth-child(1),
.nav-v2-mobile-btn.open span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.hamburger.open span:nth-child(2),
.nav-v2-mobile-btn.open span:nth-child(2) {
  opacity: 0;
  transform: translateX(-8px);
}
.hamburger.open span:nth-child(3),
.nav-v2-mobile-btn.open span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

/* ---- Mobile Menu ---- */
.mobile-menu, .nav-v2-mobile {
  display: none;
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  background: #1B3A5C;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 1rem 1.25rem;
  flex-direction: column;
  gap: 0.25rem;
  z-index: 999;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  max-height: calc(100vh - 60px);
  overflow-y: auto;
}

.mobile-menu.open, .nav-v2-mobile.open {
  display: flex;
}

.mobile-menu a, .nav-v2-mobile a {
  font-family: &amp;#39;DM Sans&amp;#39;, sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.65rem 0.75rem;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  text-decoration: none;
}

.mobile-menu a:hover, .mobile-menu a.active,
.nav-v2-mobile a:hover, .nav-v2-mobile a.active {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

.mobile-menu a.geo, .nav-v2-mobile a.geo {
  color: #22c55e;
}

/* ---- Responsive: Tablet and mobile (&amp;lt;=1080px) ---- */
@media (max-width: 1080px) {
  .nav-links, .nav-v2-links {
    display: none !important;
  }
  .hamburger, .nav-v2-mobile-btn {
    display: flex !important;
  }
  /* Lang toggle stays visible on mobile - make it compact */
  .nav-right .lang-toggle,
  .nav-right .nav-v2-lang,
  .nav-v2-actions .lang-toggle,
  .nav-v2-actions .nav-v2-lang {
    display: flex;
  }
  .lang-btn, .nav-v2-lang-btn {
    padding: 4px 8px;
    font-size: 9px;
  }
  .nav-right .nav-cta,
  .nav-v2-actions .nav-cta {
    display: none;
  }
}

/* ---- Responsive: Small mobile (&amp;lt;=480px) ---- */
@media (max-width: 480px) {
  .nav, .nav-v2-inner {
    padding: 10px 10px 10px 16px;
  }
  .nav-logo-name, .nav-v2-logo-name {
    font-size: 17px;
  }
  .nav-right, .nav-v2-actions {
    gap: 4px;
    margin-left: 4px;
  }
  .lang-toggle, .nav-v2-lang {
    padding: 2px 3px;
  }
  .lang-btn, .nav-v2-lang-btn {
    padding: 3px 6px !important;
    font-size: 9px !important;
  }
}

/* ---- Responsive: Desktop (&amp;gt;=1081px) ---- */
@media (min-width: 1081px) {
  .hamburger, .nav-v2-mobile-btn {
    display: none !important;
  }
  .nav-links, .nav-v2-links {
    display: flex !important;
  }
  .mobile-menu:not(.open), .nav-v2-mobile:not(.open) {
    display: none !important;
  }
}

/* ---- Body scroll lock when mobile menu is open ---- */
body.menu-open {
  overflow: hidden;
}

/* Footer brand spacing fix */
.footer-brand-name {
  margin-bottom: 8px !important;
}
