/*
 * Ngo-Alshula-sa v4.2.4
 * Enterprise Header + Navigation rebuild
 * الهدف: منع تكدس القوائم، إخفاء القوائم الفرعية افتراضياً، وتحسين تجربة الجوال.
 */
:root{
  --ngo-header-height: 86px;
  --ngo-header-bg: rgba(255,255,255,.96);
  --ngo-header-line: rgba(226,232,240,.95);
  --ngo-nav-text: #23324a;
  --ngo-nav-soft: #fff7ed;
  --ngo-nav-shadow: 0 18px 50px rgba(15,23,42,.12);
}

.ngo-site-header{
  background: var(--ngo-header-bg) !important;
  border-bottom: 1px solid var(--ngo-header-line) !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.045) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.ngo-header-inner{
  min-height: var(--ngo-header-height) !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 22px !important;
  align-items: center !important;
}

.ngo-brand{
  min-width: 190px;
  max-width: 300px;
  padding: 8px 0;
}

.ngo-brand-logo img,
.custom-logo{
  max-height: 58px !important;
  width: auto !important;
}

.ngo-brand-name{
  font-size: 1.05rem !important;
  line-height: 1.35;
  color: var(--ngo-dark);
}

.ngo-brand-tagline{
  max-width: 210px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Desktop navigation: one clean row, submenus hidden until hover/focus */
.ngo-main-menu{
  justify-self: center;
  min-width: 0;
  max-width: 100%;
}

.ngo-main-menu ul{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ngo-main-menu > div > ul,
.ngo-main-menu > ul{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  min-width: 0;
}

.ngo-main-menu li{
  position: relative !important;
  list-style: none !important;
  min-width: 0;
}

.ngo-main-menu > div > ul > li,
.ngo-main-menu > ul > li{
  display: inline-flex !important;
  align-items: center;
}

.ngo-main-menu a{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  color: var(--ngo-nav-text) !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.ngo-main-menu a:hover,
.ngo-main-menu a:focus,
.ngo-main-menu .current-menu-item > a,
.ngo-main-menu .current-menu-ancestor > a{
  background: var(--ngo-nav-soft) !important;
  color: var(--ngo-primary) !important;
  box-shadow: 0 8px 22px rgba(255,90,0,.10);
  transform: translateY(-1px);
  outline: none;
}

/* Desktop submenu / dropdown */
@media (min-width: 901px){
  .ngo-mobile-toggle,
  .ngo-submenu-toggle{
    display: none !important;
  }

  .ngo-main-menu .sub-menu,
  .ngo-main-menu .children{
    display: grid !important;
    position: absolute !important;
    top: calc(100% + 12px) !important;
    inset-inline-start: 0 !important;
    min-width: 245px !important;
    max-width: 330px;
    padding: 10px !important;
    border: 1px solid var(--ngo-border) !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: var(--ngo-nav-shadow) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px) scale(.98);
    transition: opacity .18s ease,transform .18s ease,visibility .18s ease;
    z-index: 999;
  }

  .ngo-main-menu li:hover > .sub-menu,
  .ngo-main-menu li:focus-within > .sub-menu,
  .ngo-main-menu li:hover > .children,
  .ngo-main-menu li:focus-within > .children{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .ngo-main-menu .sub-menu:before,
  .ngo-main-menu .children:before{
    content: "";
    position: absolute;
    top: -8px;
    inset-inline-start: 28px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-top: 1px solid var(--ngo-border);
    border-inline-start: 1px solid var(--ngo-border);
    transform: rotate(45deg);
  }

  .ngo-main-menu .sub-menu li,
  .ngo-main-menu .children li{
    display: block !important;
  }

  .ngo-main-menu .sub-menu a,
  .ngo-main-menu .children a{
    width: 100%;
    justify-content: flex-start;
    min-height: 40px;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    white-space: normal !important;
    text-align: start;
    font-size: .88rem !important;
    color: #334155 !important;
  }

  .ngo-main-menu .sub-menu .sub-menu,
  .ngo-main-menu .children .children{
    top: 0 !important;
    inset-inline-start: calc(100% + 10px) !important;
  }

  .ngo-main-menu > div > ul > li.menu-item-has-children > a:after,
  .ngo-main-menu > ul > li.menu-item-has-children > a:after{
    content: "⌄";
    font-size: .8rem;
    margin-inline-start: 6px;
    opacity: .75;
  }
}

/* Tablet: keep header readable by allowing nav to scroll horizontally instead of crushing */
@media (min-width:901px) and (max-width:1180px){
  .ngo-header-inner{
    grid-template-columns: auto minmax(0,1fr);
    gap: 14px !important;
  }
  .ngo-main-menu{
    justify-self: stretch;
    overflow-x: auto;
    scrollbar-width: thin;
    padding-block: 6px;
  }
  .ngo-main-menu > div > ul,
  .ngo-main-menu > ul{
    justify-content: flex-start !important;
    width: max-content;
    min-width: 100%;
  }
  .ngo-main-menu a{
    font-size: .82rem !important;
    padding-inline: 10px !important;
  }
}

/* Mobile/offcanvas navigation */
@media (max-width:900px){
  :root{--ngo-header-height: 74px;}

  .ngo-header-inner{
    grid-template-columns: minmax(0,1fr) auto !important;
    min-height: var(--ngo-header-height) !important;
    gap: 12px !important;
  }

  .ngo-brand{
    min-width: 0;
    max-width: none;
  }

  .ngo-brand-logo img,
  .custom-logo{
    max-height: 48px !important;
  }

  .ngo-brand-text{
    min-width: 0;
  }

  .ngo-brand-name{
    font-size: .98rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100vw - 160px);
  }

  .ngo-brand-tagline{
    display: none !important;
  }

  .ngo-mobile-toggle{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 46px;
    height: 46px;
    padding: 0 !important;
    border: 1px solid rgba(255,90,0,.16) !important;
    border-radius: 16px !important;
    background: #fff7ed !important;
    color: var(--ngo-primary) !important;
    box-shadow: 0 10px 24px rgba(255,90,0,.12);
    font-size: 0 !important;
  }

  .ngo-mobile-toggle:after{
    content: "☰" !important;
    font-size: 1.4rem !important;
    line-height: 1;
    font-weight: 900;
  }

  .ngo-mobile-toggle.is-active:after{
    content: "×" !important;
    font-size: 1.7rem !important;
  }

  .ngo-main-menu{
    display: block !important;
    position: fixed !important;
    top: calc(var(--ngo-header-height) + 12px) !important;
    right: 12px !important;
    left: 12px !important;
    max-height: calc(100dvh - var(--ngo-header-height) - 34px) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    padding: 14px !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 28px 80px rgba(15,23,42,.22) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.98);
    transition: opacity .18s ease,transform .18s ease,visibility .18s ease;
    z-index: 1000;
  }

  .admin-bar .ngo-main-menu{
    top: calc(var(--ngo-header-height) + 58px) !important;
  }

  .ngo-main-menu.is-open{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .ngo-main-menu > div > ul,
  .ngo-main-menu > ul,
  .ngo-main-menu ul{
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .ngo-main-menu li{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .ngo-main-menu li > a{
    grid-column: 1;
    width: 100%;
    justify-content: flex-start;
    min-height: 48px !important;
    padding: 13px 14px !important;
    border: 1px solid #eef2f7;
    border-radius: 16px !important;
    background: #fff;
    color: #1f2937 !important;
    font-size: .96rem !important;
    white-space: normal !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.035);
  }

  .ngo-submenu-toggle{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    grid-column: 2;
    width: 46px !important;
    height: 46px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 16px !important;
    background: #fff7ed !important;
    color: var(--ngo-primary) !important;
    font-weight: 900;
    cursor: pointer;
  }

  .ngo-submenu-toggle span[aria-hidden="true"]{
    transition: transform .18s ease;
  }

  .is-submenu-open > .ngo-submenu-toggle span[aria-hidden="true"]{
    transform: rotate(180deg);
  }

  .ngo-main-menu li > ul,
  .ngo-main-menu .sub-menu,
  .ngo-main-menu .children{
    grid-column: 1 / -1;
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 1px solid #eef2f7 !important;
    border-radius: 18px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .ngo-main-menu li.is-submenu-open > ul{
    display: grid !important;
  }

  .ngo-main-menu li > ul a{
    min-height: 42px !important;
    font-size: .9rem !important;
    background: #fff !important;
    box-shadow: none;
  }

  .ngo-mobile-menu-open body,
  html.ngo-mobile-menu-open{
    overflow: hidden;
  }
}
