/*
 * empty.css — 결과 없음(목록 0건: 목록·카테고리·태그·작성자·날짜·검색) · 404
 *
 * ★★ 위 묶음 / 아래 묶음 구조다.
 *   제목·문구는 위에, 검색 폼은 푸터 위에 붙는다. 남는 세로 공간은 문구와 검색 폼 사이에 생긴다.
 *   고정값은 셋뿐 — 제목 블록 아래 → 문구(108 / 80), 검색 폼 높이(48), 검색 폼 아래 → 푸터(--c4-page-bottom-empty).
 *   시안의 문구 → 검색 폼 370 / 140 은 프레임 높이에서 나온 결과값이라 CSS 에 박지 않는다.
 *
 * ★★ margin-top:auto 가 먹으려면 조상 사슬(.c4-site → main → .c4-list)이 전부 flex 여야 한다.
 *   .c4-site 는 base.css 가 flex column 이고 main 에 flex:1 을 준다. 하지만 main 자신은 block 이라
 *   높이가 안쪽으로 내려오지 않는다. 공용 CSS 를 고치지 않고 :has() 로 '결과 없음 래퍼를 가진 main' 만 flex 로 바꾼다.
 *   3열 그리드(.c4-list__layout, ≥1360 grid / <1360 block)는 이 사슬 안의 한 항목일 뿐이라 두 구간 모두 같은 규칙으로 동작한다.
 */

.c4-site__main:has(> .c4-list--empty) {
	display: flex;
	flex-direction: column;
}

.c4-list--empty {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

/* 하단 여백은 화면별 토큰 — 빈 상태·404 줄. 목록 값(.c4-list)보다 특이도를 올려 순서에 기대지 않는다. */
.c4-list.c4-list--empty {
	padding-bottom: var(--c4-page-bottom-empty);
}

/* 페이지 제목 블록 아래 → 문구. 목록의 제목 → 카드(60)와 다른 값이 맞다(시안 실측). 제목을 렌더하지 않은 경우는 list.css 규칙(0) 그대로. */
.c4-list--empty:not(.c4-list--no-title) .c4-list__layout {
	margin-top: var(--c4-empty-desc-gap);
}

/*
 * 검색 폼 — 푸터 위에 붙는다. 최소 간격은 padding-top 으로 두고 그 위에 margin-top:auto 가 얹힌다.
 * (row-gap 은 같은 컨테이너의 다른 간격에도 걸려서 쓸 수 없다.)
 *
 * ★ 0건이면 페이지네이션도 없으므로 '--no-pagination' 수식자가 항상 같이 걸린다.
 *   둘이 margin-top 을 다투므로 선택자를 겹쳐 특이도를 올린다 — 파일 로드 순서에 기대지 않는다.
 */
.c4-list__search--empty.c4-list__search--empty {
	margin-top: auto;
	padding-top: var(--c4-empty-search-gap-min);
}

/* ─────────────────────────────────────────────────────────
   결과 없음 partial
   ───────────────────────────────────────────────────────── */

.c4-no-results {
	text-align: center;
}

/* 404 전용(title_as_h1) — 페이지 제목 계열 */
.c4-no-results__title {
	font-size: var(--c4-fz-page-title);
	line-height: var(--c4-lh-page-title);
	font-weight: var(--c4-fw-bold);
	color: var(--c4-color-text);
}

.c4-no-results__title + .c4-no-results__desc {
	margin-top: var(--c4-empty-desc-gap);
}

/* Body/body1_bold · 기본 텍스트. 코드에 박힌 문구의 개행(\n)만 줄로 보이게 한다. */
.c4-no-results__desc {
	font-size: var(--c4-fz-body1);
	line-height: var(--c4-lh-body);
	font-weight: var(--c4-fw-bold);
	color: var(--c4-color-text);
	white-space: pre-line;
}

/* ─────────────────────────────────────────────────────────
   404 — '홈으로 가기'. 링크 모양은 본문 링크 규칙(article.css 의 .c4-entry-content a)과 같다.
   404 에는 article.css 가 로드되지 않으므로 같은 토큰으로 같은 선언을 둔다.
   ───────────────────────────────────────────────────────── */

.c4-404__home {
	margin-top: var(--c4-404-link-gap);
	text-align: center;
	font-size: var(--c4-fz-body1);
	line-height: var(--c4-lh-body);
	font-weight: var(--c4-fw-regular);
}

.c4-404__home-link {
	color: var(--c4-color-accent);
	text-decoration: underline;
}

.c4-404__home-link:hover {
	color: var(--c4-color-accent);
	text-decoration: none;
}
