/* ================= هماهنگی Swagger UI با هویت بصری پنل و متن فارسی =================
   رابط Swagger چپ‌به‌راست می‌ماند (کد، مسیرها و JSON همیشه LTR‌اند)، ولی متن‌های فارسی
   (توضیحات، خلاصه‌ها، پارامترها) راست‌به‌چپ و با فونت وزیرمتن نمایش داده می‌شوند. */

.swagger-intro {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5) var(--space-6);
  margin-bottom: var(--space-5);
}

.swagger-intro h1 {
  font-size: var(--font-size-xl);
  margin-bottom: var(--space-2);
}

.swagger-intro h2 {
  font-size: var(--font-size-base);
  color: var(--color-brand-800);
  margin-bottom: var(--space-2);
}

.swagger-intro p,
.swagger-intro li {
  line-height: 2;
}

.swagger-intro__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.swagger-intro ol,
.swagger-intro ul {
  margin: 0;
  padding-inline-start: 1.4rem;
}

.swagger-intro code {
  direction: ltr;
  unicode-bidi: isolate;
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: 0.85em;
  background: var(--color-surface-sunken);
  border-radius: 0.35rem;
  padding: 0.05rem 0.4rem;
}

.swagger-host {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-3) var(--space-4) var(--space-5);
  overflow-x: auto;
}

/* ---- فونت ---- */
.swagger-ui,
.swagger-ui .btn,
.swagger-ui select,
.swagger-ui input,
.swagger-ui textarea,
.swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-summary-description,
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui table thead tr th,
.swagger-ui table thead tr td,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .response-col_status,
.swagger-ui .tab li,
.swagger-ui .model-title,
.swagger-ui section.models h4,
.swagger-ui .info .title,
.swagger-ui .info li,
.swagger-ui .info p,
.swagger-ui .info table,
.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .dialog-ux .modal-ux-content h4,
.swagger-ui .dialog-ux .modal-ux-content p,
.swagger-ui .dialog-ux .modal-ux-content label,
.swagger-ui .scheme-container .schemes > label,
.swagger-ui label {
  font-family: var(--font-family-base) !important;
}

/* کد، مسیرها و JSON همیشه با فونت monospace و چپ‌به‌راست می‌مانند. */
.swagger-ui pre,
.swagger-ui code,
.swagger-ui .microlight,
.swagger-ui .opblock-summary-path,
.swagger-ui .opblock-summary-path__deprecated {
  font-family: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace !important;
}

/* ---- متن‌های فارسی: راست‌به‌راست ---- */
.swagger-ui .info .description,
.swagger-ui .info .description p,
.swagger-ui .info .description li,
.swagger-ui .opblock-tag small,
.swagger-ui .opblock-tag .markdown,
.swagger-ui .opblock-summary-description,
.swagger-ui .opblock-description-wrapper,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-description-wrapper li,
.swagger-ui .opblock-external-docs-wrapper,
.swagger-ui .parameters-col_description,
.swagger-ui .parameters-col_description .markdown,
.swagger-ui .parameters-col_description p,
.swagger-ui .response-col_description,
.swagger-ui .response-col_description .markdown,
.swagger-ui .response-col_description p,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown li,
.swagger-ui .model .description,
.swagger-ui .prop-format,
.swagger-ui .dialog-ux .modal-ux-content .renderedMarkdown,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
  line-height: 1.9;
}

.swagger-ui .renderedMarkdown ul,
.swagger-ui .renderedMarkdown ol,
.swagger-ui .info .description ul,
.swagger-ui .info .description ol,
.swagger-ui .opblock-description-wrapper ul,
.swagger-ui .opblock-description-wrapper ol {
  padding-inline-start: 1.5rem;
  padding-inline-end: 0;
  margin: 0.4rem 0;
}

.swagger-ui .markdown code,
.swagger-ui .renderedMarkdown code {
  direction: ltr;
  unicode-bidi: isolate;
  background: var(--color-surface-sunken);
  color: var(--color-brand-900);
  border-radius: 0.35rem;
  padding: 0.05rem 0.4rem;
  font-size: 0.85em;
}

