/* ناد هنر — هدر چسبان هوشمند دسکتاپ (همراه assets/js/smart-sticky.js)
   چسباندن با position: sticky خود مرورگر است: کل هدر می‌چسبد ولی با top منفی
   فقط ردیف منو دیده می‌شود. چون جای هدر در صفحه هیچ‌وقت عوض نمی‌شود، رفتن
   از حالت عادی به چسبیده و برعکس بدون پرش و محو شدن است. */

@media (min-width: 1200px) {
  header.rbt-header.nh-smart-sticky {
    position: sticky;
    top: var(--nh-sticky-top, -80px);
    z-index: 999;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  }

  /* کنار رفتن با اسکرول به پایین؛ برگشتن با اسکرول به بالا */
  header.rbt-header.nh-smart-sticky.nh-sticky-hidden {
    transform: translateY(-100%);
  }

  /* اسکریپت برای پیدا کردن جای اصلی هدر یک لحظه چسبندگی را خاموش می‌کند */
  header.rbt-header.nh-smart-sticky.nh-measuring {
    position: relative;
    transform: none;
    transition: none;
  }

  header.rbt-header.nh-stuck .rbt-header-wrapper {
    box-shadow: var(--shadow-1);
  }
}

/* ---------- ابزارهای هدر چسبیده: حساب کاربری (راست) و جستجو (چپ) ----------
   فقط وقتی ردیف بالای هدر (لوگو، جستجو و حساب) از صفحه بیرون رفته دیده می‌شوند. */
.nh-sticky-tool {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility 0s linear .2s;
}
.nh-stuck .nh-sticky-tool {
  opacity: 1;
  visibility: visible;
  transition: opacity .2s ease, visibility 0s;
}
.nh-sticky-tool--account { right: 0; }
.nh-sticky-tool--search { left: 0; }

.nh-sticky-tool .quick-access {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
.nh-sticky-tool .quick-access > li { margin: 0; }
/* line-height: 36px در custom.css آیکون را در دایرهٔ ۴۰ پیکسلی ۶ پیکسل بالاتر از وسط
   می‌نشاند؛ با flex، آیکون دقیقاً وسط دکمه قرار می‌گیرد */
.nh-sticky-tool .quick-access > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
}
.nh-sticky-tool .quick-access > li > a i {
  display: block;
  line-height: 1;
}

/* منوی کشویی جستجو (که از آیکون هدر چسبیده باز می‌شود) z-index: 104 داشت و روی
   زیرمنوهای منو (90) و منوی آیکون کاربر (داخل ابزار با z-index: 2) می‌نشست؛ با باز
   بودن جستجو، زیرمنوها زیرش پنهان می‌ماندند. یک لایه پایین‌تر از آن‌ها می‌رود؛ هنوز
   روی محتوای صفحه است چون کل هدر لایهٔ بالاتری دارد. */
header.rbt-header .rbt-search-dropdown {
  z-index: 1;
}

/* custom.css زیر ردیف منو ۶ پیکسل فاصله می‌گذارد و هیچ‌چیز بالا؛ متن منو ۳ پیکسل بالاتر
   از وسط نوار می‌نشست. همان ۶ پیکسل نصف بالا و نصف پایین می‌شود، پس ارتفاع نوار
   عوض نمی‌شود (پرش ندارد) و منو و آیکون‌ها دقیقاً وسط قرار می‌گیرند. */
@media (min-width: 1200px) {
  header.rbt-header .rbt-header-wrapper .container-fluid {
    padding-top: 3px;
    padding-bottom: 3px;
  }

  /* خط زیر نوار وقتی جستجو باز است: حاشیهٔ بالای منوی جستجو، و در هدر چسبیده یک درز
     یک‌پیکسلی (گرد شدن ارتفاع اعشاری هدر) که لایهٔ تیرهٔ پشت صفحه از آن دیده می‌شد.
     منو بی‌حاشیه است و یک پیکسل زیر نوار می‌رود تا درزی نماند. */
  header.rbt-header .rbt-search-dropdown {
    border-top: 0;
    top: calc(100% - 1px);
  }
}

/* قالب هنگام باز بودن جستجو اسکرول صفحه را قفل می‌کند (overflow-y: hidden روی html) و
   نوار اسکرول حذف می‌شود؛ صفحه پهن‌تر می‌شد و با بستن جستجو همه‌چیز به پهلو می‌پرید.
   جای نوار اسکرول خالی می‌ماند، پس عرض صفحه در هر دو حالت یکی است. */
html.scroll-behavior-off {
  scrollbar-gutter: stable;
}
/* برچسب متنی کنار آیکون کاربر در نوار باریک جا ندارد */
.nh-sticky-tool .rbt-user-label { display: none !important; }
/* خط جداکنندهٔ قالب کنار آیکون کاربر (برای کاربر واردنشده)؛ در هدر بالا آن را از
   دکمهٔ «حساب من» جدا می‌کند ولی در نوار چسبان کنارش چیزی نیست */
.nh-sticky-tool .quick-access > li.account-access::after { display: none; }

/* زیر ۱۲۸۰ پیکسل کنار منو کمتر از عرض آیکون جا می‌ماند؛ فاصلهٔ آیتم‌های
   میانی منو کمی کم می‌شود تا آیکون‌ها روی منو نیفتند. همیشه (نه فقط در
   حالت چسبیده)، وگرنه لحظهٔ چسبیدن متن منو به چپ و راست می‌پرید. */
@media (min-width: 1200px) and (max-width: 1279px) {
  .rbt-header-wrapper .mainmenu-nav .mainmenu > li:not(:first-child):not(:last-child) > a {
    padding-left: 11px;
    padding-right: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  header.rbt-header.nh-smart-sticky,
  .nh-sticky-tool,
  .nh-stuck .nh-sticky-tool { transition: none; }
}
