@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --cm-font-fa: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --cm-font-en: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --cm-font-code: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Persian typography rules (let theme control text color) */
html[dir="rtl"],
body[dir="rtl"],
[lang="fa"] {
  font-family: var(--cm-font-fa) !important;
  text-align: right;
  letter-spacing: normal;
}

[lang="fa"] .md-typeset h1,
[lang="fa"] .md-typeset h2,
[lang="fa"] .md-typeset h3,
[lang="fa"] .md-typeset h4 {
  font-family: var(--cm-font-fa) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* English typography and LTR rules (let theme control text color) */
html[dir="ltr"],
body[dir="ltr"],
[lang="en"],
[lang="en"] .md-typeset {
  font-family: var(--cm-font-en) !important;
  text-align: left !important;
  direction: ltr !important;
}

[lang="en"] .md-typeset h1,
[lang="en"] .md-typeset h2,
[lang="en"] .md-typeset h3,
[lang="en"] .md-typeset h4 {
  font-family: var(--cm-font-en) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-align: left !important;
}

/* Code typography and LTR enforcement */
.md-typeset code,
.md-typeset pre,
.highlight,
code {
  font-family: var(--cm-font-code) !important;
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: embed;
}

/* ---------------------------------------------------- */
/* LIGHT MODE (default)                                 */
/* ---------------------------------------------------- */
[data-md-color-scheme="default"] .md-header {
  background-color: #ffffff !important;
  color: #1e293b !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  border-bottom: 1px solid #e2e8f0;
}

[data-md-color-scheme="default"] .md-header__topic {
  color: #1e293b !important;
  font-weight: 700;
  font-size: 1.15rem;
}

[data-md-color-scheme="default"] .md-header__button {
  color: #64748b !important;
}

[data-md-color-scheme="default"] .md-header__button:hover {
  color: #7b1fa2 !important;
}

[data-md-color-scheme="default"] .md-header__option .md-header__button {
  background: rgba(123, 31, 162, 0.08);
  border-radius: 50%;
  padding: 0.35rem;
  color: #7b1fa2 !important;
}

[data-md-color-scheme="default"] .md-nav__link {
  color: #475569;
}

[data-md-color-scheme="default"] .md-nav__link:hover {
  color: #7b1fa2;
}

[data-md-color-scheme="default"] .md-nav__link--active,
[data-md-color-scheme="default"] .md-nav__item--active > .md-nav__link {
  color: #7b1fa2 !important;
  font-weight: 700;
}

[data-md-color-scheme="default"] .md-typeset a {
  color: #7b1fa2;
  text-decoration: none;
  font-weight: 600;
}

[data-md-color-scheme="default"] .md-typeset a:hover {
  color: #581c87;
  text-decoration: underline;
}

[data-md-color-scheme="default"] .endpoint-box,
[data-md-color-scheme="default"] .md-typeset .highlight {
  border-radius: 6px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
}

[data-md-color-scheme="default"] .md-typeset table:not([class]) {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  width: 100%;
}

[data-md-color-scheme="default"] .md-typeset table:not([class]) th {
  background: #f8fafc;
  color: #475569;
  font-weight: 700;
}

/* ---------------------------------------------------- */
/* DARK MODE (slate)                                    */
/* ---------------------------------------------------- */
[data-md-color-scheme="slate"] .md-header {
  background-color: #0f172a !important;
  color: #f8fafc !important;
  border-bottom: 1px solid #1e293b;
  box-shadow: none !important;
}

[data-md-color-scheme="slate"] .md-header__topic {
  color: #f8fafc !important;
  font-weight: 700;
  font-size: 1.15rem;
}

[data-md-color-scheme="slate"] .md-header__button {
  color: #94a3b8 !important;
}

[data-md-color-scheme="slate"] .md-header__button:hover {
  color: #c084fc !important;
}

[data-md-color-scheme="slate"] .md-header__option .md-header__button {
  background: rgba(192, 132, 252, 0.12);
  border-radius: 50%;
  padding: 0.35rem;
  color: #c084fc !important;
}

[data-md-color-scheme="slate"] .md-nav__link {
  color: #94a3b8;
}

[data-md-color-scheme="slate"] .md-nav__link:hover,
[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__item--active > .md-nav__link {
  color: #c084fc !important;
  font-weight: 700;
}

[data-md-color-scheme="slate"] .md-typeset a {
  color: #c084fc;
  text-decoration: none;
  font-weight: 600;
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #e9d5ff;
  text-decoration: underline;
}

[data-md-color-scheme="slate"] .endpoint-box,
[data-md-color-scheme="slate"] .md-typeset .highlight {
  border-radius: 6px;
  background-color: #1e293b;
  border: 1px solid #334155;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) {
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #334155;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  width: 100%;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: #1e293b;
  color: #f1f5f9;
  font-weight: 700;
}

/* ---------------------------------------------------- */
/* API Badges                                           */
/* ---------------------------------------------------- */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: var(--cm-font-code);
  text-transform: uppercase;
  margin-inline-end: 0.35rem;
  vertical-align: middle;
}

.badge-get {
  background-color: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.badge-post {
  background-color: rgba(123, 31, 162, 0.15);
  color: #7b1fa2;
  border: 1px solid rgba(123, 31, 162, 0.3);
}

[data-md-color-scheme="slate"] .badge-post {
  background-color: rgba(192, 132, 252, 0.15);
  color: #c084fc;
  border-color: rgba(192, 132, 252, 0.3);
}

.badge-req {
  background-color: rgba(239, 68, 68, 0.12);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.25);
  font-size: 0.7rem;
}

.badge-opt {
  background-color: rgba(107, 114, 128, 0.12);
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.25);
  font-size: 0.7rem;
}

/* Hide MkDocs Material footer copyright / attribution */
.md-copyright,
.md-footer-meta .md-copyright {
  display: none !important;
}
