/*
 * Songil Astra Child Theme - Header CSS
 * 작성자: Songil, Grok (xAI)
 * 최종 수정: 2025-05-12
 * 목차:
 * 1. 드롭다운 메뉴 스타일
 * 2. 비로그인 상태 헤더 스타일
 */

/*
 * 1. 드롭다운 메뉴 스타일
 * - 드롭다운 메뉴 및 화살표 디자인
 * - Elementor 스타일 충돌 방지
 */
.menu-item-has-children {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 40px;
    overflow: visible;
}

.elementor-item-anchor {
    display: inline-flex;
    align-items: center;
    height: 100%;
    line-height: normal;
}

.dropdown-menu-toggle,
.sub-arrow,
.e-font-icon-svg,
.dropdown-menu-toggle__icon--open,
.dropdown-menu-toggle__icon--close,
.elementor-nav-menu--main .menu-item-has-children > a svg,
.elementor-nav-menu--main .menu-item-has-children > a i,
.elementor-nav-menu--main .menu-item-has-children > a .eicon,
.elementor-nav-menu--main .menu-item-has-children > a .sub-arrow svg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    content: none !important;
    fill: none !important;
    stroke: none !important;
    position: absolute !important;
    left: -9999px !important;
}

.elementor-nav-menu--main .menu-item-has-children .e-font-icon-svg,
.elementor-nav-menu--main .menu-item-has-children .dropdown-menu-toggle__icon--open,
.elementor-nav-menu--main .menu-item-has-children .dropdown-menu-toggle__icon--close {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.elementor-nav-menu--main .menu-item-has-children > a svg,
.elementor-nav-menu--main .menu-item-has-children > a i,
.elementor-nav-menu--main .menu-item-has-children > a .eicon,
.elementor-nav-menu--main .menu-item-has-children > a .sub-arrow svg {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.has-submenu::after {
    content: '';
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 5px solid #000 !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
    visibility: visible !important;
    position: relative !important;
    opacity: 1 !important;
    z-index: 1000 !important;
    background: none !important;
    background-color: transparent !important;
}

.has-submenu:hover::after {
    border-top: 5px solid #000 !important;
    opacity: 1 !important;
    background: none !important;
    background-color: transparent !important;
}

.sub-menu .has-submenu::after {
    display: none !important;
}

.menu-item-has-children > a.has-submenu::after {
    display: inline-block !important;
    visibility: visible !important;
    content: '' !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 5px solid #000 !important;
    margin-left: 8px !important;
    position: relative !important;
    z-index: 1000 !important;
    opacity: 1 !important;
    background: none !important;
    background-color: transparent !important;
}

.sub-menu a::after {
    content: none !important;
    display: none !important;
}

.elementor-nav-menu--main .menu-item-has-children > a.has-submenu::after {
    display: inline-block !important;
    visibility: visible !important;
    content: '' !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 5px solid #000 !important;
    margin-left: 8px !important;
    position: relative !important;
    z-index: 1000 !important;
    opacity: 1 !important;
    background: none !important;
    background-color: transparent !important;
}

.menu-item-has-children > a.has-submenu,
.has-submenu {
    background: none !important;
    background-color: transparent !important;
}

.custom-arrow {
    display: inline-block !important;
    visibility: visible !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 5px solid #000 !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
    opacity: 1 !important;
    z-index: 1000 !important;
}

.sub-menu.elementor-nav-menu--dropdown {
    display: none !important; /* JavaScript에서 제어하도록 초기값 설정 */
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    background: #ffffff !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    z-index: 1001 !important;
    min-width: 150px !important;
    margin-top: 5px !important;
    width: auto !important;
    overflow: visible !important;
    visibility: hidden !important;
}

.sub-menu.elementor-nav-menu--dropdown.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.sub-menu.elementor-nav-menu--dropdown li {
    list-style: none !important;
}

.sub-menu.elementor-nav-menu--dropdown a {
    display: block !important;
    padding: 10px 15px !important;
    color: #333333 !important;
    text-decoration: none !important;
    font-size: 13px !important;
}

.sub-menu.elementor-nav-menu--dropdown a:hover {
    background: #f9f9f9 !important;
}

.elementor-nav-menu .menu-item-has-children > a {
    display: flex !important;
    align-items: center !important;
    padding: 10px 15px !important;
    line-height: normal !important;
    height: 100% !important;
}

.elementor-nav-menu .menu-item-has-children > a .user-avatar {
    border-radius: 50% !important;
    width: 38.4px !important;
    height: 38.4px !important;
    margin-right: 8px !important;
    object-fit: cover !important;
}

.elementor-nav-menu .menu-item-has-children > a .user-name {
    font-size: 16.8px !important;
    color: #333333 !important;
}

.elementor-nav-menu--main {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 60px !important;
    overflow: visible !important;
    z-index: 1000 !important;
}

.elementor-section.elementor-top-section {
    height: auto !important;
    min-height: 60px !important;
    overflow: visible !important;
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .menu-item > a:hover span,
.astra .elementor-nav-menu--main .menu-item > a:hover,
.astra .elementor-nav-menu--main .menu-item > a:hover span,
.astra .elementor-nav-menu--dropdown .menu-item > a:hover,
.astra .elementor-nav-menu--dropdown .menu-item > a:hover span {
    color: inherit !important;
    background-color: transparent !important;
}

.elementor-nav-menu--main .elementor-item,
.elementor-nav-menu--main .elementor-item span,
.elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown .elementor-item span {
    color: #000 !important;
}

.elementor-nav-menu--dropdown {
    z-index: 1000 !important;
}

/*
 * 2. 비로그인 상태 헤더 스타일
 * - 비로그인 상태에서의 헤더 메뉴 표시
 * - Elementor 스타일 충돌 방지
 */
body:not(.logged-in) .elementor-element-2ca925ad .elementor-widget-wp-widget-nav_menu {
    display: block;
    visibility: visible;
}

body:not(.logged-in) .elementor-element-2ca925ad .elementor-widget-wp-widget-nav_menu ul {
    display: flex;
    justify-content: flex-end;
    visibility: visible;
}

body:not(.logged-in) .elementor-element-2ca925ad .elementor-widget-wp-widget-nav_menu ul li {
    display: inline-block;
    visibility: visible;
}

