
body { font-family: 'Noto Sans KR', sans-serif; }

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

header#header { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); }

/* PC 서브메뉴 스타일 - 초기 노출 방지 강화 */
.pc-sub { 
	display: none !important; 
	position: fixed; 
	z-index: 1000; 
	background: white; 
	border: 1px solid #e5e7eb; 
	border-radius: 0.5rem; 
	padding: 1.25rem; 
	box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1); 
	pointer-events: auto;
}
.pc-sub.show { 
	display: grid !important; 
}
.pc-sub a { padding: 0.5rem 0.75rem; color: #4b5563; font-size: 0.9rem; transition: all 0.2s; white-space: nowrap; }
.pc-sub a:hover { color: #2563eb; background-color: #eff6ff; border-radius: 0.375rem; }

/* 햄버거 버튼 스타일 */
.hamburger { width: 24px; height: 18px; position: relative; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; }
.hamburger span { display: block; width: 100%; height: 2px; background-color: #333 !important; border-radius: 2px; transition: all 0.3s ease-in-out; }

.hamburger.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* 모바일 메뉴 컨테이너 */
#mobile-menu-container { 
	display: none; 
	position: fixed; 
	top: 80px; 
	left: 0; 
	width: 100%; 
	height: calc(100vh - 80px); 
	background: white; 
	z-index: 9999; 
	overflow-y: auto;
	border-top: 1px solid #f3f4f6;
}
.mobile-sub { display: none; background: #f9fafb; border-bottom: 1px solid #f3f4f6; }
.rotate { transform: rotate(180deg); }

/* PC 메뉴 호버 효과 */
.pc-item { height: 80px; display: flex; align-items: center; }
.pc-item > a { position: relative; transition: color 0.2s; }
.pc-item:hover > a { color: #2563eb; }
.pc-item:hover > a::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 100%; height: 2px; background: #2563eb; }