/* ==========================================================================
   FlagsExpo redesign V1 (Figma) — Blog listing + detail
   Shares :root custom properties from Design/css/fx-redesign.css
   ========================================================================== */

.v2-blog-list, .v2-blog-detail,
.v2-blog-list *, .v2-blog-detail * {
  box-sizing: border-box; font-family: var(--v2-font);
}

/* ---------- Listing ---------- */
.v2-blog-list-header { text-align: center; margin: 0 0 48px; }
.v2-blog-list-title { margin: 8px 0 0; font-family: var(--v2-font-display); font-weight: 400; font-size: 48px; color: #021433; }

.v2-blog-list { display: flex; flex-direction: column; gap: 32px; max-width: 1000px; margin: 0 auto; }
.v2-blog-card {
  display: flex; gap: 32px; align-items: stretch; text-decoration: none;
  border: 1px solid var(--v2-border); background: #fff;
}
.v2-blog-card-img { flex: 0 0 320px; }
.v2-blog-card-img img { width: 100%; height: 100%; min-height: 200px; object-fit: cover; display: block; }
.v2-blog-card-body { flex: 1 1 0; padding: 28px 28px 28px 0; display: flex; flex-direction: column; gap: 8px; justify-content: center; min-width: 0; }
.v2-blog-card-date { margin: 0; font-size: 13px; color: var(--v2-text-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.v2-blog-card-title { margin: 0; font-family: var(--v2-font-display); font-weight: 500; font-size: 24px; color: #021433; }
.v2-blog-card-summary { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(2,20,51,0.7); }
.v2-blog-empty { text-align: center; padding: 40px 0; color: var(--v2-text-muted); }

/* ---------- Detail ---------- */
.v2-blog-detail { max-width: 860px; margin: 0 auto; }
.v2-blog-back { display: inline-block; margin-bottom: 24px; font-size: 14px; color: var(--v2-navy); text-decoration: none; }
.v2-blog-back:hover { color: var(--v2-red); }
.v2-blog-detail-img { margin-bottom: 32px; }
.v2-blog-detail-img img { width: 100%; height: auto; display: block; }
.v2-blog-detail .v2-content-page { padding: 0; max-width: none; }

@media (max-width: 1023px) {
  .v2-blog-card { flex-direction: column; }
  .v2-blog-card-img { flex: none; height: 220px; }
  .v2-blog-card-body { padding: 20px; }
  .v2-blog-list-title { font-size: 36px; }
}
