/* 교계한눈 — 신문 지면
 *
 * GeneratePress 위에 얹는 껍데기. 테마 파일은 건드리지 않는다.
 * 색과 서체는 기획안 13장에 정한 대로 — 네이비·아이보리·버건디, 제목 고딕·본문 명조.
 */

:root {
	--cv-paper: #faf9f6;   /* 아이보리 지면 */
	--cv-card: #ffffff;
	--cv-ink: #12172a;
	--cv-ink-2: #3c4358;
	--cv-ink-3: #727a90;
	--cv-rule: #d8d5cc;
	--cv-hair: #e8e5dd;
	--cv-navy: #1f3a68;
	--cv-burgundy: #8c2230;
	--cv-teal: #2a7772;
	--cv-green: #2c6b45;
	--cv-amber: #a06a12;
	--cv-grey: #6b7389;

	--cv-serif: "Nanum Myeongjo", "나눔명조", Batang, serif;
	--cv-gothic: "Noto Sans KR", "맑은 고딕", "Malgun Gothic", sans-serif;
}

@media (prefers-color-scheme: dark) {
	:root {
		--cv-paper: #12141c;
		--cv-card: #191c26;
		--cv-ink: #eceadf;
		--cv-ink-2: #b8bbc8;
		--cv-ink-3: #8a8f9e;
		--cv-rule: #2f3340;
		--cv-hair: #252935;
		--cv-navy: #8fb0e0;
		--cv-burgundy: #e08494;
		--cv-teal: #6cc0b7;
		--cv-green: #72c294;
		--cv-amber: #d9a651;
		--cv-grey: #98a0b6;
	}
}

/* ── 지면 ─────────────────────────────────────────── */

body {
	background: var(--cv-paper);
	color: var(--cv-ink);
	font-family: var(--cv-serif);
	font-size: 17px;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
}

.site-content .content-area,
.inside-article,
.entry-content {
	background: transparent;
}

/* 사이드바를 걷어내고 지면을 넓게 쓴다 */
#right-sidebar,
#left-sidebar {
	display: none;
}

.site-content .content-area {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	float: none;
}

.separate-containers .inside-article,
.separate-containers .site-main > * {
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.separate-containers .site-main {
	margin: 0;
}

/* ── 제호 ─────────────────────────────────────────── */

.site-header {
	background: var(--cv-paper) !important;
	border-bottom: none;
	padding: 26px 0 0;
}

.site-header .inside-header {
	display: block !important;
	text-align: center;
	padding-bottom: 0;
}

.site-branding {
	text-align: center;
}

.main-title,
.site-title {
	font-family: var(--cv-serif) !important;
	font-weight: 800 !important;
	font-size: clamp(40px, 7.5vw, 76px) !important;
	line-height: 1 !important;
	letter-spacing: -.03em;
	margin: 0 !important;
}

.main-title a,
.site-title a {
	color: var(--cv-ink) !important;
	text-decoration: none;
}

.site-description {
	font-family: var(--cv-gothic) !important;
	font-size: 12.5px !important;
	letter-spacing: .04em;
	color: var(--cv-ink-2) !important;
	margin: 0 !important;
	padding: 16px 0 8px;
	border-top: 3px solid var(--cv-ink);
	border-bottom: 1px solid var(--cv-ink);
	margin-top: 20px !important;
}

/* 제호 아래 발행 정보 줄 */
.cv-dateline {
	font-family: var(--cv-gothic);
	font-size: 12.5px;
	color: var(--cv-ink-3);
	text-align: center;
	padding: 8px 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 24px;
}

/* ── 섹션 메뉴 ────────────────────────────────────── */

.main-navigation {
	background: var(--cv-paper) !important;
	border-bottom: 1px solid var(--cv-rule);
}

.main-navigation .inside-navigation {
	justify-content: center;
}

.main-navigation .main-nav ul li a {
	font-family: var(--cv-gothic);
	font-size: 14.5px;
	font-weight: 500;
	color: var(--cv-ink) !important;
	padding: 11px 14px;
	line-height: 1.5;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--cv-burgundy) !important;
	background: transparent !important;
	box-shadow: inset 0 -2px 0 var(--cv-burgundy);
}

