/* Canonical Nabz Codal navbar. All pages use companies/partials/_navbar.html. */
:root { --nc-navbar-height: 4.5rem; }

.nc-sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.nc-skip {
  position: fixed; inset-block-start: .6rem; inset-inline-start: .8rem; z-index: 1002;
  translate: 0 -180%; padding: .65rem .9rem; border-radius: .7rem; background: #0e34fa;
  color: #fff !important; font: 800 .78rem/1.2 Vazirmatn, Tahoma, sans-serif; text-decoration: none;
}
.nc-skip:focus { translate: 0 0; }

.nc-navbar {
  position: sticky; inset-block-start: 0; z-index: 1000; min-height: var(--nc-navbar-height);
  border-block-end: 1px solid color-mix(in srgb, var(--border-default) 90%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 94%, transparent);
  box-shadow: 0 1px 0 rgb(14 52 250 / .025), var(--shadow-sm);
  color: var(--text-primary); font-family: Vazirmatn, Tahoma, sans-serif; backdrop-filter: blur(18px) saturate(145%);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
}
.nc-navbar *, .nc-navbar *::before, .nc-navbar *::after { box-sizing: border-box; }
.nc-navbar__inner {
  width: min(100% - 2rem, 92rem); min-height: var(--nc-navbar-height); margin-inline: auto;
  display: flex; align-items: center; gap: 1rem;
}
.nc-navbar a { text-decoration: none; }
.nc-navbar__brand {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: .65rem; min-width: max-content;
  color: var(--text-strong) !important;
}
.nc-navbar__brand img { width: 2.55rem; height: 2.55rem; object-fit: contain; filter: drop-shadow(0 3px 7px rgb(14 52 250 / .13)); }
.nc-navbar__brand span { display: grid; line-height: 1.08; }
.nc-navbar__brand strong { font-size: .98rem; font-weight: 900; letter-spacing: -.025em; }
.nc-navbar__brand small { margin-block-start: .28rem; color: var(--text-muted); font: 700 .48rem/1.1 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; direction: ltr; }

