/* Single post — własny sidebar (baner ACF, max 225px) */

:root {
    --bb-single-post-sidebar-sticky-top: 100px;
    --bb-single-post-sidebar-width: 225px;
}

body.bb-single-post.bb-single-post-sticky-sidebar #wrapper,
body.bb-single-post.bb-single-post-sticky-sidebar #inner-wrap {
    overflow: visible;
}

@media screen and (min-width: 769px) {
    /*
     * Grid tylko gdy #secondary jest bezpośrednim dzieckiem kontenera (nie wewnątrz #main).
     * :has(#secondary) bez ">" łapało sidebar zagnieżdżony w treści/CF7 i rozciągał go na całą kolumnę.
     */
    body.bb-single-post.bb-single-post-has-custom-sidebar .content-container.site-container:has(> #secondary) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--bb-single-post-sidebar-width);
        column-gap: 32px;
        align-items: start;
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar:not(.has-left-sidebar):not(.rtl) .content-container.site-container:has(> #secondary) #main {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar:not(.has-left-sidebar):not(.rtl) .content-container.site-container:has(> #secondary) #secondary.primary-sidebar {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        justify-self: end;
        width: var(--bb-single-post-sidebar-width);
        max-width: var(--bb-single-post-sidebar-width);
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar.has-left-sidebar:not(.rtl) .content-container.site-container:has(> #secondary) #main {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar.has-left-sidebar:not(.rtl) .content-container.site-container:has(> #secondary) #secondary.primary-sidebar {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        width: var(--bb-single-post-sidebar-width);
        max-width: var(--bb-single-post-sidebar-width);
    }

    /* Fallback: #secondary wypadł z .content-container (zepsuty HTML, np. CF7 w treści) */
    body.bb-single-post.bb-single-post-has-custom-sidebar #primary.content-area:has(> #secondary):not(:has(.content-container > #secondary)) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) var(--bb-single-post-sidebar-width);
        column-gap: 32px;
        align-items: start;
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar #primary.content-area:has(> #secondary):not(:has(.content-container > #secondary)) > .content-container.site-container {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
        display: block;
        max-width: 100%;
    }

    body.bb-single-post.bb-single-post-has-custom-sidebar #primary.content-area:has(> #secondary):not(:has(.content-container > #secondary)) > #secondary.primary-sidebar {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        justify-self: end;
        width: var(--bb-single-post-sidebar-width);
        max-width: var(--bb-single-post-sidebar-width);
    }

    body.bb-single-post #secondary.primary-sidebar,
    body.bb-single-post #secondary.primary-sidebar .sidebar-inner-wrap {
        box-sizing: border-box;
        max-width: var(--bb-single-post-sidebar-width);
        width: var(--bb-single-post-sidebar-width);
        min-width: 0;
    }

    body.bb-single-post.has-sidebar:not(.has-left-sidebar):not(.rtl) #secondary.primary-sidebar {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    body.bb-single-post.has-sidebar.has-left-sidebar:not(.rtl) #secondary.primary-sidebar,
    body.bb-single-post.has-sidebar.rtl:not(.has-left-sidebar) #secondary.primary-sidebar {
        padding-left: 0;
        padding-right: 0;
    }

    body.bb-single-post.bb-single-post-sticky-sidebar #secondary.primary-sidebar {
        position: sticky;
        top: calc(var(--bb-single-post-sidebar-sticky-top) + var(--wp-admin--admin-bar--height, 0px));
        align-self: start;
        height: fit-content;
        max-height: calc(100vh - var(--bb-single-post-sidebar-sticky-top) - var(--wp-admin--admin-bar--height, 0px));
        z-index: 5;
    }

    body.bb-single-post.bb-single-post-sticky-sidebar #secondary .sidebar-inner-wrap {
        position: static;
        top: auto;
        overflow: visible;
        height: auto;
        max-height: none;
    }
}

body.bb-single-post #secondary .bb-single-post-sidebar__promo {
    margin: 0;
    padding: 0;
    max-width: 100%;
}

body.bb-single-post #secondary .bb-single-post-sidebar__link {
    display: block;
    line-height: 0;
    text-decoration: none;
    max-width: 100%;
}

body.bb-single-post #secondary .bb-single-post-sidebar__link:hover {
    opacity: 0.92;
}

body.bb-single-post #secondary .bb-single-post-sidebar__image {
    display: block;
    width: 100%;
    max-width: var(--bb-single-post-sidebar-width);
    height: auto;
    border-radius: 0;
}

@media screen and (max-width: 768px) {
    body.bb-single-post #secondary.primary-sidebar {
        max-width: none;
        width: 100%;
        margin-top: 2rem;
        padding-top: 0;
    }

    body.bb-single-post #secondary .bb-single-post-sidebar__image {
        max-width: 100%;
    }

    body.bb-single-post.bb-single-post-sticky-sidebar #secondary.primary-sidebar,
    body.bb-single-post.bb-single-post-sticky-sidebar #secondary .sidebar-inner-wrap {
        position: static;
        top: auto;
        max-height: none;
    }
}
