/* 헤더 */
.site-header {
	width: 100%;
	background: #ffffff;
	border-bottom: 2px solid #e1e1e1;
	z-index: 1000;
	position: relative;
	/* 고정 헤더가 아니라면 relative, 고정하려면 fixed but design looks static top */
	/* Target site headers often scroll, checking design.. sticky behavior might be desired but for now matching layout first. */
}

/* 컨테이너 */
.container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0.75em;
}

/* 상단 영역 (로고 + 타이틀) */
.header-top {
	background: url('https://static.parastorage.com/services/editor-elements-library/dist/thunderbolt/media/ironpatern.84ec58ff.png');
	background-repeat: repeat;
	/* 패턴이므로 repeat 적용 */
	padding: 20px 0;
}

.header-inner {
	display: flex;
	align-items: center;
	gap: 30px;
}

.header-logo {
	flex-shrink: 0;
}

.header-logo img {
	height: 180px;
	/* 로고 크기 조정 */
	width: auto;
	object-fit: contain;
}

.header-info {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}


.header-title {
	font-family: "arial black", "arial-w01-black", "arial-w02-black", "arial-w10 black", sans-serif;
	font-size: 42px;
	font-weight: 900;
	margin: 0 0 10px 0;
	letter-spacing: -1px;
	color: #000;
	line-height: 1.2;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}

.header-title>span {
	font-family: "arial black", "arial-w01-black", "arial-w02-black", "arial-w10 black", sans-serif;
}

.header-title .char-n {
	color: #cc0000;
}

/* Red */
.header-title .char-c {
	color: #ffcc00;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

/* Yellow/Gold */
.header-title .char-m {
	color: #0066cc;
}

/* Blue */

.header-subtitle-row {
	display: flex;
	align-items: center;
	gap: 20px;
	font-family: "Times New Roman", Times, serif;
	font-style: italic;
	font-size: 22px;
	color: #333;
	margin-bottom: 5px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 5px;
	width: 100%;
	justify-content: space-between;
}

.header-subtitle-row>span {
	font-family: "Times New Roman", Times, serif;
}

.prof-name {
	font-weight: bold;
}

.since-date {
	font-weight: bold;
	color: #555;
}

.header-dept {
	font-size: 20px;
	font-weight: 600;
	font-style: italic;
	font-family: "Times New Roman", Times, serif;
	color: #444;
}

/* 하단 네비게이션바 */
.header-bottom {
	background: #f8f8f8;
	/* 연한 회색 배경 */
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #bbb;
	box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.2);
}

.main-navigation .nav-menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
	/* 왼쪽 정렬 혹은 space-between */
}

/* 메뉴 아이템 스타일 */
.main-navigation .nav-menu>li {
	flex: 1;
	/* 균등 분할 */
	border-right: 1px solid #ddd;
	position: relative;
	text-align: center;
}

.main-navigation .nav-menu>li:first-child {
	border-left: 1px solid #ddd;
}

.main-navigation .nav-menu>li>a {
	display: block;
	padding: 12px 0;
	font-size: 16px;
	font-weight: 600;
	color: #555;
	text-decoration: none;
	transition: all 0.2s ease;
	background: linear-gradient(to bottom, #ffffff 0%, #f0f0f0 100%);
}

.main-navigation .nav-menu>li>a:hover,
.main-navigation .nav-menu>li.current-menu-item>a {
	background: #a9d6e5;
	/* 하이라이트 배경색 (파란색 계열) */
	color: #003366;
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
}

/* 서브메뉴 (Dropdown) */
.main-navigation .nav-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	z-index: 999;
	padding: 0;
	list-style: none;
}

.main-navigation .nav-menu li:hover .sub-menu {
	display: block;
}

.main-navigation .nav-menu .sub-menu li {
	border-bottom: 1px solid #eee;
}

.main-navigation .nav-menu .sub-menu li:last-child {
	border-bottom: none;
}

.main-navigation .nav-menu .sub-menu li a {
	display: block;
	padding: 10px;
	font-size: 14px;
	color: #666;
	text-decoration: none;
	text-align: center;
}

.main-navigation .nav-menu .sub-menu li a:hover {
	background: #f5f5f5;
	color: #333;
}

/* 헤더 여백 (Body padding for fixed header if needed, but relative here) */
.header-spacer {
	height: 0;
	/* relative 헤더라면 필요 없음, fixed일 경우 높이 지정 */
}

/* 서브메뉴 */
.slide-menu-list .sub-menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0 0 16px 16px;
}

.slide-menu-list>li:hover .sub-menu,
.slide-menu-list>li.menu-item-has-children:focus-within .sub-menu {
	display: block;
}

.slide-menu-list .sub-menu li a {
	display: block;
	padding: 8px 0;
	color: #6b7280;
	font-size: 15px;
}

.slide-menu-list .sub-menu li a:hover {
	color: #1f2937;
}

