/**
 * ============================================================
 * СТИЛИ ДЛЯ ЛЕВОГО МЕНЮ — КОМПАКТНЫЕ И СОВРЕМЕННЫЕ
 * Версия: 1.0
 * Для: Мошковская ЦБС
 * ============================================================
 */

#sp-left .sp-module {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(1, 73, 103, 0.06), 0 1px 4px rgba(0, 0, 0, 0.02);
    padding: 0 !important;
    border: 1px solid rgba(1, 73, 103, 0.07);
    overflow: hidden;
    margin-bottom: 24px;
}

/* --- Заголовок --- */
#sp-left .sp-module .sp-module-title {
    background: linear-gradient(135deg, #014967 0%, #013a52 100%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 12px 20px !important;
    margin: 0 !important;
    border-bottom: 2px solid #b31b1b;
    text-transform: uppercase;
    position: relative;
}

#sp-left .sp-module .sp-module-title::after {
    content: "▾";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    opacity: 0.5;
}

/* --- Список --- */
#sp-left .sp-module ul,
#sp-left .sp-module .nav,
#sp-left .sp-module .menu {
    padding: 4px 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* --- Пункты меню --- */
#sp-left .sp-module ul li,
#sp-left .sp-module .nav li,
#sp-left .sp-module .menu li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 1px solid #f2f6fb !important;
}

#sp-left .sp-module ul li:last-child,
#sp-left .sp-module .nav li:last-child,
#sp-left .sp-module .menu li:last-child {
    border-bottom: none !important;
}

/* --- Ссылки --- */
#sp-left .sp-module ul li a,
#sp-left .sp-module .nav li a,
#sp-left .sp-module .menu li a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 18px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a2a3a !important;
    text-decoration: none !important;
    background: transparent !important;
    border-left: 3px solid transparent !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
    line-height: 1.3 !important;
}

/* --- Иконки --- */
#sp-left .sp-module ul li a::before,
#sp-left .sp-module .nav li a::before,
#sp-left .sp-module .menu li a::before {
    font-family: "FontAwesome" !important;
    font-size: 15px !important;
    color: #014967 !important;
    width: 22px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

/* --- Иконки для пунктов меню (12 штук) --- */
#sp-left .sp-module ul li:nth-child(1) a::before,
#sp-left .sp-module .nav li:nth-child(1) a::before,
#sp-left .sp-module .menu li:nth-child(1) a::before { content: "\f0e8" !important; }

#sp-left .sp-module ul li:nth-child(2) a::before,
#sp-left .sp-module .nav li:nth-child(2) a::before,
#sp-left .sp-module .menu li:nth-child(2) a::before { content: "\f0e3" !important; }

#sp-left .sp-module ul li:nth-child(3) a::before,
#sp-left .sp-module .nav li:nth-child(3) a::before,
#sp-left .sp-module .menu li:nth-child(3) a::before { content: "\f02d" !important; }

#sp-left .sp-module ul li:nth-child(4) a::before,
#sp-left .sp-module .nav li:nth-child(4) a::before,
#sp-left .sp-module .menu li:nth-child(4) a::before { content: "\f1ea" !important; }

#sp-left .sp-module ul li:nth-child(5) a::before,
#sp-left .sp-module .nav li:nth-child(5) a::before,
#sp-left .sp-module .menu li:nth-child(5) a::before { content: "\f0ea" !important; }

#sp-left .sp-module ul li:nth-child(6) a::before,
#sp-left .sp-module .nav li:nth-child(6) a::before,
#sp-left .sp-module .menu li:nth-child(6) a::before { content: "\f108" !important; }

#sp-left .sp-module ul li:nth-child(7) a::before,
#sp-left .sp-module .nav li:nth-child(7) a::before,
#sp-left .sp-module .menu li:nth-child(7) a::before { content: "\f0c0" !important; }

#sp-left .sp-module ul li:nth-child(8) a::before,
#sp-left .sp-module .nav li:nth-child(8) a::before,
#sp-left .sp-module .menu li:nth-child(8) a::before { content: "\f004" !important; }

#sp-left .sp-module ul li:nth-child(9) a::before,
#sp-left .sp-module .nav li:nth-child(9) a::before,
#sp-left .sp-module .menu li:nth-child(9) a::before { content: "\f15c" !important; }

#sp-left .sp-module ul li:nth-child(10) a::before,
#sp-left .sp-module .nav li:nth-child(10) a::before,
#sp-left .sp-module .menu li:nth-child(10) a::before { content: "\f0b1" !important; }

#sp-left .sp-module ul li:nth-child(11) a::before,
#sp-left .sp-module .nav li:nth-child(11) a::before,
#sp-left .sp-module .menu li:nth-child(11) a::before { content: "\f02d" !important; }

#sp-left .sp-module ul li:nth-child(12) a::before,
#sp-left .sp-module .nav li:nth-child(12) a::before,
#sp-left .sp-module .menu li:nth-child(12) a::before { content: "\f08d" !important; }

