/*
 * Menu đa cấp (3 cấp) - AffiliateCMS Child
 *
 * - Menu cha là link (bấm tên -> đi tới link cha).
 * - Nút .acms-subtoggle (icon chevron) mở/đóng menu con.
 * - Desktop: cấp 2 đổ xuống, cấp 3 bay sang phải (flyout). Mở bằng hover HOẶC bấm icon.
 * - Mobile: accordion thụt lề theo cấp, mở bằng bấm icon.
 *
 * Dùng class chuẩn .menu-item / .sub-menu / .menu-item-has-children nên kế thừa
 * CSS sẵn có; file này chỉ bổ sung phần còn thiếu.
 */

/* ==========================================================================
   Nút toggle (icon chevron) - dùng chung
   ========================================================================== */
.acms-subtoggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0;
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    border-radius: var(--radius-md);
    -webkit-appearance: none;
    appearance: none;
}

.acms-subtoggle i {
    display: block;
    font-size: 14px;
    line-height: 1;
    transition: transform var(--duration-150, 0.15s) var(--ease-out, ease);
}

/* Xoay chevron khi mục đang mở */
.menu-item.is-open > .acms-subtoggle i {
    transform: rotate(180deg);
}

/* ==========================================================================
   DESKTOP (>= 1024px) - .header__menu
   ========================================================================== */
@media (min-width: 1024px) {

    /* Mục cha: đặt link + nút toggle nằm cạnh nhau */
    .header__menu .menu-item-has-children {
        display: flex;
        align-items: center;
    }

    /* Ẩn mũi tên ::after trang trí cũ, thay bằng nút toggle bấm được */
    .header__menu .menu-item-has-children > a::after {
        display: none !important;
    }

    /* Thu gọn padding phải của link để icon sát hơn */
    .header__menu > .menu-item-has-children > a {
        padding-right: var(--space-1);
    }

    .header__menu .acms-subtoggle {
        width: 28px;
        height: 28px;
        color: var(--color-text-muted);
    }

    .header__menu .acms-subtoggle:hover {
        color: var(--color-text);
        background-color: var(--color-surface-hover);
    }

    /* --- Trạng thái mở bằng click (.is-open) cho cấp 1 --- */
    .header__menu > .menu-item.is-open > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    /* --- Cấp 3: flyout sang phải của mục cấp 2 --- */
    .header__menu .sub-menu .menu-item {
        position: relative;
        display: flex;
        align-items: center;
    }

    /* Link trong submenu chiếm phần còn lại, nút toggle nằm cuối */
    .header__menu .sub-menu .menu-item > a {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header__menu .sub-menu .acms-subtoggle {
        margin-left: var(--space-1);
    }

    /* Chevron của mục trong submenu chỉ sang phải (gợi ý flyout) */
    .header__menu .sub-menu .acms-subtoggle i {
        transform: rotate(-90deg);
    }
    .header__menu .sub-menu .menu-item.is-open > .acms-subtoggle i {
        transform: rotate(90deg);
    }

    /* Đặt lại vị trí submenu cấp 3 (đè rule .header__menu .sub-menu mặc định) */
    .header__menu .sub-menu .sub-menu {
        top: -0.5rem;
        left: 100%;
        margin-left: var(--space-1);
        transform: translateX(8px);
    }

    /* Hiện cấp 3 khi hover hoặc khi .is-open */
    .header__menu .sub-menu .menu-item-has-children:hover > .sub-menu,
    .header__menu .sub-menu .menu-item.is-open > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    /* Nếu flyout cấp 3 tràn mép phải màn hình thì bật sang trái */
    .header__menu .sub-menu .menu-item--flip-left > .sub-menu {
        left: auto;
        right: 100%;
        margin-left: 0;
        margin-right: var(--space-1);
    }

    /* --- Menu con (cấp 2) trong dropdown "More" của priority-nav --- */
    .header__menu .more-menu__dropdown > li {
        position: relative;
    }

    /* Trong "More" dùng hover để xổ submenu: ẩn nút toggle clone & giữ 2 cấp */
    .header__menu .more-menu__dropdown .acms-subtoggle {
        display: none;
    }
    .header__menu .more-menu__dropdown .sub-menu .sub-menu {
        display: none;
    }

    .header__menu .more-menu__dropdown .more-has-children > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-2);
    }
    .header__menu .more-menu__dropdown .more-caret {
        font-size: 10px;
        opacity: 0.6;
    }

    /* Submenu bay sang TRÁI (vì "More" nằm sát mép phải) */
    .header__menu .more-menu__dropdown .sub-menu {
        top: 0;
        left: auto;
        right: 100%;
        margin: 0 var(--space-1) 0 0;
        transform: translateX(8px);
        max-height: 70vh;
        overflow-y: auto;
    }
    .header__menu .more-menu__dropdown > li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
}

