/* =====================================================================
   Стили сайта «Мединский курс» (Flowershow).
   Это CSS ТОЛЬКО для сайта: Obsidian его не читает, и наоборот —
   сниппеты Obsidian здесь не работают.
   ===================================================================== */

/* --- Текст --- */
.rendered-mdx:not(.is-plain) {
  font-size: 1.2rem;
}

.rendered-mdx p,
.rendered-mdx li {
  line-height: 1.75;
}

/* Таблицы не раздуваем сильнее текста */
.rendered-mdx table {
  font-size: 1rem;
}

/* Шрифт в боковом меню сайта */
.site-sidebar .site-tree-item-self {
  font-size: 1.05rem;
  line-height: 1.45;
}

/* Тема Monospace задаёт размер текста через --font-size-base и !important.
   Переопределяем переменную: так увеличивается и текст, и заголовки без разнобоя. */
:root {
  --font-size-base: 1rem;
}

/* Главная страница всегда первой в дереве заметок:
   и в боковом меню на компьютере, и в мобильной выдвижной панели. */
.site-tree:has(> .site-tree-item > .site-tree-item-self[href="/"]) {
  display: flex;
  flex-direction: column;
}

.site-tree > .site-tree-item:has(> .site-tree-item-self[href="/"]) {
  order: -1;
}

/* --- Первый H1 ---
   Тема скрывает первый H1, считая его дублем названия страницы. В уроках
   первый H1 — это тема, а название страницы берётся из frontmatter title,
   поэтому показываем его. */
.rendered-mdx:not(.is-plain) h1:first-child {
  display: block;
}

/* --- Чекбоксы ---
   В «Содержаниях» томов задачи отмечены как - [ ] для учёта в Obsidian.
   На сайте галочки не нужны — скрываем, оставляя текст пунктов. */
.rendered-mdx input[type="checkbox"] {
  display: none;
}

/* --- Арабский текст ---
   Шрифт лежит в папке сайта: fonts/me_quran.ttf (URL считается от корня сайта). */
@font-face {
  font-family: "me_quran";
  src: url("/fonts/me_quran.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

span[lang="ar"] {
  font-size: 2em;
  line-height: 2;
  font-family: "me_quran", serif;
  font-weight: normal;
  word-spacing: 10px;
  direction: rtl;
  unicode-bidi: isolate;
}

/* База строки принудительно LTR: isolate берёт направление из direction,
   поэтому арабское слово в начале строки не переворачивает абзац. */
.rendered-mdx,
.rendered-mdx p,
.rendered-mdx li,
.rendered-mdx h1,
.rendered-mdx h2,
.rendered-mdx h3,
.rendered-mdx h4,
.rendered-mdx h5,
.rendered-mdx h6,
.rendered-mdx td,
.rendered-mdx th,
.rendered-mdx blockquote {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

/* --- Раскладка: меньше пустых колонок слева и справа ---
   ВАЖНО: только на широких экранах (≥1280px). На меньших ширинах Flowershow
   сам упрощает сетку (1–2 колонки), и переопределять grid-template-columns
   там нельзя — иначе на телефоне текст зажимается в узкую полоску,
   а широкие строки (таблицы) вылезают за край экрана. */
@media (min-width: 1280px) {
  .layout-inner.has-sidebar-and-toc {
    grid-template-columns: 20rem minmax(0, 1fr) 210px;
    column-gap: 2rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .layout-inner .rendered-mdx:not(.is-plain) {
    max-width: none;
  }
}

/* --- Мобильное меню в navbar ---
   Гамбургер открывает панель с пунктами nav.links. Сейчас ссылок нет,
   поэтому панель пустая — скрываем кнопку. Навигация по заметкам на
   телефоне — кнопка «>» в полоске над текстом. */
.site-navbar-mobile-nav-button {
  display: none;
}
