/* Febzor Connect: posts, archives, comments and widths (turn off: Appearance → Febzor Connect). */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); word-wrap: normal !important; }
.screen-reader-text:focus { top: 5px; left: 5px; z-index: 100000; display: block; width: auto; height: auto; padding: 15px 23px 14px; clip: auto !important; background-color: #f1f5f9; color: #1e293b; font-size: 1rem; line-height: normal; text-decoration: none; }
.skip-link:focus { position: absolute !important; }
/* The skip link moves focus into the content; the whole area needs no focus ring. */
.site-main[tabindex="-1"]:focus { outline: 0; }
/* Pages built with Febzor run edge to edge; everything else sits in the content width. */
body:not(.febzor-page) .site-main { width: 100%; max-width: 1140px; margin-inline: auto; padding-inline: 20px; }
.site-main { padding-block-end: 20px; }
.fzc-page-header .entry-title, .site-footer .fzc-copyright { overflow-wrap: anywhere; }
.fzc-page-content::after { content: ""; display: table; clear: both; }
.fzc-post { margin-block-end: 2.5rem; }
.fzc-post .entry-title a { color: inherit; }
.fzc-post img { display: block; margin-block-end: 1rem; }
.fzc-post-tags { margin-block-start: 1.5rem; font-size: .9em; }
.fzc-archive-description { color: #64748b; }
.wp-caption { max-width: 100%; margin-block-end: 1.25rem; }
.wp-caption img { display: block; margin-inline: auto; }
.wp-caption-text, .gallery-caption { margin: 0; font-size: .9em; }
.gallery { display: flex; flex-wrap: wrap; gap: 10px; }
.gallery-item { flex: 1 1 calc((100% - 20px) / 3); }
.gallery-columns-2 .gallery-item { flex-basis: calc((100% - 10px) / 2); }
.gallery-columns-4 .gallery-item { flex-basis: calc((100% - 30px) / 4); }
.alignleft { float: left; margin-inline-end: 1rem; }
.alignright { float: right; margin-inline-start: 1rem; }
.aligncenter { clear: both; display: block; margin-inline: auto; }
.alignwide { margin-inline: -80px; max-width: none; }
.alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
@media (max-width: 1240px) { .alignwide { margin-inline: 0; } }
.sticky, .bypostauthor { position: relative; }
.post-password-form input[type=password] { max-width: 300px; }
/* Page links under archives and search: each number a button, the current page filled. */
.pagination { margin-block: 2rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 40px; min-height: 40px; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 6px; color: #2563eb; line-height: 1; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; }
.pagination a.page-numbers:hover { border-color: #2563eb; background-color: #eff6ff; color: #1d4ed8; }
.pagination a.page-numbers:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.pagination .page-numbers.current { border-color: #2563eb; background-color: #2563eb; color: #fff; font-weight: 600; }
.pagination .page-numbers.dots { min-width: 0; padding: 0 4px; border-color: transparent; color: #64748b; }
/* Comment pages: older on one side, newer on the other. */
.comment-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; margin-block: 20px; }
.fzc-comments { margin-block-start: 2.5rem; }
.comment-list { margin: 0 0 2rem; padding: 0; list-style: none; }
.comment-list .children { padding-inline-start: 30px; list-style: none; }
.comment-body { position: relative; padding-block: 1rem; padding-inline-start: 60px; border-block-end: 1px solid #e2e8f0; }
.comment-author .avatar { position: absolute; inset-inline-start: 0; border-radius: 50%; }
.comment-metadata { font-size: .85em; }
.comment-reply-link { font-size: .85em; }
.comment-form label { display: block; margin-block-end: .4rem; }
.comment-form p { margin-block-end: 1rem; }
