/* ============================================
   HEADER DROPDOWN MENU（PCドロップダウン）
   ============================================ */

/* 親メニュー：サブメニューがある場合 */
.dw-header__nav-item.menu-item-has-children {
    position: relative;
}

/* ドロップダウン本体 */
.dw-header__dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 200px;
    padding: 8px 0;
    background: var(--dw-white);
    border-radius: var(--dw-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    transform: translateX(-50%) translateY(8px);
    z-index: 100;
    list-style: none;
    margin: 0;
}

/* ホバーで表示 */
.dw-header__nav-item.menu-item-has-children:hover > .dw-header__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* ホバー領域を広げるための疑似要素（親とドロップダウンの間の隙間を埋める） */
.dw-header__nav-item.menu-item-has-children::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 12px;
}

/* ドロップダウン内のアイテム */
.dw-header__dropdown-item a {
    display: block;
    padding: 10px 20px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--dw-navy);
    white-space: nowrap;
    transition: background-color var(--dw-transition), color var(--dw-transition);
    font-family: var(--dw-font-serif);
}

.dw-header__dropdown-item a:hover {
    background-color: var(--dw-gray-50);
    opacity: 1;
}

.dw-header__dropdown-item a::after {
    display: none;
}

/* 親メニューにサブメニューがあることを示す矢印（任意） */
.dw-header__nav-item.menu-item-has-children > a::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin: 0 6px 0 2px;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
    position: relative;
    top: -1px;
}


/* ============================================
   MOBILE MENU DROPDOWN（モバイルアコーディオン）
   ============================================ */

/* サブメニューがある親リンクのスタイル */
.dw-mobile-menu__list .menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* トグルアイコン（＋/−） */
.dw-mobile-menu__toggle-icon {
    position: relative;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-left: 12px;
}

.dw-mobile-menu__toggle-icon::before,
.dw-mobile-menu__toggle-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--dw-navy);
    transition: transform 0.3s ease;
}

.dw-mobile-menu__toggle-icon::before {
    width: 12px;
    height: 2px;
    transform: translate(-50%, -50%);
}

.dw-mobile-menu__toggle-icon::after {
    width: 2px;
    height: 12px;
    transform: translate(-50%, -50%);
}

/* 開いた状態：縦棒を回転して − にする */
.dw-mobile-menu__list .menu-item-has-children.is-open > a .dw-mobile-menu__toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* サブメニュー本体 */
.dw-mobile-menu__sub {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--dw-gray-50);
}

.dw-mobile-menu__list .menu-item-has-children.is-open > .dw-mobile-menu__sub {
    display: block;
}

.dw-mobile-menu__sub li {
    border-bottom: 1px solid var(--dw-gray-100);
}

.dw-mobile-menu__sub li:last-child {
    border-bottom: none;
}

.dw-mobile-menu__sub li a {
    display: block;
    padding: 12px 0 12px 24px;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--dw-navy);
}


/* ============================================
   RESPONSIVE: ドロップダウンをモバイルで非表示
   ============================================ */
@media (max-width: 768px) {
    .dw-header__dropdown {
        display: none;
    }
}