/* nav */
.nav {}

.nav.pc {
	display: flex;
}

.nav.pc ul li {
	display: flex;
	align-items: center;
	position: relative;
	justify-content: center;
}

.nav.pc ul li.menu-item-has-children {}

.nav.pc ul li a {
	color: #fff;
	white-space: nowrap;
	padding: 6px 8px;
	font-size: 15px;
}

.nav.pc ul.menu-list {
	display: flex;
	gap: 1rem;
}

.nav.pc ul.menu-list li {}

.nav.pc ul.menu-list li a {}

.nav.pc ul.menu-list li a:hover {
	color: rgb(107, 114, 128);
}

.nav.pc ul.sub-menu {
	display: none;
	flex-direction: column;
	position: absolute;
	background: #fff;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0);
	padding: 15px;
}

.nav.pc ul.sub-menu li {}

.nav.pc ul.sub-menu li a {
	color: #000;
}

.nav.pc ul.sub-menu li a:hover {
	color: #003113;
}

.nav.pc ul.menu-list li.menu-item-has-children:hover .sub-menu {
	display: flex;
}

.nav.pc ul.menu-list li.menu-item-has-children::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23ffffff"><path d="M5.70711 9.71069C5.31658 10.1012 5.31658 10.7344 5.70711 11.1249L10.5993 16.0123C11.3805 16.7927 12.6463 16.7924 13.4271 16.0117L18.3174 11.1213C18.708 10.7308 18.708 10.0976 18.3174 9.70708C17.9269 9.31655 17.2937 9.31655 16.9032 9.70708L12.7176 13.8927C12.3271 14.2833 11.6939 14.2832 11.3034 13.8927L7.12132 9.71069C6.7308 9.32016 6.09763 9.32016 5.70711 9.71069Z" fill="%23ffffff"/></svg>') no-repeat;
}

/* PC 드롭다운 메뉴 스타일 */
.nav.pc-dropdown {
	display: flex;
	justify-content: center;
}

.nav.pc-dropdown ul.pc-dropdown-menu {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2rem;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav.pc-dropdown ul.pc-dropdown-menu>li {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.nav.pc-dropdown ul.pc-dropdown-menu>li>a {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 1rem;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	padding-bottom: 0.5rem;
	transition: border-color 0.3s ease;
}

.nav.pc-dropdown ul.pc-dropdown-menu>li>a:hover {
	border-bottom-color: #fff;
}

.nav.pc-dropdown ul.sub-menu {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav.pc-dropdown ul.sub-menu li {
	width: 100%;
}

.nav.pc-dropdown ul.sub-menu li a {
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	text-decoration: none;
	padding: 0.5rem 0;
	display: block;
	text-align: center;
	transition: color 0.3s ease;
}

.nav.pc-dropdown ul.sub-menu li a:hover {
	color: #fff;
}

/* 햄버거 메뉴 토글 동작 */
#slide-nav-checkbox:checked~div #slide-nav-pc {
	transform: translateY(0) !important;
}

#slide-nav-checkbox:checked~div #slide-nav-mobile {
	left: 0 !important;
}

/* 햄버거 버튼 애니메이션 */
#slide-nav-checkbox:checked+label #slide-btn-1 {
	transform: rotate(45deg) translate(5px, 5px);
}

#slide-nav-checkbox:checked+label #slide-btn-2 {
	opacity: 0;
}

#slide-nav-checkbox:checked+label #slide-btn-3 {
	transform: rotate(-45deg) translate(7px, -6px);
}

.nav.mobile {
	/* display: none; */
}

.nav.mobile ul li {}

.nav.mobile ul li.menu-item-has-children {}

.nav.mobile ul li a {}

.nav.mobile ul.menu-list {
	position: absolute;
	top: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: calc(100vh - 120px);
	overflow: scroll;
}

.nav.mobile ul.menu-list>li {
	display: flex;
	width: 100%;
	justify-content: center;
}

.nav.mobile ul.menu-list>li:last-child a {}

.nav.mobile ul.meu-list li.login-logout {
	border: none;
}

.nav.mobile ul.menu-list li a {
	width: 100%;
	display: flex;
	justify-content: center;
	padding: 20px 30px;
	font-size: 18px;
	color: #ffffff;
	font-weight: 400;
	word-break: keep-all;
}

.nav.mobile ul.menu-list li.menu-item-has-children>a {
	display: none;
	border: none;
}

.nav.mobile ul.menu-list li.login-logout a {}

.nav.mobile ul.menu-list li a:hover {}

.nav.mobile ul.sub-menu {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: #fff;
	border-bottom: 1px solid #fff;
}

.nav.mobile ul.sub-menu li {
	background: #195851;
}

.nav.mobile ul.sub-menu li a {
	border: none;
}

.nav.mobile ul.sub-menu li:last-child a {}

.nav.mobile ul.sub-menu li a:hover {}

