/* pages/board.css — 섭외확정·행사소식·공지 목록과 글 상세. 원본 .room_line(갤러리 3열, 그림 높이 253px) · .view_box · .view_btns */

/* 검색 칸만 있는 줄(범위 고르기 없음) */
.catalog-bar__search--simple { grid-template-columns: minmax(0, 1fr) auto; }
@media (min-width: 960px) { .catalog-bar__search--simple { grid-template-columns: 260px auto; } }

/* ── 행사소식 갤러리 3열(원본 room_line) ── */
.room-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
@media (min-width: 600px) { .room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7) var(--space-5); } }
@media (min-width: 960px) { .room-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px 30px; } }
.tile--room { align-items: flex-start; text-align: left; }
.tile--room .tile__img { aspect-ratio: 380 / 253; }
.tile--room .tile__title { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tile--room .tile__sub { width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* 고정 글 표시 */
.pin-badge { display: inline-flex; align-items: center; min-height: 22px; margin-right: var(--space-2); padding: 0 8px; border-radius: var(--r-full); background: var(--color-primary); color: #fff; font-size: var(--text-xs); font-weight: var(--weight-bold); vertical-align: 2px; }

/* ── 공지 목록 ── */
.notice-list { border-top: 2px solid var(--color-text); }
.notice-list__item { border-bottom: 1px solid var(--color-line); }
.notice-list__item a { display: flex; align-items: center; gap: var(--space-3); min-height: 64px; padding: var(--space-3) var(--space-2); color: var(--color-text); }
.notice-list__item a:hover .notice-list__title { color: var(--color-primary); }
.notice-list__item.is-pinned { background: #fafafa; }
.notice-list__title { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: var(--weight-medium); }
.notice-list__date { flex: none; font-size: var(--text-sm); color: var(--color-text-muted); font-variant-numeric: tabular-nums; }

/* ── 글 상세(원본 .view_box: 제목+날짜 위, 본문, 이전·목록·다음) ── */
.post { max-width: 1000px; }
.post__head { padding-bottom: var(--space-5); border-bottom: 1px solid var(--color-line); border-top: 2px solid var(--color-text); padding-top: var(--space-5); }
.post__title { font-size: var(--text-xl); font-weight: var(--weight-bold); line-height: 1.35; color: var(--color-text); text-wrap: balance; }
.post__meta { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin-top: var(--space-2); font-size: var(--text-sm); color: var(--color-text-muted); }
.post__meta:empty { display: none; }
.post-body { padding: var(--space-7) 0; color: var(--color-text-body); font-size: var(--text-base); line-height: 1.8; overflow-wrap: anywhere; }
.post-body > * + * { margin-top: var(--space-4); }
.post-body img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.post-body h2 { font-size: var(--text-xl); font-weight: var(--weight-bold); color: var(--color-text); }
.post-body h3 { font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--color-text); }
.post-body h4 { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--color-text); }
.post-body ul { padding-left: 1.4em; list-style: disc; }
.post-body ol { padding-left: 1.4em; list-style: decimal; }
.post-body blockquote { padding: var(--space-3) var(--space-4); border-left: 3px solid var(--color-line); color: var(--color-text-muted); }
.post-body a { color: var(--color-primary-ink); text-decoration: underline; text-underline-offset: 2px; }
.post-body table { width: 100%; border-collapse: collapse; }
.post-body td, .post-body th { padding: var(--space-2); border: 1px solid var(--color-line); }
.post-body hr { border: 0; border-top: 1px solid var(--color-line); }
.post-body .ta-center { text-align: center; }
.post-body .ta-right { text-align: right; }
.post-body .ta-justify { text-align: justify; }

.post__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-top: var(--space-6); border-top: 1px solid var(--color-line); }
.post__nav-btn { display: inline-flex; align-items: center; gap: var(--space-1); min-height: 44px; padding: 0 var(--space-2); color: var(--color-text); font-size: var(--text-sm); }
.post__nav-btn:hover { color: var(--color-primary); }
.post__nav-btn.is-disabled { color: var(--color-text-muted); opacity: .45; }
.post__list { min-width: 120px; }
@media (min-width: 960px) {
  .post__title { font-size: var(--text-2xl); }
  .post__nav-btn { font-size: var(--text-base); }
}