/* ==========================================================================
   MOBILE (< 1024px) - .mobile-nav__menu
   ========================================================================== */
.mobile-nav__menu .menu-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid var(--color-border-subtle);
}

.mobile-nav__menu .menu-item:last-child {
    border-bottom: none;
}

/* Link chiếm phần còn lại, bấm vào tên -> điều hướng */
.mobile-nav__menu .menu-item > a {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    color: var(--color-text);
    text-decoration: none;
    transition: color var(--duration-150, 0.15s) var(--ease-out, ease);
}

.mobile-nav__menu .menu-item > a:hover,
.mobile-nav__menu .menu-item.current-menu-item > a {
    color: var(--color-primary);
}

/* Nút toggle: vùng bấm rộng, dễ chạm */
.mobile-nav__menu .acms-subtoggle {
    width: 52px;
    align-self: stretch;
    color: var(--color-text-muted);
    border-left: 1px solid var(--color-border-subtle);
}

.mobile-nav__menu .acms-subtoggle:active {
    background-color: var(--color-surface-hover);
}

/* Submenu: ẩn mặc định, xuống dòng chiếm cả chiều rộng khi mở */
.mobile-nav__menu .sub-menu {
    flex: 0 0 100%;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    background-color: var(--color-surface-hover);
}

.mobile-nav__menu .menu-item.is-open > .sub-menu {
    display: block;
}

/* Thụt lề theo cấp */
.mobile-nav__menu .sub-menu .menu-item > a {
    padding-left: var(--space-7, 2rem);
    font-size: var(--text-sm);
    font-weight: var(--font-normal);
}

.mobile-nav__menu .sub-menu .sub-menu {
    background-color: transparent;
}

.mobile-nav__menu .sub-menu .sub-menu .menu-item > a {
    padding-left: var(--space-9, 3rem);
}

/* Đường viền nhạt hơn cho submenu */
.mobile-nav__menu .sub-menu .menu-item {
    border-bottom-color: var(--color-border-subtle);
}

/* ==========================================================================
   Primary navigation (#menu-primary-navigation / .header__menu)
   CHỈ mục cha (con trực tiếp): màu đen #000 + chữ đậm. Submenu giữ nguyên.
   ========================================================================== */
.header__menu > .menu-item > a {
    color: #000000;
    font-weight: 700;
}

/* Giữ màu đen khi hover / mục hiện tại (chỉ đổi nền highlight) */
.header__menu > .menu-item > a:hover,
.header__menu > .menu-item.current-menu-item > a {
    color: #000000;
}

/* Mục cha bị tràn vào nút "..." (.more-menu__dropdown) cũng đen + đậm */
.header__menu > .menu-item--more .more-menu__dropdown > li > a {
    color: #000000;
    font-weight: 700;
}

.header__menu > .menu-item--more .more-menu__dropdown > li > a:hover {
    color: #000000;
}

/* An toàn dark mode: nền tối thì chữ đen sẽ chìm -> dùng trắng cho dễ đọc.
   (Bỏ block này nếu muốn ép đen tuyệt đối ở mọi chế độ.) */
[data-theme="dark"] .header__menu > .menu-item > a,
[data-theme="dark"] .header__menu > .menu-item > a:hover,
[data-theme="dark"] .header__menu > .menu-item.current-menu-item > a,
[data-theme="dark"] .header__menu > .menu-item--more .more-menu__dropdown > li > a,
[data-theme="dark"] .header__menu > .menu-item--more .more-menu__dropdown > li > a:hover {
    color: #ffffff;
}
