/* Blog "Cẩm nang cưới" — trang Blog (home.php), chuyên mục (archive.php), trang đọc bài (single.php)
   và section 4 bài mới nhất ở cuối trang chủ (front-page.php). Màu dùng biến của site-header-footer.css. */

/* ---------- Lưới thẻ bài viết ---------- */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.blog-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.blog-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--lyhi-line); border-radius: 12px; background: #fff; transition: box-shadow .25s ease, transform .25s ease; }
.blog-card:hover { box-shadow: 0 10px 28px rgba(38, 34, 29, .1); transform: translateY(-2px); }
.blog-card-photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--lyhi-cream); }
.blog-card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.blog-card:hover .blog-card-photo img { transform: scale(1.04); }
.blog-card-body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.blog-card-cat { align-self: flex-start; color: var(--lyhi-red); font: 700 11px Arial, sans-serif; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.blog-card-title { margin: 0; font-size: 18px; font-weight: 400; line-height: 1.35; }
.blog-card-title a { color: var(--lyhi-ink); text-decoration: none; }
.blog-card-title a:hover { color: var(--lyhi-red); }
.blog-card-excerpt { margin: 0; color: var(--lyhi-muted); font: 14px/1.6 Arial, sans-serif; }
.blog-card-meta { margin: auto 0 0; padding-top: 6px; color: var(--lyhi-muted); font: 12px Arial, sans-serif; }
.blog-grid-4 .blog-card-title { font-size: 16px; }
.blog-grid-4 .blog-card-excerpt { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 13px; }

/* ---------- Trang Blog / chuyên mục ---------- */
.blog-header { max-width: 680px; margin: 0 auto 36px; text-align: center; }
.blog-eyebrow { margin: 0 0 6px; color: var(--lyhi-red); font: 700 12px Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.blog-title { margin: 0 0 10px; font-size: 36px; font-weight: 400; }
.blog-intro, .blog-intro p { margin: 0; color: var(--lyhi-muted); font: 15px/1.6 Arial, sans-serif; }

.blog-index .pagination { margin-top: 40px; text-align: center; }
.blog-index .nav-links { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.blog-index .page-numbers { display: inline-grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--lyhi-line); border-radius: 999px; color: var(--lyhi-ink); background: #fff; font: 14px Arial, sans-serif; text-decoration: none; }
.blog-index .page-numbers.current, .blog-index a.page-numbers:hover { border-color: var(--lyhi-red); color: #fff; background: var(--lyhi-red); }

/* ---------- Trang đọc bài ---------- */
.blog-article { max-width: 760px; margin: 0 auto; }
.blog-article-header { margin-bottom: 24px; text-align: center; }
.blog-article-title { margin: 8px 0 10px; font-size: clamp(28px, 4vw, 40px); font-weight: 400; line-height: 1.25; }
.blog-article-photo { margin: 0 0 32px; overflow: hidden; border-radius: 14px; }
.blog-article-photo img { display: block; width: 100%; height: auto; }
.blog-article-content { color: #3a342d; font-size: 18px; line-height: 1.8; }
.blog-article-content h2 { margin: 40px 0 14px; color: var(--lyhi-ink); font-size: 26px; font-weight: 400; line-height: 1.3; }
.blog-article-content h3 { margin: 28px 0 10px; font-size: 20px; }
.blog-article-content p { margin: 0 0 18px; }
.blog-article-content ul, .blog-article-content ol { margin: 0 0 20px; padding-left: 24px; }
.blog-article-content li { margin-bottom: 8px; }
.blog-article-content li::marker { color: var(--lyhi-red); }
.blog-article-content blockquote { margin: 24px 0; padding: 16px 22px; border-left: 3px solid var(--lyhi-red); border-radius: 0 10px 10px 0; background: #fff; font-style: italic; }
.blog-article-content blockquote p:last-child { margin-bottom: 0; }
.blog-article-content a { color: var(--lyhi-red); }
.blog-article-content strong { color: var(--lyhi-ink); }

.blog-single .post-navigation { margin: 44px 0 0; padding-top: 24px; border-top: 1px solid var(--lyhi-line); }
.blog-single .post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.blog-single .post-navigation a { display: grid; gap: 4px; color: var(--lyhi-ink); text-decoration: none; }
.blog-single .post-navigation .nav-next { text-align: right; }
.blog-single .nav-subtitle { color: var(--lyhi-red); font: 700 11px Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.blog-single .nav-title { font-size: 16px; line-height: 1.4; }

.blog-related { max-width: 1080px; margin: 60px auto 0; }
.blog-section-title { margin: 0 0 22px; font-size: 26px; font-weight: 400; text-align: center; }

/* ---------- Section cuối trang chủ ---------- */
.home-blog { margin: 8px 0 24px; padding-top: 40px; border-top: 1px solid var(--lyhi-line); }
.home-blog-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 24px; }
.home-blog-title { margin: 0; color: #26221d; font-family: Georgia, 'Times New Roman', serif; font-size: 26px; font-weight: 400; }
.home-blog-more { color: var(--lyhi-red); font: 700 13px Arial, sans-serif; text-decoration: none; }
.home-blog-more:hover { text-decoration: underline; }

@media (max-width: 960px) {
	.blog-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 800px) {
	.blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.blog-grid, .blog-grid-4 { grid-template-columns: 1fr; }
	.blog-title { font-size: 28px; }
	.blog-article-content { font-size: 17px; }
	.blog-single .post-navigation .nav-links { grid-template-columns: 1fr; }
	.blog-single .post-navigation .nav-next { text-align: left; }
}