/* ── 제목 층위 ────────────────────────────────────── */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-title {
	font-family: var(--cv-gothic);
	letter-spacing: -.02em;
	text-wrap: balance;
}

.entry-title {
	font-weight: 900;
	font-size: clamp(26px, 3.4vw, 34px);
	line-height: 1.3;
}

.entry-title a {
	color: var(--cv-ink);
	text-decoration: none;
}

.entry-title a:hover {
	color: var(--cv-burgundy);
}

/* 1면 섹션 제목 — 굵은 밑줄 */
.cv-sec-h {
	font-family: var(--cv-gothic) !important;
	font-weight: 900 !important;
	font-size: 15px !important;
	letter-spacing: .02em;
	margin: 40px 0 14px !important;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--cv-ink);
	color: var(--cv-ink);
}

.entry-content > .cv-sec-h:first-child {
	margin-top: 0 !important;
}

.cv-h {
	font-family: var(--cv-gothic) !important;
	font-weight: 700;
	font-size: 15px !important;
	letter-spacing: .02em;
	margin: 34px 0 12px !important;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--cv-ink);
	color: var(--cv-ink);
}

.cv-rel-h {
	font-family: var(--cv-gothic) !important;
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--cv-burgundy);
	margin: 0 0 8px !important;
}

/* ── 본문 ─────────────────────────────────────────── */

.entry-content p,
.entry-content li {
	font-family: var(--cv-serif);
	font-size: 17px;
	line-height: 1.9;
	color: var(--cv-ink-2);
}

.entry-content a {
	color: var(--cv-navy);
}

.entry-meta,
.posted-on,
.byline {
	font-family: var(--cv-gothic);
	font-size: 12.5px;
	color: var(--cv-ink-3);
}

/* ── 오늘의 교계 ──────────────────────────────────── */

.cv-today > li {
	padding: 16px 0 16px 34px;
	border-bottom: 1px solid var(--cv-hair);
}

.cv-today > li::before {
	content: counter(cv-t, decimal-leading-zero);
	top: 20px;
	font-family: var(--cv-gothic);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
}

.cv-today-title {
	font-family: var(--cv-gothic);
	font-weight: 700;
	font-size: 19px !important;
	line-height: 1.45;
	letter-spacing: -.015em;
	margin-bottom: 4px;
}

.cv-today-line {
	font-family: var(--cv-serif);
	font-size: 15.5px !important;
	line-height: 1.75;
}

.cv-today .cv-count {
	font-family: var(--cv-gothic);
	font-size: 12px;
}

/* ── 보도 목록 ────────────────────────────────────── */

.cv-cov-list {
	background: var(--cv-card);
	border-color: var(--cv-rule);
}

.cv-cov-item {
	border-bottom-color: var(--cv-hair);
	padding: 10px 16px;
}

.cv-cov-outlet {
	font-family: var(--cv-gothic);
	font-size: 12px;
	min-width: 6.2em;
}

.cv-cov-title {
	font-family: var(--cv-gothic);
	font-size: 15px;
	line-height: 1.6;
}

.cv-cov-date,
.cv-cov-note {
	font-family: var(--cv-gothic);
}

.cv-cov-quote {
	font-family: var(--cv-serif);
}

/* ── 매체별 비교 ──────────────────────────────────── */

.cv-compare-item {
	background: var(--cv-card);
	border: 1px solid var(--cv-rule);
	padding: 14px 0 0;
	margin-bottom: 20px;
}

.cv-compare-item h3 {
	font-family: var(--cv-gothic);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.45;
	letter-spacing: -.015em;
	margin: 0 0 8px;
	padding: 0 18px;
}

.cv-compare-item .cv-badges {
	padding: 0 18px;
	margin-bottom: 8px;
}

.cv-compare-item .cv-cov-list {
	border: none;
	border-top: 1px solid var(--cv-hair);
}

/* ── 배지 ─────────────────────────────────────────── */

.cv-badge {
	font-family: var(--cv-gothic);
	font-size: 11px;
	padding: 1px 8px;
	line-height: 1.7;
}

/* ── 목록류 ───────────────────────────────────────── */

.cv-doc-list li,
.cv-issue-list li,
.cv-notice-list li,
.cv-docs li {
	font-family: var(--cv-gothic);
	font-size: 15px;
	border-bottom-color: var(--cv-hair);
}

