/* hubs.css — раздел /vakansii/ (срезы каталога, api/hubs.js).
   Основную визуальную систему страница берёт из companies.css (.co-*): шапка,
   плитка статистики, чипы, список вакансий, блок «куда дальше». Здесь — только
   то, чего у страницы компании нет: «Кто нанимает», «Что просят», FAQ.
   Файл без префикса «_» — build.js его не бандлит, отдаётся как есть. */

.hub-sec { margin: 0 0 40px; }
.hub-sec h2 {
  font-size: 21px;
  letter-spacing: -.02em;
  margin: 0 0 6px;
}
.hub-sec__note {
  font-size: 14px;
  color: var(--muted, #5E6E63);
  margin: 0 0 14px;
  max-width: 720px;
  line-height: 1.55;
}

/* Редакторский текст «как искать в этом срезе» (05.09.2026, config/hubs.json → intro). */
.hub-intro { margin: 0 0 40px; max-width: 720px; }
.hub-intro p {
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 12px;
  color: var(--ink, #1A2B20);
}
.hub-intro p:last-child { margin-bottom: 0; }

.hub-all { margin: 16px 0 0; font-size: 14px; }
.hub-all a { color: var(--accent, #2D5F3F); text-decoration: none; font-weight: 600; }
.hub-all a:hover { text-decoration: underline; }

/* «Кто нанимает» — ссылки на профили компаний (перелинковка двух типов хабов). */
.hub-hire {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.hub-hire a,
.hub-hire .hub-hire__flat {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--accent-rule, rgba(26, 61, 42, .18));
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--accent, #2D5F3F);
  text-decoration: none;
  background: #fff;
}
.hub-hire a:hover { background: #E9F0E6; }
.hub-hire .hub-hire__flat { color: var(--ink, #1A2B20); font-weight: 500; }
.hub-hire span { font-weight: 400; color: var(--muted, #5E6E63); }

/* FAQ по срезу — ответы посчитаны из живой базы (см. buildFaq в api/hubs.js). */
.hub-faq__item { margin: 0 0 18px; max-width: 760px; }
.hub-faq__item h3 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.01em;
  margin: 0 0 6px;
}
.hub-faq__item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-soft, #35473C);
}

/* Пагинация среза (06.09.2026). Ссылки настоящие: краулер обязан дойти до вакансий
   31–300, иначе страницы 2+ бессмысленны. */
.hub-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 20px 0 4px;
}
.hub-pager a,
.hub-pager__cur {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--accent-rule, rgba(26, 61, 42, .18));
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  background: #fff;
  color: var(--accent, #2D5F3F);
}
.hub-pager a:hover { background: #E9F0E6; }
.hub-pager__cur {
  background: var(--accent, #2D5F3F);
  border-color: var(--accent, #2D5F3F);
  color: #fff;
  cursor: default;
}
.hub-pager__side { font-weight: 500; }

@media (max-width: 640px) {
  .hub-sec h2 { font-size: 19px; }
  .hub-hire a,
  .hub-hire .hub-hire__flat { font-size: 13px; padding: 7px 10px; }
}

@media (max-width: 640px) {
  .hub-pager a,
  .hub-pager__cur { min-width: 32px; height: 32px; font-size: 13px; padding: 0 8px; }
}
