/* Самостоятельные стили страницы Swagger-документации Альбато.

   Страница не наследует общий base-шаблон сайта и обязана грузить всё
   только с собственного домена (152-ФЗ и требование заказчика: ни CDN,
   ни Google Fonts, ни аналитики). Поэтому шрифты — локальные woff2 из
   `frontend/source/fonts/`, а не подключение fonts.googleapis.com, а CSP
   для этой вью (см. apps/help/api_docs.py) разрешает STYLE_SRC только
   'self' + 'unsafe-inline' (последнее — потому что Swagger UI сам
   расставляет style-атрибуты на элементах). */

/* Inter 400 — используется в HINTS и общем тексте страницы */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-400-cyrillic-ext.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-400-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
    U+FFFD;
}

/* Inter 600 — переключатель языков и подписи */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-600-cyrillic-ext.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-600-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-600-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/frontend/source/fonts/inter/inter-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
    U+FFFD;
}

/* Montserrat 700 — заголовок topbar */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/frontend/source/fonts/montserrat/montserrat-700-cyrillic-ext.woff2)
    format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/frontend/source/fonts/montserrat/montserrat-700-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/frontend/source/fonts/montserrat/montserrat-700-latin-ext.woff2)
    format("woff2");
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/frontend/source/fonts/montserrat/montserrat-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304,
    U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
    U+FFFD;
}

:root {
  --accent: #0063f7;
  --border: rgba(0, 0, 0, 0.08);
  --muted: rgba(0, 0, 0, 0.6);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #f5f5f5;
  font-family: "Inter", sans-serif;
}

.topbar {
  background: #fff;
  border-bottom: 1px solid var(--border);
  padding: 14px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.topbar__title {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 18px;
  margin: 0;
  color: #000;
}

.topbar__version {
  font-size: 13px;
  color: var(--muted);
}

.topbar__spacer {
  flex: 1 1 auto;
}

.topbar__hint {
  font-size: 13px;
  color: var(--muted);
  max-width: 520px;
}

.topbar__hint a {
  color: var(--accent);
}

/* Переключатель языков — ссылки на два разных маршрута, а не кнопки с
   JS: язык страницы задаёт только URL (см. api_docs.py), поэтому
   activного языка достаточно пометить aria-current="page". */
.langs {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: 999px;
  overflow: hidden;
}

.langs a {
  border: 0;
  background: #fff;
  color: var(--muted);
  font: 600 13px/1 "Inter", sans-serif;
  padding: 9px 16px;
  text-decoration: none;
  display: inline-block;
}

.langs a[aria-current="page"] {
  background: var(--accent);
  color: #fff;
}

.topbar__download {
  font-size: 13px;
  color: var(--accent);
  text-decoration: none;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 8px 14px;
}

.topbar__download:hover {
  border-color: var(--accent);
}

.offline {
  max-width: 680px;
  margin: 48px auto;
  padding: 20px 24px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid var(--border);
  font-size: 15px;
  line-height: 1.6;
}

.offline a {
  color: var(--accent);
}

.swagger-ui .topbar {
  display: none;
}

.swagger-ui .info {
  margin: 24px 0;
}

/* Две надписи Swagger UI задаёт через CSS `content`, и словарю из
   albato_api_ru.js до них не дотянуться. Файл стилей общий для обеих
   языковых версий, отсюда привязка к lang. */
html[lang="ru"] .swagger-ui .parameter__name.required::after {
  content: "обязательный";
}

html[lang="ru"] .swagger-ui .loading-container .loading::after {
  content: "загрузка";
}

/* Запросы со страницы отключены (supportedSubmitMethods в albato_api.js),
   поэтому кнопка Authorize и замки у операций ничего не дают: введённый
   токен никуда не уходит. Поле для секрета на публичной странице без
   применения — лишний повод вставить его не туда, так что прячем. Сами
   схемы авторизации описаны в тексте спецификации. */
.swagger-ui .auth-wrapper,
.swagger-ui .authorization__btn {
  display: none;
}

#swagger {
  max-width: 1180px;
  margin: 0 auto;
}

@media (max-width: 720px) {
  .topbar__hint {
    display: none;
  }
}