.nav.mobile ul.menu-list li.menu-item-has-children:hover .sub-menu {}

.nav.mobile ul.menu-list li.menu-item-has-children::after {}

.nav.mobile ul li a {}

/* instagram */
.sbi_load_btn {
	display: none !important;
}

#sb_instagram a {
	background-image: none !important;
}

#sb_instagram img {
	display: block !important;
}

/* slider */
.youtube-slider .n2-ss-section-main-content {
	padding: 0 !important;
}

/* floating bar */
.floating-bar {
	position: fixed;
	top: 50%;
	right: 3%;
	display: flex;
	flex-direction: column;
	transform: translate(0, -50%);
	z-index: 9;
}

.floating-bar a {
	border: 1px solid #eee;
	padding: 0;
	border-radius: 30px;
	margin: 0 0 5px 0;
	font-size: 17px;
	color: #666;
	width: 55px;
	height: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff94;
	position: relative;
}

.floating-bar a:after {
	display: none;
	content: attr(quick-title);
	position: absolute;
	right: 55px;
	top: 50%;
	margin-top: -15px;
	padding-right: 12px;
	width: 88px;
	height: 30px;
	line-height: 30px;
	text-align: right;
	color: #747474;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	opacity: 0;
	transition: opacity .2s ease-in-out;
}

.floating-bar a:hover::after {
	display: block;
	opacity: 1;
}

.recently-viewed-wrap {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	height: auto;
	opacity: 0;
	z-index: -1;
	background: #fff;
	border: 1px solid #bbb;
	padding: 80px 20px 30px;
	border-radius: 10px;
	transition: 0.3s;
}

.recently-viewed-wrap.active {
	opacity: 1;
	z-index: 9;
}

.recently-viewed-wrap .close {
	display: flex;
	justify-content: center;
	padding: 10px 20px;
	background: #7eb364;
	color: #fff !important;
	font-weight: bold;
	position: absolute;
	top: 20px;
	right: 20px;
	border-radius: 8px;
}

.recently-viewed-wrap .recently-viewed {}

.recently-viewed-wrap .recently-viewed h3 {
	position: absolute;
	top: 30px;
	left: 20px;
	font-size: 18px;
	font-weight: bold;
}

.notice-wrap {
	display: none !important;
}

.wbk-woo-add-gift-wrap {
	margin-bottom: 15px;
}

.wbk-woo-add-gift-wrap>h3 {}

.wbk-woo-add-gift-wrap>select {
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 5px;
	cursor: pointer;
}

@media screen and (max-width: 992px) {
	.megamenu-container {
		display: none;
	}
}

@media screen and (max-width: 768px) {

	/* nav */
	.nav.pc {
		display: none;
	}

	.nav.mobile {
		display: flex;
	}

	/* floating bar */
	.floating-bar {}

	.floating-bar a {
		width: 35px;
		height: 35px;
	}

	.recently-viewed-wrap {}

	.floating-bar a:after {
		display: none;
	}

	.main-navigation .nav-menu>li>a {
		padding: 6px 6px;
		font-size: 14px;
	}
}

@media screen and (max-width: 640px) {}

/* 메가메뉴 스타일 */
.megamenu-container {
	position: relative;
}

/* 임시 디버깅: 메가메뉴 항상 표시 */
.megamenu-dropdown {
	position: absolute;
	top: 100%;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%) translateY(0);
	background: white;
	box-shadow: 0 10px 25px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	border-top: 4px solid #195851;
	z-index: 9999;
	opacity: 1 !important;
	visibility: visible !important;
	transition: all 0.3s ease;
}

.megamenu-main {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}

.megamenu-main>li {
	position: relative;
}

.megamenu-main>li>a {
	display: flex;
	align-items: center;
	padding: 0.75rem 1rem;
	color: white;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease;
	white-space: nowrap;
}

.megamenu-main>li>a:hover {
	color: #d1d5db;
}

.megamenu-dropdown .max-width-screen-xl {
	max-width: 1280px;
	margin: 0 auto;
	padding: 1.5rem 1rem;
}

.megamenu-dropdown .grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.megamenu-column h3 {
	font-weight: bold;
	color: #1f2937;
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #e5e7eb;
	font-size: 1rem;
}

.megamenu-column ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.megamenu-column ul li a {
	color: #6b7280;
	text-decoration: none;
	transition: color 0.2s ease;
	font-size: 0.9rem;
	display: block;
	padding: 0.25rem 0;
}

.megamenu-column ul li a:hover {
	color: #195851;
}

/* 드롭다운 화살표 */
.megamenu-item.menu-item-has-children>a svg {
	width: 1rem;
	height: 1rem;
	margin-left: 0.25rem;
	transition: transform 0.3s ease;
}

.megamenu-item.menu-item-has-children:hover>a svg {
	transform: rotate(180deg);
}