.article-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem 2rem;
    align-items: start;
}

.article-layout__main {
    min-width: 0;
}

@media (min-width: 960px) {
    .article-layout.has-catalog,
    .article-layout--editor {
        grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    }
}

.article-catalog-dock {
    position: sticky;
    top: 1rem;
    max-height: calc(100vh - 2rem);
    overflow: auto;
    min-width: 0;
}

.article-layout--editor .article-catalog-dock {
    top: 4.75rem;
    max-height: calc(100vh - 5.5rem);
}

.article-catalog-dock[hidden] {
    display: none;
}

.article-catalog-dock__placeholder {
    margin: 0;
    padding: 1rem 1.1rem;
    border: 1px dashed #3d4f6a;
    border-radius: 4px;
    color: #8fa3bf;
    font-size: 0.9rem;
    line-height: 1.5;
    background: #151d2a;
}

.article-catalog-dock nav.article-catalog,
.article-content--html nav.article-catalog {
    margin: 0;
    padding: 1rem 1.1rem 0.85rem;
    border: 1px solid #3d4f6a;
    border-radius: 4px;
    background: #151d2a;
}

.article-catalog-dock nav.article-catalog p,
.article-content--html nav.article-catalog p {
    margin-bottom: 0.5rem;
}

.article-catalog-dock nav.article-catalog ul,
.article-content--html nav.article-catalog ul {
    margin: 0 0 0.35rem 1.1rem;
    padding-left: 0;
}

.article-catalog-dock nav.article-catalog ul ul,
.article-catalog-dock nav.article-catalog .article-catalog__sub,
.article-content--html nav.article-catalog ul ul,
.article-content--html nav.article-catalog .article-catalog__sub {
    margin-left: 1rem;
}

.article-catalog-dock nav.article-catalog a,
.article-content--html nav.article-catalog a {
    color: #7eb6ff;
    text-decoration: none;
}

.article-catalog-dock nav.article-catalog a:hover,
.article-content--html nav.article-catalog a:hover {
    text-decoration: underline;
}

.article-catalog-dock .article-catalog__hint {
    color: #8fa3bf;
    font-size: 0.85rem;
    margin: 0.75rem 0 0;
}

.article-catalog-dock .article-catalog__empty,
.article-content--html .article-catalog__empty {
    color: #8fa3bf;
    font-size: 0.9rem;
    margin: 0;
}

.article-catalog-dock nav.article-catalog a {
    cursor: text;
}

.article-catalog-dock.is-jump-modifier nav.article-catalog a {
    cursor: pointer;
}

@media (max-width: 959px) {
    .article-catalog-dock {
        position: static;
        max-height: none;
    }
}