/* توضیح پارامتر و پاسخ کنار نام آن‌ها (که LTR است) خوانا بماند */
.swagger-ui table.parameters td.parameters-col_description {
  padding-inline: 1rem;
}

/* ---- رنگ‌های برند ---- */
.swagger-ui .info .title {
  color: var(--color-brand-900);
}

.swagger-ui .info .title small.version-stamp {
  background: var(--color-brand-700);
}

.swagger-ui .btn.authorize {
  color: var(--color-brand-700);
  border-color: var(--color-brand-700);
  border-radius: var(--radius-sm);
}

.swagger-ui .btn.authorize svg {
  fill: var(--color-brand-700);
}

.swagger-ui .btn.execute {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  border-radius: var(--radius-sm);
}

.swagger-ui .btn.execute:hover {
  background-color: var(--color-accent-hover);
}

.swagger-ui .opblock.opblock-get {
  border-color: var(--color-brand-700);
  background: rgba(45, 106, 79, 0.05);
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: var(--color-brand-700);
}

.swagger-ui .opblock.opblock-get .opblock-summary {
  border-color: var(--color-brand-700);
}

.swagger-ui .opblock-tag {
  border-bottom-color: var(--color-border);
}

/* ---- برچسب فارسی دکمه‌های اصلی (فقط CSS؛ بدون دست‌بردن در DOM ری‌اکت) ---- */
.swagger-ui .btn.authorize span {
  font-size: 0;
}

.swagger-ui .btn.authorize span::after {
  content: "احراز هویت (Authorize)";
  font-size: 14px;
  font-family: var(--font-family-base);
}

.swagger-ui .btn.try-out__btn {
  font-size: 0;
}

.swagger-ui .btn.try-out__btn::after {
  content: "امتحان کن (Try it out)";
  font-size: 14px;
  font-family: var(--font-family-base);
}

.swagger-ui .btn.try-out__btn.cancel::after {
  content: "انصراف (Cancel)";
}

.swagger-ui .btn.execute {
  font-size: 0;
}

.swagger-ui .btn.execute::after {
  content: "اجرا (Execute)";
  font-size: 14px;
  font-family: var(--font-family-base);
}

.swagger-ui .btn.btn-clear {
  font-size: 0;
}

.swagger-ui .btn.btn-clear::after {
  content: "پاک کردن (Clear)";
  font-size: 14px;
  font-family: var(--font-family-base);
}

/* ---- موبایل ---- */
@media (max-width: 40rem) {
  .swagger-intro {
    padding: var(--space-4);
  }

  .swagger-host {
    padding: var(--space-2);
  }
}

/* ---- فیلدهای ورودی همیشه چپ‌به‌راست ----
   این فیلدها شناسه، UUID، تاریخ و عدد می‌گیرند. اگر جهت راست‌به‌چپ توضیحات به آن‌ها ارث برسد،
   مقدارهای طولانی (مثل internalMeetingId) بریده و بی‌ریخت نمایش داده می‌شوند و کاربر شناسهٔ واقعی را نمی‌بیند. */
.swagger-ui input[type="text"],
.swagger-ui input[type="password"],
.swagger-ui input[type="search"],
.swagger-ui input[type="email"],
.swagger-ui textarea,
.swagger-ui select {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

/* ---- بلوک‌های کد و پاسخ همیشه چپ‌به‌راست ----
   بلوک پاسخ/هدر/cURL داخل ستون توضیحات (راست‌به‌چپ) قرار می‌گیرد و جهت آن را ارث می‌برد؛
   نتیجه‌اش JSON وارونه و آکولادهای جابه‌جا بود. کد باید مستقل از متن اطراف LTR باشد. */
.swagger-ui pre,
.swagger-ui pre.microlight,
.swagger-ui .microlight,
.swagger-ui .highlight-code,
.swagger-ui .curl-command,
.swagger-ui .request-url,
.swagger-ui .response-col_description pre,
.swagger-ui .responses-table pre {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}
