/* Blog post body. Loaded by site/blog-post.php and, as content_css, by the content
   admin's editor (bh-cms-editor.js), so a post looks the same while it is written
   as it does when published. Tailwind's preflight flattens h2/h3 and strips list
   markers; these restore them, scoped to the post body. */
.bh-post > * + * { margin-top: 1rem; }
.bh-post h2 { margin-top: 2.25rem; font-size: 21px; line-height: 1.3; font-weight: 800; color: #212529; }
.bh-post h3 { margin-top: 1.75rem; font-size: 17px; line-height: 1.35; font-weight: 700; color: #212529; }
.bh-post h4 { margin-top: 1.5rem; font-size: 15px; font-weight: 700; color: #212529; }
.bh-post ul, .bh-post ol { margin-left: 1.15rem; padding-left: .35rem; }
.bh-post ul { list-style: disc; }
.bh-post ol { list-style: decimal; }
.bh-post li { margin-top: .4rem; padding-left: .2rem; }
.bh-post li::marker { color: #0891b2; }
.bh-post strong, .bh-post b { font-weight: 700; color: #212529; }
.bh-post a { color: #0e7490; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.bh-post a:hover { color: #0891b2; }
.bh-post blockquote { border-left: 3px solid #0891b2; padding: .15rem 0 .15rem 1rem; color: #475569; font-style: italic; }
.bh-post hr { margin: 2rem 0; border: 0; border-top: 1px solid #e7e5e4; }
.bh-post img { border-radius: .5rem; }
.bh-post table { width: 100%; border-collapse: collapse; font-size: 14px; display: block; overflow-x: auto; }
.bh-post th, .bh-post td { border: 1px solid #e7e5e4; padding: .5rem .65rem; text-align: left; }
.bh-post th { background: #fafaf9; font-weight: 700; color: #212529; }

/* Page sections edited in the content admin (bh_editable). Only what an editor can
   add is styled here; colours, links and spacing stay the page's own, so a section
   looks exactly as it did until someone adds a heading, a list or a table to it.
   :where() keeps these at zero specificity, below any class the page already uses. */
:where(.bh-rich) > :where(h2, h3, h4, ul, ol, blockquote, table, hr, img) + *,
:where(.bh-rich) > * + :where(h2, h3, h4, ul, ol, blockquote, table, hr, img) { margin-top: 1rem; }
:where(.bh-rich) h2 { font-size: 21px; line-height: 1.3; font-weight: 800; color: #212529; }
:where(.bh-rich) h3 { font-size: 17px; line-height: 1.35; font-weight: 700; color: #212529; }
:where(.bh-rich) h4 { font-size: 15px; font-weight: 700; color: #212529; }
:where(.bh-rich) ul, :where(.bh-rich) ol { margin-left: 1.15rem; padding-left: .35rem; }
:where(.bh-rich) ul { list-style: disc; }
:where(.bh-rich) ol { list-style: decimal; }
:where(.bh-rich) li + li { margin-top: .4rem; }
:where(.bh-rich) li::marker { color: #0891b2; }
:where(.bh-rich) blockquote { border-left: 3px solid #0891b2; padding: .15rem 0 .15rem 1rem; font-style: italic; }
:where(.bh-rich) hr { border: 0; border-top: 1px solid #e7e5e4; }
:where(.bh-rich) img { border-radius: .5rem; }
:where(.bh-rich) table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
:where(.bh-rich) th, :where(.bh-rich) td { border: 1px solid #e7e5e4; padding: .5rem .65rem; text-align: left; }
:where(.bh-rich) th { background: #fafaf9; font-weight: 700; }
