/*
 * Карта сайта (/sitemap), шаблон sitemap.php.
 *
 * До 2026-09-30 здесь было 153 байта и ни одного медиа-запроса (правлено 2023-09-29):
 * фиксированные `margin: 90px 0`, вложенность до четырёх уровней по 1em и 322 пункта
 * одной простынёй. На телефоне это давало полосу в один столбец с длинными
 * переносами («Прямой планкен из Лиственницы 20х90х2000 мм, сорт ЭПА» — 3-4 строки).
 *
 * Правки:
 *   • отступы в rem и через clamp() — на узком экране 90px превращались в пустой экран;
 *   • списки товаров и фильтров в колонки (CSS columns): 322 пункта перестают быть
 *     полосой, при этом разметка остаётся плоским <ul> — ломать её ради сетки нельзя,
 *     список должен читаться и без CSS;
 *   • переносы длинных названий вместо горизонтального скролла;
 *   • на мобильном вложенные отступы срезаны — четыре уровня по 1em съедали
 *     полезную ширину.
 *
 * Класс .title больше не используется: свой H1 шаблон не печатает (его даёт
 * геройский блок). Правило оставлено бы мёртвым — удалено.
 */

.sitemap-body {
    margin: clamp(1.5rem, 4vw, 4rem) 0 clamp(2rem, 6vw, 5.5rem);
}

.sitemap-section + .sitemap-section {
    margin-top: clamp(1.75rem, 5vw, 3.5rem);
}

.sitemap-section__title {
    margin: 0 0 clamp(0.75rem, 2vw, 1.25rem);
    font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem);
    line-height: 1.25;
}

.sitemap-node__title {
    /* Название категории. Крупнее ссылок, но мельче заголовка секции. */
    margin: clamp(0.75rem, 2vw, 1.25rem) 0 0.5rem;
    font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.25rem);
    line-height: 1.3;
}

.main-list,
.main-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-list li {
    /* Длинные названия товаров переносятся, а не растягивают страницу. */
    overflow-wrap: anywhere;
}

.main-list > li {
    margin-bottom: 0.4rem;
}

.main-list a {
    /* Цель нажатия на телефоне: строка, а не только глифы текста. */
    display: inline-block;
    padding: 0.15rem 0;
    line-height: 1.4;
}

/* Вложенные уровни: небольшой отступ вместо четырёх по 1em. */
.subcategory,
.product-list,
.filter-list,
.page-list {
    padding: 0 0 0 0.85rem;
    margin: 0.35rem 0 0.9rem;
}

/*
 * Товары, фильтры и вложенные страницы (41 город доставки) — в колонки. Ширина
 * колонки задана в ch: она подобрана под длину названий каталога, поэтому колонок
 * появляется столько, сколько реально влезает, без медиа-запросов под каждый размер.
 */
.product-list,
.filter-list,
.page-list {
    columns: 26ch auto;
    column-gap: 2rem;
}

.product-list li,
.filter-list li,
.page-list li {
    /* Пункт не разрывается между колонками. */
    break-inside: avoid;
}

@media (max-width: 767px) {
    .subcategory,
    .product-list,
    .filter-list,
    .page-list {
        /* Четыре уровня отступов на узком экране съедали полезную ширину. */
        padding-left: 0.6rem;
    }

    .product-list,
    .filter-list,
    .page-list {
        /* Одна колонка: на 360 px две колонки дают по 12 символов. */
        columns: auto;
    }
}
