/* ===========================================
   Fesfaj Foundation Header – fesfaj-header.css
   All classes prefixed fhdr- to prevent theme conflicts.
   =========================================== */

#fesfaj-main-nav,
#fesfaj-nav-drawer {
  --fhdr-green-deep: #0D3320;
  --fhdr-green-mid:  #1E7A46;
  --fhdr-green-pale: #EBF5EF;
  --fhdr-orange:     #E8630A;
  --fhdr-orange-lt:  #F5821F;
  --fhdr-cream:      #F8F5F0;
  --fhdr-white:      #FFFFFF;
  --fhdr-ink:        #1A2E20;
  --fhdr-muted:      #4D6558;
  --fhdr-border:     #D0DDD6;
  --fhdr-serif:      'Lora', Georgia, serif;
  --fhdr-sans:       'DM Sans', system-ui, sans-serif;
  --fhdr-r:          8px;
  --fhdr-rl:         16px;
  --fhdr-nav-h:      78px;
  --fhdr-ease:       cubic-bezier(0.4, 0, 0.2, 1);
}
#fesfaj-main-nav *, #fesfaj-main-nav *::before, #fesfaj-main-nav *::after,
#fesfaj-nav-drawer *, #fesfaj-nav-drawer *::before, #fesfaj-nav-drawer *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}

body.fesfaj-hdr-active { padding-top: 78px !important; margin-top: 0 !important; }

/* NAV SHELL */
#fesfaj-main-nav {
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 99999 !important; background: var(--fhdr-green-deep) !important;
  font-family: var(--fhdr-sans) !important; font-size: 16px !important;
  height: var(--fhdr-nav-h) !important; line-height: 1.5 !important;
}
#fesfaj-main-nav::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:1px; background:rgba(255,255,255,.07);
}

/* INNER */
#fesfaj-main-nav .fhdr-inner {
  max-width:980px; margin:0 auto; padding:0 1.75rem;
  height:var(--fhdr-nav-h);
  display:flex !important; align-items:center !important;
  justify-content:space-between !important; gap:16px;
}

/* LOGO + SITE IDENTITY */
#fesfaj-main-nav .fhdr-logo {
  display:flex !important; align-items:center !important; gap:12px !important;
  flex-shrink:0 !important; text-decoration:none !important; color:inherit !important;
  min-width:0 !important;
}
#fesfaj-main-nav .fhdr-logo img {
  width:58px !important; height:58px !important; flex-shrink:0 !important;
  border-radius:8px !important; object-fit:cover !important;
  display:block !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.18) !important;
}
#fesfaj-main-nav .fhdr-logo-text {
  display:flex !important; flex-direction:column !important; gap:3px !important;
  min-width:0 !important;
}
#fesfaj-main-nav .fhdr-logo-title {
  font-family:var(--fhdr-serif) !important;
  font-size:16px !important; font-weight:700 !important;
  color:#fff !important; line-height:1.2 !important;
  white-space:nowrap !important;
}
#fesfaj-main-nav .fhdr-logo-sub {
  font-family:var(--fhdr-sans) !important;
  font-size:9.5px !important; font-weight:500 !important;
  color:rgba(255,255,255,.55) !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
}
/* Mobile: keep title + description visible, shrink slightly */
@media (max-width:820px) {
  #fesfaj-main-nav .fhdr-logo img { width:50px !important; height:50px !important; }
  #fesfaj-main-nav .fhdr-logo-title { font-size:14px !important; }
  #fesfaj-main-nav .fhdr-logo-sub  { font-size:8.5px !important; letter-spacing:.11em !important; }
}
@media (max-width:380px) {
  #fesfaj-main-nav .fhdr-logo img { width:42px !important; height:42px !important; }
  #fesfaj-main-nav .fhdr-logo-title { font-size:13px !important; }
}

/* DESKTOP LINKS */
#fesfaj-main-nav .fhdr-links {
  display:flex !important; align-items:center !important;
  gap:4px !important; list-style:none !important; margin:0 !important; padding:0 !important;
}
#fesfaj-main-nav .fhdr-nav-item { position:relative !important; list-style:none !important; }
#fesfaj-main-nav .fhdr-nav-item > a,
#fesfaj-main-nav .fhdr-nav-item > button {
  display:flex !important; align-items:center !important; gap:5px !important;
  font-family:var(--fhdr-sans) !important; font-size:13px !important; font-weight:500 !important;
  color:rgba(255,255,255,.72) !important; padding:8px 12px !important; border-radius:6px !important;
  transition:color .2s,background .2s !important; white-space:nowrap !important;
  background:none !important; border:none !important; cursor:pointer !important;
  text-decoration:none !important; line-height:1.4 !important;
}
#fesfaj-main-nav .fhdr-nav-item > a:hover,
#fesfaj-main-nav .fhdr-nav-item > button:hover,
#fesfaj-main-nav .fhdr-nav-item.fhdr-open > a,
#fesfaj-main-nav .fhdr-nav-item.fhdr-open > button {
  color:#fff !important; background:rgba(255,255,255,.07) !important;
}

