
/* Layout helpers */
.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.rounded-lg { border-radius: .5rem; }
.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.hover\:shadow-md:hover { box-shadow: 0 6px 14px -4px rgba(0,0,0,.15), 0 3px 6px -2px rgba(0,0,0,.12); }
.border { border: 1px solid #e5e7eb; }
.overflow-hidden { overflow: hidden; }
.transition-shadow { transition: box-shadow .2s ease; }
.duration-200 { transition-duration: .2s; }
.text-gray-900 { color: #111827; }
.text-gray-600 { color: #4b5563; }
.text-white { color: #ffffff; }
.text-blue-600 { color: #2563eb; }
.hover\:text-blue-600:hover { color: #2563eb; }
.hover\:text-blue-800:hover { color: #1e40af; }
.bg-white { background: #ffffff; }
.bg-gray-100 { background: #f3f4f6; }
.object-cover { object-fit: cover; }
.w-full { width: 100%; }
.h-40 { height: 10rem; }
.md\:h-48 { height: 12rem; }
.min-h-screen { min-height: 100vh; }
.mt-6 { margin-top: 1.5rem; }
.md\:mt-8 { margin-top: 2rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }


.c-blog__heading.style-2 { 
  border-bottom: 2px solid rgba(0,0,0,0.06); 
  display: flex; 
  align-items: center; 
  padding: 15px 0; 
}

.c-blog__heading.style-2 h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  font-size: 2rem !important;
  line-height: 1.4;
  font-weight: 600;
  color: #111827;
  margin: 0;
  padding-top: 4rem;
}

.c-blog__heading.style-2 .blog-logo { 
  width: 24px; 
  height: 24px; 
  margin-right: 10px; 
  opacity: 0.8; 
  transition: opacity 0.3s ease; 
}

.c-blog__heading.style-2 .blog-logo:hover { 
  opacity: 1; 
}

/* Responsive h1 styling */
@media (min-width: 768px) {
  .c-blog__heading.style-2 h1 {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    font-size: 2.5rem !important;
  }
  
  .c-blog__heading.style-2 .blog-logo {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 767px) {
  .c-blog__heading.style-2 h1 {
    font-size: 1.75rem !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding-top: 3rem;
  }
  
  .c-blog__heading.style-2 .blog-logo {
    width: 24px;
    height: 24px;
  }
}

/* Blog listing */
.c-blog-listing .c-blog_item { background:#fff; border:1px solid #e5e7eb; border-radius:.5rem; overflow:hidden; transition: box-shadow .2s ease, transform .2s ease; }
.c-blog-listing .c-blog_item:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
.c-blog__thumbnail img { width:100%; height: 100%; object-fit: cover; display:block; }
.c-blog__summary .post-title h2, .c-blog__summary .post-title h5 { font-weight:600; color:#111827; margin:0 0 .5rem; line-height:1.4; }
.c-blog__summary .post-title a { color:#111827; text-decoration:none; }
.c-blog__summary .post-title a:hover { color:#2563eb; }
.c-blog__summary .item-summary p { color:#4b5563; margin:0 0 1rem; }
.c-read-more-link { color:#2563eb; text-decoration:none; font-weight:500; }
.c-read-more-link:hover { color:#1e40af; }

/* Normalize columns and card heights to avoid last-row misalignment */
.c-blog-listing .col-lg-4,
.c-blog-listing .col-md-6 { display:flex; }
.c-blog-listing .c-blog_item { display:flex; flex-direction:column; width:100%; }
.c-blog__summary { display:flex; flex-direction:column; flex:1 1 auto; }
/* Ensure consistent title/summary heights across cards */
.card-title.line-clamp-2 { min-height: 3.2em; line-height:1.6; }
.card-text.line-clamp-3 { min-height: 4.8em; line-height:1.6; }

/* Ensure thumbnail aspect like HotShort */
.card-img-top-container { height: 200px; overflow:hidden; }
.md\:h-48 { height: 12rem; }
.c-blog_item .card-img-top { width:100%; height:100%; object-fit:cover; display:block; }

/* Tighten spacing inside summary */
.c-blog__summary { padding: 1rem; }
.c-blog__summary .article-meta { margin-bottom: .25rem; }
.c-blog__summary .card-title { margin-bottom: .5rem; }
.c-blog__summary .item-summary { margin-bottom: .5rem; }

/* Line clamp */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* Pagination */
.blog-pagination nav { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.blog-pagination .page-info { color:#6b7280; font-size:.875rem; }
.blog-pagination .page-btn { display:inline-flex; align-items:center; justify-content:center; min-width:2.5rem; height:2.5rem; padding:0 .75rem; border:1px solid #d1d5db; border-radius:.5rem; color:#374151; text-decoration:none; transition: all .2s ease; }
.blog-pagination .page-btn:hover { background:#f9fafb; border-color:#9ca3af; }
.blog-pagination .page-btn.current { background:#2563eb; color:#fff; border-color:#2563eb; }

/* Prose content (for detail page compatibility) */
.prose { color:#111827; line-height:1.8; font-size:1.05rem; }
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { color:#111827; font-weight:700; margin:1.25rem 0 .75rem; }
.prose p { margin:0 0 1rem; }
.prose img { max-width:100%; height:auto; border-radius:6px; margin:1rem 0; }
.prose a { color:#2563eb; text-decoration:none; }
.prose a:hover { color:#1e40af; }

/* Responsive */
@media (max-width: 768px) {
  .c-blog__heading.style-2 { text-align:center; padding: 1rem 0; }
  .c-blog-listing .grid { gap:1rem; }
  .blog-pagination nav { flex-direction:column; gap:1rem; }
  .c-blog__summary { padding:1rem; }
  .c-blog_item { border-radius: 10px; }
  .c-blog__thumbnail img { height: 200px; object-fit: cover; }
  .author-info { display:flex; align-items:center; gap:8px; }
  .author-avatar { width:24px; height:24px; border-radius:9999px; }
  .article-footer { display:flex; justify-content:space-between; align-items:center; }
}


@media (max-width: 480px) {
  .c-blog__heading .h1 { font-size: 1.25rem; }
  .c-blog_item .card-title { font-size: 1rem; }
  .c-blog_item .item-summary { font-size: 0.9375rem; line-height: 1.5; }
}

