/* 背景ディム（フェード付き） */
body::before{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.8);
    backdrop-filter:blur(1px);
    z-index:1039;
    opacity:0;
    transition:opacity .25s ease;
    pointer-events:none;
}

body.popover-dimmed::before{ 
    opacity:1;
    pointer-events: none;
}

/* サイドバー幅固定 */
.nav-sidebar .nav-link{
    height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:0;
    position:relative;
}

/* ── ブリッジ①：アイコン側 ─────────────────── */
.nav-sidebar .nav-link::after{
    content:'';
    position:absolute;
    top:0;
    left:100%;
    width:72px;
    height:40px;
    background:transparent;
    pointer-events:auto;
}

/* ── ポップオーバー本体 ─────────────────────── */
.popover.sidebar-pop.modern{
    position:relative;
    margin-left:70px;
    border:none;
    border-radius:16px;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(12px) saturate(1.2);
    box-shadow:0 6px 24px rgba(0,0,0,.25);
}

/* ポップオーバー本文・メニュー装飾 ─ 現状のまま */
.popover.sidebar-pop.modern .popover-body{ 
    padding:12px 0;
}

.popover.sidebar-pop.modern ul{ 
    margin:0;
    padding:0;
    list-style:none;
}

.popover.sidebar-pop.modern li a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 22px;
    font-size:.95rem;
    color:#fff;
    text-decoration:none;
    transition:background .2s;
}

.popover.sidebar-pop.modern li a i{ 
    width:18px;
    text-align:center;
    opacity:.8;
}

.popover.sidebar-pop.modern li a:hover{ 
    background:rgba(255,255,255,.2);
}

/* タイトル */
.popover.sidebar-pop.modern .popover-title{
    padding:10px 22px;
    font-size:.9rem;
    font-weight:600;
    color:#fff;
}

/* 横線（Divider） */
.popover.sidebar-pop.modern .divider{
    height:1px;
    margin:0 18px;                 /* 両端に少し余白 */
    background:rgba(255,255,255,.25);
}