.nc-navbar__panel { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: clamp(.7rem, 1.3vw, 1.25rem); }
.nc-navbar__links { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: .12rem; }
.nc-navbar__links > a, .nc-navbar__login {
  position: relative; display: inline-flex; align-items: center; min-height: 2.5rem; padding: .55rem .58rem;
  border-radius: .7rem; color: var(--text-secondary) !important; font-size: clamp(.68rem, .74vw, .78rem); font-weight: 750;
  white-space: nowrap; transition: color .18s ease, background-color .18s ease;
}
.nc-navbar__links > a:hover, .nc-navbar__login:hover { color: var(--text-strong) !important; background: var(--hover-surface); }
.nc-navbar__links > a.is-active, .nc-navbar__links > a[aria-current="page"] { color: #0e34fa !important; background: var(--brand-soft); }
.nc-navbar__links > a.is-active::after, .nc-navbar__links > a[aria-current="page"]::after {
  content: ""; position: absolute; inset-inline: .7rem; inset-block-end: .16rem; height: 2px; border-radius: 99px; background: #0e34fa;
}

.nc-navbar__search { position: relative; flex: 0 1 15rem; min-width: 9.5rem; }
.nc-navbar__search-icon {
  position: absolute; inset-inline-start: .72rem; inset-block-start: 50%; translate: 0 -50%; z-index: 2;
  display: block; width: 1.08rem; height: 1.08rem; overflow: visible; pointer-events: none;
  color: var(--text-muted); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.nc-navbar__search input {
  width: 100%; height: 2.55rem; padding-block: .5rem; padding-inline: 2.35rem .8rem; border: 1px solid var(--border-default);
  border-radius: .78rem; outline: 0; background: var(--bg-surface-secondary); color: var(--text-primary);
  font: 650 .74rem/1.2 Vazirmatn, Tahoma, sans-serif; box-shadow: inset 0 1px 0 rgb(255 255 255 / .04);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.nc-navbar__search input::placeholder { color: var(--text-muted); opacity: .9; }
.nc-navbar__search input:focus { border-color: #0e34fa; background: var(--bg-surface); box-shadow: 0 0 0 3px rgb(14 52 250 / .13); }
.nc-navbar__search:focus-within .nc-navbar__search-icon { color: #0e34fa; }
.nc-navbar__results {
  position: absolute; inset-block-start: calc(100% + .55rem); inset-inline: 0; z-index: 1003; overflow: hidden;
  min-width: 18rem; padding: .35rem; border: 1px solid var(--border-default); border-radius: .9rem;
  background: var(--bg-elevated); box-shadow: var(--shadow-lg); color: var(--text-primary);
}
.nc-navbar__results[hidden] { display: none; }
.nc-navbar__result { display: flex; align-items: center; gap: .65rem; padding: .62rem .7rem; border-radius: .62rem; color: var(--text-primary) !important; }
.nc-navbar__result:hover, .nc-navbar__result:focus-visible { background: var(--hover-surface); outline: 0; }
.nc-navbar__result b { min-width: 3.5rem; color: #0e34fa; font-size: .78rem; }
.nc-navbar__result small { overflow: hidden; color: var(--text-secondary); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.nc-navbar__empty { padding: .75rem; color: var(--text-muted); font-size: .7rem; text-align: center; }

.nc-navbar__account { flex: 0 0 auto; display: flex; align-items: center; gap: .35rem; }
.nc-navbar__register {
  display: inline-flex; align-items: center; justify-content: center; min-height: 2.55rem; padding: .55rem .9rem;
  border-radius: .75rem; background: #0e34fa; color: #fff !important; font-size: .74rem; font-weight: 850;
  box-shadow: 0 5px 14px rgb(14 52 250 / .18); transition: background-color .18s ease, translate .18s ease;
}
.nc-navbar__register:hover { background: #0928c7; translate: 0 -1px; }
.nc-user-menu { position: relative; }
.nc-user-menu summary {
  display: flex; align-items: center; gap: .48rem; min-height: 2.65rem; padding: .28rem .35rem .28rem .58rem;
  border: 1px solid var(--border-default); border-radius: .8rem; background: var(--bg-surface-secondary); color: var(--text-primary);
  cursor: pointer; list-style: none; user-select: none;
}
.nc-user-menu summary::-webkit-details-marker { display: none; }
.nc-user-menu summary:hover, .nc-user-menu.is-active summary { border-color: color-mix(in srgb, #0e34fa 45%, var(--border-default)); background: var(--hover-surface); }
.nc-user-menu__avatar {
  display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: .58rem;
  background: #0e34fa; color: #fff; font-size: .74rem; font-weight: 900;
}
.nc-user-menu__label { display: grid; max-width: 7.5rem; line-height: 1.15; }
.nc-user-menu__label b { color: var(--text-strong); font-size: .7rem; }
.nc-user-menu__label small { overflow: hidden; margin-block-start: .18rem; color: var(--text-muted); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.nc-user-menu summary > svg { width: .75rem; height: .75rem; fill: none; stroke: var(--text-muted); stroke-width: 1.8; transition: rotate .18s ease; }
.nc-user-menu[open] summary > svg { rotate: 180deg; }
.nc-user-menu__dropdown {
  position: absolute; inset-block-start: calc(100% + .55rem); inset-inline-end: 0; z-index: 1004; min-width: 13.5rem;
  padding: .42rem; border: 1px solid var(--border-default); border-radius: .9rem; background: var(--bg-elevated); box-shadow: var(--shadow-lg);
}
.nc-user-menu__identity { display: grid; gap: .18rem; margin: .1rem .15rem .38rem; padding: .58rem .62rem; border-block-end: 1px solid var(--border-subtle); }
.nc-user-menu__identity b { color: var(--text-strong); font-size: .72rem; }
.nc-user-menu__identity small { color: var(--text-muted); font-size: .63rem; direction: ltr; text-align: right; }
.nc-user-menu__dropdown > a, .nc-user-menu__dropdown form button {
  display: flex; width: 100%; align-items: center; min-height: 2.25rem; padding: .48rem .62rem; border: 0; border-radius: .58rem;
  background: transparent; color: var(--text-secondary) !important; font: 750 .7rem/1.3 Vazirmatn, Tahoma, sans-serif; text-align: right; cursor: pointer;
}
.nc-user-menu__dropdown > a:hover, .nc-user-menu__dropdown > a[aria-current="page"], .nc-user-menu__dropdown form button:hover { background: var(--hover-surface); color: var(--text-strong) !important; }
.nc-user-menu__dropdown > a[aria-current="page"] { color: #0e34fa !important; }
.nc-user-menu__dropdown > .nc-user-menu__admin { color: #0e34fa !important; }
.nc-user-menu__dropdown form { margin-block-start: .3rem; padding-block-start: .3rem; border-block-start: 1px solid var(--border-subtle); }
.nc-user-menu__dropdown form button { color: var(--danger-text) !important; }

.nc-navbar__toggle { display: none; }
.nc-navbar a:focus-visible, .nc-navbar button:focus-visible, .nc-navbar summary:focus-visible, .nc-navbar input:focus-visible, .nc-skip:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--focus-ring) 36%, transparent); outline-offset: 2px;
}
.nc-navbar + header[class*="sticky"], .nc-navbar + header[class*="page-header"] { inset-block-start: var(--nc-navbar-height) !important; }

html[data-market-theme="dark"] .nc-navbar { background: color-mix(in srgb, var(--bg-surface) 94%, transparent); box-shadow: 0 1px 0 rgb(255 255 255 / .025), 0 9px 24px rgb(0 0 0 / .14); }
html[data-market-theme="dark"] .nc-navbar__links > a.is-active,
html[data-market-theme="dark"] .nc-navbar__links > a[aria-current="page"],
html[data-market-theme="dark"] .nc-navbar__result b,
html[data-market-theme="dark"] .nc-user-menu__dropdown > a[aria-current="page"],
html[data-market-theme="dark"] .nc-user-menu__dropdown > .nc-user-menu__admin { color: #a9b7ff !important; }

@media (max-width: 1180px) {
  .nc-navbar__inner { width: min(100% - 1.25rem, 92rem); gap: .65rem; }
  .nc-navbar__brand span small { display: none; }
  .nc-navbar__links > a { padding-inline: .42rem; }
  .nc-navbar__search { flex-basis: 11.5rem; }
  .nc-user-menu__label { display: none; }
}

@media (max-width: 900px) {
  :root { --nc-navbar-height: 4.15rem; }
  .nc-navbar__inner { position: relative; justify-content: space-between; min-height: var(--nc-navbar-height); }
  .nc-navbar__brand img { width: 2.3rem; height: 2.3rem; }
  .nc-navbar__toggle {
    display: inline-grid; place-content: center; gap: 4px; width: 2.65rem; height: 2.65rem; padding: 0;
    border: 1px solid var(--border-default); border-radius: .78rem; background: var(--bg-surface-secondary); color: var(--text-primary); cursor: pointer;
  }
  .nc-navbar__toggle span { display: block; width: 1.15rem; height: 2px; border-radius: 9px; background: currentColor; transition: rotate .18s ease, translate .18s ease, opacity .18s ease; }
  .nc-navbar__toggle[aria-expanded="true"] span:nth-child(1) { translate: 0 6px; rotate: 45deg; }
  .nc-navbar__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nc-navbar__toggle[aria-expanded="true"] span:nth-child(3) { translate: 0 -6px; rotate: -45deg; }
  .nc-navbar__panel {
    position: absolute; inset-block-start: calc(100% + 1px); inset-inline: -.625rem; display: none; max-height: calc(100vh - var(--nc-navbar-height) - 1rem);
    overflow-y: auto; padding: .75rem; border-block-end: 1px solid var(--border-default); border-radius: 0 0 1rem 1rem;
    background: var(--bg-surface); box-shadow: var(--shadow-lg);
  }
  .nc-navbar.is-open .nc-navbar__panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .65rem; }
  .nc-navbar__links { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
  .nc-navbar__links > a { justify-content: center; text-align: center; }
  .nc-navbar__search { grid-column: 1; width: 100%; min-width: 0; }
  .nc-navbar__account { grid-column: 2; }
  .nc-navbar__search input { height: 2.65rem; }
  .nc-navbar__results { inset-inline-end: auto; width: min(27rem, calc(100vw - 1.5rem)); min-width: 0; }
  .nc-user-menu__label { display: grid; }
}

@media (max-width: 560px) {
  .nc-navbar__inner { width: calc(100% - 1rem); }
  .nc-navbar__brand strong { font-size: .9rem; }
  .nc-navbar.is-open .nc-navbar__panel { grid-template-columns: 1fr; inset-inline: -.5rem; }
  .nc-navbar__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nc-navbar__search, .nc-navbar__account { grid-column: 1; }
  .nc-navbar__account { justify-content: stretch; }
  .nc-navbar__login, .nc-navbar__register { flex: 1; justify-content: center; }
  .nc-user-menu { width: 100%; }
  .nc-user-menu summary { justify-content: center; }
  .nc-user-menu__dropdown { position: static; margin-block-start: .45rem; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-navbar *, .nc-skip { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
