.guides-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
@media (max-width: 820px) { .guides-layout { grid-template-columns: 1fr; } }

/* Телефон: оглавление из ~90 пунктов вставало НАД читалкой, и текст
   инструкции начинался на 4400-й точке — шестой экран. Список уезжает в
   шторку мобильного кита (К1), читалка оказывается сразу под шапкой. */
@media (max-width: 767.98px) {
    .guides-nav .list-group { box-shadow: none !important; }
    .guides-nav .list-group-item { min-height: 44px; display: flex; align-items: center; }
    .guides-nav .list-group-item.bg-light { min-height: 0; }
    .guides-search {
        /* 16px — иначе iOS Safari зумит страницу на фокусе поля */
        font-size: 16px;
        min-height: 44px;
        margin: 8px 12px;
        width: calc(100% - 24px);
    }
}

/* Меню — обычный поток, БЕЗ липкости и без собственного скролла
   (на странице ровно один скролл — сама
   страница). Список едет вверх вместе с чтением; вернуться к выбору —
   прыжок в начало страницы. */
.guides-nav { align-self: start; }
.guides-nav .list-group-item {
    cursor: pointer;
    border: 0;
    border-radius: var(--bp-radius-sm) !important;
    padding: 0.55rem 0.8rem;
    font-size: 0.9rem;
    color: var(--bp-ink, #17181a);
    transition: background-color .12s ease, color .12s ease;
}
.guides-nav .list-group-item:hover { background: var(--bp-blue-tint, #e6edf5); }
.guides-nav .list-group-item.active {
    background: var(--bp-blue, #044184);
    color: #fff;
    font-weight: 600;
}

.guide-frame-wrap {
    border: 1px solid var(--bp-line, #d9d3c2);
    border-radius: var(--bp-radius-lg);
    overflow: hidden;
    background: var(--bp-sheet);
    box-shadow: var(--bp-shadow-card);
}
/* Высоту рамке задаёт JS по фактическому контенту (sizeFrame):
   скроллит только страница, внутреннего скролла у рамки нет —
   скролл-в-скролле запрещён. Стартовое
   значение — до первого замера. */
.guide-frame {
    width: 100%;
    height: 70vh;
    min-height: 320px;
    border: 0;
    display: block;
}