/* CHEVRON */
#fesfaj-main-nav .fhdr-chevron {
  width:14px !important; height:14px !important; stroke:currentColor !important;
  fill:none !important; stroke-width:2 !important; transition:transform .25s !important;
  flex-shrink:0 !important; display:inline-block !important; vertical-align:middle !important;
}
#fesfaj-main-nav .fhdr-nav-item.fhdr-open .fhdr-chevron { transform:rotate(180deg) !important; }

/* MEGA DROPDOWN */
#fesfaj-main-nav .fhdr-mega {
  position:absolute !important; top:calc(100% + 8px) !important;
  left:50% !important; transform:translateX(-50%) translateY(-6px) !important;
  background:var(--fhdr-white) !important; border:1px solid var(--fhdr-border) !important;
  border-radius:var(--fhdr-rl) !important; box-shadow:0 16px 48px rgba(13,51,32,.18) !important;
  width:660px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important;
  transition:opacity .22s var(--fhdr-ease),transform .22s var(--fhdr-ease) !important;
  z-index:100000 !important;
}
#fesfaj-main-nav .fhdr-nav-item.fhdr-open .fhdr-mega {
  opacity:1 !important; pointer-events:all !important;
  transform:translateX(-50%) translateY(0) !important;
}
#fesfaj-main-nav .fhdr-mega-head {
  background:var(--fhdr-green-deep) !important; padding:18px 24px 16px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
}
#fesfaj-main-nav .fhdr-mega-head-title {
  font-family:var(--fhdr-serif) !important; font-size:15px !important;
  font-weight:700 !important; color:#fff !important;
}
#fesfaj-main-nav .fhdr-mega-head-sub { font-size:11.5px !important; color:rgba(255,255,255,.45) !important; }
#fesfaj-main-nav .fhdr-mega-body { display:grid !important; grid-template-columns:1fr 1fr !important; }
#fesfaj-main-nav .fhdr-mega-col { padding:20px 0 !important; }
#fesfaj-main-nav .fhdr-mega-col + .fhdr-mega-col { border-left:1px solid var(--fhdr-border) !important; }
#fesfaj-main-nav .fhdr-mega-col-head {
  font-size:9.5px !important; font-weight:700 !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; color:var(--fhdr-orange) !important;
  padding:0 20px 10px !important; border-bottom:1px solid var(--fhdr-border) !important;
  margin-bottom:4px !important; display:block !important;
}
#fesfaj-main-nav .fhdr-mega-link {
  display:flex !important; align-items:center !important; gap:10px !important;
  padding:9px 20px !important; transition:background .15s !important; text-decoration:none !important;
}
#fesfaj-main-nav .fhdr-mega-link:hover { background:var(--fhdr-cream) !important; }
#fesfaj-main-nav .fhdr-mega-icon {
  width:30px !important; height:30px !important; border-radius:7px !important;
  background:var(--fhdr-green-pale) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  flex-shrink:0 !important;
}
#fesfaj-main-nav .fhdr-mega-icon svg {
  width:14px !important; height:14px !important; stroke:var(--fhdr-green-mid) !important;
  fill:none !important; stroke-width:1.8 !important;
}
#fesfaj-main-nav .fhdr-mega-label {
  font-size:13px !important; font-weight:600 !important; color:var(--fhdr-ink) !important;
  line-height:1.2 !important; display:block !important;
}
#fesfaj-main-nav .fhdr-mega-desc {
  font-size:11px !important; color:var(--fhdr-muted) !important; margin-top:1px !important;
  display:block !important; white-space:nowrap !important; overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#fesfaj-main-nav .fhdr-mega-foot {
  border-top:1px solid var(--fhdr-border) !important; padding:12px 20px !important;
  background:var(--fhdr-cream) !important; display:flex !important; gap:8px !important; flex-wrap:wrap !important;
}
#fesfaj-main-nav .fhdr-mega-foot a {
  font-size:12px !important; font-weight:600 !important; color:var(--fhdr-green-mid) !important;
  padding:5px 12px !important; border-radius:99px !important; border:1px solid var(--fhdr-border) !important;
  transition:all .18s !important; display:flex !important; align-items:center !important; gap:5px !important;
  text-decoration:none !important; background:transparent !important;
}
#fesfaj-main-nav .fhdr-mega-foot a:hover {
  background:var(--fhdr-green-mid) !important; border-color:var(--fhdr-green-mid) !important; color:#fff !important;
}
#fesfaj-main-nav .fhdr-mega-foot a svg {
  width:11px !important; height:11px !important; stroke:currentColor !important;
  fill:none !important; stroke-width:2 !important;
}

