.sw-html-sitemap {
    --sw-sitemap-gap-x: 2rem;
    --sw-sitemap-gap-y: 0.55rem;
    --sw-sitemap-section-gap: 2.5rem;
    width: 100%;
}

.sw-html-sitemap__section + .sw-html-sitemap__section {
    margin-top: var(--sw-sitemap-section-gap);
}

.sw-html-sitemap__heading {
    margin: 0 0 1rem;
}

.sw-html-sitemap__list {
    display: grid;
    grid-template-columns: repeat(var(--sw-sitemap-columns, 4), minmax(0, 1fr));
    column-gap: var(--sw-sitemap-gap-x);
    row-gap: var(--sw-sitemap-gap-y);
    margin: 0;
    padding: 0;
    list-style: none;
}

.sw-html-sitemap__item {
    min-width: 0;
    margin: 0;
    padding: 0 0 0 1rem;
    position: relative;
    break-inside: avoid;
}

.sw-html-sitemap__item::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
}

.sw-html-sitemap__item a {
    overflow-wrap: anywhere;
    text-decoration-thickness: from-font;
    text-underline-offset: 0.16em;
}

.sw-html-sitemap__count {
    opacity: 0.7;
    white-space: nowrap;
}

.sw-html-sitemap__empty {
    margin: 0;
}

@media (max-width: 1024px) {
    .sw-html-sitemap__list {
        grid-template-columns: repeat(var(--sw-sitemap-tablet-columns, 3), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sw-html-sitemap__list {
        grid-template-columns: repeat(var(--sw-sitemap-mobile-columns, 2), minmax(0, 1fr));
        column-gap: 1.25rem;
    }
}

@media (max-width: 520px) {
    .sw-html-sitemap__list {
        grid-template-columns: 1fr;
    }
}