.cv-note,
.cv-disclaimer,
.cv-meta-footer {
	font-family: var(--cv-gothic);
	font-size: 13px !important;
	line-height: 1.8;
	color: var(--cv-ink-3) !important;
}

.cv-disclaimer {
	border-left: 3px solid var(--cv-rule);
	padding-left: 14px;
}

/* ── 표 · 타임라인 ────────────────────────────────── */

.cv-table-scroll table,
.cv-timeline,
.cv-points,
.cv-positions,
.cv-statements {
	font-family: var(--cv-gothic);
}

.cv-table-scroll {
	background: var(--cv-card);
	border-color: var(--cv-rule);
}

/* ── 정정 폼 ──────────────────────────────────────── */

.cv-correction {
	background: var(--cv-card);
	border-color: var(--cv-rule);
	font-family: var(--cv-gothic);
}

.cv-correction .cv-h {
	margin-top: 0 !important;
}

.cv-btn {
	font-family: var(--cv-gothic);
}

/* ── 바닥 ─────────────────────────────────────────── */

.site-footer {
	background: var(--cv-paper) !important;
	border-top: 3px solid var(--cv-ink);
	margin-top: 50px;
}

.site-footer .inside-site-info {
	font-family: var(--cv-gothic);
	font-size: 12.5px;
	color: var(--cv-ink-3);
}

.site-info a {
	color: var(--cv-ink-2);
}

/* ── 작은 화면 ────────────────────────────────────── */

@media (max-width: 768px) {
	body { font-size: 16px; }
	.entry-content p, .entry-content li { font-size: 16px; }
	.cv-today > li { padding-left: 28px; }
	.cv-today-title { font-size: 18px !important; }
	.main-navigation .main-nav ul li a { padding: 10px 10px; font-size: 14px; }
}

/* ══════════════════════════════════════════════════
 * 1면 격자
 *
 * 큰 사건은 크게, 작은 사건은 작게. 크기 기준은 몇 개 매체가 다뤘는가.
 * ══════════════════════════════════════════════════ */

.cv-front {
	display: grid;
	gap: 0;
	margin-bottom: 8px;
}

.cv-slot { border-top: 1px solid var(--cv-rule); padding-top: 20px; margin-top: 20px; }
.cv-slot:first-child { border-top: none; padding-top: 0; margin-top: 0; }

.cv-slot-major { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.cv-slot-minor { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 26px; }

.cv-slot-major > .cv-story + .cv-story,
.cv-slot-minor > .cv-story + .cv-story {
	border-left: 1px solid var(--cv-hair);
	padding-left: 26px;
}

.cv-story { margin: 0; }

.cv-story-title {
	font-family: var(--cv-gothic);
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 6px 0 8px !important;
	line-height: 1.32;
	text-wrap: balance;
}

.cv-story-title a { color: var(--cv-ink); text-decoration: none; }
.cv-story-title a:hover { color: var(--cv-burgundy); }

.cv-t-lead  .cv-story-title { font-size: clamp(28px, 3.8vw, 40px); font-weight: 900; }
.cv-t-major .cv-story-title { font-size: 21px; }
.cv-t-minor .cv-story-title { font-size: 17px; }
.cv-t-brief .cv-story-title { font-size: 16px; font-weight: 500; margin: 0 !important; }

.cv-story-line {
	font-family: var(--cv-serif);
	color: var(--cv-ink-2);
	margin: 0 0 6px !important;
}

.cv-t-lead  .cv-story-line { font-size: 18px; line-height: 1.85; }
.cv-t-major .cv-story-line { font-size: 15.5px; line-height: 1.75; }

.cv-story-outlets {
	font-family: var(--cv-gothic);
	font-size: 12.5px !important;
	color: var(--cv-burgundy) !important;
	font-weight: 700;
	margin: 6px 0 0 !important;
	line-height: 1.6;
}

.cv-story-n { color: var(--cv-ink-3); font-weight: 400; margin-left: 6px; }

/* 단신 줄 */
.cv-slot-brief { }
.cv-slot-h {
	font-family: var(--cv-gothic);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .1em;
	color: var(--cv-burgundy);
	margin: 0 0 10px;
}
.cv-slot-brief .cv-story {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--cv-hair);
}
.cv-slot-brief .cv-story-outlets { margin: 0 !important; font-weight: 400; }

