/* --- GIAO DIỆN CHUNG --- */
.filter-item {
    border-bottom: 1px solid #f0f0f0;
}

.filter-title {
    cursor: pointer;
    padding: 10px 0;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    display: flex;
    justify-content: space-between;
}

.ncvn-filter-option {
    padding: 8px 0;
    cursor: pointer;
    color: #666;
    transition: font-weight 0.1s;
}

.ncvn-filter-option.active {
    font-weight: 700 !important;
    color: var(--primary-color, #446084);
}

/* --- ANIMATION LƯỚT CẢ KHỐI (KHÔNG DELAY) --- */
.ncvn-filter-target {
    opacity: 0;
    transform: translateY(30px);
    /* Đẩy xuống chuẩn bị lướt */
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.ncvn-filter-target.is-visible {
    opacity: 1;
    transform: translateY(0);
    /* Lướt lên vị trí chuẩn */
}

/* --- XỬ LÝ MOBILE (Giữ nguyên class của ông) --- */
@media (max-width: 849px) {
    .ncvn-hide-on-mobile {
        display: none !important;
    }

    .ncvn-sticky-anchor {
        position: fixed !important;
        bottom: 25px !important;
        left: 50% !important;
        transform: translateX(-50%);
        z-index: 99999 !important;
    }

    .ncvn-sticky-btn {
        background: var(--primary-color, #446084);
        color: #fff;
        border: none;
        padding: 12px 40px;
        border-radius: 50px;
        font-weight: bold;
        box-shadow: 0 5px 25px rgba(0, 0, 0, 0.4);
    }

    .ncvn-drawer-left {
        position: fixed;
        top: 0;
        left: -100%;
        width: 80%;
        height: 100%;
        background: #fff;
        z-index: 100001;
        transition: 0.4s ease;
        padding: 20px;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
    }

    .ncvn-drawer-left.is-open {
        left: 0;
    }

    .ncvn-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
        display: none;
        z-index: 100000;
    }

    .ncvn-overlay.active {
        display: block;
    }

    .apply-btn {
        width: 100%;
        background: var(--primary-color, #446084);
        color: #fff;
        border: none;
        padding: 15px;
        border-radius: 10px;
        font-weight: bold;
    }

    body.no-scroll {
        overflow: hidden;
    }
}