/* ==========================================================
   サイドメニュー
   依存: variables.css
   ========================================================== */

/* ----------------------------------------------------------
   ナビゲーション全体
   ---------------------------------------------------------- */
.sidebar-container {
    background-color: var(--sidebar-bg-color);
    border-right: 1px solid var(--sidebar-border);
    overflow-y: auto;
    overflow-x: hidden;
    width: var(--sidebar-open-width);
}

    .sidebar-container.narrow {
        width: var(--sidebar-close-width);
    }

    .sidebar-container .accordion.accordion-flush {
        border-bottom: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
    }

    /* ----------------------------------------------------------
       カテゴリ
       ---------------------------------------------------------- */
    .sidebar-container .collapsing {
        transition-duration: 80ms !important;
    }

    .sidebar-container .accordion-item {
        background-color: inherit;
    }

    .sidebar-container .accordion-button {
        background-color: inherit;
    }

        .sidebar-container .accordion-button:focus {
            box-shadow: none;
        }

        .sidebar-container .accordion-button:not(.collapsed) {
            background-color: color-mix(in srgb, var(--sidebar-bg-color) 60%, #fff);
            box-shadow: var(--bs-box-shadow-sm);
        }

        .sidebar-container .accordion-button:hover {
            color: var(--sidebar-link-active-color);
        }

        /* 複数行の text-truncate */
        .sidebar-container .accordion-button .category-label {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
            align-content: center;
            line-height: 1.4;
            height: calc(1.4em * 2);
        }

    .sidebar-container .accordion-collapse.collapse.show,
    .sidebar-container .accordion-collapse.collapsing {
        color: var(--bs-accordion-active-color);
        background-color: color-mix(in srgb, var(--sidebar-bg-color) 60%, #fff);
    }

    /* ----------------------------------------------------------
       メニューリンク
       ---------------------------------------------------------- */
    .sidebar-container.narrow .accordion-collapse.collapsing .menu-label,
    .sidebar-container.narrow .accordion-collapse.collapse .menu-label {
        display: none;
    }

    .sidebar-container .nav-item .nav-link {
        color: inherit;
        border-left: 3px solid transparent;
    }

        .sidebar-container .nav-item .nav-link.active {
            color: var(--sidebar-link-active-color);
            border-left-color: var(--sidebar-link-active-border);
        }

        .sidebar-container .nav-item .nav-link:hover {
            color: var(--sidebar-link-active-color);
        }

    /* ----------------------------------------------------------
       アイコン類
       ---------------------------------------------------------- */
    .sidebar-container .sidebar-lock-icon {
        font-size: 0.75rem;
        opacity: 0.6;
        flex-shrink: 0;
    }
