/* Blog list + blog details (DB-driven) */
.blog-entry { padding-bottom: 2rem; border-bottom: 1px solid #ececec; }
.blog-entry:last-child { border-bottom: 0; }
.blog-entry .entry-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; }
.blog-entry .entry-image .blog-noimg { width: 100%; aspect-ratio: 16 / 10; border-radius: 6px; background: #eef2f6; display: flex; align-items: center; justify-content: center; color: #16324f; font-size: 2.5rem; }
.blog-entry .entry-title h2 { font-size: 1.35rem; margin-bottom: .4rem; line-height: 1.35; }
.blog-entry .entry-title h2 a { color: #16324f; }
.blog-entry .entry-meta ul { padding-left: 0; }
.blog-pagination .page-link { color: #16324f; }
.blog-pagination .page-item.active .page-link { background: #16324f; border-color: #16324f; color: #fff; }
.blog-sidebar-post { display: flex; gap: .75rem; align-items: center; margin-bottom: 1rem; }
.blog-sidebar-post img, .blog-sidebar-post .blog-noimg { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; flex: 0 0 64px; background: #eef2f6; display: flex; align-items: center; justify-content: center; color: #16324f; }
.blog-sidebar-post a { color: #16324f; font-weight: 500; line-height: 1.35; }
.blog-sidebar-post small { color: #888; }
.blog-single .entry-image img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 8px; }
.blog-single .entry-content { font-size: 1.05rem; line-height: 1.85; }
.blog-single .entry-content img { max-width: 100%; height: auto; }
.blog-single .entry-content table { width: 100%; margin-bottom: 1rem; }
.blog-single .entry-content table td, .blog-single .entry-content table th { border: 1px solid #ddd; padding: .5rem; }
.blog-single .entry-content blockquote { border-left: 4px solid #16324f; padding: .5rem 1rem; color: #555; background: #f7f9fb; }
.blog-comments .comment-item { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #eee; }
.blog-comments .comment-avatar { width: 46px; height: 46px; border-radius: 50%; background: #16324f; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; flex: 0 0 46px; text-transform: uppercase; }
.blog-comments .comment-body { white-space: pre-line; word-break: break-word; }
.blog-comment-form .g-recaptcha { margin-bottom: 1rem; }
@media (max-width: 360px) { .blog-comment-form .g-recaptcha { transform: scale(.88); transform-origin: 0 0; } }
.blog-postnav a { color: #16324f; }

/* Tags */
.blog-tags { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.blog-tags-label { color: #555; font-weight: 600; margin-right: .25rem; }
.blog-tags a, .blog-tagcloud a { display: inline-block; background: #eef2f6; color: #16324f; border-radius: 20px; padding: .25rem .8rem; font-size: .88rem; line-height: 1.4; text-decoration: none; transition: background .15s, color .15s; margin: 0 !important; border: 0 !important; }
.blog-tags a:hover, .blog-tagcloud a:hover, .blog-tagcloud a.active { background: #16324f; color: #fff; }
.blog-tags-sm a { font-size: .76rem; padding: .1rem .6rem; background: #f8efdf; color: #b07f2c; }
.blog-tags-sm a:hover { background: #c8963e; color: #fff; }
.blog-tagcloud { display: flex; flex-wrap: wrap; gap: .4rem; }
.blog-tagcloud a span { font-size: .72rem; opacity: .65; margin-left: .15rem; }

/* Comment form validation */
.blog-comment-form .form-control.is-invalid { border-color: #c0392b; }
.blog-comment-form .invalid-feedback { color: #c0392b; font-size: .85rem; }
.blog-comment-form .form-control.is-invalid ~ .invalid-feedback { display: block; }
