.post-body__blocks {
    margin-block: 0 !important;
}

.single-person .post-body .entry-content,
.post-body--has-sidebar .entry-content {
    padding-inline: 0 !important;
}

.post-body__sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--large);
}

.post-body__sidebar-content {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--large);
}

/* Desktop sidebar/TOC */

@media (min-width: 841px) {
    .post-body--has-sidebar {
        align-items: flex-start;
        column-gap: var(--wp--preset--spacing--x-large);
        display: flex;
        justify-content: flex-start;
    }

    .post-body__sidebar {
        flex: 1 1 15.625rem;
        max-width: 18.75rem;
        min-width: 15.625rem;
        position: sticky;
        top: calc(var(--site-header--height-pinned) + var(--wp--preset--spacing--medium));
        width: 100%;
    }

    .post-body--has-sidebar .post-body__blocks {
        flex: 1 1 52.5rem;
        max-width: 52.5rem;
        min-width: 0;
        width: 100%;
    }

    .post-body--has-sidebar
        .post-body__blocks
        .entry-content
        > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
        margin-inline: 0 !important;
        max-width: 100%;
    }

    .post-body__toc-heading {
        border-bottom: 1px solid var(--wp--preset--color--border-light);
        margin-block: 0 var(--wp--preset--spacing--x-small) !important;
        padding-bottom: var(--wp--preset--spacing--x-small);
    }

    .post-body__toc {
        margin-top: var(--wp--preset--spacing--x-small);
    }

    .post-body__toc-list {
        display: flex;
        flex-direction: column;
        gap: var(--wp--preset--spacing--x-small);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .post-body__toc-item {
        line-height: 1.2;
        font-size: var(--wp--preset--font-size--small);
    }

    .post-body__toc-link {
        color: var(--wp--preset--color--main);
        text-decoration: none;
    }

    .post-body__toc-link:hover,
    .post-body__toc-link:focus-visible,
    .post-body__toc-link.is-active {
        font-weight: 700;
        letter-spacing: -0.03em;
        text-decoration: none;
    }
}

/* Downloads */

.post-body__downloads-list {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--medium);
    list-style: none;
    margin: 0;
    padding: 0;
}

.post-body__downloads-item {
    word-break: break-word;
}

@media (min-width: 841px) {
    .post-body__downloads-item {
        border-top: 1px solid var(--wp--preset--color--border-light);
        padding-top: var(--wp--preset--spacing--medium);
    }
}

.post-body__downloads-link {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--x-small);
}

.post-body__downloads-link:hover {
    text-decoration: none;
}

.post-body__downloads-item-label {
    color: var(--wp--preset--color--main);
    display: block;
    font-family: var(--wp--preset--font-family--primary-condensed);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
}

.post-body__downloads-link:hover .post-body__downloads-item-label {
    color: var(--wp--preset--color--secondary--accent);
}

.post-body__downloads-item-action {
    align-items: center;
    display: flex;
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 700;
    gap: 0.3em;
    line-height: 1;
}

.post-body__downloads-item-action svg {
    height: 1em;
    width: auto;
}

/* Sidebar Promos */

.post-body__promo-link {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--xx-small);
}

.post-body__promo-link > * {
    margin: 0;
}

.post-body__promo-link:hover {
    text-decoration: none;
}

.post-body__downloads-item-image,
.post-body__promo-image {
    aspect-ratio: 2 / 1;
    border: 1px solid var(--wp--preset--color--border-light);
    border-radius: var(--wp--preset--border-radius--default);
    overflow: clip;
    position: relative;
}

.post-body__downloads-item-image img,
.post-body__promo-image img {
    display: block;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
}

.post-body__promo-label {
    color: var(--wp--preset--color--main);
    display: block;
    font-family: var(--wp--preset--font-family--primary-condensed);
    font-size: var(--wp--preset--font-size--large);
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
}

.post-body__promo-link:hover .post-body__promo-label {
    color: var(--wp--preset--color--secondary--accent);
}

