/* ── SP-LM 前端布局 ─────────────────────────────────────────── */

/* 外层容器：始终纵向堆叠（内部含 header/body/footer 区域） */
.bv-sp-layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* 单列 body */
.bv-sp-body.bv-sp-cols-1 {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* 双列 body */
.bv-sp-body.bv-sp-cols-2 {
    display: grid;
    grid-template-columns: var(--sp-ratio, 3fr 1fr);
    grid-template-areas: "main sidebar";
    gap: 24px;
    align-items: start;
    width: 100%;
}
.bv-sp-body.bv-sp-cols-2 .bv-sp-main    { grid-area: main; }
.bv-sp-body.bv-sp-cols-2 .bv-sp-sidebar { grid-area: sidebar; position: sticky; top: 80px; }

/* 全宽区域 */
.bv-sp-zone-header,
.bv-sp-zone-after-content,
.bv-sp-zone-footer { width: 100%; }

@media (max-width: 768px) {
    .bv-sp-body.bv-sp-cols-2 {
        grid-template-columns: 1fr;
        grid-template-areas: "main" "sidebar";
    }
    .bv-sp-body.bv-sp-cols-2 .bv-sp-sidebar { position: static; }
}
