/* Blog list page (articles use WordPress' own theme styles, see wp-blocks.css). */
.blog-main { font-family: "Montserrat", sans-serif; color: #1a1a1a; }
.blog-wrap { max-width: 1200px; margin: 0 auto; padding: 48px 24px 72px; }
.blog-heading { text-align: center; font-size: 40px; font-weight: 500; margin: 0 0 40px; }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.blog-card { display: flex; flex-direction: column; color: inherit; text-decoration: none; background: #fff; border: 1px solid #e6e6e6; transition: box-shadow .2s ease; }
.blog-card:hover { box-shadow: 0 6px 24px rgba(0, 0, 0, .12); }
.blog-card__img { display: block; aspect-ratio: 3 / 1.4; overflow: hidden; background: #f3f3f3; }
.blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__body { display: flex; flex-direction: column; gap: 10px; padding: 20px; flex: 1; }
.blog-card__date { font-size: 13px; color: #777; }
.blog-post-date { display: block; margin-top: 8px; font-size: 14px; color: #777; }
.blog-card__title { font-size: 20px; line-height: 1.3; font-weight: 500; margin: 0; }
.blog-card__excerpt { font-size: 14px; line-height: 1.6; color: #555; }
.blog-empty { text-align: center; }

.blog-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; }
.blog-pagination a, .blog-pagination span { min-width: 40px; padding: 8px 12px; text-align: center; border: 1px solid #ddd; color: #1a1a1a; text-decoration: none; }
.blog-pagination span { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }

@media (max-width: 1024px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
    .blog-grid { grid-template-columns: 1fr; gap: 20px; }
    .blog-heading { font-size: 30px; }
}
