/* Relative sizes support browser text enlargement and user spacing overrides. */
html { font-size: 100%; }
body.btLightSkin, body.btDarkSkin { font-size: 1rem; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
.btArticleListItem .header h2, .btArticleListItem .header h3 { line-height: 1.35; }
.single-post .btArticle .btArticleContent { min-width: 0; }
.single-post .btArticle h1, .single-post .btPageHeadline h1 {
    font-size: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
    line-height: 1.25; letter-spacing: normal; overflow-wrap: anywhere;
}
.single-post .btArticleBody, .single-post .btArticleExcerpt {
    max-width: 72ch; margin-inline: auto; font-size: 1.125rem;
    line-height: 1.8; overflow-wrap: anywhere; text-align: start;
}
.single-post .btArticleBody p { font-size: inherit; line-height: inherit; margin: 0 0 1.4em; }
/* Match the featured image edges to the article's reading column. */
.single-post .btRegularMediaPosition {
    max-width: 72ch;
    margin-inline: auto;
    font-size: 1.125rem;
}
.single-post .btRegularMediaPosition .boldPhotoSlide { padding-inline: 0; }
.single-post .btRegularMediaPosition .btMediaBox img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}
.single-post .btArticleBody li { margin-bottom: .5em; }
.single-post .btArticleBody h2 { font-size: 1.75rem; line-height: 1.35; margin-block: 1.5em .65em; }
.single-post .btArticleBody h3 { font-size: 1.375rem; line-height: 1.4; margin-block: 1.5em .65em; }
.single-post .btArticleBody img, .single-post .btArticleBody video { max-width: 100%; height: auto; }
.single-post .btArticleBody iframe { max-width: 100%; }
.single-post .btArticleBody figure { max-width: 100%; margin-inline: 0; }
.single-post .btArticleBody table { display: block; max-width: 100%; overflow-x: auto; }
.single-post .btArticleBody a { text-decoration: underline; text-underline-offset: .15em; }
.single-post .btArticleBody blockquote { margin-inline: 0; padding: 1rem 1.5rem; border-inline-start: 3px solid #b21d27; font-size: 1.125rem; }
.single-post .btArticle .btArticleMeta .btSubTitle,
.single-post .btArticle .btArticleSideMeta .btSubTitle { font-size: .875rem !important; line-height: 1.6; }
.single-post .btArticleBody figcaption { font-size: .875rem; line-height: 1.5; }
.updown-comments { max-width: 48rem; margin: 2rem auto; padding-top: 1.5rem; border-top: 1px solid #d4d4d4; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.updown-comments h2 { font-size: 1.375rem; line-height: 1.4; margin: 0 0 .75rem; }
.updown-comments .comment-notes, .updown-comments .logged-in-as { font-size: .875rem; margin-bottom: 1.25rem; }
.updown-comments .comment-form { display: flex; flex-wrap: wrap; gap: 1rem; }
.updown-comments .comment-form > p { flex: 1 1 100%; margin: 0; }
.updown-comments label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .375rem; }
.updown-comments input:not([type="hidden"]), .updown-comments textarea {
    box-sizing: border-box; width: 100%; min-height: 44px; padding: .75rem;
    border: 1px solid #858585; border-radius: 4px; background: #fff; color: #202020; font-size: 1rem; line-height: 1.5;
}
.updown-comments textarea { resize: vertical; min-height: 8rem; }
.updown-comments .form-submit .submit { width: auto; min-height: 44px; padding: .65rem 1.5rem; background: #202020; color: #fff; border: 1px solid #202020; border-radius: 4px; cursor: pointer; }
.updown-comments :focus-visible { outline: 3px solid #1765b1; outline-offset: 3px; }
.updown-comments .comment-form > .updown-comment-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.updown-comment-list, .updown-comment-list .children { list-style: none; padding: 0; margin: 0; }
.updown-comment-list .children { padding-inline-start: 1rem; }
.updown-comment-list .comment-body { padding-block: 1.25rem; border-bottom: 1px solid #ddd; }
.updown-comment-list .comment-metadata { font-size: .875rem; }
.updown-comment-list .comment-content p { margin-block: .75rem; }
.updown-comments .comment-respond { margin-top: 1.5rem; }
.updown-comments .reply a, .updown-comments #cancel-comment-reply-link { display: inline-block; padding: .6rem .25rem; font-size: .875rem; text-decoration: underline; }
@media (max-width: 600px) {
    .single-post .btArticleBody, .single-post .btArticleExcerpt { font-size: 1.125rem; line-height: 1.75; }
    .updown-comments { margin-block: 1.5rem; }
}
