/* =========================================================
   EXPERTIS | Sidebar menu văn bản pháp luật (accordion)
   Dùng cho widget Nav Menu có class: exp-sidebar-menu
   - Chỉ mở nhóm đang xem, các nhóm khác thu gọn (cần JS đi kèm plugin)
   - Không có JS: menu vẫn bung hết như cũ
   ========================================================= */
.exp-sidebar-menu{
    --menu-dark:#0A1140;
    --menu-accent:#F87B1B;
    --menu-accent-ink:#BC580E;
    --menu-soft:#F6F4F1;
    --menu-line:rgba(10,17,64,.08);
    --menu-muted:#667085;

    background:#fff;
    border:1px solid var(--menu-line);
    border-radius:14px;
    padding:12px 10px;
    box-shadow:0 8px 28px rgba(10,17,64,.05);
    font-family:"Be Vietnam Pro",sans-serif;
    position:static !important;
    top:auto !important;
}

/* Desktop: bám màn hình khi cuộn — giới hạn chiều cao để không bị cắt đáy.
   Tablet/mobile để static: nếu không, "top:100px" sẽ đẩy menu xuống 100px. */
@media(min-width:1025px){
    .exp-sidebar-menu{
        position:sticky !important;
        top:100px !important;
        max-height:calc(100vh - 120px);
        overflow-y:auto;
        overscroll-behavior:contain;
        scrollbar-width:thin;
        scrollbar-color:rgba(10,17,64,.18) transparent;
    }
}

/* ===== RESET MENU ELEMENTOR ===== */
.exp-sidebar-menu .elementor-nav-menu__container,
.exp-sidebar-menu .elementor-nav-menu__container .elementor-nav-menu{
    width:100% !important;
    max-width:100% !important;
}
/* Menu dạng dropdown của Elementor (tablet/mobile): bỏ nền, khoảng cách, vị trí tuyệt đối */
.exp-sidebar-menu .elementor-nav-menu--dropdown{
    position:static !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    max-height:none !important;
    overflow:visible !important;
}
.exp-sidebar-menu .elementor-menu-toggle{
    display:none !important;
}
.exp-sidebar-menu .elementor-nav-menu--main .elementor-nav-menu{
    display:block !important;
}
.exp-sidebar-menu .elementor-nav-menu li{
    display:block !important;
    width:100% !important;
}
.exp-sidebar-menu .sub-menu{
    display:block !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    background:transparent !important;
}
.exp-sidebar-menu .sub-arrow{
    display:none !important;
}

/* ===== CẤP 1: NHÓM ===== */
.exp-sidebar-menu .elementor-nav-menu > .menu-item > a{
    position:relative;
    min-height:auto !important;
    margin:0;
    padding:10px 34px 10px 12px !important;
    color:var(--menu-dark) !important;
    background:transparent !important;
    border-radius:8px;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    letter-spacing:.01em;
    cursor:pointer;
    transition:background .15s ease;
}
.exp-sidebar-menu .elementor-nav-menu > .menu-item > a:hover{
    background:var(--menu-soft) !important;
}
.exp-sidebar-menu .elementor-nav-menu > .menu-item + .menu-item{
    margin-top:2px;
}

/* Nhóm đang mở: nền nhạt */
.exp-sidebar-menu .elementor-nav-menu > .menu-item.is-open > a{
    background:var(--menu-soft) !important;
}

/* Chừa chỗ cho mũi tên + cho phép xuống dòng (specificity cao hơn CSS cũ) */
.exp-sidebar-menu.exp-acc .elementor-nav-menu__container .elementor-nav-menu > .menu-item-has-children > a{
    display:block !important;
    padding-right:36px !important;
    white-space:normal !important;
}

/* Mũi tên thu gọn / mở */
.exp-sidebar-menu.exp-acc .elementor-nav-menu > .menu-item-has-children > a::after{
    content:"" !important;
    position:absolute;
    right:14px;
    left:auto !important;
    top:50% !important;
    bottom:auto !important;
    width:7px !important;
    height:7px !important;
    opacity:1 !important;
    background:none !important;
    border:0;
    border-right:1.5px solid var(--menu-muted);
    border-bottom:1.5px solid var(--menu-muted);
    transform:translateY(-70%) rotate(45deg) !important;
    transition:transform .2s ease;
}
/* Tắt gạch chân "pointer" mặc định của Elementor ở cấp 1 không có mục con */
.exp-sidebar-menu .elementor-nav-menu > .menu-item:not(.menu-item-has-children) > a::after,
.exp-sidebar-menu .elementor-nav-menu > .menu-item > a::before{
    display:none !important;
}
.exp-sidebar-menu.exp-acc .elementor-nav-menu > .menu-item-has-children.is-open > a::after{
    transform:translateY(-30%) rotate(-135deg) !important;
}

/* Thu gọn nhóm không mở */
.exp-sidebar-menu.exp-acc .elementor-nav-menu > .menu-item-has-children:not(.is-open) > .sub-menu{
    display:none !important;
}

/* ===== CÁC MỤC CON ===== */
.exp-sidebar-menu .elementor-nav-menu > .menu-item > .sub-menu{
    position:relative !important;
    padding:4px 0 8px 12px !important;
}
.exp-sidebar-menu .elementor-nav-menu > .menu-item > .sub-menu::before{
    content:"";
    position:absolute;
    left:5px;
    top:10px;
    bottom:14px;
    width:1px;
    background:var(--menu-line);
}
.exp-sidebar-menu .sub-menu a{
    position:relative;
    min-height:auto !important;
    margin:1px 0 !important;
    padding:7px 12px 7px 16px !important;
    color:#1F2640 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:7px;
    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.45 !important;
    white-space:normal !important;
}
.exp-sidebar-menu .elementor-nav-menu > .menu-item > .sub-menu > li > a::before{
    content:"";
    position:absolute;
    left:-10px;
    top:50%;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(10,17,64,.22);
    transform:translateY(-50%);
}
.exp-sidebar-menu .sub-menu a:hover{
    color:var(--menu-dark) !important;
    background:rgba(10,17,64,.05) !important;
}

/* ===== MỤC ĐANG XEM =====
   Cam chỉ dành cho mục con đang xem; nhóm cha giữ màu navy */
.exp-sidebar-menu .sub-menu .current-menu-item > a,
.exp-sidebar-menu .elementor-nav-menu > .current-menu-item > a{
    color:var(--menu-accent-ink) !important;
    background:rgba(248,123,27,.07) !important;
    font-weight:700 !important;
}
.exp-sidebar-menu .elementor-nav-menu > .menu-item > .sub-menu > .current-menu-item > a::before{
    width:7px;
    height:7px;
    left:-11px;
    background:var(--menu-accent);
}

/* ===== CẤP 3 NẾU CÓ ===== */
.exp-sidebar-menu .sub-menu .sub-menu{
    margin:2px 0 6px 16px !important;
    padding-left:10px !important;
    border-left:1px dashed var(--menu-line);
}
.exp-sidebar-menu .sub-menu .sub-menu a{
    padding:6px 10px !important;
    color:var(--menu-muted) !important;
    font-size:13px !important;
}

/* ===== MOBILE ===== */
@media(max-width:767px){
    .exp-sidebar-menu{
        padding:10px;
        border-radius:10px;
    }
}

@media(prefers-reduced-motion:reduce){
    .exp-sidebar-menu .elementor-nav-menu > .menu-item > a,
    .exp-sidebar-menu.exp-acc .elementor-nav-menu > .menu-item-has-children > a::after{
        transition:none;
    }
}
