/* ============================================================
   용어사전(glossary) — 전용 CSS (.kdg-*) · 260910 · SEO 5단계
   Tailwind 유틸을 새로 쓰지 않는다(정적 빌드). 톤은 가이드와 같은 모노톤·화이트.
   타입 스케일 3단(제목 / 본문 / 보조)·넉넉한 여백. 색 콜아웃 없음.
   ============================================================ */
.kdg-page { background: #fff; padding-bottom: 96px; }
.kdg-wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .kdg-wrap { padding: 0 48px; } }

/* 브레드크럼 */
.kdg-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 40px; font-size: 13.5px; color: #9ca3af; }
.kdg-crumb a { color: #6b7280; text-decoration: none; }
.kdg-crumb a:hover { color: #111827; }
.kdg-crumb__cur { color: #4b5563; }

/* 허브 헤더 */
.kdg-hero { padding: 36px 0 28px; border-bottom: 1px solid #f1f3f5; margin-bottom: 28px; }
.kdg-hero__title { margin: 0 0 14px; font-size: 34px; font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #111827; word-break: keep-all; }
@media (min-width: 768px) { .kdg-hero__title { font-size: 42px; } }
.kdg-hero__lede { max-width: 680px; margin: 0 0 12px; font-size: 16px; line-height: 1.75; color: #6b7280; word-break: keep-all; }
.kdg-hero__count { margin: 0 0 22px; font-size: 14px; color: #9ca3af; }
.kdg-hero__count strong { color: #111827; font-weight: 700; }
/* 검색줄은 허브 셸 도입(260915) 뒤 히어로 안이 아니라 pill 나브 아래 독립 줄이다.
   .kh-nav 가 아래쪽 여백을 갖지 않아 주제 칩과 붙으므로 여기서 아래 여백을 준다. */
.kdg-search { position: relative; display: block; max-width: 520px; margin: 0 0 28px; }
.kdg-search svg { position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: #9ca3af; pointer-events: none; }
.kdg-search input { width: 100%; height: 50px; padding: 0 16px 0 44px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; font-size: 15px; color: #111827; outline: none; transition: border-color .15s, box-shadow .15s; }
.kdg-search input:focus { border-color: #111827; box-shadow: 0 0 0 3px rgba(17,24,39,.06); }

/* 주제 칩 */
.kdg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.kdg-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid #e5e7eb; border-radius: 999px; font-size: 13.5px; font-weight: 600; color: #374151; text-decoration: none; background: #fff; transition: all .15s; }
.kdg-chip span { font-weight: 500; color: #9ca3af; }
.kdg-chip:hover { border-color: #111827; color: #111827; }
.kdg-chip.is-on { background: #111827; border-color: #111827; color: #fff; }
.kdg-chip.is-on span { color: rgba(255,255,255,.65); }

/* 가나다·A~Z 앵커 */
.kdg-anchors { position: sticky; top: calc(var(--header-h) + 8px); z-index: 5; display: flex; flex-wrap: wrap; gap: 2px; margin: 0 0 32px; padding: 10px 8px; border: 1px solid #f1f3f5; border-radius: 12px; background: rgba(255,255,255,.92); backdrop-filter: blur(6px); }
.kdg-anchors a, .kdg-anchors span { min-width: 30px; height: 30px; padding: 0 6px; border-radius: 8px; font-size: 13px; font-weight: 600; line-height: 30px; text-align: center; text-decoration: none; }
.kdg-anchors a { color: #111827; }
.kdg-anchors a:hover { background: #f3f4f6; }
.kdg-anchors span { color: #d1d5db; }

/* 그룹 · 카드 */
.kdg-results { margin-bottom: 44px; }
.kdg-results .kdg-group__title { border-bottom-color: var(--primary-color, #ff4343); }
.kdg-group { margin-bottom: 44px; scroll-margin-top: calc(var(--header-h) + 70px); }
.kdg-group__title { display: flex; align-items: baseline; gap: 10px; margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid #111827; font-size: 22px; font-weight: 800; color: #111827; }
.kdg-group__n { font-size: 13px; font-weight: 600; color: #9ca3af; }
.kdg-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) { .kdg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .kdg-grid { grid-template-columns: repeat(3, 1fr); } }
.kdg-card { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.kdg-card:hover { border-color: #111827; box-shadow: 0 6px 20px rgba(17,24,39,.06); transform: translateY(-1px); }
.kdg-card__name { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; color: #111827; word-break: keep-all; }
.kdg-card__en { font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em; color: #9ca3af; }
.kdg-card__def { margin-top: 6px; font-size: 14px; line-height: 1.6; color: #6b7280; word-break: keep-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kdg-empty { padding: 40px 0; text-align: center; color: #9ca3af; }

/* CTA */
.kdg-cta { margin-top: 56px; padding: 32px 28px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fafbfc; text-align: center; }
.kdg-cta__t { margin: 0 0 16px; font-size: 16px; font-weight: 600; color: #374151; word-break: keep-all; }
.kdg-cta__btn { display: inline-block; padding: 12px 26px; border-radius: 999px; background: #ff4343; color: #fff; font-size: 14.5px; font-weight: 700; text-decoration: none; transition: background .15s; }
.kdg-cta__btn:hover { background: #e63939; }
.kdg-cta__link { display: inline-block; margin-bottom: 18px; font-size: 14px; font-weight: 600; color: #6b7280; text-decoration: none; }
.kdg-cta__link:hover { color: #111827; }

/* ── 용어 단일 ── */
.kdg-single { max-width: 820px; margin: 0 auto; padding: 0 20px; }
.kdg-head { padding: 28px 0 8px; }
.kdg-head__eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 13px; font-weight: 700; color: #ff4343; }
.kdg-tier { padding: 2px 8px; border-radius: 6px; background: #111827; color: #fff; font-size: 11.5px; font-weight: 700; }
.kdg-head__title { margin: 0 0 10px; font-size: 32px; font-weight: 800; line-height: 1.25; letter-spacing: -0.03em; color: #111827; word-break: keep-all; }
@media (min-width: 768px) { .kdg-head__title { font-size: 40px; } }
.kdg-head__en { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 14px; font-size: 14.5px; color: #6b7280; }
.kdg-head__orig { font-weight: 600; color: #374151; }
.kdg-single .kd-byline { margin: 0 0 28px; font-size: 13px; color: #9ca3af; }
.kdg-single .kd-byline__sep { margin: 0 6px; }
.kdg-def { margin-bottom: 40px; }
.kdg-body { padding-bottom: 8px; }
.kdg-body h2:first-child { margin-top: 24px; }
.kdg-related { margin-top: 48px; padding-top: 28px; border-top: 1px solid #e5e7eb; }
.kdg-related__title { margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; color: #6b7280; }
.kdg-grid--related { grid-template-columns: 1fr; }
@media (min-width: 640px) { .kdg-grid--related { grid-template-columns: repeat(2, 1fr); } }
.kdg-cta--single { margin-top: 40px; }