/* --- Активный пункт --- */
#sp-left .sp-module ul li.active > a,
#sp-left .sp-module ul li.current > a,
#sp-left .sp-module .nav li.active > a,
#sp-left .sp-module .nav li.current > a,
#sp-left .sp-module .menu li.active > a,
#sp-left .sp-module .menu li.current > a {
    color: #014967 !important;
    background: rgba(1, 73, 103, 0.04) !important;
    border-left-color: #b31b1b !important;
    font-weight: 600 !important;
}

#sp-left .sp-module ul li.active > a::before,
#sp-left .sp-module ul li.current > a::before,
#sp-left .sp-module .nav li.active > a::before,
#sp-left .sp-module .nav li.current > a::before,
#sp-left .sp-module .menu li.active > a::before,
#sp-left .sp-module .menu li.current > a::before {
    color: #b31b1b !important;
    transform: scale(1.1) !important;
}

/* --- Наведение --- */
#sp-left .sp-module ul li a:hover,
#sp-left .sp-module .nav li a:hover,
#sp-left .sp-module .menu li a:hover {
    color: #014967 !important;
    background: rgba(1, 73, 103, 0.03) !important;
    border-left-color: #014967 !important;
    transform: translateX(3px) !important;
}

#sp-left .sp-module ul li a:hover::before,
#sp-left .sp-module .nav li a:hover::before,
#sp-left .sp-module .menu li a:hover::before {
    color: #b31b1b !important;
    transform: scale(1.05) !important;
}

/* --- Подменю (вложенные пункты) --- */
#sp-left .sp-module ul li ul,
#sp-left .sp-module .nav li ul,
#sp-left .sp-module .menu li ul {
    background: rgba(1, 73, 103, 0.015) !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

#sp-left .sp-module ul li ul li,
#sp-left .sp-module .nav li ul li,
#sp-left .sp-module .menu li ul li {
    border: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03) !important;
}

#sp-left .sp-module ul li ul li a,
#sp-left .sp-module .nav li ul li a,
#sp-left .sp-module .menu li ul li a {
    padding: 6px 18px 6px 44px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #2c4056 !important;
    border-left: 2px solid transparent !important;
    background: transparent !important;
}

#sp-left .sp-module ul li ul li a::before,
#sp-left .sp-module .nav li ul li a::before,
#sp-left .sp-module .menu li ul li a::before {
    content: "\f105" !important;
    font-family: "FontAwesome" !important;
    margin-right: 10px !important;
    color: #014967 !important;
    font-size: 12px !important;
    width: 14px !important;
}

#sp-left .sp-module ul li ul li a:hover,
#sp-left .sp-module .nav li ul li a:hover,
#sp-left .sp-module .menu li ul li a:hover {
    color: #014967 !important;
    background: rgba(1, 73, 103, 0.03) !important;
    border-left-color: #014967 !important;
    transform: translateX(2px) !important;
}

/* ============================================================
   АДАПТАЦИЯ ДЛЯ ПЛАНШЕТОВ И ТЕЛЕФОНОВ
   ============================================================ */

@media (max-width: 992px) {
    #sp-left .sp-module .sp-module-title {
        font-size: 15px !important;
        padding: 10px 18px !important;
    }
    #sp-left .sp-module ul li a,
    #sp-left .sp-module .nav li a,
    #sp-left .sp-module .menu li a {
        padding: 7px 16px !important;
        font-size: 13px !important;
        gap: 10px !important;
    }
    #sp-left .sp-module ul li a::before,
    #sp-left .sp-module .nav li a::before,
    #sp-left .sp-module .menu li a::before {
        font-size: 14px !important;
        width: 20px !important;
    }
}

@media (max-width: 768px) {
    #sp-left .sp-module .sp-module-title {
        font-size: 14px !important;
        padding: 10px 16px !important;
    }
    #sp-left .sp-module ul li a,
    #sp-left .sp-module .nav li a,
    #sp-left .sp-module .menu li a {
        padding: 6px 14px !important;
        font-size: 13px !important;
        gap: 10px !important;
    }
    #sp-left .sp-module ul li a::before,
    #sp-left .sp-module .nav li a::before,
    #sp-left .sp-module .menu li a::before {
        font-size: 14px !important;
        width: 18px !important;
    }
    #sp-left .sp-module ul li ul li a,
    #sp-left .sp-module .nav li ul li a,
    #sp-left .sp-module .menu li ul li a {
        padding: 5px 14px 5px 36px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    #sp-left .sp-module .sp-module-title {
        font-size: 13px !important;
        padding: 8px 14px !important;
    }
    #sp-left .sp-module .sp-module-title::after {
        font-size: 12px;
        right: 14px;
    }
    #sp-left .sp-module ul li a,
    #sp-left .sp-module .nav li a,
    #sp-left .sp-module .menu li a {
        padding: 5px 12px !important;
        font-size: 12px !important;
        gap: 8px !important;
    }
    #sp-left .sp-module ul li a::before,
    #sp-left .sp-module .nav li a::before,
    #sp-left .sp-module .menu li a::before {
        font-size: 13px !important;
        width: 16px !important;
    }
    #sp-left .sp-module ul li ul li a,
    #sp-left .sp-module .nav li ul li a,
    #sp-left .sp-module .menu li ul li a {
        padding: 4px 12px 4px 30px !important;
        font-size: 11px !important;
    }
}

/* ============================================================
   КОНЕЦ СТИЛЕЙ
   ============================================================ */