/* Blog Styles */
.blog-page { background: var(--bg); min-height: 100vh; }
.blog-hero { background: linear-gradient(135deg, var(--primary) 0%, #4A6B5A 100%); color: var(--white); padding: 4rem 0 5rem; text-align: center; }
.blog-hero h1 { font-family: 'Playfair Display', serif; font-size: 3rem; margin-bottom: 1rem; }
.blog-hero p { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; }
.blog-hero .breadcrumbs { margin-bottom: 2rem; font-size: 0.9rem; opacity: 0.85; }
.blog-hero .breadcrumbs a { color: var(--white); text-decoration: underline; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1200px; margin: -2rem auto 4rem; padding: 0 1.5rem; position: relative; z-index: 1; }
.blog-card { background: var(--white); border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform 0.3s, box-shadow 0.3s; display: flex; flex-direction: column; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,0.1); }
.blog-card-image { width: 100%; height: 200px; object-fit: cover; background: var(--primary-light); }
.blog-card-body { padding: 1.8rem; flex: 1; display: flex; flex-direction: column; }
.blog-card-category { display: inline-block; background: var(--primary); color: var(--white); font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.75rem; border-radius: 100px; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.8rem; width: fit-content; white-space: nowrap; }
.blog-card-date { color: var(--text-muted); font-size: 0.85rem; margin-bottom: 0.6rem; }
.blog-card h2 { font-family: 'Playfair Display', serif; font-size: 1.25rem; line-height: 1.35; margin-bottom: 0.8rem; color: var(--text-dark); }
.blog-card h2 a { color: var(--text-dark); text-decoration: none; }
.blog-card h2 a:hover { color: var(--primary); }
.blog-card p { color: var(--text-muted); font-size: 0.95rem; line-height: 1.6; flex: 1; margin-bottom: 1.2rem; }
.blog-card .btn { align-self: flex-start; }
.blog-article { max-width: 800px; margin: -2rem auto 4rem; padding: 2.5rem 2rem; background: var(--white); border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); position: relative; z-index: 1; }
.blog-article h1 { font-family: 'Playfair Display', serif; font-size: 2.5rem; line-height: 1.2; margin-bottom: 1.2rem; color: var(--text-dark); }
.blog-article h2 { font-family: 'Playfair Display', serif; font-size: 1.6rem; margin: 2rem 0 0.8rem; color: var(--primary-dark); }
.blog-article h3 { font-size: 1.2rem; margin: 1.5rem 0 0.6rem; color: var(--text-dark); }
.blog-article p { font-size: 1.08rem; line-height: 1.8; color: var(--text-dark); margin-bottom: 1.2rem; }
.blog-article ul, .blog-article ol { margin: 1rem 0 1.5rem 1.5rem; }
.blog-article li { font-size: 1.05rem; line-height: 1.7; margin-bottom: 0.5rem; }
.blog-article em { color: var(--primary-dark); }
.blog-article strong { color: var(--primary); }
.article-meta { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.article-meta span { color: var(--text-muted); font-size: 0.9rem; }
.article-tags { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.article-tag { background: var(--bg); color: var(--primary); font-size: 0.8rem; padding: 0.3rem 0.8rem; border-radius: 100px; font-weight: 500; }
.related-articles { max-width: 800px; margin: 0 auto 4rem; padding: 0 1.5rem; }
.related-articles h2 { font-family: 'Playfair Display', serif; font-size: 1.8rem; margin-bottom: 1.5rem; text-align: center; }
.related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.related-card { background: var(--white); border-radius: 12px; padding: 1.5rem; box-shadow: 0 1px 6px rgba(0,0,0,0.05); transition: transform 0.2s; text-decoration: none; display: block; }
.related-card:hover { transform: translateY(-2px); }
.related-card h3 { font-family: 'Playfair Display', serif; font-size: 1.1rem; margin-bottom: 0.5rem; color: var(--text-dark); }
.related-card p { color: var(--text-muted); font-size: 0.9rem; }
.article-breadcrumbs { margin-bottom: 2rem; }
.article-breadcrumbs a, .article-breadcrumbs span { color: var(--text-muted); font-size: 0.9rem; text-decoration: none; }
.article-breadcrumbs a:hover { color: var(--primary); }
.empty-blog { text-align: center; padding: 4rem 2rem; }
.empty-blog h2 { font-family: 'Playfair Display', serif; font-size: 1.8rem; margin-bottom: 1rem; }
.empty-blog p { color: var(--text-muted); margin-bottom: 2rem; }
@media (max-width: 992px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } .related-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .blog-grid { grid-template-columns: 1fr; } .blog-hero h1 { font-size: 2rem; } .blog-article h1 { font-size: 1.8rem; } .blog-article { padding: 1.5rem; } }
