.wp-singular:has(.single) {
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.wp-singular:has(.single) .js-headerTransitionArea {
    display: contents;
}

.wp-singular .single {
    padding-block: var(--spacing-4xl) calc(var(--spacing-4xl) + 40px);

    h2,
    h3,
    h4,
    h5,
    h6 {
        color: var(--color-primary);
        font-weight: 500;
        line-height: 1.7;
    }

    h1 {
        font-size: var(--text-4xl);
        line-height: 1.6;
        text-wrap: auto;
    }

    h2 {
        font-size: var(--text-3xl);
    }

    h3 {
        font-size: var(--text-2xl);
    }

    h4 {
        font-size: var(--text-xl);
    }

    p {
        font-size: 16px;
        line-height: 1.8;
        margin-top: var(--spacing-lg);
    }

    ul,
    ol {
        margin-top: var(--spacing-lg);
        padding-left: var(--spacing-lg);
    }

    ul ul,
    ol ul {
        margin-top: 0;
    }

    ul {
        list-style: disc;
    }

    ol {
        list-style: decimal;
    }

    blockquote {
        margin-top: var(--spacing-lg);
        padding: var(--spacing-md) var(--spacing-md);
    }

    blockquote p {
        margin-top: 0;
    }

    .single__meta {
        display: flex;
        gap: 16px;
        justify-content: flex-end;
        margin-top: var(--spacing-2xl);
    }

    .single__content {
        margin-top: var(--spacing-3xl);
    }

    .single__back {
        display: flex;
        justify-content: center;
        margin-top: var(--spacing-3xl);
    }

    .wp-block-heading {
        margin-top: 1.75em;
    }

    .wp-block-table {
        margin-top: var(--spacing-2xl);
        overflow-x: auto;
        text-wrap: auto;
    }

    .wp-block-table table {
        margin-inline: auto;
    }

    .wp-block-button {
        font-family: var(--font-serif);
        margin-top: var(--spacing-lg);
        transition: filter var(--transition-duration);
    }

    .wp-block-button:hover {
        filter: brightness(0.87);
    }
}

.wp-block-file {
	a {
        font-size: 16px;
        letter-spacing: 0.04em;
    }
    a:link {
        text-decoration: underline;
        color: #0033cc;
    }
    a:visited {
        color: #800080;
    }
}