:root {
	--header-height: 138px;
	--mo-header-top-height: 72px;
}
body.hidden{
	overflow:hidden;
}

#header{
	background-color:var(--white);
	color:var(--gray-scale9);
	width:100%;
	position:static;
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	transition: 0.3s;
	border-bottom: 1px solid var(--gray-scale4, #ececec);
}
/* Header scrolls away with the page now (was position:fixed) — #headBlank was only
   ever a JS-measured spacer to offset the fixed header, so it'd double the gap if left
   visible; kill it rather than touch header.js's measuring code. */
#headBlank {
	display: none !important;
}
.header-in{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height: var(--header-height);
	flex-shrink: 0;
}
.header-logo-wrap {

}
.bk-logo-lockup {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: inherit;
}
.bk-logo-icon {
	height: 42px;
	width: auto;
	flex-shrink: 0;
	/* Sticker-style white outline (same technique as the mobile-menu + catalog icons) —
	   the header's background is the busy concept-art image, not a flat colour, so the
	   icon needs the same legibility treatment the text wordmark already gets via its
	   own text-shadow glow below. No tilt here (unlike the footer instance): this is the
	   primary, repeated-every-page mark, kept upright rather than playful. */
	filter:
		drop-shadow(2px 0 0 #fff)
		drop-shadow(-2px 0 0 #fff)
		drop-shadow(0 2px 0 #fff)
		drop-shadow(0 -2px 0 #fff)
		drop-shadow(1.4px 1.4px 0 #fff)
		drop-shadow(-1.4px 1.4px 0 #fff)
		drop-shadow(1.4px -1.4px 0 #fff)
		drop-shadow(-1.4px -1.4px 0 #fff)
		drop-shadow(0 3px 4px rgba(0, 0, 0, 0.25));
}
.bk-logo-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 1.2;
}
.bk-logo-word {
	font-weight: 800;
	font-size: 20px;
	letter-spacing: 0.03em;
	color: var(--gray-scale11, #1a1a1a);
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(255, 252, 244, 0.85), 0 0 10px rgba(255, 252, 244, 0.7);
}
.bk-logo-tagline {
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.02em;
	color: var(--gray-scale9, #333);
	white-space: nowrap;
	text-shadow: 0 1px 2px rgba(255, 252, 244, 0.9), 0 0 8px rgba(255, 252, 244, 0.75);
}
.header-right-wrap {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-shrink: 0;
}
.header-logo{
	max-height: 56px;
	max-width: 150px;
	display: table;
	margin: 0 auto;
	transition: 0.3s;
	/* Sticker-style white outline (same technique as the catalog card icons), scaled
	   down for this smaller size — pops the icon off the flat theme-color bar instead
	   of blending into it. */
	filter:
		drop-shadow(2px 0 0 #fff)
		drop-shadow(-2px 0 0 #fff)
		drop-shadow(0 2px 0 #fff)
		drop-shadow(0 -2px 0 #fff)
		drop-shadow(1.4px 1.4px 0 #fff)
		drop-shadow(-1.4px 1.4px 0 #fff)
		drop-shadow(1.4px -1.4px 0 #fff)
		drop-shadow(-1.4px -1.4px 0 #fff)
		drop-shadow(0 3px 4px rgba(0, 0, 0, 0.25));
}
.header-logo.opacity {
	opacity: 0;
}
.header-logo.none {
	display: none;
}
#headBlank {
	/* height: var(--header-height); */
}

/* 언어 전환 드롭다운 (PC) */
.lang-switch-wrap {
	position: relative;
}
.lang-current-btn {
	display: flex;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	gap: 6px;
	/* Solid white, not transparent: the header background is now a warm cream with a
	   busy papercut decoration cluster flying behind it (see papercut-bg.css) — a
	   transparent button with only a light-gray border was nearly unreadable sitting
	   on top of that. A solid chip occludes the clutter and gives real contrast. */
	background: var(--white);
	border: 1px solid var(--gray-scale5);
	border-radius: 6px;
	padding: 6px 10px 6px 9px;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	color: var(--gray-scale10);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
	transition: border-color 0.2s, background 0.2s;
	white-space: nowrap;
	line-height: 1;
	outline: none;
}
.lang-current-btn:hover {
	border-color: var(--theme-color);
	background: var(--gray-scale2);
}
.lang-current-btn .flag-icon {
	font-size: 17px;
	border-radius: 2px;
}
.lang-current-code {
	font-size: 12px;
	letter-spacing: 0.06em;
	font-weight: 700;
}
.lang-chevron {
	font-size: 17px;
	color: var(--gray-scale7);
	transition: transform 0.2s;
}
.lang-switch-wrap.open .lang-chevron {
	transform: rotate(180deg);
}
.lang-dropdown {
	position: absolute;
	top: calc(100% + 7px);
	right: 0;
	background: var(--white);
	border: 1px solid var(--gray-scale4);
	border-radius: 9px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.10);
	min-width: 148px;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
	z-index: 200;
}
.lang-switch-wrap.open .lang-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.lang-dropdown-item {
	display: flex;
	align-items: center;
	min-height: 44px;
	box-sizing: border-box;
	gap: 9px;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gray-scale10);
	text-decoration: none;
	transition: background 0.13s;
	border-bottom: 1px solid var(--gray-scale3);
}
.lang-dropdown-item:last-child { border-bottom: none; }
.lang-dropdown-item:hover      { background: var(--gray-scale2); }
.lang-dropdown-item.active     { color: var(--theme-color); background: var(--gray-scale1); }
.lang-dropdown-item .flag-icon {
	font-size: 18px;
	border-radius: 2px;
	flex-shrink: 0;
}
.lang-dropdown-item span { flex: 1; }
.lang-check {
	font-size: 15px;
	color: var(--theme-color);
}

/* 헤더 아이콘 */
.header-icon-wrap{
	display:flex;
	align-items:center;
}
.header-icon-wrap > .icon{
	/* margin-right:20px; */
	width: 64px;
}
.header-icon-wrap > .icon:last-child{
	margin-right:0;
}
.header-icon{
	width:32px;
	display: table;
	margin: 0 auto;
}
.header-menu-icon{
	width:25px;
	cursor:pointer;
}
.header-menu-trigger {
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 0;
	cursor: pointer;
}
.header-menu-trigger--close {
	display: inline-flex;
}
.header-menu-trigger .header-menu-icon {
	display: block;
}
.header-menu-icon.open-icon{
	display:table;
}
.header-menu-icon.close-icon{
	display:none;
}
.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 500;
	padding: 10px 14px;
	background: #f7f0e4;
	color: #18231b;
	font-weight: 700;
	text-decoration: none;
	transform: translateY(-180%);
	transition: transform 0.18s ease;
}
.skip-link:focus {
	transform: translateY(0);
	outline: 3px solid #b34a2a;
	outline-offset: 3px;
}
#header :is(a, button):focus-visible,
#headerMoMenuWrap :is(a, button):focus-visible {
	outline: 3px solid #b34a2a;
	outline-offset: 3px;
}
.header-icon-about {
	font-weight: 400;
	font-size: 11px;
	line-height: 100%;
	margin-top: 4px;
	text-align: center;
}

/* 모바일 헤더 */
#headerMoMenuWrap{
	width:100vw;
	height: 100vh;
	position:fixed;
	left:100vw;
	top: 0;
	background-color:var(--bg-color1);
	z-index:100;
	box-sizing:border-box;
	transition:left 0.3s;
	display:none;
	overflow-y:auto;
	border-top: 1px solid var(--gray-scale3);
}
#headerMoMenuWrap .top-head {
	background-color: var(--theme-color);
	height: var(--mo-header-top-height);
	display: flex;
	align-items: center;
	justify-content: center;
}
#headerMoMenuWrap .top-head-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#headerMoMenuWrap .header-content {
	height: calc(100vh - var(--mo-header-top-height) - 1px);
	width: 100%;
	overflow-y: auto;
}
#headerMoMenuWrap .header-list-box {
	width: 100%;
	display: flex;
}
#headerMoMenuWrap .header-list-box .header-item {
	transition: 0.3s;
}
#headerMoMenuWrap .header-list-box .header-item.left {
	flex: 1;
}
#headerMoMenuWrap .header-list-box .header-item.left .menu {
	border-bottom: 1px solid var(--gray-scale4);
}
#headerMoMenuWrap .header-list-box .header-item.left .menu:last-child {
	border-bottom: none;
}
#headerMoMenuWrap .header-list-box .header-item.left .menu .depth1 {
	font-weight: 700;
	line-height: 156%;
	color: var(--gray-scale11);
}
#headerMoMenuWrap .header-list-box .header-item .menu a {
	color:inherit;
	text-decoration:none;
	transition: 0.3s;
	display: flex;
	box-sizing: border-box;
	width: 100%;
	font-size: 16px;
	padding: 22.5px 24px;
	min-height: 70px;
	align-items: center;
	transition: 0.3s;
}
#headerMoMenuWrap .header-list-box .header-item.left .menu .depth1 a.on {
	background-color: var(--white);
	color: var(--theme-color);
}
#headerMoMenuWrap .header-list-box .header-item.left .menu .depth1 a.on1 {
	/* background-color: var(--theme-color);
	color: var(--white); */
	background-color: var(--white);
	color: var(--theme-color);
}
#headerMoMenuWrap .header-list-box .header-item.right {
	width: 0;
	background-color: var(--white);
	height: calc(100vh - var(--mo-header-top-height) - 1px);
}
#headerMoMenuWrap .header-list-box .header-item.right.on {
	width: 55.38%;
}
#headerMoMenuWrap .header-list-box .header-item.right .menu {
}
#headerMoMenuWrap .header-list-box .header-item.right .menu .depth1 a {
	font-weight: 400;
}
#headerMoMenuWrap .header-list-box .header-item .menu .depth2 a.on {
	color: var(--theme-color);
}
/* 모바일 헤더 우측 (언어 + 닫기 아이콘 묶음) */
.top-head-right {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* 모바일 버튼 색상 오버라이드 (theme-color 배경 위에 올라가므로) */
.lang-current-btn--mo {
    border-color: rgba(255, 255, 255, 0.5);
    background: transparent;
    color: var(--white);
    box-shadow: none;
}
.lang-current-btn--mo:hover {
    border-color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.15);
}
.lang-current-btn--mo .lang-chevron {
    color: rgba(255, 255, 255, 0.8);
}
#headerMoMenuWrap .lang-current-btn--mo:focus-visible,
#headerMoMenuWrap .header-menu-trigger--close:focus-visible {
	outline-color: var(--white);
}

