/* WordPress integration; the homepage design stays in site.css. */
body:not(.home) .site-header { position: relative; background: var(--navy); }
body.admin-bar.home .site-header { top: 32px; }
.page-content { padding-block: 72px 108px; min-height: 45vh; }
.page-title { font-size: clamp(36px, 5vw, 60px); margin-bottom: 36px; }
.content-entry + .content-entry { border-top: 1px solid #ddd; margin-top: 48px; padding-top: 48px; }
.content-entry h2 { font-size: 32px; margin-bottom: 24px; }
.entry-content { overflow-wrap: anywhere; }
.entry-content > * + * { margin-top: 24px; }
.entry-content h2, .entry-content h3 { margin-top: 36px; }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 24px; }
.entry-content blockquote { margin-inline: 0; padding-left: 24px; border-left: 4px solid var(--gold); }
.entry-content pre { overflow-x: auto; padding: 20px; background: var(--cream); }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content td, .entry-content th { padding: 10px; border: 1px solid #ddd; }
.entry-content iframe { max-width: 100%; }
.content-entry > .text-link { display: inline-block; margin-top: 24px; }
.navigation.pagination, .page-links { margin-top: 36px; }
.page-numbers { display: inline-block; padding: 8px 12px; }
.page-numbers.current { background: var(--navy); color: var(--cream); }
.site-search { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.site-search input { min-height: 60px; max-width: 100%; padding: 14px; border: 1px solid #aaa; }
.site-search label { max-width: 100%; }
.aligncenter { margin-inline: auto; }
.alignleft { float: left; margin: 0 24px 24px 0; }
.alignright { float: right; margin: 0 0 24px 24px; }
.entry-content::after { content: ''; display: block; clear: both; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font-size: 14px; margin-top: 8px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.screen-reader-text:focus { width: auto; height: auto; clip-path: none; background: var(--cream); color: var(--navy); padding: 12px; z-index: 100; }
@media (max-width: 959px) {
    body.admin-bar.home .site-header { top: auto; }
    .page-content { padding-block: 48px 72px; }
}
