/* Scoped blog styles; the rest of the theme keeps its original stylesheet. */
.blog-section { padding: 70px 20px; background: #fff; }
.blog-section__heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 16px 30px; margin-bottom: 36px; }
.home .blog-section__heading h2 { margin: 0; }
.blog-section__all, .blog-card__read, .blog-post__back { color: #075acf; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.blog-card { min-width: 0; }
.blog-card__link { display: block; height: 100%; color: #545454; }
.blog-card__image { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 24px; }
.blog-card__body { border-top: 1px solid #cfd8f7; padding-top: 20px; }
.blog-card__date, .blog-post__date { display: block; font-size: 1.4rem; color: #545454; margin-bottom: 12px; }
.home .blog-card__title, .blog-card .blog-card__title { text-align: left; font-size: 2.4rem; line-height: 1.35; font-weight: 700; margin: 0 0 14px; overflow-wrap: anywhere; }
.home .blog-card p, .blog-card p { display: block; color: #545454; font-size: 1.7rem; line-height: 1.6; margin: 0 0 20px; }
.blog-card__link:hover { color: #545454; }
.blog-card__link:hover .blog-card__title, .blog-section__all:hover, .blog-post__back:hover { text-decoration: underline; text-underline-offset: 4px; }
.blog-section a:focus-visible, .blog-list a:focus-visible, .blog-post a:focus-visible { outline: 3px solid #075acf; outline-offset: 5px; }
.blog-section ::selection, .blog-archive ::selection, .blog-post ::selection { color: #fff; background: #184598; }
.blog-archive > .container > h1 { margin: 60px 0 36px; }
.blog-archive__description { max-width: 70ch; margin-bottom: 32px; }
.blog-list { padding-bottom: 70px; }
.blog-empty { padding: 30px 0; color: #545454; }
.blog-pagination { margin-top: 48px; }
.blog-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.blog-pagination .page-numbers a, .blog-pagination .page-numbers span { display: block; padding: 10px 16px; color: #075acf; }
.blog-pagination .page-numbers .current { background: #075acf; color: #fff; }
.blog-pagination a:hover { background: #e2e9fc; }
.blog-post { padding: 48px 20px 70px; }
.blog-post__inner { max-width: 900px; }
.blog-post h1 { font-size: clamp(3rem, 4vw, 4.4rem); line-height: 1.2; margin: 28px 0 20px; overflow-wrap: anywhere; }
.blog-post__date { margin-bottom: 32px; }
.blog-post__image { width: 100%; height: auto; margin-bottom: 36px; }
.blog-post__content { font-size: 1.8rem; line-height: 1.75; overflow-wrap: anywhere; }
.blog-post__content p { margin-bottom: 24px; }
.blog-post__content h2, .blog-post__content h3, .blog-post__content h4 { text-align: left; line-height: 1.3; margin: 36px 0 16px; font-weight: 700; }
.blog-post__content h2 { font-size: 3rem; }
.blog-post__content h3 { font-size: 2.5rem; }
.blog-post__content h4 { font-size: 2.1rem; }
.blog-post__content ul, .blog-post__content ol { padding-left: 28px; margin: 0 0 24px; }
.blog-post__content ul { list-style: disc; }
.blog-post__content ol { list-style: decimal; }
.blog-post__content li + li { margin-top: 8px; }
.blog-post__content a { text-decoration: underline; text-underline-offset: 3px; }
.blog-post__content blockquote { border-left: 1px solid #075acf; padding-left: 24px; margin: 28px 0; color: #184598; }
.blog-post__content figure { max-width: 100%; margin-bottom: 24px; }
.blog-post__content figcaption { color: #545454; font-size: 1.4rem; }
.blog-post__content iframe, .blog-post__content video { max-width: 100%; }
.blog-post__content pre, .blog-post__content .wp-block-table { overflow-x: auto; }
.blog-post__content table { width: 100%; }
.blog-post__content th, .blog-post__content td { border: 1px solid #cfd8f7; padding: 10px; }
.blog-post .nav-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; padding-top: 28px; border-top: 1px solid #cfd8f7; }
.blog-post .nav-previous, .blog-post .nav-next { flex: 1 1 240px; }
.blog-post .nav-next { text-align: right; }
.blog-share { margin: 36px 0; }
.blog-share .share-lnk { margin: 8px 16px; font-size: 3rem; }
@media (min-width: 768px) and (max-width: 991px) { .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .blog-section { padding: 48px 20px; }
    .blog-grid { grid-template-columns: 1fr; gap: 36px; }
    .home .blog-section__heading h2 { font-size: 3rem; }
    .blog-archive > .container > h1 { margin-top: 40px; font-size: 3.2rem; }
    .blog-post { padding: 32px 8px 48px; }
    .blog-post .nav-next { text-align: left; }
}
/* This theme does not enqueue style.css, which normally supplies this utility. */
.blog-card .screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
