.site-layout {
    min-block-size: 100dvh;
}

.site-sidebar,
.site-main-column,
.site-main {
    min-inline-size: 0;
}

.site-sidebar {
    background: var(--bpv-ui-site-nav-bg);
    color: var(--bpv-ui-site-nav-text);
}

.site-sidebar__inner {
    padding: 0;
}

.site-sidebar__bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-block-size: 3.75rem;
    padding: 0.5rem var(--bpv-page-gutter);
}

.site-main-column {
    display: grid;
    grid-template-rows: 1fr auto;
    min-block-size: 100dvh;
    background: var(--bpv-ui-page-bg);
}

.site-main {
    padding-block: 2.5rem 4rem;
}

.content-container {
    inline-size: min(calc(100% - (2 * var(--bpv-page-gutter))), var(--bpv-content-width));
    margin-inline: auto;
}

.content-container--full {
    inline-size: min(calc(100% - (2 * var(--bpv-page-gutter))), var(--bpv-full-width));
}

.entry-header {
    margin-block-end: 2rem;
}

.entry-title {
    margin: 0;
}

.entry-content {
    overflow-wrap: anywhere;
}

.entry-content > :first-child {
    margin-block-start: 0;
}

.entry-content > :last-child {
    margin-block-end: 0;
}

.entry-content > .alignwide,
.entry-content > .alignfull {
    inline-size: 100%;
    max-inline-size: 100%;
    margin-inline: 0;
}

.site-footer {
    border-block-start: 1px solid var(--bpv-ui-divider);
}

.site-footer__inner {
    padding-block: 1.5rem 3rem;
    font-size: 0.9rem;
}

.site-footer p {
    margin: 0;
}

@media (min-width: 48rem) {
    .site-layout {
        display: grid;
        grid-template-columns:
            clamp(
                var(--bpv-layout-sidebar-min),
                25vw,
                var(--bpv-layout-sidebar-max)
            )
            minmax(0, 1fr);
    }

    .site-sidebar__inner {
        position: sticky;
        top: var(--bpv-admin-bar-offset, 0px);
        display: grid;
        align-content: start;
        gap: 2.5rem;
        max-block-size: calc(100dvh - var(--bpv-admin-bar-offset, 0px));
        overflow-y: auto;
        padding-block: 4rem;
        padding-inline: clamp(1.25rem, 2.5vw, 3rem);
    }

    .site-sidebar__bar {
        display: block;
        min-block-size: auto;
        padding: 0;
    }

    .site-main {
        padding-block: 5rem 6rem;
    }
}

body.admin-bar {
    --bpv-admin-bar-offset: var(--wp-admin--admin-bar--height, 0px);
}
