/* 소식(블로그 · 뉴스·공지) — inc/47-news.php · templates/news-*.php
   팔레트·리듬은 /class(assets/class.css)와 같다. 규칙: keep-all · 본문색 78% · 노랑은 라벨·숫자·강조만 */

.kdg-news {
	--k-canvas:#121212; --k-surface:#181818; --k-card:#161616;
	--k-line:rgba(255,255,255,.08); --k-line2:rgba(255,255,255,.22);
	--k-ink:#ecebe7; --k-body:rgba(236,235,231,.78); --k-muted:rgba(236,235,231,.55); --k-faint:rgba(236,235,231,.38);
	--k-accent:#ffd75b;
	background:var(--k-canvas); color:var(--k-body);
	font-size:17px; line-height:1.7; letter-spacing:-.01em; word-break:keep-all; overflow-wrap:break-word;
	width:100%; float:none; margin:0;
}
.kdg-news * { box-sizing:border-box; }
.kdg-news p { margin:0; color:inherit; font-size:inherit; line-height:inherit; }
.kdg-news ul { margin:0; padding:0; list-style:none; }
.kdg-news a, .kdg-news a:visited { color:inherit; text-decoration:none; }
.kdg-news h1, .kdg-news h2, .kdg-news h3 { margin:0; color:var(--k-ink); }
.kdg-news :focus-visible { outline:2px solid var(--k-accent); outline-offset:2px; }

.kdg-news-page #main { padding-left:0 !important; padding-right:0 !important; }
.kdg-news-page #main > .fusion-row { max-width:none !important; width:100% !important; }
.kdgn-wrap { max-width:1660px; margin:0 auto; padding-inline:30px; }

/* 히어로 */
.kdgn-hero { background-size:cover; background-position:50% 50%; padding:clamp(88px,9vw,140px) 0; }
.kdg-news .kdgn-eyebrow { display:flex; align-items:center; gap:10px; font-size:13px; line-height:1.72; letter-spacing:.16em; color:var(--k-accent); font-weight:800; margin:0 0 22px; }
.kdg-news .kdgn-eyebrow::before { content:""; width:26px; height:2px; background:var(--k-accent); flex:none; }
.kdg-news h1.kdgn-h1 { font-family:'SeoulAlrim','Noto Sans KR',sans-serif; font-size:clamp(40px,6vw,83px); font-weight:900; line-height:1.15; letter-spacing:-.04em; }
.kdg-news .kdgn-lead { margin-top:18px; font-size:clamp(16px,1.3vw,19px); color:var(--k-body); max-width:640px; }

/* 본문 영역 · 탭 */
.kdgn-body { padding-top:clamp(40px,4vw,64px); padding-bottom:clamp(88px,9vw,140px); }
.kdgn-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(40px,4vw,64px); }
.kdg-news .kdgn-tabs a { padding:9px 18px; border:1px solid var(--k-line2); border-radius:99px; font-size:15px; font-weight:700; color:var(--k-muted); transition:color .2s,border-color .2s,background .2s; }
.kdg-news .kdgn-tabs a:hover { color:var(--k-ink); border-color:var(--k-ink); }
.kdg-news .kdgn-tabs a.is-cur { background:var(--k-accent); border-color:var(--k-accent); color:var(--k-canvas); }

/* 허브 블록 */
.kdgn-block + .kdgn-block { margin-top:clamp(64px,6vw,104px); }
.kdgn-block-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:26px; padding-bottom:16px; border-bottom:1px solid var(--k-line2); }
.kdg-news .kdgn-block-head h2 { font-family:'SeoulAlrim','Noto Sans KR',sans-serif; font-size:clamp(24px,2.4vw,34px); font-weight:800; letter-spacing:-.03em; }
.kdg-news a.kdgn-more { font-size:15px; font-weight:700; color:var(--k-muted); white-space:nowrap; }
.kdg-news a.kdgn-more::after { content:" →"; }
.kdg-news a.kdgn-more:hover { color:var(--k-accent); }
.kdgn-empty { padding:48px 0; color:var(--k-faint); text-align:center; border:1px dashed var(--k-line2); border-radius:12px; }

