/* Header and Footer Mobile Responsive Styles */

/* 기본 스타일 (데스크톱) - 인라인 스타일과 함께 작동하도록 기본값 유지 */
#site-header,
#site-footer {
  display: block;
}

/* Mobile styles - 실제 모바일 디바이스에서만 적용 */
body.is-mobile-device #site-header {
  height: 70px !important;
}

body.is-mobile-device #site-header > div {
  padding: 0 15px !important;
}

body.is-mobile-device #site-header .logo img {
  height: 40px !important;
}

/* Hamburger menu button - 모바일에서만 표시 */
body.is-mobile-device .hamburger-menu {
  display: block !important;
  background: none;
  border: none;
  color: #000DFF;
  font-size: 28px;
  cursor: pointer;
  padding: 0;
  width: 40px;
  height: 40px;
  line-height: 1;
  z-index: 1001;
  position: relative;
}

/* Main menu - 모바일에서는 기본적으로 완전히 숨김 (화면 밖으로) */
body.is-mobile-device #site-header .main-menu {
  display: none !important;
  visibility: hidden !important;
}

/* 드롭다운 메뉴 - 모바일에서 활성화 시 표시 */
body.is-mobile-device #site-header .main-menu.active {
  display: flex !important;
  visibility: visible !important;
  position: fixed;
  top: 70px;
  left: 0;
  right: 0;
  background-color: #78C7FF;
  flex-direction: column;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  width: 100%;
  box-sizing: border-box;
}

/* Menu links on mobile - payroll_overview.html의 스타일 오버라이드 */
body.is-mobile-device #site-header .main-menu a {
  display: block !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  font-size: 14px;
  border-bottom: 1px solid rgba(0, 13, 255, 0.2);
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  height: auto !important;
  vertical-align: baseline !important;
  white-space: normal !important;
  line-height: 1.5 !important;
}

body.is-mobile-device #site-header .main-menu a:last-child {
  border-bottom: none;
}

/* Footer Mobile Styles */
body.is-mobile-device #site-footer {
  height: auto !important;
  min-height: 250px;
}

body.is-mobile-device #site-footer > div {
  padding: 20px 15px !important;
}

body.is-mobile-device #site-footer > div > div:first-child {
  flex-direction: column !important;
  gap: 20px;
  align-items: flex-start !important;
}

body.is-mobile-device #site-footer .footer-left {
  width: 100%;
}

body.is-mobile-device #site-footer .footer-left > div {
  font-size: 18px;
}

body.is-mobile-device #site-footer .footer-right {
  font-size: 12px;
  line-height: 1.6;
  width: 100%;
}

body.is-mobile-device #site-footer .footer-links {
  flex-direction: column !important;
  gap: 10px !important;
  font-size: 12px;
  padding-top: 15px;
}

/* Desktop styles - 햄버거 메뉴 숨김, 일반 메뉴 표시 */
body:not(.is-mobile-device) .hamburger-menu,
body.is-desktop-device .hamburger-menu {
  display: none !important;
}

body:not(.is-mobile-device) #site-header .main-menu,
body.is-desktop-device #site-header .main-menu {
  display: flex !important;
}

/* 헤더 링크 롤오버 효과 - 인라인 스타일 우선순위 문제 해결 */
#site-header .main-menu a {
  transition: all 0.3s ease !important;
  position: relative !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

/* 활성 메뉴는 transition 완전히 제거 - 모든 가능한 선택자 조합 */
/* 더 구체적인 선택자로 transition 완전히 무시 */
#site-header .main-menu a.active-menu-item,
#site-header .main-menu a.menu-link.active-menu-item,
#site-header .main-menu a.menu-link[data-page].active-menu-item,
#site-header .main-menu a.active-menu-item.menu-link,
#site-header .main-menu a.active-menu-item[data-page],
#site-header .main-menu a[data-page].active-menu-item,
#site-header .main-menu a.menu-link.active-menu-item[data-page],
#site-header .main-menu a.active-menu-item.menu-link[data-page],
body #site-header .main-menu a.active-menu-item,
body #site-header .main-menu a.menu-link.active-menu-item {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition-property: none !important;
  -webkit-transition-property: none !important;
  -moz-transition-property: none !important;
  -o-transition-property: none !important;
  transition-duration: 0s !important;
  -webkit-transition-duration: 0s !important;
  -moz-transition-duration: 0s !important;
  -o-transition-duration: 0s !important;
  transition-delay: 0s !important;
  -webkit-transition-delay: 0s !important;
  -moz-transition-delay: 0s !important;
  -o-transition-delay: 0s !important;
  transition-timing-function: none !important;
  -webkit-transition-timing-function: none !important;
  -moz-transition-timing-function: none !important;
  -o-transition-timing-function: none !important;
}

/* 활성 메뉴 아이템 스타일 - 크롬 브라우저 호환성 보장 */
/* 인라인 스타일보다 우선순위를 높이기 위해 더 구체적인 선택자 사용 */
#site-header .main-menu a.menu-link.active-menu-item[data-page],
#site-header .main-menu a.menu-link[data-page].active-menu-item,
#site-header .main-menu a.active-menu-item.menu-link[data-page] {
  font-size: 16px !important;
  color: #ffffff !important;
  /* 즉시 적용되도록 transition 완전히 제거 */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
}

body:not(.is-mobile-device) #site-header .main-menu a.menu-link.active-menu-item[data-page],
body:not(.is-mobile-device) #site-header .main-menu a.menu-link[data-page].active-menu-item,
body:not(.is-mobile-device) #site-header .main-menu a.active-menu-item.menu-link[data-page],
body.is-desktop-device #site-header .main-menu a.menu-link.active-menu-item[data-page],
body.is-desktop-device #site-header .main-menu a.menu-link[data-page].active-menu-item,
body.is-desktop-device #site-header .main-menu a.active-menu-item.menu-link[data-page] {
  border-bottom: 3px solid #000DFF !important;
  padding-bottom: 3px !important;
  /* 즉시 적용되도록 transition 완전히 제거 */
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
}

#site-header .main-menu a:hover {
  color: #ffffff !important;
  background-color: rgba(0, 13, 255, 0.2) !important;
  border-radius: 4px !important;
  padding: 5px 10px !important;
  margin: -5px -10px !important;
  transform: translateY(-2px) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#site-header .main-menu a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 50% !important;
  width: 0 !important;
  height: 2px !important;
  background-color: #000DFF !important;
  transition: all 0.3s ease !important;
  transform: translateX(-50%) !important;
}

#site-header .main-menu a:hover::after {
  width: 80% !important;
}

/* 로고 링크 롤오버 효과 */
#site-header .logo a {
  transition: all 0.3s ease !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
}

#site-header .logo a:hover {
  opacity: 0.8 !important;
  transform: scale(1.05) !important;
}
