/* Blog post page (SpecificBlogLetest). Layout, header and footer come from home-base.css / site-footer.css. */

.blog-detail { padding: 40px 0 72px; }
.blog-detail .container { width: min(1180px, calc(100% - 48px)); max-width: none; padding-inline: 0; }

/* title */
body .blog-detail .section-header { max-width: 900px; margin: 0 auto 32px; padding-bottom: 0; }
body .blog-detail .section-header h1 { margin: 0; padding-bottom: 0; line-height: 1.25; }

/* two columns: article + sidebar */
.blog-detail .row { --bs-gutter-x: 3rem; row-gap: 2rem; }

/* article */
.blog-detail .blog-detail-img { margin: 0 0 28px; }
.blog-detail .blog-detail-img img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: 16px; box-shadow: 0 10px 30px rgba(27, 42, 107, 0.12); }
.blog-detail .post-item-info { padding-top: 0; font-size: 1.0625rem; color: var(--csm-ink, #172033); overflow-wrap: anywhere; }
.blog-detail .post-item-info p { margin: 0 0 1.15rem; }
/* article text is pasted from Word with tight inline line-heights; give it room to breathe */
.blog-detail .post-item-info p, .blog-detail .post-item-info li, .blog-detail .post-item-info span { line-height: 1.8 !important; }
.blog-detail .post-item-info img { max-width: 100%; height: auto; border-radius: 12px; }
.blog-detail .post-item-info h1, .blog-detail .post-item-info h2, .blog-detail .post-item-info h3, .blog-detail .post-item-info h4 { margin: 1.6rem 0 0.8rem; }
.blog-detail .post-item-info a { color: var(--csm-navy, #1b2a6b); text-decoration: underline; }

/* sidebar */
.blog-detail .blog-detail-sidebar > div.sidebar-card { position: sticky; top: 130px; padding: 24px; border: 1px solid var(--csm-line, #e5e8ef); border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(27, 42, 107, 0.07); }
.blog-detail .blog-detail-sidebar h5 { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--csm-navy, #1b2a6b); }
.blog-detail .blog-detail-sidebar .sidebar-card a { display: block; padding: 14px 0; border-top: 1px solid var(--csm-line, #e5e8ef); text-decoration: none; }
.blog-detail .blog-detail-sidebar .sidebar-card a:first-of-type { border-top: 0; }
.blog-detail .blog-detail-sidebar .post-item-title { margin: 0 0 4px; font-size: 1rem; font-weight: 700; line-height: 1.4; color: var(--csm-navy, #1b2a6b); }
.blog-detail .blog-detail-sidebar a:hover .post-item-title { text-decoration: underline; }
.blog-detail .blog-detail-sidebar .post-item-date { font-size: 13px; color: var(--csm-muted, #667085); }
.blog-detail .blog-detail-sidebar .sidebar-viewall { font-weight: 700; color: var(--csm-navy, #1b2a6b); }

@media (max-width: 991px) {
  .blog-detail .blog-detail-sidebar > div.sidebar-card { position: static; }
}
@media (max-width: 767px) {
  .blog-detail { padding: 24px 0 48px; }
  .blog-detail .container { width: calc(100% - 32px); }
  body .blog-detail .section-header { margin-bottom: 20px; }
  body .blog-detail .section-header h1 { font-size: 1.6rem; }
  .blog-detail .blog-detail-img img { border-radius: 12px; max-height: 280px; }
  .blog-detail .post-item-info { font-size: 1rem; }
}

/* ---------------------------------------------------------------- Blog list (BlogLetest) */
body .blog .section-header { max-width: 900px; margin: 0 auto 32px; padding-bottom: 0; }
body .blog .section-header h1 { margin: 0; padding-bottom: 0; line-height: 1.25; }
.blog { padding: 40px 0 72px; }
.blog > .container { width: min(1180px, calc(100% - 48px)); max-width: none; padding-inline: 0; }
.blog .row { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; margin: 0; }
.blog .post-item { flex: none; width: auto; max-width: none; margin: 0; padding: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--csm-line, #e5e8ef); border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(27, 42, 107, 0.07); transition: transform .2s ease, box-shadow .2s ease; }
.blog .post-item:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(27, 42, 107, 0.14); }
.blog .post-item__img a { display: block; }
.blog .post-item__img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.blog .post-item__info { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 18px; }
.blog .post-item__title { margin: 0 0 14px; font-size: 1.15rem; font-weight: 700; line-height: 1.4; color: var(--csm-navy, #1b2a6b); }
.blog .post-item__info .date-container { display: flex; justify-content: space-between; align-items: center; margin: auto 0 0; padding-top: 14px; border-top: 1px solid var(--csm-line, #e5e8ef); }
.blog .post-item__info .date-container > div { width: auto; max-width: none; padding: 0; flex: none; }
.blog .post-item-date { font-size: 13px; color: var(--csm-muted, #667085); }
.blog .post-item-link a { font-size: 14px; font-weight: 700; color: var(--csm-navy, #1b2a6b); text-decoration: none; }
.blog .post-item:hover .post-item-link a { text-decoration: underline; }

@media (max-width: 767px) {
  .blog { padding: 24px 0 48px; }
  .blog > .container { width: calc(100% - 32px); }
  .blog .row { grid-template-columns: 1fr; gap: 20px; }
  body .blog .section-header h1 { font-size: 1.6rem; }
}
