/* === Result detail page ====================================================
   Финишный протокол одного забега. Визуальный язык — тот же, что и
   results.html (cobalt #427bff на тёмно-синем #09152f). Хиро повторяет
   паттерн `.results-hero`, дальше идёт тулбар с поиском и фильтрами и
   таблица результатов. */

.result-page { background: #09152f; }

/* ─── Hero ───────────────────────────────────────────────────────────────── */

.result-hero {
    --bg: #09152f;
    --accent: #427bff;
    --on-accent: #09152f;
    background: #09152f;
    /* Поднимаем hero выше sticky-тулбара (z-index 20). Без этого тулбар, когда
       пинуется наверх ещё до того, как hero полностью уехал, перекрывает топбар
       (логотип/нав), а должно быть наоборот: топбар уезжает первым, тулбар
       проявляется уже после. */
    position: relative;
    z-index: 30;
}

.result-hero__center {
    position: absolute;
    top: 50%;
    left: var(--side-pad);
    transform: translateY(-50%);
    width: calc(1500 * var(--u));
    max-width: calc(100% - 80px);
}

.result-hero__back {
    display: inline-flex;
    align-items: center;
    gap: calc(14 * var(--u));
    font-family: 'Golos Text', sans-serif;
    font-weight: 500;
    font-size: calc(20 * var(--u));
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--accent);
    opacity: 0.7;
    margin-bottom: calc(36 * var(--u));
    transition: opacity 0.2s ease, transform 0.35s cubic-bezier(0.2, 0.7, 0.15, 1);
}

.result-hero__back svg {
    width: calc(80 * var(--u));
    height: calc(16 * var(--u));
}

.result-hero__back:hover { opacity: 1; }
.result-hero__back:hover svg { transform: translateX(calc(-8 * var(--u))); }

.result-hero__back svg {
    transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.15, 1);
}

.result-hero__eyebrow {
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(28 * var(--u));
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: 0.7;
    margin-bottom: calc(20 * var(--u));
}

.result-hero__title {
    margin: 0 0 calc(48 * var(--u));
    width: 100%;
    font-size: calc(220 * var(--u));
    line-height: 0.85;
    text-align: left;
}

.result-hero__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, calc(280 * var(--u))));
    gap: calc(48 * var(--u));
    margin: 0;
    padding: calc(28 * var(--u)) 0 0;
    border-top: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
}

.result-stat {
    display: flex;
    flex-direction: column;
    gap: calc(6 * var(--u));
}

.result-stat__label {
    font-family: 'Golos Text', sans-serif;
    font-weight: 500;
    font-size: calc(16 * var(--u));
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: 0.6;
    margin: 0;
}

.result-stat__value {
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(72 * var(--u));
    line-height: 0.9;
    color: var(--accent);
    margin: 0;
    font-variant-numeric: tabular-nums;
}

/* ─── Board (тулбар + таблица) ───────────────────────────────────────────── */

.result-board {
    --bg: #09152f;
    --accent: #427bff;
    --on-accent: #09152f;
    background: var(--bg);
    color: var(--accent);
    padding-bottom: calc(120 * var(--u));
    /* Плавный переход к светлой теме при скролле к таблице. */
    transition: background-color 0.6s ease, color 0.6s ease;
}

/* Светлая тема: включается на body классом .is-light-board, когда секция
   с таблицей въезжает во viewport. Переменные --bg / --accent инвертированы,
   и весь каскад (включая ячейки, тулбар, плашки) перекрашивается без правок. */
body.is-light-board .result-board {
    --bg: #eef1f7;
    --accent: #09152f;
    --on-accent: #eef1f7;
}

/* Не ограничиваем стейдж max-width: на широких экранах max-width + margin auto
   центрировали бы блок и левый край контента уезжал бы внутрь. Нам нужно,
   чтобы таблица и тулбар были ровно в 40px от края viewport — как `.result-strip`
   в архиве и как заголовок hero (через `--side-pad`). */
.result-board__stage {
    padding: 0 40px;
}

