/* ============================================================
   Shared site header — matches the homepage header/nav so the
   marketing pages use the same design. Loaded AFTER stylegreen.
   No global element resets here (would affect template layout).
   ============================================================ */
:root{
  --wf-green:#0b5d3b;
  --wf-green-2:#0f7a4a;
  --wf-green-3:#169c61;
  --wf-bg:#f3f8f5;
  --wf-border:#d6e3dc;
  --wf-text:#2f2f2f;
  --wf-muted:#6b7280;
  --wf-dark:#083a26;
  --ease:cubic-bezier(.22,.61,.36,1);
}

body.menu-open{ overflow:hidden; }

/* Hide the old template nav machinery in case the theme JS recreates it. */
.gtco-nav-toggle, #gtco-offcanvas { display:none !important; }

.site-announcement,
.site-topbar,
.site-header,
.site-mobile-nav{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  box-sizing:border-box;
}
.site-header *,
.site-topbar *,
.site-mobile-nav *{ box-sizing:border-box; }

.site-announcement{
  background:#e7f5ee; color:#0b5d3b; font-size:13px;
  padding:10px 20px; text-align:center; border-bottom:1px solid #cfe9dd;
}

.site-topbar{
  background:var(--wf-dark); color:#fff; font-size:12.5px;
  padding:8px 40px; display:flex; justify-content:space-between; align-items:center;
}

.site-header{
  position:sticky; top:0; z-index:1000;
  background:#fff; border-bottom:1px solid var(--wf-border);
  transition:.25s var(--ease);
}
.site-header.scrolled{ box-shadow:0 10px 25px rgba(0,0,0,.12); }
.site-header .header-inner{
  max-width:1280px; margin:auto; padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between;
}
.site-header .logo-img{ height:34px; width:auto; display:block; }
.site-header a{ text-decoration:none; color:inherit; }

.site-header .main-nav{ display:flex; gap:34px; }
.site-header .main-nav a{
  font-size:15px; font-weight:600; color:var(--wf-green);
  padding:10px 0; display:inline-block;
}
.site-header .main-nav a:hover{ color:var(--wf-green-2); }

.site-header .login-btn{
  background:linear-gradient(135deg,var(--wf-green-2),var(--wf-green-3));
  color:#fff; padding:11px 22px; border-radius:4px;
  font-size:14px; font-weight:800; line-height:1; white-space:nowrap;
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.25);
}

.site-header .menu-toggle{
  display:none; font-size:26px; font-weight:800; line-height:1;
  color:var(--wf-green); cursor:pointer; padding:4px 8px;
  background:rgba(0,0,0,.04); border-radius:8px;
}

.site-mobile-nav{
  display:none;                    /* show/hide toggle — reliable regardless of theme animations */
  position:fixed; inset:0;
  background:#fff; overflow-y:auto;
  z-index:2000; padding:28px;
}
.site-mobile-nav.open{ display:block; }
.site-mobile-nav .mobile-header{
  display:flex; justify-content:space-between; align-items:center; margin-bottom:24px;
}
.site-mobile-nav .mobile-header strong{ font-size:18px; color:var(--wf-green); }
.site-mobile-nav .mobile-header button{
  background:none; border:none; font-size:22px; cursor:pointer; color:var(--wf-green);
}
.site-mobile-nav a{
  display:block; padding:16px 0; font-size:16px; font-weight:800;
  color:var(--wf-green); border-bottom:1px solid var(--wf-border); text-decoration:none;
}

@media(max-width:900px){
  .site-header .main-nav{ display:none; }
  .site-header .login-btn{ display:none; }
  .site-header .menu-toggle{ display:block; }
  .site-topbar{ padding:8px 20px; }
  .site-header .header-inner{ padding:14px 20px; }
}