/* SIMPLE DROPDOWN */
#fesfaj-main-nav .fhdr-simple {
  position:absolute !important; top:calc(100% + 8px) !important;
  left:50% !important; transform:translateX(-50%) translateY(-6px) !important;
  background:var(--fhdr-white) !important; border:1px solid var(--fhdr-border) !important;
  border-radius:var(--fhdr-r) !important; box-shadow:0 12px 36px rgba(13,51,32,.14) !important;
  min-width:200px !important; padding:6px !important;
  opacity:0 !important; pointer-events:none !important;
  transition:opacity .22s var(--fhdr-ease),transform .22s var(--fhdr-ease) !important;
  z-index:100000 !important;
}
#fesfaj-main-nav .fhdr-nav-item.fhdr-open .fhdr-simple {
  opacity:1 !important; pointer-events:all !important; transform:translateX(-50%) translateY(0) !important;
}
#fesfaj-main-nav .fhdr-simple a {
  display:block !important; font-family:var(--fhdr-sans) !important;
  font-size:13px !important; font-weight:500 !important; color:var(--fhdr-ink) !important;
  padding:9px 14px !important; border-radius:5px !important;
  transition:background .15s,color .15s !important; text-decoration:none !important;
}
#fesfaj-main-nav .fhdr-simple a:hover {
  background:var(--fhdr-cream) !important; color:var(--fhdr-green-mid) !important;
}

/* RIGHT SIDE */
#fesfaj-main-nav .fhdr-right {
  display:flex !important; align-items:center !important; gap:8px !important; flex-shrink:0 !important;
}
#fesfaj-main-nav .fhdr-cta {
  background:var(--fhdr-orange) !important; color:#fff !important;
  padding:9px 20px !important; border-radius:var(--fhdr-r) !important;
  font-family:var(--fhdr-sans) !important; font-size:13px !important; font-weight:600 !important;
  transition:background .2s !important; white-space:nowrap !important;
  text-decoration:none !important; display:inline-block !important; border:none !important;
}
#fesfaj-main-nav .fhdr-cta:hover { background:var(--fhdr-orange-lt) !important; color:#fff !important; }

/* HAMBURGER — rounded bordered box style */
#fesfaj-main-nav .fhdr-ham {
  display:none !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important;
  gap:5px !important;
  width:44px !important; height:44px !important;
  padding:0 !important; cursor:pointer !important;
  background:rgba(255,255,255,.07) !important;
  border:1.5px solid rgba(255,255,255,.25) !important;
  border-radius:10px !important;
  transition:background .2s, border-color .2s !important;
  flex-shrink:0 !important;
}
#fesfaj-main-nav .fhdr-ham:hover {
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.4) !important;
}
#fesfaj-main-nav .fhdr-ham span {
  display:block !important; width:20px !important; height:2px !important;
  background:#fff !important; border-radius:2px !important; transition:all .3s !important;
}
#fesfaj-main-nav .fhdr-ham.fhdr-ham-open span:nth-child(1) { transform:translateY(7px) rotate(45deg) !important; }
#fesfaj-main-nav .fhdr-ham.fhdr-ham-open span:nth-child(2) { opacity:0 !important; }
#fesfaj-main-nav .fhdr-ham.fhdr-ham-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg) !important; }

/* MOBILE DRAWER */
#fesfaj-nav-drawer {
  position:fixed !important; top:78px !important; left:0 !important; right:0 !important; bottom:0 !important;
  background:var(--fhdr-green-deep) !important; z-index:99998 !important;
  overflow-y:auto !important; border-top:1px solid rgba(255,255,255,.07) !important;
  padding:0 1.75rem 2rem !important;
  transform:translateX(100%) !important; transition:transform .32s var(--fhdr-ease) !important;
  font-family:var(--fhdr-sans) !important;
}
#fesfaj-nav-drawer.fhdr-drawer-open { transform:none !important; }
#fesfaj-nav-drawer .fhdr-drawer-section {
  border-bottom:1px solid rgba(255,255,255,.08) !important; padding:8px 0 !important;
}
#fesfaj-nav-drawer .fhdr-drawer-head {
  font-size:9.5px !important; font-weight:700 !important; letter-spacing:.15em !important;
  text-transform:uppercase !important; color:#7EDDA0 !important;
  padding:16px 0 8px !important; display:block !important;
}
#fesfaj-nav-drawer .fhdr-drawer-section a {
  display:block !important; font-size:15px !important; color:rgba(255,255,255,.72) !important;
  padding:11px 0 !important; border-bottom:1px solid rgba(255,255,255,.05) !important;
  transition:color .2s !important; text-decoration:none !important;
}
#fesfaj-nav-drawer .fhdr-drawer-section a:last-child { border-bottom:none !important; }
#fesfaj-nav-drawer .fhdr-drawer-section a:hover { color:#F5821F !important; }
#fesfaj-nav-drawer .fhdr-drawer-cta { padding-top:1.5rem !important; }
#fesfaj-nav-drawer .fhdr-drawer-cta a {
  display:block !important; background:#E8630A !important; color:#fff !important;
  text-align:center !important; border-radius:8px !important;
  font-size:15px !important; font-weight:600 !important; padding:15px !important;
  text-decoration:none !important; border-bottom:none !important;
}

/* RESPONSIVE */
@media (max-width: 820px) {
  #fesfaj-main-nav .fhdr-links  { display:none !important; }
  #fesfaj-main-nav .fhdr-ham    { display:flex !important; }
  #fesfaj-main-nav .fhdr-cta    { display:none !important; }
}
@media (max-width: 480px) {
  #fesfaj-main-nav .fhdr-inner  { padding:0 1rem !important; }
}
