/* ===== 소식·자료 게시판 ===== */
.news-board { max-width: 900px; margin: 0 auto; }

/* 필터 칩 (체크박스 다중 선택) */
.news-filter { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; margin-bottom: 2.5rem; }
.news-filter-chip { position: relative; cursor: pointer; user-select: none; }
.news-filter-chip input { position: absolute; opacity: 0; pointer-events: none; }
.news-filter-chip span {
    display: inline-block;
    padding: 0.5rem 1.3rem;
    border: 1px solid var(--accent-color-edge);
    border-radius: 999px;
    font-size: 0.92rem;
    color: var(--text-color-secondary);
    background: var(--back-color-white);
    transition: var(--transition);
}
.news-filter-chip:hover span { border-color: var(--accent-color); color: var(--accent-color); }
.news-filter-chip input:checked + span {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--text-light);
    font-weight: 600;
}
.news-filter-chip input:focus-visible + span { outline: 2px solid var(--accent-color); outline-offset: 2px; }

/* 로딩 상태 */
.news-board.is-loading .news-board-results { opacity: 0.45; transition: opacity 0.2s; pointer-events: none; }

/* 목록 */
.news-board-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--edge-color); }
.news-item { border-bottom: 1px solid var(--edge-color); }
.news-item-link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.4rem 0.5rem;
    transition: var(--transition);
}
.news-item-link:hover { background: var(--back-color-light); }
.news-item-title {
    flex: 1;
    min-width: 0;
    color: var(--text-color-primary);
    font-size: 1.05rem;
    font-weight: 500;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.news-item-link:hover .news-item-title { color: var(--accent-color); }
.news-item-date { flex: 0 0 auto; color: var(--text-color-tertiary); font-size: 0.9rem; }

/* 카테고리 뱃지 */
.news-badge {
    flex: 0 0 auto;
    display: inline-block;
    min-width: 72px;
    text-align: center;
    padding: 0.32rem 0.7rem;
    border-radius: 3px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-light);
    white-space: nowrap;
}
.news-badge--newsletter { background: var(--accent-color); color: var(--text-light); }
.news-badge--press      { background: var(--accent-color-dark); }
.news-badge--column     { background: var(--text-blue); }

/* 빈 상태 */
.news-empty { text-align: center; color: var(--text-color-tertiary); padding: 4rem 0; }

/* 페이지네이션 */
.news-pagination { display: flex; justify-content: center; gap: 0.4rem; margin-top: 2.5rem; flex-wrap: wrap; }
.news-page-link {
    min-width: 40px; height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 0.4rem;
    border: 1px solid var(--accent-color-edge);
    border-radius: 3px;
    color: var(--text-color-secondary);
    font-size: 0.92rem;
    transition: var(--transition);
}
.news-page-link:hover { border-color: var(--accent-color); color: var(--accent-color); }
.news-page-link.is-current { background: var(--accent-color); border-color: var(--accent-color); color: var(--primary-color); font-weight: 700; }

/* 모바일 */
@media (max-width: 700px) {
    .news-item-link { flex-wrap: wrap; gap: 0.5rem 0.8rem; padding: 1.1rem 0.3rem; }
    .news-item-title { flex: 1 1 100%; order: 2; white-space: normal; }
    .news-badge { order: 1; }
    .news-item-date { order: 1; margin-left: auto; }
}