/* ── 면별 묶음 ────────────────────────────────── */

.cv-pages {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px 32px;
}

.cv-page-sec { min-width: 0; }

.cv-page-sec-h {
	font-family: var(--cv-gothic);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 10px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--cv-ink);
}
.cv-page-sec-h a { color: var(--cv-ink); text-decoration: none; }
.cv-page-sec-h a:hover { color: var(--cv-burgundy); }

.cv-page-sec-list { list-style: none; margin: 0; padding: 0; }
.cv-page-sec-list li {
	padding: 8px 0;
	border-bottom: 1px solid var(--cv-hair);
	font-family: var(--cv-gothic);
	font-size: 15px;
	line-height: 1.5;
}
.cv-page-sec-list a { color: var(--cv-ink); text-decoration: none; }
.cv-page-sec-list a:hover { color: var(--cv-burgundy); }

.cv-sec-outlets {
	display: block;
	font-size: 12px;
	color: var(--cv-ink-3);
	margin-top: 3px;
}

/* ── 그 밖의 소식 ─────────────────────────────── */

.cv-roundup { list-style: none; margin: 0; padding: 0; }
.cv-roundup li {
	padding: 8px 0;
	border-bottom: 1px solid var(--cv-hair);
	font-family: var(--cv-gothic);
	font-size: 14.5px;
	line-height: 1.55;
}
.cv-roundup a { color: var(--cv-ink); text-decoration: none; }
.cv-roundup a:hover { color: var(--cv-burgundy); }
.cv-roundup-outlet {
	display: block;
	font-size: 12px;
	color: var(--cv-burgundy);
	margin-top: 2px;
}

/* ── 좁은 화면 ────────────────────────────────── */

@media (max-width: 860px) {
	.cv-slot-minor { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
	.cv-slot-major,
	.cv-slot-minor { grid-template-columns: 1fr; gap: 0; }
	.cv-slot-major > .cv-story + .cv-story,
	.cv-slot-minor > .cv-story + .cv-story {
		border-left: none;
		padding-left: 0;
		border-top: 1px solid var(--cv-hair);
		padding-top: 16px;
		margin-top: 16px;
	}
	.cv-t-lead .cv-story-title { font-size: 26px; }
}

/* ── 면 블록 (경찰신문 방식) ─────────────────────── */

.cv-page-sec-h {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.cv-page-sec-h .cv-more {
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--cv-burgundy) !important;
	white-space: nowrap;
}

.cv-sec-lead { margin: 0 0 10px; }

.cv-sec-lead .cv-badges { margin-bottom: 5px; }

.cv-sec-lead h5 {
	font-family: var(--cv-gothic);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: -.015em;
	margin: 0 0 5px;
	text-wrap: balance;
}
.cv-sec-lead h5 a { color: var(--cv-ink); text-decoration: none; }
.cv-sec-lead h5 a:hover { color: var(--cv-burgundy); }

.cv-sec-lead-line {
	font-family: var(--cv-serif);
	font-size: 14.5px !important;
	line-height: 1.7;
	color: var(--cv-ink-2) !important;
	margin: 0 0 5px !important;
}

.cv-sec-meta {
	font-family: var(--cv-gothic);
	font-size: 12px !important;
	color: var(--cv-ink-3) !important;
	margin: 0 0 10px !important;
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--cv-hair);
}
.cv-sec-outlet { color: var(--cv-burgundy); font-weight: 700; }

.cv-page-sec-list li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 7px 0;
}
.cv-sec-sub { font-size: 11.5px; color: var(--cv-ink-3); }

/* ── 상단 메뉴를 두 줄로 ─────────────────────────── */

.main-navigation .main-nav > ul {
	flex-wrap: wrap;
	justify-content: center;
}

/* ══════════════════════════════════════════════════
 * 테마 덮어쓰기
 *
 * GeneratePress가 나중에 실리면 위 규칙들이 전부 밀린다.
 * 우선순위를 100으로 미뤄 뒤에 싣지만, 몇 가지는 여기서 못박아 둔다.
 * ══════════════════════════════════════════════════ */

/* 1면에서는 페이지 제목을 감춘다 — 제호와 겹친다 */
.home .entry-title,
.page-id-23 .entry-title {
	display: none;
}

