/* STEP 1931 — Premium bilingual header.
   Presentation only. Existing HTML links and forms preserved. */

header.nav:has(> nav):has(> .mobile-menu-btn) {
  box-sizing:border-box !important;
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  inset-block-start:0 !important;
  z-index:6000 !important;
  width:100% !important;
  height:auto !important;
  min-height:112px !important;
  padding:12px clamp(16px,3vw,48px) 10px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-rows:48px auto;
  column-gap:14px !important;
  row-gap:10px !important;
  align-items:center !important;
  background:rgba(6,14,10,.97) !important;
  border-bottom:1px solid rgba(83,158,108,.26) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.20);
  backdrop-filter:blur(16px);
  flex-wrap:nowrap !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > .brand {
  grid-column:1;
  grid-row:1;
  justify-self:start;
  flex-shrink:0;
  white-space:nowrap;
  font-size:15px !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > .actions {
  grid-column:3;
  grid-row:1;
  justify-self:end;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:9px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > .language-switcher,
header.nav:has(> nav):has(> .mobile-menu-btn) > .crs-auth-language,
header.nav:has(> nav):has(> .mobile-menu-btn) > .crs-fa-language {
  grid-column:2;
  grid-row:1;
  justify-self:end;
  position:relative;
  margin:0 !important;
  flex:0 0 auto !important;
  z-index:10;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > nav {
  grid-column:1 / -1;
  grid-row:2;
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:clamp(10px,1.6vw,28px) !important;
  margin:0 !important;
  padding:8px 0 0 !important;
  min-width:0 !important;
  width:100% !important;
  border-top:1px solid rgba(125,177,138,.13);
  overflow:visible !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > nav > a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 10px !important;
  border-radius:9px;
  font-size:13px !important;
  font-weight:600;
  line-height:1.5 !important;
  white-space:nowrap !important;
  color:#cbd9cf;
  text-decoration:none;
  transition:background .15s,color .15s;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > nav > a:hover,
header.nav:has(> nav):has(> .mobile-menu-btn) > nav > a.nav-active {
  background:rgba(75,213,119,.11);
  color:#83f2a5 !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > nav > a.nav-screener-link {
  background:rgba(55,187,104,.15);
  border:1px solid rgba(81,221,127,.30);
  color:#83f2a5 !important;
  padding:6px 12px !important;
}

header.nav:has(> nav):has(> .mobile-menu-btn) > .mobile-menu-btn {
  display:none !important;
}

html[dir="rtl"] header.nav:has(> nav):has(> .mobile-menu-btn),
html[lang="fa"] header.nav:has(> nav):has(> .mobile-menu-btn),
html[lang="fa-IR"] header.nav:has(> nav):has(> .mobile-menu-btn) {
  direction:rtl !important;
}

html[dir="rtl"] header.nav:has(> nav):has(> .mobile-menu-btn) > .brand,
html[lang="fa"] header.nav:has(> nav):has(> .mobile-menu-btn) > .brand,
html[lang="fa-IR"] header.nav:has(> nav):has(> .mobile-menu-btn) > .brand {
  direction:ltr !important;
  justify-self:start;
}

html[lang="fa-IR"] body {
  padding-top:0 !important;
}

@media(max-width:1100px) {
  header.nav:has(> nav):has(> .mobile-menu-btn) {
    min-height:70px !important;
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-rows:auto;
    padding:10px 14px !important;
    row-gap:0 !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn) > .brand {
    grid-column:1;
    grid-row:1;
    font-size:12px !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn) > .mobile-menu-btn {
    display:flex !important;
    grid-column:3;
    grid-row:1;
    justify-self:end;
    margin:0 !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn) > .language-switcher,
  header.nav:has(> nav):has(> .mobile-menu-btn) > .crs-auth-language,
  header.nav:has(> nav):has(> .mobile-menu-btn) > .crs-fa-language {
    grid-column:2;
    grid-row:1;
    margin:0 !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn):not(.mobile-open) > nav,
  header.nav:has(> nav):has(> .mobile-menu-btn):not(.mobile-open) > .actions {
    display:none !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn).mobile-open {
    grid-template-rows:auto auto auto;
    row-gap:10px !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn).mobile-open > nav {
    grid-column:1 / -1;
    grid-row:2;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:3px !important;
    padding:10px 0 !important;
    width:100% !important;
    max-height:55vh;
    overflow-y:auto !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn).mobile-open > nav > a {
    justify-content:flex-start;
    padding:11px 12px !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn).mobile-open > .actions {
    grid-column:1 / -1;
    grid-row:3;
    display:flex !important;
    flex-wrap:wrap !important;
    width:100% !important;
    justify-content:center !important;
    border-top:1px solid rgba(125,177,138,.13);
    padding-top:10px !important;
  }
}

@media(max-width:420px) {
  header.nav:has(> nav):has(> .mobile-menu-btn) > .brand {
    font-size:10px !important;
  }

  header.nav:has(> nav):has(> .mobile-menu-btn) {
    column-gap:6px !important;
  }
}


/* STEP 1936: Remove legacy fixed-header spacing on English homepage. */
html[lang="en"] body:has(> main#top):has(> header.nav) {
  padding-top:0 !important;
  margin-top:0 !important;
}

html[lang="en"] body:has(> main#top) > header.nav:has(> nav):has(> .mobile-menu-btn) {
  margin-top:0 !important;
  top:0 !important;
}

html[lang="en"] body:has(> main#top) {
  scroll-padding-top:125px;
}


/* STEP 1938: Remove legacy fixed-header offset on premium pages. */

html:has(body > header.nav:has(> nav):has(> .mobile-menu-btn)) {
  scroll-padding-top:125px;
}

html body:has(> header.nav:has(> nav):has(> .mobile-menu-btn)) {
  padding-top:0 !important;
  margin-top:0 !important;
}

html body > header.nav:has(> nav):has(> .mobile-menu-btn) {
  position:sticky !important;
  top:0 !important;
  margin-top:0 !important;
  transform:none !important;
}


/* STEP 1939: Prevent pull-down overscroll revealing white space. */

html:has(body > header.nav:has(> nav):has(> .mobile-menu-btn)) {
  overscroll-behavior-y: none;
  background-color: #07110b;
}

html body:has(> header.nav:has(> nav):has(> .mobile-menu-btn)) {
  overscroll-behavior-y: none;
}



/* STEP 1943: Verified browser overscroll correction. */
html {
  overscroll-behavior-y: none !important;
  background-color: #07110b !important;
}

body {
  overscroll-behavior-y: none !important;
  background-color: #07110b !important;
}


/* STEP 2117: PREMIUM HEADER TOP GAP FIX */

/* Eliminate inherited page-specific top offsets. */
html:has(body > header.nav:has(> nav):has(> .mobile-menu-btn)),
html:has(body > header.nav:has(> nav):has(> .mobile-menu-btn)) body {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body > header.nav:has(> nav):has(> .mobile-menu-btn) {
    margin-top: 0 !important;
    top: 0 !important;
}

/* Avoid affecting page content or changing the header design. */


/* STEP 2172: Shared premium-header top-gap correction.
   Browser-tested at desktop and mobile widths.
   Preserve header dimensions and existing page content. */
html body:has(> header.nav) {
    padding-top: 0 !important;
}
