/* ============ NAVBAR BASE ============ */
.site-nav.navbar {
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  z-index: 1040;
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease;
  box-shadow: none;
}
.site-nav.scrolled {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* Brand */
.site-nav .navbar-brand img { width: 160px; display:block; }

/* Desktop links */
.site-nav .nav-link {
  color: var(--violet);
  font-size: 18px;
  font-weight: 400;
  transition: color .2s ease, border-color .2s ease;
  border-bottom: 2px solid transparent;
}
.site-nav .nav-link:hover { border-bottom-color: var(--primary-blue); }
.site-nav .nav-link.active { color: var(--text-secondary); font-weight: 600; }
.site-nav.scrolled .nav-link { color: var(--text-primary); }

/* Desktop dropdown */
.dropdown-hover .dropdown-menu {
  background: rgba(255,255,255,.97);
  border: 0;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
}
.dropdown-hover .dropdown-item { color: var(--text-primary); }
.dropdown-hover .dropdown-item:hover {
  background: var(--purple); color:#fff; border-radius: 4px;
}

/* Show dropdown on hover only on >=992px */
@media (min-width: 992px) {
  .dropdown-hover:hover > .dropdown-menu { display:block; }
}

/* ============ HAMBURGER ============ */
.navbar-toggler {
  border: 0; padding: 6px 4px; outline: none !important; box-shadow: none !important;
}
.navbar-toggler .toggler-bar {
  display: block; width: 28px; height: 2px; background: var(--text-primary);
  margin: 6px 0; transition: transform .2s ease, opacity .2s ease;
}
/* darker on hero? switch when not scrolled */
.site-nav:not(.scrolled) .navbar-toggler .toggler-bar { background: var(--violet); }

/* ============ OFFCANVAS (mobile) ============ */
.offcanvas .offcanvas-body { padding-top: 0; }
.mobile-menu > li { border-bottom: 1px solid #eee; }
.mobile-link, .mobile-dd-toggle {
  display:block; width:100%; padding:12px 0; font-size:16px;
  color: var(--text-primary); text-decoration: none; background:none; border:0;
  text-align:left;
}
.mobile-dd-toggle { font-weight:600; }
.mobile-dd-toggle .chev { float:right; transition: transform .2s ease; }
.mobile-dropdown .collapse.show + .chev,
.mobile-dd-toggle[aria-expanded="true"] .chev { transform: rotate(180deg); }

/* ============ RESPONSIVE ============ */
@media (max-width: 991.98px) {
  .site-nav .navbar-brand img { width: 140px; }
}
@media (max-width: 575.98px) {
  .site-nav .navbar-brand img { width: 118px; }
}
