/* 기본 */
body {
	font-family: system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic",
				 "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	background: #f5f5f7;
}
header {
	background: #ffffff;
}

/* 공통 레이아웃 / 헤더 */
.lk-main-header {
	border-bottom: 1px solid rgba(148, 163, 184, 0.4);
	background: rgba(15, 23, 42, 0.92);
	backdrop-filter: blur(12px);
}
.lk-main-header a.navbar-brand span {
	font-weight: 700;
}
.lk-main-header .nav-link {
	font-size: .9rem;
	font-weight: 500;
}
.lk-main-header .nav-link.active {
	color: #f97316 !important;
}
.lk-main-header .navbar-toggler {
	border: none;
}
.lk-main-header .navbar-toggler:focus {
	box-shadow: none;
}

main {
	min-height: 70vh;
}

/* Hero 영역 */
.lk-hero {
	padding: 3rem 0 3rem;
	background: radial-gradient(circle at top left, #e5f0ff, #f5f5f7 55%, #ffffff 100%);
}
.lk-hero-title {
	font-weight: 700;
	font-size: clamp(1.8rem, 2.6vw, 2.4rem);
}
.lk-hero-sub {
	max-width: 640px;
	font-size: .95rem;
	color: #4b5563;
}
.lk-hero-badge {
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.lk-hero-desc {
	color: #64748b;
	font-size: 1rem;
}

/* 한국 배지 */
.lk-badge-korea {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: .25rem .6rem;
	border-radius: 999px;
	background: #111827;
	color: #f9fafb;
	font-size: .78rem;
}
.lk-badge-korea span.flag,
.lk-badge-korea .flag {
	font-size: 1rem;
}

/* Hero 검색 전용 배경 */
.lk-hero-search {
	background: radial-gradient(circle at top left, #e0f2fe, #eef2ff 40%, #f5f5f7 70%);
	padding: 2.5rem 0 2rem;
}

/* Masonry 레이아웃 */
.masonry,
.channel-masonry {
	column-count: 1;
	column-gap: 1.25rem;
}
@media (min-width: 768px) {
	.masonry { column-count: 2; }
	.channel-masonry { column-count: 2; }
}
@media (min-width: 1200px) {
	.masonry { column-count: 3; }
	.channel-masonry { column-count: 3; }
}
.masonry-item,
.channel-item {
	break-inside: avoid;
	margin-bottom: 1.25rem;
}

/* 리소스 카드 */
.resource-card {
	border-radius: 1rem;
	border: 0;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
	background: #ffffff;
	transition: transform .15s ease, box-shadow .15s ease;
}
.resource-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 40px rgba(15, 23, 42, 0.16);
}
.resource-type {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #64748b;
}
.resource-lang {
	font-size: .8rem;
	color: #6b7280;
}
.resource-title {
	font-size: 1rem;
	font-weight: 600;
}
.resource-desc {
	font-size: .9rem;
	color: #4b5563;
}

/* 카테고리 카드 */
.category-card {
	border-radius: 1rem;
	border: 0;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
	transition: transform .15s ease, box-shadow .15s ease;
	height: 100%;
}
.category-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
}
.category-title {
	font-size: 1.05rem;
	font-weight: 600;
}
.category-subtitle,
.category-desc {
	font-size: .9rem;
	color: #6b7280;
}

/* 검색 카드 / 필터 레이블 */
.search-card {
	border-radius: 1rem;
	border: 0;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
	border: 1px solid rgba(15, 23, 42, 0.06);
}
.filter-label {
	font-size: .8rem;
	font-weight: 600;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* 채널 카드 */
.channel-card {
	border-radius: 1.1rem;
	border: 0;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
	transition: transform .15s ease, box-shadow .15s ease;
}
.channel-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
}
.channel-thumb {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	object-fit: cover;
}
.channel-meta {
	font-size: .8rem;
	color: #6b7280;
}
.extra-small {
	font-size: .78rem;
}
.channel-link {
	font-size: .8rem;
}
.section-title {
	font-size: 1.1rem;
	font-weight: 600;
}

/* 태그 Pill */
.tag-pill {
	font-size: .75rem;
	background: #f9fafb;
	border-radius: 999px;
	border: 1px solid #e5e7eb;
	padding: .15rem .5rem;
	margin-right: .25rem;
	margin-bottom: .25rem;
}
.tag-pill-active {
	background-color: #111827;
	color: #f9fafb;
}

/* 상세 페이지 섹션 */
.lk-section {
	padding: 2.5rem 0;
}
.resource-header-title {
	font-size: clamp(1.6rem, 2.4vw, 2.2rem);
	font-weight: 700;
}
.muted-label {
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #6b7280;
}
.meta-line {
	font-size: .85rem;
	color: #6b7280;
}

/* 추천 카드 */
.suggest-card {
	max-width: 720px;
	margin: 0 auto 2rem;
	border-radius: 1rem;
	border: 0;
	background: #ffffff;
	box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
}


/* 카드 내 링크 호버 개선 */
.resource-card a.text-decoration-none.text-dark:hover,
.category-card a.text-decoration-none.text-dark:hover {
	color: #111827;
}

/* 메인 네비게이션 호버 */
header nav a:hover {
	color: #111827 !important;
}
