.jubo-cover-list { font-family: "Noto Sans KR", sans-serif; color:#222; padding:12px; }
.board-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.btn-write { background:#2d8cf0; color:#fff; padding:8px 12px; border-radius:6px; text-decoration:none; font-size:14px; }

.cover-grid { display:grid; gap:18px; list-style:none; padding:0; margin:0; grid-auto-rows: 1fr; }
.cover-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width:1100px){ .cover-grid.cols-3 { grid-template-columns: repeat(2,1fr); } }
@media (max-width:768px){ .cover-grid.cols-3 { grid-template-columns: repeat(1,1fr); } }

.cover-card { background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,0.06); display:block; }
.card-cover { position:relative; width:100%; padding-top:141.4%; background:#f5f5f5; overflow:hidden; } /* A4 비율(높이 = 1.414 * width) */
.thumb-img { position:absolute; top:50%; left:50%; width:100%; height:100%; transform:translate(-50%,-50%); object-fit:cover; display:block; }
.cover-overlay { padding:12px; }
.cover-title { font-size:16px; font-weight:700; margin-bottom:6px; line-height:1.2; }
.cover-sub { color:#666; font-size:13px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.cover-sub .date { font-weight:600; color:#333; background:rgba(255,255,255,0.9); padding:4px 8px; border-radius:6px; font-size:13px; }
.cover-sub .preacher { color:#666; font-size:13px; }
.read-attachment { max-width:100%; height:auto; display:block; margin-top:12px; }

/* 모바일에서 카드 높이 과도하면 줄이기 (선택적) */
@media (max-width:480px){
  .card-cover { padding-top:120%; } /* 모바일에서 약간 덜 세로로 보이게 */
}
