/* nav.css */

/* ── Main nav bar ── */
#nav{
  position:fixed;inset:0 0 auto 0;z-index:200;
  height:var(--nav-h);
  display:flex;align-items:center;
  padding:0 var(--pad);
  gap:1.5rem;
  border-bottom:1px solid transparent;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
#nav.scrolled{
  background:rgba(250,250,248,.94);
  border-color:var(--border);
  box-shadow:0 1px 0 var(--border);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
[data-theme="dark"] #nav.scrolled{background:rgba(8,9,18,.94);}

/* Logo */
.nav-logo{
  font-family:var(--serif);font-weight:700;font-size:1.2rem;
  letter-spacing:-.03em;color:var(--ink);
  display:flex;align-items:center;gap:0;
  flex-shrink:0;
}
.nav-logo-dot{color:var(--red);}

/* Back crumb — shown on sub-pages */
.nav-crumb{
  display:none;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:600;color:var(--ink-3);
  letter-spacing:.02em;
}
.nav-crumb.visible{display:flex;}
.nav-crumb-sep{color:var(--ink-4);font-size:.7rem;}
.nav-crumb-current{color:var(--ink-2);}
.nav-back-btn{
  display:flex;align-items:center;gap:.3rem;
  font-size:.75rem;font-weight:600;color:var(--ink-3);
  padding:.35rem .65rem;border-radius:var(--r-sm);
  border:1px solid var(--border-md);
  transition:all .18s;background:var(--bg-card);
  flex-shrink:0;
}
.nav-back-btn:hover{color:var(--ink);border-color:var(--border-lg);background:var(--bg-muted);}
.nav-back-btn svg{width:13px;height:13px;}

/* Main nav links */
.nav-links{
  display:flex;align-items:center;
  gap:.25rem;list-style:none;
  margin-left:auto;
}
.nav-links a{
  display:flex;align-items:center;gap:.3rem;
  font-size:.82rem;font-weight:500;color:var(--ink-3);
  padding:.42rem .85rem;border-radius:var(--r-sm);
  transition:all .18s;letter-spacing:.01em;
  position:relative;white-space:nowrap;
}
.nav-links a:hover{color:var(--ink);background:var(--bg-muted);}
.nav-links a.active{
  color:var(--ink);
  background:var(--bg-raised);
  font-weight:600;
}
[data-theme="dark"] .nav-links a:hover{background:var(--bg-muted);}
[data-theme="dark"] .nav-links a.active{background:var(--bg-muted);}

/* Active dot indicator */
.nav-links a.active::before{
  content:'';display:block;
  width:5px;height:5px;border-radius:50%;
  background:var(--red);flex-shrink:0;
}

/* Contact CTA */
.nav-cta{
  background:var(--ink)!important;
  color:var(--bg)!important;
  font-weight:600!important;
}
.nav-cta:hover{background:var(--red)!important;color:#fff!important;}
.nav-cta.active{background:var(--red)!important;color:#fff!important;}
.nav-cta::before{display:none!important;}

/* Availability badge */
.nav-avail{
  display:flex;align-items:center;gap:.4rem;
  font-size:.72rem;font-weight:600;color:var(--green);
  background:var(--green-soft);border:1px solid var(--green-border);
  padding:.28rem .8rem;border-radius:40px;
  white-space:nowrap;flex-shrink:0;
}
.nav-avail-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);animation:avail-pulse 2.2s ease-in-out infinite;
}
@keyframes avail-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(26,158,90,.4);}
  50%{box-shadow:0 0 0 5px rgba(26,158,90,0);}
}

/* Theme toggle */
.nav-theme{
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--border-md);
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-2);font-size:.9rem;
  transition:all .18s;flex-shrink:0;
}
.nav-theme:hover{background:var(--bg-muted);border-color:var(--border-lg);}

/* Mobile hamburger */
.nav-hamburger{
  display:none;flex-direction:column;gap:5px;
  padding:4px;margin-left:.5rem;flex-shrink:0;
}
.nav-hamburger span{
  display:block;width:20px;height:1.5px;
  background:var(--ink);border-radius:2px;transition:.3s;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Mobile overlay menu */
.nav-mobile-overlay{
  display:none;
  position:fixed;inset:var(--nav-h) 0 0 0;
  background:var(--bg);z-index:190;
  flex-direction:column;
  padding:2rem var(--pad);
  border-top:1px solid var(--border);
  overflow-y:auto;
}
.nav-mobile-overlay.open{display:flex;}
.nav-mobile-links{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem;}
.nav-mobile-links a{
  display:flex;align-items:center;gap:.75rem;
  font-size:1.1rem;font-weight:500;color:var(--ink-2);
  padding:.9rem 1rem;border-radius:var(--r-md);
  transition:all .18s;
}
.nav-mobile-links a:hover{background:var(--bg-muted);color:var(--ink);}
.nav-mobile-links a.active{
  background:var(--bg-raised);color:var(--ink);font-weight:600;
}
.nav-mobile-links a.active::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--red);flex-shrink:0;
}
.nav-mobile-links a.nav-cta{
  background:var(--ink)!important;color:var(--bg)!important;
  margin-top:.5rem;font-size:1rem;
}
.nav-mobile-avail{
  display:flex;align-items:center;gap:.5rem;
  font-size:.82rem;font-weight:600;color:var(--green);
  padding:1rem 0;border-top:1px solid var(--border);
}
.nav-mobile-avail span{width:7px;height:7px;border-radius:50%;background:var(--green);}

/* Page breadcrumb (inside page body) */
.page-breadcrumb{
  display:flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:500;color:var(--ink-3);
  margin-bottom:2rem;
}
.page-breadcrumb a{color:var(--ink-3);transition:color .18s;}
.page-breadcrumb a:hover{color:var(--red);}
.page-breadcrumb-sep{color:var(--ink-4);user-select:none;}
.page-breadcrumb-current{color:var(--ink-2);font-weight:600;}

/* Progress bar */
#page-progress{
  position:fixed;top:0;left:0;height:2px;
  background:var(--red);width:0%;z-index:300;
  transition:width .1s linear;display:none;
}

/* Responsive */
@media(max-width:860px){
  .nav-links,.nav-avail{display:none;}
  .nav-hamburger{display:flex;}
  .nav-crumb{display:none!important;}
}
@media(max-width:480px){
  .nav-back-btn span{display:none;}
}