/* ─── Distance tabs ──────────────────────────────────────────────────────
   Сегментный контрол выбора дистанции. Одна дистанция всегда выбрана,
   состояния «все сразу» нет (наборы колонок у дистанций разные, объединять
   нечего). Источник истины — атрибут aria-selected на кнопке. */

.result-distance-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: calc(10 * var(--u));
    padding: calc(28 * var(--u)) 0 calc(20 * var(--u));
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 12%, transparent);
    transition: border-color 0.6s ease;
}

.result-distance-tab {
    appearance: none;
    background: transparent;
    border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
    border-radius: calc(46 * var(--u));
    height: calc(52 * var(--u));
    padding: 0 calc(28 * var(--u));
    color: var(--accent);
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(18 * var(--u));
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.6s ease;
}

.result-distance-tab:hover { border-color: var(--accent); }

.result-distance-tab[aria-selected="true"] {
    background: var(--accent);
    color: var(--on-accent);
    border-color: var(--accent);
}

/* ─── Toolbar ────────────────────────────────────────────────────────────── */

.result-toolbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: minmax(calc(280 * var(--u)), calc(420 * var(--u))) 1fr auto;
    align-items: center;
    column-gap: calc(24 * var(--u));
    row-gap: calc(16 * var(--u));
    padding: calc(28 * var(--u)) 0;
    background: linear-gradient(180deg, var(--bg) 85%, color-mix(in srgb, var(--bg) 85%, transparent));
    backdrop-filter: blur(8px);
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 15%, transparent);
    transition: background 0.6s ease, border-color 0.6s ease;
}

.result-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(12 * var(--u));
    height: calc(56 * var(--u));
    padding: 0 calc(22 * var(--u));
    border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
    border-radius: calc(46 * var(--u));
    background: transparent;
    color: var(--accent);
    transition: border-color 0.6s ease, background-color 0.6s ease, color 0.6s ease;
}

.result-search:focus-within {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 6%, transparent);
}

.result-search__icon {
    width: calc(26 * var(--u));
    height: calc(26 * var(--u));
    flex: none;
    opacity: 0.7;
}

.result-search input {
    flex: 1;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: none;
    color: var(--accent);
    font-family: 'Golos Text', sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--u));
    line-height: 1;
}

.result-search input::placeholder {
    color: color-mix(in srgb, var(--accent) 55%, transparent);
}

.result-search input::-webkit-search-cancel-button { display: none; }

.result-filters {
    display: flex;
    flex-wrap: wrap;
    gap: calc(12 * var(--u));
    align-items: center;
}

.result-select {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: calc(10 * var(--u));
    height: calc(56 * var(--u));
    padding: 0 calc(52 * var(--u)) 0 calc(22 * var(--u));
    border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
    border-radius: calc(46 * var(--u));
    color: var(--accent);
    font-family: 'Golos Text', sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--u));
    cursor: pointer;
    transition: border-color 0.6s ease, background-color 0.6s ease, color 0.6s ease;
}

.result-select:hover { border-color: var(--accent); }
.result-select:focus-within {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 6%, transparent);
}

/* Когда фильтр активен (значение выбрано) — подсвечиваем pill, чтобы было
   видно, какие фильтры применены. */
.result-select.is-active {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
}

/* Лейбл-плейсхолдер. Виден, пока фильтр не выбран. Когда select активен —
   прячем; на его месте читается выбранное значение. */
.result-select__label {
    opacity: 0.55;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: calc(18 * var(--u));
    pointer-events: none;
}

.result-select.is-active .result-select__label { display: none; }

/* Видимое значение фильтра — заменяет лейбл, когда выбор сделан. По умолчанию
   пусто и не отображается, чтобы не сдвигать раскладку pill'а. */
.result-select__value {
    pointer-events: none;
    font-weight: 500;
    font-size: calc(18 * var(--u));
    color: var(--accent);
}

.result-select__value:empty { display: none; }

