/* =====================================================================
   FZ TYPE — единая типографика сайта и форума (один источник правды).
   Подключается через fz_header.php на КАЖДОЙ странице (сайт + форум)
   и в виджете чата. Грузится после CSS страниц и принудительно
   (!important) выравнивает одинаковые роли на обеих поверхностях.
   Меняете шрифт где-то одно место — меняется везде.
   ===================================================================== */
:root {
  --fz-font-stack: 'Exo 2', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --fz-font-display: 'Bebas Neue', 'Exo 2', sans-serif;      /* логотип */

  --fzt-body:   16px;   --fzt-body-lh: 1.55;   /* базовый текст страницы */
  --fzt-read:   16px;   --fzt-read-lh: 1.6;    /* текст постов / новостей / комментариев */
  --fzt-h1:     22px;   --fzt-h1-lh:   1.3;    /* заголовок страницы: тема, новость */
  --fzt-title:  17px;   --fzt-title-lh: 1.3;   /* заголовок элемента в списке: тема, новость, раздел */
  --fzt-bar:    16px;   --fzt-bar-lh:  1.25;   /* графитовая полоса-заголовок */
  --fzt-sub:    12.5px;                        /* подписи колонок / маленькие рубрики (uppercase) */
  --fzt-meta:   13px;   --fzt-meta-lh: 1.4;    /* даты, счётчики, служебное */
  --fzt-menu:   13px;                          /* главное меню */
  --fzt-input:  14px;                          /* поля ввода */

  --fzt-w-regular: 400;  --fzt-w-semibold: 600;  --fzt-w-bold: 700;
}

/* ── одинаковый рендеринг на Mac: никакого antialiased только на одной из поверхностей ── */
html, body { -webkit-font-smoothing: auto !important; -moz-osx-font-smoothing: auto !important; text-rendering: optimizeLegibility; }

/* ── база ── */
body {
  font-family: var(--fz-font-stack) !important;
  font-size: var(--fzt-body) !important;
  line-height: var(--fzt-body-lh) !important;
  font-weight: var(--fzt-w-regular);
}
/* всё, что могло получить свой font-family от старых стилей (tahoma/verdana/arial в vB, system-ui на сайте) */
td, th, p, li, div, span, label, a, input, textarea, select, button {
  font-family: var(--fz-font-stack) !important;
}
/* исключения: логотип и буквенные аватарки — display-шрифт (Bebas Neue) */
#fzh .fzh-logo, #fzh .fzh-logo *, #fzh .fzh-logo-line, #fzh .fzh-logo-line *,
.fzh-avatar-letter, .fzh-bell-ava-letter {
  font-family: var(--fz-font-display) !important;
}
#fzh .fzh-tagline { font-family: var(--fz-font-stack) !important; }

/* ── читаемый текст: посты (форум) = новости и комментарии (сайт) ── */
.fz-msg-body, td.fz-msg .fz-msg-body,
.fz-ni-text, .fz-news-full .fz-ni-text, .nc-text {
  font-size: var(--fzt-read) !important; line-height: var(--fzt-read-lh) !important; font-weight: var(--fzt-w-regular) !important;
}

/* ── заголовок страницы: тема на форуме = новость на сайте ── */
.fz-th-titleline, .fz-th-titleline a,
h1.fz-ni-title, .fz-page h1, .fzp h1, h1.fz-page-title {
  font-size: var(--fzt-h1) !important; line-height: var(--fzt-h1-lh) !important; font-weight: var(--fzt-w-bold) !important;
  letter-spacing: 0 !important; text-transform: none !important;
}

/* ── заголовок элемента в списке: тема/раздел (форум) = новость (сайт) ── */
.fz-ftitle a, .fz-th-title a, a.fz-th-title,
a.fz-ni-title, .fz-nc-title {
  font-size: var(--fzt-title) !important; line-height: var(--fzt-title-lh) !important; font-weight: var(--fzt-w-bold) !important;
  letter-spacing: 0 !important; text-transform: none !important;
}

/* ── графитовая полоса-заголовок: одинаково везде ── */
.tcat.fz-cat .fz-cat-title, .tcat.fz-cat a.fz-cat-title, .tcat.fz-cat a.fz-cat-title:link, .tcat.fz-cat a.fz-cat-title:visited,
.side-card > h3, .news-head h2, .feed-head h2, .home-main .section#about > .section-tag {
  font-size: var(--fzt-bar) !important; line-height: var(--fzt-bar-lh) !important; font-weight: var(--fzt-w-bold) !important;
  letter-spacing: 0 !important; text-transform: none !important;
}

/* ── подписи колонок / мелкие рубрики (uppercase) ── */
tr.fz-colhead > td.thead, .fz-fcell-cap, .fz-ch, 
.fz-nc-foot .fzb-t, .fz-forums .ff-head, .home-layout .sub-cap {
  font-size: var(--fzt-sub) !important; font-weight: var(--fzt-w-semibold) !important; letter-spacing: .04em !important; text-transform: uppercase !important;
}

/* ── мета: даты, счётчики, служебное ── */
.smallfont, td.fz-fcell-last .smallfont, .fz-time, .fz-post-head .fz-time, .fz-th-last-body .fz-time,
.fz-ni-meta, .fz-nc-stats, .fz-nc-date, .nc-time, .sl-links a, .side-latest .slt-time, .side-chat .sch-time, .fz-nc-more {
  font-size: var(--fzt-meta) !important; line-height: var(--fzt-meta-lh) !important;
}

/* ── кнопки: одно семейство, один вес и трекинг (размер — по месту) ── */
.fzb, .fz-btn, a.fz-btn, .fzgo, input.button, input[type="submit"], input[type="button"], button,
.sl-btn, .btn-primary, .nc-submit, .fzh-login-btn, a.fzh-reg-btn, .fzh-cta {
  font-family: var(--fz-font-stack) !important; font-weight: var(--fzt-w-semibold) !important; letter-spacing: .01em !important;
}

/* ── главное меню (шапка): единый спек ── */
#fzh a.fzh-mlink { font-size: var(--fzt-menu) !important; font-weight: var(--fzt-w-semibold) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }

/* ── поля ввода ── */
input[type="text"], input[type="password"], input[type="email"], input[type="search"], input[type="url"], textarea, select {
  font-family: var(--fz-font-stack) !important; font-size: var(--fzt-input) !important;
}
