/* 공지형: 큰 날짜 칸 + 제목·요약 */
.bd-list-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 18px; flex-wrap: wrap; }
.bd-head-side { display: flex; align-items: center; gap: 12px; }
.bd-list-search { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.bd-list-search .input { width: 240px; }
.bd-empty { text-align: center; padding: 56px; color: var(--muted); }
.bl-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--text); }
.bl-item { display: grid; grid-template-columns: 88px minmax(0, 1fr) 32px; gap: 20px; align-items: center; padding: 20px 8px; border-bottom: 1px solid var(--line); transition: background .15s; }
.bl-item:hover { background: var(--surface-2); }
.bl-item.is-notice { background: color-mix(in srgb, var(--primary) 5%, transparent); }
.bl-date { display: grid; justify-items: center; line-height: 1.1; padding: 8px 0; border-right: 1px solid var(--line); }
.bl-ym { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.bl-d { font-size: 30px; font-weight: 800; color: var(--primary); font-variant-numeric: tabular-nums; letter-spacing: -0.03em; }
.bl-body { display: grid; gap: 5px; min-width: 0; color: inherit; }
.bl-body:hover .bl-title { text-decoration: underline; text-underline-offset: 4px; }
.bl-labels { display: flex; flex-wrap: wrap; gap: 6px; }
.bl-labels:empty { display: none; }
.bl-label { padding: 1px 8px; border: 1px solid var(--line); border-radius: 4px; font-size: 12px; color: var(--muted); }
.bl-label-pin { border-color: var(--primary); color: var(--primary); font-weight: 700; }
.bl-label-new { border-color: transparent; background: var(--err-bg); color: var(--err-text); font-weight: 700; }
.bl-title { font-size: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-excerpt { color: var(--muted); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bl-arrow { color: var(--muted); font-size: 18px; transition: transform .15s; }
.bl-item:hover .bl-arrow { transform: translateX(4px); color: var(--primary); }
@media (max-width: 640px) {
    .bl-item { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; padding: 14px 4px; }
    .bl-d { font-size: 22px; }
    .bl-arrow { display: none; }
}
