/*
 * Хлебные крошки: путь до текущей страницы, последний пункт — не ссылка.
 * На узком экране строка скроллится горизонтально, а не рвётся на три ряда.
 */

.breadcrumbs {
    margin-bottom: var(--space-5);
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    margin: 0;
    min-width: 0;
}

.breadcrumbs__link {
    color: var(--text-secondary);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
}

a.breadcrumbs__link:hover {
    color: var(--primary);
}

.breadcrumbs__sep {
    color: var(--text-muted);
}

.breadcrumbs__current {
    color: var(--text-primary);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .breadcrumbs__list {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        margin: 0 calc(var(--container-pad) * -1);
        padding: 0 var(--container-pad);
    }

    .breadcrumbs__list::-webkit-scrollbar {
        display: none;
    }

    /*
     * Пункт не ужимается. У него `min-width: 0`, и в нескроллящемся flex
     * браузер честно сжимал коробку `li` уже своей ширины: стрелка внутри
     * (у `.icon` есть `flex-shrink: 0`) выезжала за коробку и оказывалась
     * под текстом следующего пункта. На телефоне у длинного заголовка
     * крошки читались как «ГлавнаяГайды Обби своими руками…». Строка тут
     * для того и скроллится, чтобы ничего не сжимать.
     */
    .breadcrumbs__item {
        flex-shrink: 0;
        white-space: nowrap;
    }

    /*
     * Обрезка многоточием — приём для строки, которая обязана влезть.
     * Здесь строка скроллится, и обрезать последний пункт незачем:
     * иначе заголовок страницы виден наполовину и доскроллить некуда.
     */
    .breadcrumbs__current {
        overflow: visible;
        text-overflow: clip;
    }
}