/* 모바일 드롭다운은 아래가 아닌 위로 열림 (상단바에 붙어있으므로) */
.lang-dropdown--mo {
    top: auto;
    top: calc(100% + 7px);
    right: 0;
}

/* MOBILE */
@media(max-width: 768px) {
	:root {
		--header-height: 65px;
	}
	.header-logo{
		max-width:122px;
		max-height: 46px;
	}
	#header {
		background-color: var(--white);
		border-bottom: 1px solid var(--gray-scale3);
	}
	#header:hover {
		padding-bottom: 0;
	}
	#headerMoMenuWrap.block{
		display:block;
	}
	#headerMoMenuWrap.on{
		left:0;
	}
	#headerMoMenuWrap .top-head .header-logo-wrap {
		max-width: 130px;
		max-height: 50px;
	}
	.header-icon {
		width: 38px;
	}
	.header-icon-wrap {
		display: none;
	}
	.header-icon-about {
		font-size: 13px;
	}
	/* PC 드롭다운만 숨김 */
	#LangSwitchWrap { display: none; }
}

@media(max-width: 480px) {
	.header-icon-about {
		font-size: 11px;
	}
	.mo-lang-item              { width: 28px; height: 28px; }
	.mo-lang-item .flag-icon   { font-size: 15px; }
}

@media(max-width: 360px) {
	.header-icon {
		width: 30px;
	}
}

@media(max-width: 320px) {
	.header-icon {
		width: 28px;
	}
	.header-icon-about {
		font-size: 10px;
	}
}