.result-select::after {
    content: '';
    position: absolute;
    right: calc(20 * var(--u));
    top: 50%;
    width: calc(14 * var(--u));
    height: calc(14 * var(--u));
    background: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><path d="M3 6L8 11L13 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><path d="M3 6L8 11L13 6" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
    transform: translateY(-50%);
    opacity: 0.7;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.result-select:focus-within::after { transform: translateY(-50%) rotate(180deg); opacity: 1; }

/* Когда фильтр выбран — вместо стрелочки-шеврона показываем кнопку-крестик
   для быстрого сброса. Кнопка лежит выше прозрачного <select> (z-index 3 vs 2),
   чтобы клик попадал именно в неё, а не открывал dropdown. */
.result-select.is-active::after { display: none; }

.result-select__clear {
    display: none;
    position: absolute;
    right: calc(10 * var(--u));
    top: 50%;
    width: calc(40 * var(--u));
    height: calc(40 * var(--u));
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    color: var(--accent);
    z-index: 3;
    border-radius: 999px;
    transition: background-color 0.2s ease;
}

.result-select.is-active .result-select__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.result-select__clear::before {
    content: '';
    display: block;
    width: calc(20 * var(--u));
    height: calc(20 * var(--u));
    background: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>') center/contain no-repeat;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="black" stroke-width="2" stroke-linecap="round"/></svg>') center/contain no-repeat;
    opacity: 0.75;
    transition: opacity 0.2s ease;
}

.result-select__clear:hover {
    background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.result-select__clear:hover::before { opacity: 1; }

/* Сам <select> накрывает весь pill: opacity 0, клик по любому месту pill
   попадает в него и открывает нативное выпадающее меню. Видимый контент
   (label/value/chevron) лежит в потоке ниже z-index, отсюда pointer-events: none. */
.result-select select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    outline: none;
    color: transparent;
    font: inherit;
    font-size: calc(18 * var(--u));
    padding: 0;
    margin: 0;
    cursor: pointer;
    z-index: 2;
}

.result-select select:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: calc(46 * var(--u));
}

.result-select select option {
    background: var(--bg);
    color: var(--accent);
}

.result-toolbar__count {
    justify-self: end;
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(22 * var(--u));
    text-transform: uppercase;
    color: var(--accent);
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.result-toolbar__count-label {
    opacity: 0.55;
    margin-left: calc(6 * var(--u));
}

/* ─── Table ──────────────────────────────────────────────────────────────── */

.result-table-wrap {
    margin-top: calc(28 * var(--u));
    overflow-x: auto;
    overflow-y: visible;
}

.result-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Golos Text', sans-serif;
    font-size: calc(20 * var(--u));
    color: var(--accent);
}

.result-table thead th {
    background: var(--bg);
    text-align: left;
    padding: calc(22 * var(--u)) calc(20 * var(--u));
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(17 * var(--u));
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--accent) 70%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: color 0.6s ease, background-color 0.6s ease, border-color 0.6s ease;
}

.result-table thead th:hover { color: var(--accent); }

.result-table thead th[aria-sort="ascending"]::after,
.result-table thead th[aria-sort="descending"]::after {
    content: '';
    display: inline-block;
    width: calc(8 * var(--u));
    height: calc(8 * var(--u));
    margin-left: calc(8 * var(--u));
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-25%) rotate(45deg);
}

.result-table thead th[aria-sort="ascending"]::after {
    transform: translateY(25%) rotate(-135deg);
}

.result-table thead th[aria-sort]:not([aria-sort="none"]) {
    color: var(--accent);
}

.result-table tbody tr {
    transition: background-color 0.15s ease;
}

.result-table tbody tr:hover {
    background: color-mix(in srgb, var(--accent) 8%, transparent);
}

.result-table tbody td {
    padding: calc(20 * var(--u)) calc(20 * var(--u));
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 12%, transparent);
    font-size: calc(19 * var(--u));
    line-height: 1.2;
    vertical-align: middle;
    white-space: nowrap;
    transition: color 0.6s ease, border-color 0.6s ease, background-color 0.2s ease;
}

.result-table tbody tr:last-child td {
    border-bottom: none;
}

