/* GNS Education — страницы стран: хаб /strany/ и /strany/<слаг>/; те же стили берут страницы вузов /vuzy/ и статьи /stati/
   (server/university-pages.js, server/article-pages.js). На главную не грузится. Токены, шапка, подвал, кнопки, ссылки, шапка страницы .page-head и таблица .ledger — в site.css.
   Нового визуального мира нет: волосяные линии, подписи капсом, ступени заголовков --fs-h3 и --fs-say, сетка в двенадцать колонок.
   Текстовым строкам обрезка (clip-path, overflow) не задана, запрета переноса нет нигде, кроме последнего слова ссылки со стрелкой (.nw).
   Порядок: 1 шапка страницы · 2 разделы страны · 3 конец страницы · 4 хаб · 5 статьи */

/* ───────── 1. Шапка страницы: хлебные крошки, заголовок, действие, перечень разделов ───────── */
.crumbs { margin-bottom: clamp(16px, 2vw, 28px); }
.crumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; font-size: var(--fs-small); line-height: 1.4; color: var(--fg-muted); }
.crumbs__list li + li::before { content: "›"; margin-right: 10px; }
/* ссылка — во всю высоту строки 44 px: по ней удобно попасть пальцем */
.crumbs__list a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; text-decoration-color: var(--line); }
.crumbs__list [aria-current] { color: var(--fg); }
@media (hover: hover) { .crumbs__list a:hover { text-decoration-color: currentColor; } }

.country-head .section-head { gap: 20px; }
.country-head__action { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 28px; }
.country-head__note { font-size: var(--fs-small); line-height: 1.4; color: var(--fg-muted); }

.country-index { display: grid; margin-top: clamp(32px, 4.5vw, 64px); padding-top: 16px; border-top: 1px solid var(--line); }
.country-index__label { display: flex; align-items: center; min-height: 44px; color: var(--fg-muted); }
.country-index__list a { display: flex; align-items: center; min-height: 48px; font-size: var(--fs-small); font-weight: 600; text-decoration: none; }
.country-index__list li + li { border-top: 1px solid var(--line); }
@media (hover: hover) { .country-index__list a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em; } }
@media (min-width: 600px) {
  .country-index__list { display: flex; flex-wrap: wrap; column-gap: 28px; }
  .country-index__list a { min-height: 44px; }
  .country-index__list li + li { border-top: 0; }
}
@media (min-width: 900px) {
  .country-index { grid-template-columns: max-content minmax(0, 1fr); column-gap: 40px; align-items: start; }
}

/* ───────── 2. Разделы страны ───────── */
/* «Коротко»: таблица dl.ledger из site.css; под каждым сведением — строка источника с датой проверки */
.brief .ledger__to { display: grid; gap: 8px; }
.brief__source { font-size: var(--fs-small); line-height: 1.45; color: var(--fg-muted); }
.brief__source a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }

/* Строка раздела: название ступенью --fs-h3 слева, текст и перечень справа (на телефоне — под названием) */
.c-rows { border-bottom: 1px solid var(--line); }
.c-row { display: grid; gap: 10px; padding: 20px 0 22px; border-top: 1px solid var(--line); }
.c-row__title { font-size: var(--fs-h3); font-weight: 500; font-stretch: var(--semi); line-height: 1.15; letter-spacing: -.03em; text-wrap: balance; }
.c-row__body { display: grid; gap: 10px; max-width: 36em; text-wrap: pretty; }
.c-row__list { display: grid; gap: 6px; margin: 0; padding-left: 1.2em; list-style: disc; }
.c-row__list li::marker { color: var(--fg-muted); }
/* название учебного заведения — ссылка на его сайт: подчёркнута, стрелка после последнего слова */
.c-row__link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: var(--line); }
.c-row__link svg { display: inline-block; width: .7em; height: .7em; margin-left: .2em; vertical-align: .05em; }
@media (hover: hover) { .c-row__link:hover { text-decoration-color: currentColor; } }
.country-part__note { max-width: 46em; margin-top: 20px; font-size: var(--fs-small); line-height: 1.45; color: var(--fg-muted); text-wrap: pretty; }
@media (min-width: 600px) {
  .c-row { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: calc(100% / 12); align-items: baseline; padding: 24px 0 26px; }
}

/* ───────── 3. Конец страницы: действие слева, соседние страны справа ───────── */
.country-end { --bg: var(--sand); }
.country-end__grid { display: grid; gap: 40px; }
.country-end__main { display: grid; gap: 20px; justify-items: start; }
.country-end__links { display: grid; gap: 4px; align-content: start; padding-top: 18px; border-top: 1px solid var(--line); }
.country-end__label { color: var(--fg-muted); }
@media (min-width: 900px) {
  .country-end__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: calc(100% / 12); align-items: end; }
}

/* ───────── 4. Хаб: группы стран, у страны три пары «подпись капсом — текст» и ссылка ───────── */
.hub-head__action { margin-top: 32px; }
.hub-group + .hub-group { margin-top: clamp(48px, 6vw, 88px); }
.hub-group__title { margin-bottom: clamp(16px, 2vw, 24px); font-size: var(--fs-say); font-weight: 500; font-stretch: var(--wide); line-height: 1.1; letter-spacing: -.04em; }
.hub-list { border-bottom: 1px solid var(--line); }
.hub-row { display: grid; gap: 14px; padding: 22px 0 24px; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + 16px); }
.hub-row__name { font-size: var(--fs-h3); font-weight: 500; font-stretch: var(--semi); line-height: 1.15; letter-spacing: -.03em; }
.hub-row__facts { display: grid; gap: 14px; margin: 0; }
.hub-row__fact { display: grid; gap: 4px; align-content: start; }
.hub-row__fact dt { color: var(--fg-muted); }
.hub-row__fact dd { margin: 0; text-wrap: pretty; }
.hub__note { max-width: 46em; margin-top: 28px; font-size: var(--fs-small); line-height: 1.45; color: var(--fg-muted); text-wrap: pretty; }
@media (min-width: 900px) {
  .hub-row { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: calc(100% / 12); align-items: start; padding: 28px 0 30px; }
  .hub-row__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }
  .hub-row__action { grid-column: 2; }
}

/* ───────── 5. Статьи: подпись и даты под абзацем-ответом; в списке /stati/ заголовок статьи — ссылка ───────── */
.article-head__meta { font-size: var(--fs-small); line-height: 1.45; color: var(--fg-muted); text-wrap: pretty; }
.hub-row__link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: var(--line); }
@media (hover: hover) { .hub-row__link:hover { text-decoration-color: currentColor; } }
.hub-row__text { max-width: 40em; text-wrap: pretty; }
@media (min-width: 900px) {
  .hub-row--article { grid-template-rows: auto 1fr; align-content: start; }
  .hub-row--article .hub-row__name { grid-row: span 2; }
  .hub-row__text, .hub-row .brief__source { grid-column: 2; }
}
