
/* =============================
   TRACKMODE — Header styles (scoped)
   ============================= */

/* Sticky header shell */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 16px;
  background: rgba(15,16,20,.85);
  backdrop-filter: saturate(1.1) blur(8px);
  border-bottom: 1px solid var(--line, #24252b);
}

/* Brand */
.site-header .logo{display:flex; align-items:center; gap:10px; text-decoration:none}
.site-header .logo img{height:40px; width:auto; display:block}

/* Logo stack for scroll/hover swap */
.logo-stack {
  position: relative;
  display: inline-block;
}
.logo-stack img {
  height: 40px;
  width: auto;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.logo-stack img.main-logo { opacity: 1; position: relative; }
.site-header.show-alt-logo .logo-stack img.main-logo { opacity: 0; }
.site-header.show-alt-logo .logo-stack img.alt-logo { opacity: 1; }
.site-header:hover .logo-stack img { opacity: 0; }
.site-header:hover .logo-stack img.linear-logo { opacity: 1; }
.site-header .logo span{font-weight:900; letter-spacing:.6px}

/* Nav layout */
.nav-links{display:flex; align-items:center; gap:14px; margin-left:auto}
.nav-links a:not(.btn){color: var(--text, #e9e9ee); text-decoration:none; opacity:.9}
.nav-links a:not(.btn):hover{opacity:1}

/* Highlight active section link */
.nav-links a.is-active:not(.btn) {
  opacity: 1;
  color: var(--accent, #ff6a00);
}

/* Buttons inside header */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:12px; font-weight:800; letter-spacing:.3px; text-decoration:none}
.btn-primary{background: var(--accent, #ff6a00); color:#0b0b0c; border: none}
.btn-outline{background: transparent; border:1px solid var(--line, #24252b); color: var(--text, #e9e9ee)}

/* Ensure Enquiry (primary) stays black text even on header hover */
.site-header:hover .nav-links .btn-primary{color:#0b0b0c}

/* Space helpers for right side CTA group */
.nav-cta{display:flex; align-items:center; gap:10px}

/* Mobile */
.nav-toggle{display:none}
@media (max-width: 900px){
  .site-header{padding:10px 12px}
  .nav-links{gap:10px}
  .site-header .logo img{height:34px}
  .logo-stack img { height: 34px; }
}

/* =============================
   Mobile navigation (hamburger + drawer)
   ============================= */

/* Hamburger toggle (shown on mobile) */
.nav-toggle{
  display:none;
  appearance:none;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  width:46px;
  height:46px;
  border-radius:10px;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-direction: column;
  cursor:pointer;
  position:relative
}
.nav-toggle .bar {
  display: block;
  width: 22px;
  height: 3px;
  background: var(--accent, #ff6a00);
  border-radius: 3px;
  box-shadow: 0 0 6px rgba(0,0,0,0.4);
  transition: transform .22s ease, opacity .22s ease;
}


.nav-toggle:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.16);
}

@media (max-width: 900px){
  .nav-toggle{display:inline-flex}
  .nav-links, .nav-cta{display:none}
}

/* Backdrop behind drawer */
.nav-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.45); backdrop-filter: blur(1.5px); opacity:0; pointer-events:none; transition: opacity .22s ease; z-index: 98}

/* Drawer panel */
.mobile-drawer{position:fixed; top:0; right:0; width:min(86vw, 420px); height:100vh; background:rgba(15,16,20,.96); box-shadow: -8px 0 28px rgba(0,0,0,.55); backdrop-filter: saturate(1.1) blur(10px); transform: translateX(100%); transition: transform .28s ease; z-index: 99; padding: 20px 18px; border-left:1px solid var(--line, #24252b)}
.mobile-drawer[hidden]{display:none}
.mobile-nav{display:flex; flex-direction:column; gap:12px; margin-top: 8px}
.mobile-link{display:block; padding:14px 12px; border-radius:12px; text-decoration:none; color:var(--text,#e9e9ee); border:1px solid rgba(255,255,255,.06)}
.mobile-link:hover{background: rgba(255,255,255,.04)}
.mobile-cta{margin-top:6px}

/* Open state (body class toggled by JS) */
body.nav-open .nav-backdrop{opacity:1; pointer-events:auto}
body.nav-open .mobile-drawer{transform: translateX(0)}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  .nav-backdrop{transition:none}
  .mobile-drawer{transition:none}
  .nav-toggle .bar{transition:none}
}

/* Scrolled state tweaks */
.site-header.is-scrolled {
  box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}

/* Ambient underglow tied to TM widget (activated by JS adding .with-ambient) */
.site-header{ position: sticky; }
.site-header::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px; /* ~2mm visual */
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}
.site-header.with-ambient::after{
  background: rgb(var(--ambient-rgb) / calc(var(--ambient-brightness) + 0.02));
  box-shadow:
    0 0 10px rgb(var(--ambient-rgb) / calc(var(--ambient-brightness) * 0.9)),
    0 0 22px rgb(var(--ambient-rgb) / calc(var(--ambient-brightness) * 0.6));
}

/* Ambient Flow animation for header underglow */
.site-header.with-ambient.ambient-flow::after {
  background: linear-gradient(90deg, #ff0040, #ff6a00, #ffee00, #46ff00, #00e5ff, #6a00ff, #ff0040);
  background-size: 1000% 100%;
  animation: tm-rgb-flow 15s linear infinite;
  animation-delay: var(--flow-offset, 0s);
  will-change: background-position;
  box-shadow:
    0 0 10px rgb(var(--ambient-rgb) / calc(var(--ambient-brightness) * 0.9)),
    0 0 22px rgb(var(--ambient-rgb) / calc(var(--ambient-brightness) * 0.6));
}


/* Wallpaper page header auto-hide/show */
body.wallpaper-page .site-header {
  transform: translateY(-100%);
  transition: transform 0.25s ease;
}

body.wallpaper-page .site-header.wp-show {
  transform: translateY(0);
}