.bm-content {
    color: var(--bm-text);
    font-size: var(--bm-font-size-lg);
    line-height: 1.75;
}

.bm-content>* {
    max-width: 100%;
}

.bm-content>*:first-child {
    margin-top: 0;
}

.bm-content>*:last-child {
    margin-bottom: 0;
}

.bm-content p,
.bm-content ul,
.bm-content ol,
.bm-content blockquote,
.bm-content figure,
.bm-content table {
    margin-top: 0;
    margin-bottom: var(--bm-space-6);
}

.bm-content h1,
.bm-content h2,
.bm-content h3,
.bm-content h4 {
    margin: var(--bm-space-10) 0 var(--bm-space-4);
    color: var(--bm-text);
    font-weight: var(--bm-weight-extrabold);
    line-height: var(--bm-line-tight);
}

.bm-content h1 {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--bm-space-5);
    margin: var(--bm-space-10) 0 var(--bm-space-8);
    padding: var(--bm-space-4) var(--bm-space-5) var(--bm-space-4) 0;
    background: var(--bm-archive-gradient);
}

.bm-content h1::before {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: 45px;
    height: 46px;
    background: var(--bm-accent);
    clip-path: polygon(49% 0, 100% 0, 51% 100%, 0 100%);
}

.bm-content h1 {
    font-size: var(--bm-font-size-5xl);
}

.bm-content h2 {
    font-size: var(--bm-font-size-4xl);
}

.bm-content h3 {
    font-size: var(--bm-font-size-3xl);
}

.bm-content h4 {
    font-size: var(--bm-font-size-xl);
}

.bm-content a {
    color: var(--bm-accent-dark);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.bm-content blockquote {
    padding: var(--bm-space-5) var(--bm-space-6);
    border-left: 4px solid var(--bm-accent);
    background: var(--bm-soft);
    color: var(--bm-text);
    font-size: var(--bm-font-size-base);
    line-height: var(--bm-line-relaxed);
}

.bm-content blockquote p:last-child {
    margin-bottom: 0;
}

.bm-content img {
    display: block;
    height: auto;
}

.bm-content iframe,
.bm-content embed,
.bm-content object,
.bm-content video {
    max-width: 100%;
}

.bm-content .wp-block-embed__wrapper {
    position: relative;
    overflow: hidden;
}

.bm-content .wp-block-embed__wrapper iframe {
    display: block;
    width: 100%;
}

.bm-content figure img {
    width: 100%;
}

.bm-content figcaption {
    margin-top: var(--bm-space-2);
    color: var(--bm-muted);
    font-size: var(--bm-font-size-sm);
    text-align: center;
}

.bm-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: var(--bm-font-size-base);
    -webkit-overflow-scrolling: touch;
}

.bm-content th,
.bm-content td {
    padding: var(--bm-space-3);
    border: 1px solid var(--bm-line);
    text-align: left;
}

.bm-content th {
    background: var(--bm-soft);
    font-weight: var(--bm-weight-bold);
}

.bm-page__page-links,
.bm-single__page-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bm-space-2);
    margin-top: var(--bm-space-8);
}

.bm-page__page-links a,
.bm-page__page-links .post-page-numbers,
.bm-single__page-links a,
.bm-single__page-links .post-page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--bm-size-button);
    height: var(--bm-size-button);
    padding: 0 var(--bm-space-3);
    border: 1px solid var(--bm-border-muted);
    border-radius: var(--bm-radius-pill);
    text-decoration: none;
}

@media (max-width: 767px) {
    .bm-content {
        font-size: var(--bm-font-size-base);
        line-height: var(--bm-line-normal);
    }

    .bm-content p,
    .bm-content ul,
    .bm-content ol,
    .bm-content blockquote,
    .bm-content figure,
    .bm-content table {
        margin-bottom: var(--bm-space-5);
    }

    .bm-content h1 {
        gap: var(--bm-space-3);
        margin-bottom: var(--bm-space-6);
        padding: var(--bm-space-3) var(--bm-space-4) var(--bm-space-3) 0;
        font-size: var(--bm-font-size-display-md);
    }

    .bm-content h1::before {
        width: 30px;
        height: 32px;
    }

    .bm-content h2 {
        font-size: var(--bm-font-size-2xl);
    }

    .bm-content h3 {
        font-size: var(--bm-font-size-xl);
    }

    .bm-content blockquote {
        padding: var(--bm-space-4);
        font-size: var(--bm-font-size-base);
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 480px) {

    .bm-content h1 {
        font-size: var(--bm-font-size-display-sm);
    }

    .bm-content h2 {
        font-size: var(--bm-font-size-xl);
    }
}
