/* ===== ブログ記事ブロック（front） ===== */
.bk-blog-posts-content { margin: 16px 0; }

.bk-blogposts-empty {
  padding: 24px; text-align: center; color: #8a97a3;
  background: #f6fafd; border-radius: 12px;
}

/* グリッド */
.bk-blogposts-grid { display: grid; gap: 18px; }

/* リスト（1カラム・横並びカード） */
.bk-blogposts-list { display: flex; flex-direction: column; gap: 14px; }

/* カード共通 */
.bk-blogposts-card {
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  background: #fff; border: 1px solid #e6edf2; border-radius: 14px;
  overflow: hidden; transition: transform .15s ease, box-shadow .15s ease;
}
.bk-blogposts-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(11,42,58,.12);
}

/* サムネイル */
.bk-blogposts-thumb {
  display: block; width: 100%; aspect-ratio: 16 / 10;
  background-size: cover; background-position: center; background-color: #eef2f5;
}
.bk-blogposts-noimg {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #0aa2e0, #066b97);
}
.bk-blogposts-noimg > span {
  color: #fff; font-weight: 800; font-size: 20px; letter-spacing: .06em; opacity: .9;
}

/* 本文側 */
.bk-blogposts-body { display: block; padding: 14px 16px; }
.bk-blogposts-cat {
  display: inline-block; font-size: 11px; font-weight: 700; color: #0aa2e0;
  background: #e8f6fd; padding: 2px 8px; border-radius: 20px; margin-bottom: 8px;
}
.bk-blogposts-title {
  display: block; font-size: 16px; font-weight: 700; line-height: 1.5; color: #0b2a3a;
}
.bk-blogposts-card:hover .bk-blogposts-title { color: #0aa2e0; }
.bk-blogposts-meta {
  display: flex; gap: 12px; align-items: center; margin-top: 8px;
  font-size: 12px; color: #8a97a3;
}
.bk-blogposts-excerpt {
  display: block; margin-top: 8px; font-size: 13px; line-height: 1.7; color: #566;
}

/* リスト時は画像を左に */
.bk-blogposts-list .bk-blogposts-card { flex-direction: row; align-items: stretch; }
.bk-blogposts-list .bk-blogposts-thumb { width: 38%; max-width: 220px; aspect-ratio: 4 / 3; flex: 0 0 auto; }
.bk-blogposts-list .bk-blogposts-body { flex: 1 1 auto; }

/* もっと見る */
.bk-blogposts-more { margin-top: 16px; text-align: center; }
.bk-blogposts-more > a {
  display: inline-block; color: #0aa2e0; font-weight: 700; text-decoration: none;
  padding: 8px 18px; border: 1px solid #0aa2e0; border-radius: 24px; transition: all .15s ease;
}
.bk-blogposts-more > a:hover { background: #0aa2e0; color: #fff; }

/* モバイル（グリッドは1〜2列に・リストは縦積み）。inline styleに勝つため!important */
@media (max-width: 600px) {
  .bk-blogposts-grid { grid-template-columns: 1fr !important; }
  .bk-blogposts-list .bk-blogposts-card { flex-direction: column; }
  .bk-blogposts-list .bk-blogposts-thumb { width: 100%; max-width: none; aspect-ratio: 16 / 10; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .bk-blogposts-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
