/* Native listings only. Column sizing, media ratios and masonry remain Halva-owned. */
body.shd-blog-listing {
    --shd-blog-muted: #5f6368;
    --shd-blog-card: #fff;
    --shd-blog-body: 'Open Sans', sans-serif;
    background-color: var(--shd-surface);
}
/* Disabled Customizer controls leave Halva's empty mobile rail and body padding.
   Remove that reservation only when there are no utility controls to display. */
body.shd-blog-listing:not(:has(#bwp-sticky-buttons .bwp-mobile-buttons > *)) { padding-top: 0; }
body.shd-blog-listing #bwp-sticky-buttons:not(:has(.bwp-mobile-buttons > *)) { display: none; }
body.shd-blog-listing .bwp-latest-posts-section { margin-top: 0; padding-block: clamp(2rem, 4.5vw, 4rem) clamp(1rem, 2vw, 2rem); font-family: var(--shd-blog-body); color: var(--shd-ink); }
body.shd-blog-listing .bwp-latest-posts-section > .container { width: min(100% - 2 * var(--shd-gutter), 72rem); max-width: none; padding-inline: 0; }
body.shd-blog-listing .bwp-latest-posts-container { max-width: none; }
body.shd-blog-listing:is(.blog, .category) .bwp-latest-posts-section { padding-top: clamp(1.5rem, 2.2vw, 2rem); }
body.shd-blog-listing .bwp-latest-posts-container > .shd-breadcrumbs { margin: 0 0 clamp(1.5rem, 2.2vw, 2rem); }
/* Replace only the listing's decorative gradient separators, not footer styling. */
body.shd-blog-listing .bwp-latest-posts-section > .bwp-section-separator { display: none; }
body.shd-blog-listing .bwp-archive-header { margin: 0 auto clamp(2rem, 4vw, 3.5rem); max-width: 48rem; }
body.shd-blog-listing .bwp-archive-title,
body.shd-blog-listing .bwp-no-results-content h3 { color: var(--shd-ink); font: 600 clamp(1.75rem, 3vw, 2.75rem)/1.2 var(--shd-font-display); letter-spacing: -.03em; }
body.shd-blog-listing .bwp-archive-description,
body.shd-blog-listing .bwp-no-results-content p { font: 400 1rem/1.75 var(--shd-blog-body); color: var(--shd-blog-muted); letter-spacing: 0; }
body.shd-blog-listing .bwp-no-results { background: var(--shd-blog-card); box-shadow: none; border: 1px solid var(--shd-line); }

body.shd-blog-listing .bwp-blog-post .bwp-post-content { background: var(--shd-blog-card); border: 1px solid var(--shd-line); box-shadow: none; padding: clamp(1.25rem, 2.1vw, 1.75rem); }
body.shd-blog-listing .bwp-blog-post .bwp-post-title { margin-bottom: .875rem; font: 600 clamp(1.125rem, 1.55vw, 1.375rem)/1.4 var(--shd-font-display); letter-spacing: -.02em; color: var(--shd-ink); }
body.shd-blog-listing .bwp-blog-post .bwp-post-title a { color: inherit; }
body.shd-blog-listing .bwp-blog-post .bwp-post-title a:hover { color: var(--shd-accent); box-shadow: inset 0 -1px 0 currentColor; }
body.shd-blog-listing .bwp-blog-post .bwp-post-excerpt { font: 400 .9375rem/1.75 var(--shd-blog-body); color: var(--shd-blog-muted); letter-spacing: 0; }
body.shd-blog-listing .bwp-blog-post .bwp-post-metadata li,
body.shd-blog-listing .bwp-blog-post .bwp-post-links li { font: 400 .75rem/1.6 var(--shd-blog-body); color: var(--shd-blog-muted); letter-spacing: .02em; }
body.shd-blog-listing .bwp-blog-post .bwp-post-metadata a,
body.shd-blog-listing .bwp-blog-post .bwp-post-links a { color: var(--shd-blog-muted); }
body.shd-blog-listing .bwp-blog-post .bwp-read-more a { color: var(--shd-accent); font-size: .8125rem; font-weight: 600; text-transform: none; }
body.shd-blog-listing .bwp-blog-post .bwp-read-more a:hover { box-shadow: inset 0 -1px 0 currentColor; }
/* Halva's global link/button reset removes outlines with !important. */
body.shd-blog-listing .bwp-latest-posts-section a:focus-visible,
body.shd-blog-listing .bwp-latest-posts-section button:focus-visible { outline: 2px solid var(--shd-ink) !important; outline-offset: 3px; }

body.shd-blog-listing .bwp-latest-posts-section .pagination { margin: 1rem 0 2rem; font-family: var(--shd-font-display); }
body.shd-blog-listing .pagination .nav-links .page-numbers { min-width: 44px; margin: .25rem; color: var(--shd-ink); border-radius: .375rem; }
/* Keep the current-page background supplied by Halva's accent Customizer setting. */
body.shd-blog-listing .pagination .nav-links .current { color: var(--shd-ink); box-shadow: none; }
body.shd-blog-listing .pagination .nav-links a:hover { color: var(--shd-accent); background: var(--shd-blog-card); }

@media (prefers-reduced-motion: reduce) {
    body.shd-blog-listing .bwp-latest-posts-section .pagination .nav-links a.page-numbers { transition: none; transform: none; }
}
