@charset "utf-8"; /* ========================================================================== 헤더 메뉴 커스텀 스타일 (Header Menu Custom Style) ========================================================================== */ /* 1. 전체 메뉴 폰트 설정 (글꼴, 기본 색상) */ .main-header .gnb .gnb-list a { /* font-family: 'Noto Sans KR', sans-serif; */ /* 💡 [수정] 관리자 설정 폰트 사용을 위해 주석 처리 */ color: #333; } /* 메인 페이지의 투명 헤더 상태일 때의 글자 색상 */ .main-header.is-transparent .gnb .gnb-list a { color: #333; } /* 2. 1차 메뉴와 2차 메뉴 폰트 크기 및 굵기 동일하게 설정 */ .main-header .gnb .gnb-list .gnb-link, .main-header .gnb .sub-menu a { font-size: 18px; font-weight: 500; } /* 3. 메뉴에 마우스를 올렸을 때(hover) 스타일 */ .main-header .gnb .gnb-list > .gnb-item:hover > .gnb-link, .main-header .gnb .sub-menu li:hover > a { color: #1768aa; font-weight: 700; } /* 메인 페이지의 투명 헤더 상태에서 마우스를 올렸을 때 */ .main-header.is-transparent .gnb .gnb-list > .gnb-item:hover > .gnb-link { color: #c8e6c9; } /* 4. 2차 메뉴(서브메뉴) 배경 및 패딩 조절 */ .main-header .gnb .sub-menu { background-color: rgba(255, 255, 255, 0.95); padding: 10px 0; } .main-header .gnb .sub-menu a { padding: 10px 20px; } /* ========================================================================== 💡 [추가] 모바일 메뉴 및 반응형 스타일 ========================================================================== */ /* PC/Mobile 표시 제어 */ .mobile-only { display: none !important; } .pc-only { display: block !important; } @media (max-width: 1024px) { .mobile-only { display: block !important; } .pc-only { display: none !important; } /* 헤더 레이아웃 조정 */ .header-inner { padding: 0 20px; height: 60px; } .header-logo img { height: 40px; /* 모바일 로고 크기 조정 */ } } /* 모바일 메뉴 패널 */ #mobile-nav-panel { position: fixed; top: 0; right: 0; width: 80%; max-width: 300px; height: 100%; background: #fff; z-index: 9999; transform: translateX(100%); transition: transform 0.3s ease-in-out; box-shadow: -2px 0 10px rgba(0,0,0,0.1); } #mobile-nav-panel.is-active { transform: translateX(0); } /* 모바일 메뉴 오버레이 */ #mobile-nav-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9998; display: none; opacity: 0; transition: opacity 0.3s ease-in-out; } #mobile-nav-overlay.is-active { display: block; opacity: 1; } /* 모바일 메뉴 헤더 */ .mobile-nav-header { padding: 20px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; } .mobile-menu-close-btn { background: none; border: none; font-size: 24px; cursor: pointer; } /* 모바일 GNB 스타일 */ .mobile-gnb ul { list-style: none; padding: 0; margin: 0; } .mobile-gnb > ul > li { border-bottom: 1px solid #f5f5f5; } .mobile-gnb > ul > li > a { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; font-size: 16px; font-weight: 500; color: #333; text-decoration: none; } /* 모바일 서브메뉴 */ .mobile-gnb .sub-menu { display: none; background: #f9f9f9; padding: 10px 0; } .mobile-gnb .sub-menu li a { display: block; padding: 10px 30px; font-size: 14px; color: #666; } /* 모바일 로그인/회원가입 버튼 */ .btn-mobile-login, .btn-mobile-join { display: inline-block; padding: 5px 10px; font-size: 14px; border-radius: 4px; text-decoration: none; } .btn-mobile-login { background: #333; color: #fff; margin-right: 5px; } .btn-mobile-join { border: 1px solid #333; color: #333; }