.post-body__promo-action .wp-block-button__link {
    text-align: left;
}

/* Person Sidebar */

@media (min-width: 1024px) {
    .single-person .post-body--has-sidebar {
        gap: var(--wp--preset--spacing--large);
    }

    .post-body__sidebar--person {
        flex: 1 1 15.625rem;
        max-width: 23.75rem;
        min-width: 18.75rem;
    }

    .single-person .post-body--has-sidebar .post-body__blocks {
        flex: 1 1 52.5rem;
        max-width: 52.5rem;
    }
}

.post-body__bio-photo {
    aspect-ratio: 1 / 1;
    border: 1px solid var(--wp--preset--color--border-light);
    border-radius: var(--wp--preset--border-radius--default);
    overflow: clip;
    position: relative;
}

.post-body__bio-photo img {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

/* Mobile Sidebar/TOC */

@media (max-width: 840px) {
    .post-body__sidebar + .post-body__blocks {
        margin-top: var(--wp--preset--spacing--xx-large) !important;
    }

    .post-body--has-toc {
        margin-top: 0 !important;
    }

    .post-body--has-toc .post-body__sidebar {
        padding-top: var(--post-body--toc-heading-height, calc(1.5rem + var(--wp--preset--spacing--medium) * 2));
        position: relative;
    }

    .post-body__toc-heading {
        border: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .post-body__toc-section {
        position: absolute;
        top: 0;
        left: calc(var(--wp--preset--spacing--medium) * -1);
        width: calc(100% + var(--wp--preset--spacing--medium) * 2);
        z-index: 1;
    }

    .post-body__toc-toggle {
        align-items: center;
        background:
            url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22200%22%20height%3D%22200%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.80%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url(%23n)%22%20opacity%3D%220.3%22%2F%3E%3C%2Fsvg%3E"),
            linear-gradient(130deg, #124678 1.69%, #206674 183.48%);
        border: 0;
        color: var(--wp--preset--color--base);
        cursor: pointer;
        display: flex;
        font: inherit;
        gap: 0.75em;
        justify-content: space-between;
        letter-spacing: inherit;
        padding: var(--wp--preset--spacing--medium);
        text-align: left;
        text-transform: inherit;
        width: 100%;
    }

    .post-body__toc-toggle[hidden] {
        display: none;
    }

    .post-body__toc-toggle::after {
        background: #fff
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='m2 4 4 4 4-4' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
            no-repeat center / 0.75rem;
        border-radius: 50%;
        content: "";
        flex-shrink: 0;
        height: 1.5rem;
        transition: transform var(--transition);
        width: 1.5rem;
    }

    .post-body__toc-toggle[aria-expanded="true"]::after {
        transform: rotate(180deg);
    }

    .post-body__toc {
        background: var(--wp--preset--color--tertiary);
        border-bottom: 1px solid var(--wp--preset--color--border-light);
        margin: 0 !important;
        padding: 0.25em var(--wp--preset--spacing--medium);
    }

    .post-body__toc-list {
        display: flex;
        flex-direction: column;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .post-body__toc-item {
        color: var(--wp--preset--color--secondary-accent);
        font-size: var(--wp--preset--font-size--medium);
    }

    .post-body__toc-link {
        display: block;
        border-top: 1px solid var(--wp--preset--color--border-light);
        font-weight: 600;
        padding-block: 0.75em;
    }

    .post-body__toc-item:first-child .post-body__toc-link {
        border-top: none;
    }

    .post-body__toc-link:hover {
        text-decoration: none;
    }

    .post-body__sidebar-content {
        background: var(--wp--preset--color--tertiary);
        margin-left: calc(-1 * var(--wp--preset--spacing--medium));
        margin-top: calc(-1 * var(--wp--preset--spacing--xx-large));
        padding: var(--wp--preset--spacing--medium);
        width: calc(100% + 2 * var(--wp--preset--spacing--medium));
    }

    .post-body__toc-section + .post-body__sidebar-content {
        margin-top: 0;
    }