/* 신문 제목에 밑줄은 없다 */
.cv-front a,
.cv-pages a,
.cv-roundup a,
.cv-today a,
.cv-cov-list a,
.cv-story-title a,
.cv-sec-lead h5 a,
.cv-page-sec-h a {
	text-decoration: none !important;
	box-shadow: none !important;
}

.cv-front a:hover,
.cv-pages a:hover,
.cv-roundup a:hover {
	text-decoration: none !important;
	color: var(--cv-burgundy) !important;
}

/* 지면을 넓게 */
.site-content .content-area,
.inside-article,
.entry-content {
	max-width: 1140px !important;
}

.entry-content > * {
	max-width: none;
}

/* 목록 기본 점 제거 */
.cv-roundup,
.cv-page-sec-list,
.cv-today,
.cv-cov-list,
.cv-doc-list,
.cv-issue-list,
.cv-notice-list {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

/* 「더보기」가 제목에 붙지 않게 */
.cv-page-sec-h .cv-more { margin-left: auto; }

/* 문단 간격 — 기사 요약은 촘촘하게 */
.cv-story-line,
.cv-sec-lead-line,
.cv-today-line {
	margin-bottom: 6px !important;
}

/* ══════════════════════════════════════════════════
 * 지면 폭
 *
 * GeneratePress의 .grid-container 가 1200px로 묶는다. 신문에는 좁다.
 * 1면과 목록은 넓게 쓰고, 기사 본문만 읽기 좋은 폭으로 다시 좁힌다.
 * 긴 글을 1500px 폭으로 늘어놓으면 눈이 줄을 놓친다.
 * ══════════════════════════════════════════════════ */

#page,
.site,
.container,
.grid-container,
.inside-header,
.main-navigation .inside-navigation,
.site-content,
.inside-site-info {
	max-width: 1560px !important;
}

.site-content .content-area,
.site-main,
.inside-article,
.entry-content {
	max-width: none !important;
	width: 100% !important;
}

.grid-container,
.inside-header {
	padding-left: 32px !important;
	padding-right: 32px !important;
}

/* 기사 한 편은 읽기 좋은 폭으로 */
.single .entry-content,
.single .entry-header {
	max-width: 820px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* 넓어진 만큼 1면을 더 촘촘히 */
@media (min-width: 1100px) {
	.cv-slot-minor { grid-template-columns: repeat(3, 1fr); }
	.cv-pages { grid-template-columns: repeat(4, 1fr); }
	.cv-slot-brief .cv-story { padding: 7px 0; }
}

@media (min-width: 1400px) {
	.cv-front { column-gap: 40px; }
	.cv-t-lead .cv-story-title { font-size: 44px; }
}

@media (max-width: 1099px) and (min-width: 861px) {
	.cv-pages { grid-template-columns: repeat(2, 1fr); }
}

/* ── 면별 소식 (cv_wire) ────────────────────────────────
   정리글은 하루 한두 건뿐이라 지면이 빈다. 그날 들어온 원문 링크를
   면별로 갈라 채운다. 신문의 「단신」 단에 해당한다. */

.cv-wire {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px 34px;
}

.cv-wire-sec { min-width: 0; }

.cv-wire-h {
	font-family: var(--cv-gothic);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .1em;
	margin: 0 0 8px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--cv-ink);
}
.cv-wire-h a { color: var(--cv-navy); text-decoration: none; }
.cv-wire-h a:hover { color: var(--cv-burgundy); }

.cv-wire-list { list-style: none; margin: 0; padding: 0; }
.cv-wire-list li {
	padding: 7px 0;
	border-bottom: 1px solid var(--cv-hair);
	line-height: 1.45;
}
.cv-wire-list a {
	font-family: var(--cv-gothic);
	font-size: 14px;
	color: var(--cv-ink);
	text-decoration: none;
	/* 한글 제목이 좁은 칸에서 세로로 쌓이지 않게 */
	word-break: keep-all;
	overflow-wrap: anywhere;
}
.cv-wire-list a:hover { color: var(--cv-burgundy); text-decoration: underline; }

.cv-wire-outlet {
	display: block;
	margin-top: 2px;
	font-family: var(--cv-gothic);
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--cv-ink-3);
}
