/* =========================================================
   SITE HEADER
   ========================================================= */
.ff-header{
  position:sticky;
  top:0;
  z-index:999;
  background:var(--ff-black);
  border-bottom:1px solid var(--ff-border);
}
.ff-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
}

/* Logo */
.ff-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--ff-font-display);
  font-size:26px;
  letter-spacing:.5px;
  color:var(--ff-white);
  flex-shrink:0;
}
.ff-logo svg{ flex-shrink:0; }
.ff-logo .ff-logo-accent{ color:var(--ff-lime); }
.ff-logo img.custom-logo{ max-height:44px; width:auto; }

/* Nav */
.ff-nav{ flex:1; display:flex; justify-content:center; }
.ff-nav ul{ display:flex; align-items:center; gap:36px; }
.ff-nav a{
  font-size:15px;
  font-weight:500;
  color:var(--ff-white);
  padding:8px 2px;
  transition:color .15s ease;
}
.ff-nav a:hover,
.ff-nav .current-menu-item > a,
.ff-nav .current_page_item > a{ color:var(--ff-lime); }

.ff-nav li.menu-item-has-children{ position:relative; }
.ff-nav li.menu-item-has-children > a::after{
  content:"";
  display:inline-block;
  width:7px; height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  margin-left:7px;
  position:relative;
  top:-2px;
}
.ff-nav .sub-menu{
  position:absolute;
  top:100%; left:0;
  min-width:200px;
  background:var(--ff-card);
  border:1px solid var(--ff-border);
  border-radius:var(--ff-radius);
  padding:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:20;
}
.ff-nav li.menu-item-has-children:hover > .sub-menu,
.ff-nav li.menu-item-has-children:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.ff-nav .sub-menu a{ display:block; padding:9px 12px; border-radius:4px; }
.ff-nav .sub-menu a:hover{ background:var(--ff-card-alt); }

.ff-header-cta{ display:flex; align-items:center; gap:18px; flex-shrink:0; }

/* Mobile toggle */
.ff-menu-toggle{
  display:none;
  background:none;
  border:2px solid var(--ff-white);
  border-radius:4px;
  width:42px; height:38px;
  align-items:center;
  justify-content:center;
  color:var(--ff-white);
}
.ff-menu-toggle svg{ width:20px; height:20px; }

@media (max-width:1024px){
  .ff-nav{
    position:fixed;
    inset:0 0 0 auto;
    top:73px;
    height:calc(100vh - 73px);
    width:280px;
    background:var(--ff-black-soft);
    border-left:1px solid var(--ff-border);
    padding:28px 24px;
    transform:translateX(100%);
    transition:transform .25s ease;
    overflow-y:auto;
  }
  .ff-nav.is-open{ transform:translateX(0); }
  .ff-nav ul{ flex-direction:column; align-items:flex-start; gap:6px; width:100%; }
  .ff-nav ul li{ width:100%; }
  .ff-nav a{ display:block; width:100%; padding:12px 4px; }
  .ff-nav .sub-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    display:none; border:none; background:transparent; padding:0 0 0 14px; margin-top:4px;
  }
  .ff-nav li.menu-item-has-children.is-expanded .sub-menu{ display:block; }
  .ff-nav li.menu-item-has-children > a::after{ display:none; }
  .ff-menu-toggle{ display:flex; }
  .ff-header-cta .ff-btn-primary{ padding:11px 18px; font-size:13px; }
}