/* Совмещаем края таблицы с краем страницы (40px от viewport):
   стейдж даёт 40px паддинг, ячейки на краях не должны добавлять свой. */
.result-table thead th:first-child,
.result-table tbody td:first-child { padding-left: 0; }
.result-table thead th:last-child,
.result-table tbody td:last-child { padding-right: 0; }

.result-table__num {
    font-variant-numeric: tabular-nums;
    font-feature-settings: 'tnum';
}

.result-table tbody td.result-table__num {
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(19 * var(--u));
    letter-spacing: 0.02em;
}

/* Пустая ячейка — приглушенный em-dash. Сохраняем структуру, но визуально
   снижаем вес, чтобы пропуски не отвлекали от заполненных значений. */
.result-table__missing {
    color: color-mix(in srgb, var(--accent) 28%, transparent);
}

/* DQ / DNF — целая строка приглушена. Pos выделен capsule-стилем для контраста. */
.result-table__row--dsq td {
    color: color-mix(in srgb, var(--accent) 55%, transparent);
}

.result-table__row--dsq .result-table__pill {
    border-color: color-mix(in srgb, var(--accent) 22%, transparent);
    color: color-mix(in srgb, var(--accent) 70%, transparent);
}

.result-table__pos--dsq {
    color: color-mix(in srgb, var(--accent) 90%, transparent);
    letter-spacing: 0.08em;
}

.result-table__pos {
    width: calc(80 * var(--u));
    color: var(--accent);
}

.result-table__pos--medal {
    color: var(--accent);
    position: relative;
}

.result-table__pos--medal::before {
    content: '';
    display: inline-block;
    width: calc(8 * var(--u));
    height: calc(8 * var(--u));
    margin-right: calc(10 * var(--u));
    border-radius: 999px;
    background: var(--accent);
    transform: translateY(calc(-2 * var(--u)));
}

.result-table tbody td.result-table__name {
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(22 * var(--u));
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--accent);
    white-space: nowrap;
    min-width: calc(280 * var(--u));
}

/* Sticky-колонка с именем атлета. При горизонтальном скролле столбец остаётся
   у левого края обёртки, а № / Pos / Bib# проматываются за ним. Непрозрачный
   фон важен — иначе сквозь sticky-ячейку видно проматывающийся под ней
   контент. Тонкий правый бордер визуально отделяет «закреплённую» зону от
   прокручиваемой. */
.result-table thead th.result-table__name,
.result-table tbody td.result-table__name {
    position: sticky;
    left: 0;
    background: var(--bg);
    border-right: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
    z-index: 2;
    transition: background-color 0.6s ease, border-color 0.6s ease, color 0.6s ease;
}

.result-table thead th.result-table__name { z-index: 3; }

/* Подкладываем ховер под sticky-ячейку, чтобы строка визуально оставалась
   единым целым (без полупрозрачного оверлея ховер не «дотянется» через бордер). */
.result-table tbody tr:hover td.result-table__name {
    background: color-mix(in srgb, var(--accent) 8%, var(--bg));
}

