/**
 * NRS Platform — 기사 블록 전용 스타일시트 (v2.2.0-24)
 *
 * 운영자 원칙: 블록 CSS 는 블록 시스템이 소유·관리한다. 기사 블록(목록·레이아웃·뷰토글·
 * 사이드바 인기/최신 variant)의 디자인은 테마 페이지 CSS(style.css)가 아니라 이 파일에서만
 * 정의한다. 블록매니저가 프런트에서 enqueue 하므로 어느 페이지(홈·카테고리·검색·기자·단일기사)
 * 든 동일하게 적용된다. (테마 style.css 에는 페이지/레이아웃 CSS 만 — zone split·헤더/푸터·
 * .nrs-single-split·.nrs-fb-* 컨테이너.)
 *
 * 테마 style.css 보다 뒤에 enqueue → 동일 명시도에서 우선.
 */

/* ── 기사 목록 공통(베이스) ───────────────────────────────────────────────── */
.nrs-article-list { list-style: none; margin: 0 0 8px; padding: 0; }
.nrs-article-list .nrs-article-item { margin: 0; padding: 14px 0; border-bottom: 1px solid #eef0f2; }
.nrs-article-list .nrs-article-item > a { color: inherit; text-decoration: none; display: block; }
.nrs-article-list .nrs-article-title { font-weight: 700; line-height: 1.4; margin: 0; color: #1e1e1e; font-size: 16px; }
.nrs-article-list .nrs-article-item a:hover .nrs-article-title { color: var(--nrs-color-primary, #0a3a6b); }
.nrs-article-list .nrs-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0; border: 0; padding: 0; margin: 6px 0 0; font-size: 12px; color: #9aa1aa; line-height: 1.4; }
.nrs-article-list .nrs-article-meta > span { font-size: 12px; }
.nrs-article-list .nrs-article-meta > span + span::before { content: "·"; margin: 0 6px; color: #cbd5e1; }
.nrs-article-list .nrs-article-cat { color: var(--nrs-color-primary, #0a3a6b); font-weight: 600; }
.nrs-article-list .nrs-article-excerpt { font-size: 13px; color: #6b7280; line-height: 1.55; margin: 6px 0 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nrs-article-list .nrs-article-thumb { width: 100%; height: auto; display: block; border-radius: 3px; background: #f1f5f9; }

/* ── 레이아웃: headline / grid / card-list / simple-list ──────────────────── */
.nrs-article-layout-headline .nrs-article-item:first-child .nrs-article-title { font-size: 28px; line-height: 1.25; }
.nrs-article-layout-headline .nrs-article-item:first-child .nrs-article-thumb { margin-bottom: 10px; }
.nrs-article-layout-headline .nrs-article-item:not(:first-child) .nrs-article-title { font-size: 17px; }

.nrs-article-layout-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.nrs-article-layout-grid .nrs-article-item { border-bottom: 0; padding: 0; }
.nrs-article-layout-grid .nrs-article-thumb { aspect-ratio: 16/10; object-fit: cover; margin-bottom: 10px; }
.nrs-article-layout-grid .nrs-article-title { font-size: 16px; }

.nrs-article-layout-card-list .nrs-article-item > a { display: flex; gap: 16px; align-items: flex-start; }
.nrs-article-layout-card-list .nrs-article-thumb { flex: 0 0 200px; width: 200px; aspect-ratio: 16/10; object-fit: cover; }
.nrs-article-layout-card-list .nrs-article-text { flex: 1 1 auto; min-width: 0; }
.nrs-article-layout-card-list .nrs-article-title { font-size: 17px; }

.nrs-article-layout-simple-list .nrs-article-thumb,
.nrs-article-layout-simple-list .nrs-article-excerpt { display: none !important; }

/* 메인 목록 텍스트모드(simple-list) = 1행: 제목 좌(줄임표) + 메타 우 — 메인 영역 한정 */
.nrs-zone__area[data-area-index="0"] .nrs-article-layout-simple-list .nrs-article-text,
.nrs-fb-main .nrs-article-layout-simple-list .nrs-article-text { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.nrs-zone__area[data-area-index="0"] .nrs-article-layout-simple-list .nrs-article-title,
.nrs-fb-main .nrs-article-layout-simple-list .nrs-article-title { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 15px; font-weight: 500; }
.nrs-zone__area[data-area-index="0"] .nrs-article-layout-simple-list .nrs-article-meta,
.nrs-fb-main .nrs-article-layout-simple-list .nrs-article-meta { flex: 0 0 auto; margin: 0; white-space: nowrap; }

/* ── 뷰 토글 바 ───────────────────────────────────────────────────────────── */
.nrs-list-viewbar { display: flex; justify-content: flex-end; align-items: center; gap: 0; margin: 0 0 14px; }
.nrs-lv-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 30px; padding: 0; background: #fff; border: 1px solid #d1d5db; color: #6b7280; cursor: pointer; transition: color .15s, background .15s, border-color .15s; }
.nrs-lv-btn:first-child { border-radius: 4px 0 0 4px; }
.nrs-lv-btn:last-child { border-radius: 0 4px 4px 0; }
.nrs-lv-btn + .nrs-lv-btn { margin-left: -1px; }
.nrs-lv-btn svg { fill: currentColor; }
.nrs-lv-btn:hover { color: #0a3a6b; border-color: #9ca3af; }
.nrs-lv-btn[aria-pressed="true"] { color: #fff; background: var(--nrs-color-primary, #0a3a6b); border-color: var(--nrs-color-primary, #0a3a6b); position: relative; z-index: 1; }
.nrs-lv-btn:focus-visible { outline: 2px solid var(--nrs-color-primary, #0a3a6b); outline-offset: 1px; }

/* ════════════════════════════════════════════════════════════════════════
 * 사이드바 블록 — 인기기사(popular) · 최신뉴스(recent). 페이지 무관, 블록 소유.
 * 모든 페이지(카테고리·검색·기자·단일기사)에서 동일.
 * ════════════════════════════════════════════════════════════════════════ */
.nrs-article-list.nrs-article-list--popular,
.nrs-article-list.nrs-article-list--recent { margin: 0; }
.nrs-article-list.nrs-article-list--popular .nrs-article-item,
.nrs-article-list.nrs-article-list--recent .nrs-article-item { padding: 10px 0; border-bottom: 1px solid #eef0f2; min-width: 0; }
/* v2.2.0-24e: 카테고리 제거 → 섬네일 + 제목 2행만. 제목은 썸네일에 대해 수직 가운데. */
.nrs-article-list.nrs-article-list--popular .nrs-article-text,
.nrs-article-list.nrs-article-list--recent .nrs-article-text {
    min-width: 0; flex: 1 1 auto;
    display: flex; flex-direction: column; justify-content: center;
}
/* 제목: 14px · 2줄 클램프 · 항상 2줄 높이 고정 */
.nrs-article-list.nrs-article-list--popular .nrs-article-title,
.nrs-article-list.nrs-article-list--recent .nrs-article-title {
    font-size: 14px; font-weight: 600; line-height: 1.35; margin: 0; color: #1e1e1e;
    white-space: normal; overflow-wrap: anywhere; word-break: break-word;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    min-height: calc(1.35em * 2);
}
/* 메타: 카테고리만 1줄 */
.nrs-article-list.nrs-article-list--popular .nrs-article-meta,
.nrs-article-list.nrs-article-list--recent .nrs-article-meta { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; flex: 0 0 auto; }
.nrs-article-list.nrs-article-list--popular .nrs-article-excerpt,
.nrs-article-list.nrs-article-list--recent .nrs-article-excerpt { display: none; }

/* 인기기사: 순위 숫자(박스 없음·큰 폰트) + 큰 썸네일(96) + 제목 2줄 */
.nrs-article-list.nrs-article-list--popular { counter-reset: nrs-rank; }
.nrs-article-list.nrs-article-list--popular .nrs-article-item { display: flex; align-items: center; gap: 10px; }
.nrs-article-list.nrs-article-list--popular .nrs-article-item::before {
    counter-increment: nrs-rank; content: counter(nrs-rank);
    flex: 0 0 auto; width: 20px; text-align: center;
    font-size: 20px; font-weight: 800; line-height: 1.3; color: var(--nrs-color-primary, #0a3a6b);
}
.nrs-article-list.nrs-article-list--popular .nrs-article-item > a { flex: 1 1 auto; min-width: 0; display: flex; gap: 10px; align-items: center; }
/* v2.2.0-24e: 인기 썸네일 60px(4/3 → 45). */
.nrs-article-list.nrs-article-list--popular .nrs-article-thumb { flex: 0 0 60px; width: 60px; height: 45px; aspect-ratio: 4/3; object-fit: cover; border-radius: 3px; align-self: center; }

/* 최신뉴스: 작은 썸네일(84, 인기보다 작음) + 제목 2줄 + 카테고리 1줄 */
.nrs-article-list.nrs-article-list--recent .nrs-article-item > a { display: flex; gap: 10px; align-items: center; }
/* v2.2.0-24e: 최신 썸네일 55px(4/3 → 41). */
.nrs-article-list.nrs-article-list--recent .nrs-article-thumb { flex: 0 0 55px; width: 55px; height: 41px; aspect-ratio: 4/3; object-fit: cover; border-radius: 3px; align-self: center; }
