/* ==========================================================
   Плавающее меню курса
   ========================================================== */

#floating-course-nav{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:99999;

    font-family:var(--font-body,"Segoe UI",sans-serif);
}

/* ---------------------------------------------------------- */

#course-nav-button{

    width:58px;
    height:58px;

    border:none;
    border-radius:50%;

    cursor:pointer;

    font-size:28px;
    line-height:1;

    color:#fff;
    background:var(--accent,#2b5d8a);

    box-shadow:
        0 8px 24px rgba(0,0,0,.25);

    transition:.2s;
}

#course-nav-button:hover{

    transform:translateY(-2px);

    box-shadow:
        0 12px 28px rgba(0,0,0,.30);

}

/* ---------------------------------------------------------- */

#course-nav-panel{

    position:absolute;

    right:0;
    bottom:72px;

    width:300px;

    max-height:70vh;

    overflow:auto;

    display:none;

    background:var(--paper,#faf8f2);

    border:1px solid var(--rule,#d6d6d6);

    border-radius:10px;

    box-shadow:
        0 18px 40px rgba(0,0,0,.22);

}

/* ---------------------------------------------------------- */

#course-nav-panel.open{

    display:block;

}

/* ---------------------------------------------------------- */

#course-nav-panel .title{

    position:sticky;

    top:0;

    padding:14px 18px;

    font-size:18px;

    font-weight:700;

    color:var(--ink-strong,#16324f);

    background:var(--paper,#faf8f2);

    border-bottom:1px solid var(--rule);

}

/* ---------------------------------------------------------- */

#course-nav-panel ul{

    margin:0;

    padding:8px;

    list-style:none;

}

/* ---------------------------------------------------------- */

#course-nav-panel li{

    margin:0;

}

/* ---------------------------------------------------------- */

#course-nav-panel a{

    display:block;

    padding:

        10px
        14px;

    margin:3px 0;

    border-radius:6px;

    text-decoration:none;

    color:var(--ink,#1e2a3a);

    transition:.15s;

}

/* ---------------------------------------------------------- */

#course-nav-panel a:hover{

    background:var(--accent-wash,#e8eff6);

    color:var(--accent,#2b5d8a);

}

/* ---------------------------------------------------------- */

#course-nav-panel a.current{

    background:var(--accent,#2b5d8a);

    color:white;

    font-weight:700;

}

/* ---------------------------------------------------------- */

#course-nav-panel::-webkit-scrollbar{

    width:10px;

}

#course-nav-panel::-webkit-scrollbar-thumb{

    background:#c8c8c8;

    border-radius:20px;

}

#course-nav-panel::-webkit-scrollbar-track{

    background:transparent;

}

/* ---------------------------------------------------------- */

@media (max-width:700px){

    #floating-course-nav{

        right:14px;
        bottom:14px;

    }

    #course-nav-panel{

        width:min(320px,90vw);

        max-height:75vh;

    }

}