.result-table__country {
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.result-table__pill {
    display: inline-flex;
    align-items: center;
    height: calc(28 * var(--u));
    padding: 0 calc(14 * var(--u));
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
    font-family: 'Roboto Flex', sans-serif;
    font-weight: 600;
    font-stretch: 25%;
    font-size: calc(13 * var(--u));
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
}

.result-empty,
.result-not-published {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(20 * var(--u));
    padding: calc(80 * var(--u)) 0;
    text-align: center;
}

/* Перебиваем `display: flex` выше — иначе HTML-атрибут `hidden` (который JS
   ставит, когда состояние неактивно) не срабатывает, и оба плейсхолдера могут
   показываться одновременно. */
.result-empty[hidden],
.result-not-published[hidden] { display: none; }

.result-empty p,
.result-not-published p {
    font-family: 'Golos Text', sans-serif;
    font-size: calc(20 * var(--u));
    color: color-mix(in srgb, var(--accent) 70%, transparent);
    max-width: calc(520 * var(--u));
    margin: 0;
    transition: color 0.6s ease;
}

/* Когда в текущей дистанции нет какого-то фильтра в данных (например, у
   Kid's Run нет Country/Category), JS прячет соответствующий select. */
.result-select[hidden] { display: none; }

/* ─── Mobile ─────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .result-hero__stage {
        justify-content: center;
        gap: 12px;
    }

    .result-hero__center {
        position: static;
        transform: none;
        width: 100%;
        max-width: none;
        left: auto;
        top: auto;
    }

    /* На мобилке выносим «Все забеги» к самому верху hero, под топбар.
       Hero уже `position: relative; z-index: 30`, поэтому достаточно
       абсолютного позиционирования у самой ссылки — выпадает из flow
       hero-center, остальной контент (заголовок, статы) центрируется без
       лишнего верхнего отступа. */
    .result-hero__back {
        position: absolute;
        top: 110px;
        left: 20px;
        z-index: 10;
        margin-bottom: 0;
        font-size: 12px;
        gap: 10px;
    }

    .result-hero__back svg {
        width: 32px;
        height: 10px;
    }

    .result-hero__eyebrow {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .result-hero__title {
        margin: 4px 0 24px;
        font-size: clamp(48px, 14vw, 96px);
        line-height: 0.88;
    }

    .result-hero__stats {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        padding-top: 16px;
    }

    .result-stat__label { font-size: 11px; }
    .result-stat__value { font-size: clamp(26px, 7vw, 36px); }

    .result-board { padding-bottom: 56px; }

    .result-board__stage { padding: 0 20px; }

    .result-distance-tabs {
        gap: 8px;
        margin: 0 -20px;
        padding: 16px 20px;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .result-distance-tabs::-webkit-scrollbar { display: none; }

    .result-distance-tab {
        height: 40px;
        padding: 0 18px;
        font-size: 13px;
        flex: 0 0 auto;
    }

    .result-toolbar {
        position: static;
        grid-template-columns: 1fr;
        padding: 20px 0;
        gap: 12px;
        background: transparent;
        backdrop-filter: none;
    }

    .result-search,
    .result-select {
        height: 48px;
        font-size: 15px;
    }

    .result-search { padding: 0 16px; gap: 12px; }

    .result-search input { font-size: 15px; }

    .result-search__icon { width: 22px; height: 22px; }

    .result-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .result-select {
        padding: 0 38px 0 16px;
        font-size: 14px;
    }

    .result-select__label,
    .result-select__value { font-size: 14px; }

    .result-select select { font-size: 14px; }

    .result-select__clear {
        width: 32px;
        height: 32px;
        right: 6px;
    }

    .result-select__clear::before { width: 16px; height: 16px; }

    .result-toolbar__count {
        justify-self: start;
        font-size: 14px;
    }

    .result-table-wrap {
        margin: 0 -20px;
        padding: 0 20px;
    }

    .result-table thead th {
        padding: 14px 12px;
        font-size: 11px;
        letter-spacing: 0.06em;
    }

    .result-table tbody td {
        padding: 14px 12px;
        font-size: 14px;
    }

    .result-table tbody td.result-table__num { font-size: 14px; }

    .result-table tbody td.result-table__name {
        font-size: 15px;
        min-width: 200px;
    }

    /* Athlete-колонку на мобильном НЕ закрепляем горизонтально:
       таблица узкая, колонок мало в видимой части, и pin занимает половину
       экрана. Снимаем sticky и дополнительный бордер у обоих th и td. */
    .result-table thead th.result-table__name,
    .result-table tbody td.result-table__name {
        position: static;
        left: auto;
        border-right: none;
        z-index: auto;
        background: transparent;
    }

    .result-table tbody tr:hover td.result-table__name {
        background: transparent;
    }

    .result-table__pill { font-size: 11px; height: 22px; padding: 0 10px; }

    .result-empty,
    .result-not-published { padding: 48px 0; }
    .result-empty p,
    .result-not-published p { font-size: 15px; }
}