/* 블로그 카드 */
.kdg-news .kdgn-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,2vw,32px); }
.kdg-news .kdgn-card a { display:flex; flex-direction:column; height:100%; }
.kdgn-thumb { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; border-radius:12px; background:var(--k-surface) center/cover no-repeat; border:1px solid var(--k-line); overflow:hidden; transition:transform .35s; }
.kdgn-thumb em { font-style:normal; font-weight:900; letter-spacing:.2em; font-size:14px; color:var(--k-faint); }
.kdg-news .kdgn-card a:hover .kdgn-thumb { transform:translateY(-4px); }
.kdgn-card-body { display:flex; flex-direction:column; gap:8px; padding-top:18px; }
.kdgn-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.kdgn-meta i { font-style:normal; font-size:13px; font-weight:800; color:var(--k-accent); }
.kdg-news .kdgn-date { font-size:13px; color:var(--k-faint); font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.kdgn-card-title { font-size:clamp(18px,1.4vw,21px); font-weight:800; line-height:1.45; color:var(--k-ink); transition:color .2s; }
.kdg-news .kdgn-card a:hover .kdgn-card-title { color:var(--k-accent); }
.kdgn-card-ex { font-size:15px; line-height:1.7; color:var(--k-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 뉴스·공지 줄 — 아코디언(<details>). 상세 화면 없음 */
.kdg-news .kdgn-rows { border-top:1px solid var(--k-line2); }
.kdg-news .kdgn-block-head + .kdgn-rows { border-top:0; margin-top:-26px; } /* 허브: 머리 밑줄과 목록 윗줄이 겹쳐 두 줄로 보이던 것 */
.kdgn-row { border-bottom:1px solid var(--k-line); scroll-margin-top:120px; }
.kdgn-row summary { display:grid; grid-template-columns:110px minmax(0,1fr) 20px; align-items:center; gap:20px; padding:20px 4px; cursor:pointer; list-style:none; transition:background .2s; }
.kdgn-row summary::-webkit-details-marker { display:none; }
.kdgn-row summary:hover { background:rgba(255,255,255,.03); }
.kdgn-row-title { font-size:17px; font-weight:700; color:var(--k-ink); line-height:1.5; transition:color .2s; }
.kdgn-row summary:hover .kdgn-row-title, .kdgn-row details[open] .kdgn-row-title { color:var(--k-accent); }
.kdgn-pin { display:inline-block; font-style:normal; font-size:12px; font-weight:900; background:var(--k-accent); color:var(--k-canvas); padding:2px 8px; border-radius:6px; margin-right:10px; vertical-align:2px; }
.kdgn-chev { color:var(--k-faint); transition:transform .25s; }
.kdgn-row details[open] .kdgn-chev { transform:rotate(180deg); color:var(--k-accent); }
.kdg-news .kdgn-row-body.kdgn-prose { padding:4px 24px 28px 134px; font-size:16px; }

/* 쪽 넘김 */
.kdgn-pager { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:56px; }
.kdg-news .kdgn-pager a, .kdgn-pager span { min-width:40px; height:40px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; font-size:15px; font-weight:700; color:var(--k-muted); border:1px solid var(--k-line); }
.kdg-news .kdgn-pager a:hover { color:var(--k-ink); border-color:var(--k-ink); }
.kdgn-pager .is-cur { background:var(--k-accent); border-color:var(--k-accent); color:var(--k-canvas); }
.kdgn-pager .is-off { opacity:.35; }

/* 글 상세 */
.kdgn-article { max-width:840px; padding-top:clamp(40px,4vw,64px); padding-bottom:clamp(88px,9vw,140px); }
.kdg-news .kdgn-crumb { font-size:14px; color:var(--k-faint); margin-bottom:clamp(36px,4vw,56px); }
.kdg-news .kdgn-crumb a:hover { color:var(--k-accent); }
.kdgn-art-head { padding-bottom:28px; border-bottom:1px solid var(--k-line2); margin-bottom:40px; }
.kdg-news h1.kdgn-art-title { font-family:'SeoulAlrim','Noto Sans KR',sans-serif; font-size:clamp(28px,3.6vw,46px); font-weight:800; line-height:1.3; letter-spacing:-.03em; margin-bottom:16px; }
.kdgn-art-img { margin:0 0 40px; }
.kdgn-art-img img { width:100%; height:auto; display:block; border-radius:12px; }

.kdg-news .kdgn-prose { font-size:clamp(16px,1.25vw,18px); line-height:1.85; color:var(--k-body); }
.kdg-news .kdgn-prose > * + * { margin-top:1.15em; }
.kdg-news .kdgn-prose h2 { font-family:'SeoulAlrim','Noto Sans KR',sans-serif; font-size:clamp(22px,2vw,28px); font-weight:800; line-height:1.4; margin-top:2.2em; }
.kdg-news .kdgn-prose h3 { font-family:'SeoulAlrim','Noto Sans KR',sans-serif; font-size:clamp(18px,1.5vw,21px); font-weight:800; line-height:1.45; margin-top:1.8em; }
.kdg-news .kdgn-prose strong, .kdg-news .kdgn-prose b { color:var(--k-ink); }
.kdg-news .kdgn-prose a { color:var(--k-accent); text-decoration:underline; text-underline-offset:3px; }
.kdg-news .kdgn-prose ul, .kdg-news .kdgn-prose ol { padding-left:1.3em; }
.kdg-news .kdgn-prose ul { list-style:disc; }
.kdg-news .kdgn-prose ol { list-style:decimal; }
.kdg-news .kdgn-prose li + li { margin-top:.4em; }
.kdg-news .kdgn-prose blockquote { margin-left:0; margin-right:0; padding:4px 0 4px 20px; border-left:3px solid var(--k-accent); color:var(--k-ink); font-style:normal; }
.kdg-news .kdgn-prose img { max-width:100%; height:auto; border-radius:10px; }
.kdg-news .kdgn-prose figure { margin-left:0; margin-right:0; }
.kdg-news .kdgn-prose figcaption { font-size:14px; color:var(--k-faint); margin-top:8px; }
.kdg-news .kdgn-prose hr { border:0; border-top:1px solid var(--k-line2); margin:2.4em 0; }
.kdg-news .kdgn-prose code { background:var(--k-surface); padding:2px 6px; border-radius:4px; font-size:.92em; }
.kdg-news .kdgn-prose pre { background:var(--k-surface); padding:16px 18px; border-radius:8px; overflow-x:auto; }
.kdg-news .kdgn-prose pre code { background:none; padding:0; }
.kdg-news .kdgn-prose table { width:100%; border-collapse:collapse; font-size:.94em; }
.kdg-news .kdgn-prose th, .kdg-news .kdgn-prose td { border-bottom:1px solid var(--k-line); padding:10px 8px; text-align:left; }

.kdgn-art-foot { margin-top:72px; }
.kdg-news .kdgn-adj { border-top:1px solid var(--k-line2); }
.kdgn-adj li { border-bottom:1px solid var(--k-line); }
.kdg-news .kdgn-adj a { display:grid; grid-template-columns:72px minmax(0,1fr) 18px; align-items:center; gap:20px; padding:20px 4px; transition:background .2s; }
.kdg-news .kdgn-adj a:hover { background:rgba(255,255,255,.03); }
.kdgn-adj small { font-size:13px; color:var(--k-faint); }
.kdgn-adj b { font-size:16px; font-weight:700; color:var(--k-ink); line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .2s; }
.kdg-news .kdgn-adj a:hover b { color:var(--k-accent); }
.kdgn-adj svg { color:var(--k-faint); }
.kdg-news .kdgn-back { margin-top:48px; text-align:center; }
.kdg-news .kdgn-back a { display:inline-block; min-width:200px; padding:15px 32px; border:1px solid var(--k-line2); border-radius:8px; font-size:15px; font-weight:700; color:var(--k-ink); transition:border-color .2s,color .2s; }
.kdg-news .kdgn-back a:hover { border-color:var(--k-accent); color:var(--k-accent); }

@media (max-width:1024px) {
	.kdg-news .kdgn-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
	.kdg-news .kdgn-cards { grid-template-columns:1fr; }
	.kdgn-row summary { grid-template-columns:1fr 20px; gap:4px 12px; padding:16px 2px; }
	.kdgn-row summary .kdgn-date { grid-column:1; grid-row:1; }
	.kdgn-row summary .kdgn-row-title { grid-column:1; grid-row:2; font-size:16px; }
	.kdgn-row summary .kdgn-chev { grid-column:2; grid-row:1 / 3; }
	.kdg-news .kdgn-row-body.kdgn-prose { padding:4px 2px 24px; font-size:15.5px; }
	.kdg-news .kdgn-adj a { grid-template-columns:1fr 18px; gap:2px 12px; padding:16px 2px; }
	.kdgn-adj small { grid-column:1; grid-row:1; }
	.kdgn-adj b { grid-column:1; grid-row:2; white-space:normal; }
	.kdgn-adj svg { grid-column:2; grid-row:1 / 3; }
	.kdgn-art-foot { margin-top:56px; }
	.kdg-news .kdgn-back a { display:block; }
}
@media (prefers-reduced-motion:reduce) {
	.kdgn-thumb { transition:none; }
	.kdg-news .kdgn-card a:hover .kdgn-thumb { transform:none; }
}
