@font-face {
  font-family: 'Kahroba';
  src: url('../../fonts/Kahroba-VF-FD.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-stretch: 87.5% 125%;
  font-style: normal;
  font-display: swap;
}

/* متغیرهای پایه */
:root {
  --kahroba-wght: 400;
  --kahroba-wdth: 95;
  --kahroba-cntr: 50;
}

@media (prefers-contrast: more) {
  :root {
    --kahroba-wght: 550;
    --kahroba-cntr: 65;
  }
}

@media (prefers-contrast: less) {
  :root {
    --kahroba-wght: 350;
    --kahroba-cntr: 35;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --kahroba-wght: 480;
  }
}

/* وسط‌چینی عمودی اجزای هدر */
.navbar .container {
  display: flex;
  align-items: center;
}

/* کلاس‌های پایه */
.text-default {
  font-weight: var(--kahroba-wght);
  font-variation-settings:
    "wght" var(--kahroba-wght),
    "wdth" var(--kahroba-wdth),
    "CNTR" var(--kahroba-cntr);
}

.text-heading {
  font-weight: calc(var(--kahroba-wght) + 250);
  font-variation-settings:
    "wght" calc(var(--kahroba-wght) + 250),
    "wdth" 105,
    "CNTR" 60;
}

.text-small {
  font-weight: calc(var(--kahroba-wght) - 50);
  font-variation-settings:
    "wght" calc(var(--kahroba-wght) - 50),
    "wdth" 90,
    "CNTR" 35;
}

/* بدنه */
body {
  font-family: 'Kahroba', Vazir, Tahoma, sans-serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  line-height: 1.8;
  color: #182128;
  background-color: #ffffff;
  font-weight: var(--kahroba-wght);
  font-variation-settings:
    "wght" var(--kahroba-wght),
    "wdth" var(--kahroba-wdth),
    "CNTR" var(--kahroba-cntr);
}

/* عناصر متنی عمومی */
p, li, span {
  font-weight: var(--kahroba-wght);
  font-variation-settings:
    "wght" var(--kahroba-wght),
    "wdth" var(--kahroba-wdth),
    "CNTR" var(--kahroba-cntr);
  margin-bottom: 1em;
  line-height: 1.6;
}

/* تیترها */
h1, h2, h3, .section-title {
  font-weight: calc(var(--kahroba-wght) + 250);
  font-variation-settings:
    "wght" calc(var(--kahroba-wght) + 250),
    "wdth" 105,
    "CNTR" 60;
  line-height: 1.3;
  margin-bottom: 0.8em;
}

/* سایز تیترها در دستگاه‌های مختلف */
@media (min-width: 768px) {
  h1, h2 {
    font-size: 2.2em;
    font-variation-settings:
      "wght" calc(var(--kahroba-wght) + 250),
      "wdth" 115,
      "CNTR" 65;
  }
}

@media (max-width: 767px) {
  h1, h2 {
    font-size: 1.8em;
    font-variation-settings:
      "wght" calc(var(--kahroba-wght) + 150),
      "wdth" 90,
      "CNTR" 50;
  }
}

/* متن‌های کوچک */
small, .caption {
  font-weight: calc(var(--kahroba-wght) - 50);
  font-variation-settings:
    "wght" calc(var(--kahroba-wght) - 50),
    "wdth" 90,
    "CNTR" 35;
  font-size: 0.875rem;
  line-height: 1.6;
}

/* پشتیبانی از مرورگرهای قدیمی */
@supports not (font-variation-settings: "wght" 400) {
  body {
    font-family: Vazir, Tahoma, sans-serif;
    font-weight: 500;
  }

  h1, h2, h3, .section-title {
    font-weight: 800;
  }

  small, .caption {
    font-weight: 350;
  }
}

/* فونت منو */
.nav-link {
  font-family: 'Kahroba', Vazir, Tahoma, sans-serif;
  font-size: 0.95em;
  line-height: 1.6;
  font-weight: var(--kahroba-wght);
  font-variation-settings:
    "wght" var(--kahroba-wght),
    "wdth" var(--kahroba-wdth),
    "CNTR" var(--kahroba-cntr);
}

.logo-container {
  height: 48px;
  max-width: 120px;
  width: auto;
  object-fit: contain;
  display: block;
}

@media (max-width: 768px) {
  .logo-container {
    height: 32px;
    max-width: 96px;
  }
}

/* جلوگیری از اسکرول افقی در موبایل و کنترل عناصر کشیده */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* کنترل لوگو و جلوگیری از کشیدگی */
.logo-container {
  max-width: 160px;
  display: block;
}

.logo-container img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* کنترل ردیف‌های بوت‌استرپ */
.container, .row, .hero-banner {
  max-width: 100vw;
  overflow-x: hidden;
}

.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* تنظیم فونت کهربا برای موبایل */
@media (max-width: 767px) {
  :root {
    --kahroba-wdth: 85;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* تنظیم فونت کهربا برای موبایل */
@media (max-width: 767px) {
  :root {
    --kahroba-wdth: 85;
  }

  body {
    font-size: 0.8rem; /* کاهش حدود 40٪ از 1rem */
    line-height: 1.6;
  }

  p, li, span {
    font-size: 0.625rem;
    line-height: 1.5;
  }

@media (max-width: 767px) {
  .hero-banner {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background-position: top center !important;
    background-size: 100% auto !important; /* جلوگیری از کراپ در Firefox موبایل */
    position: relative;
    z-index: 1;
  }

  .navbar {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 3px solid #7a6538 !important;
    position: relative;
    z-index: 2;
  }

  .navbar + .hero-banner {
    margin-top: -3px !important; /* هم‌پوشانی با خط زیر هدر */
  }

  .navbar {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
.navbar + .hero-banner {
  margin-top: -3px !important; /* هم‌پوشانی با خط زیر هدر */
}

@media (max-width: 767px) {
  .navbar {
    border-bottom: 3px solid #7a6538 !important;
    z-index: 2;
    position: relative;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .navbar + .hero-banner {
    margin-top: -3px !important;
  }

  .hero-banner {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background-position: top center !important;
    background-size: cover !important;
    z-index: 1;
    position: relative;
  }
  @supports (-moz-user-select: none) {
  .hero-banner {
    background-size: 100% auto !important;
  }
}

