/* FLOATING WRAPPER */

.floating-wrapper{
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9999;
}

/* BUTTON */

.floating-btn{
    background: #f97316;

    color: #fff;

    width: 58px;
    height: 170px;

    border-radius: 18px 0 0 18px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 14px;

    cursor: pointer;

    box-shadow: -6px 10px 25px rgba(249,115,22,0.28);

    transition: 0.3s ease;
}

/* HOVER */

.floating-btn:hover{
    width: 64px;
}

/* ICON */

.floating-btn i{
    font-size: 22px;
    color: #fff;
}

/* VERTICAL TEXT */

.floating-text{
    writing-mode: vertical-rl;
    transform: rotate(180deg);

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 1px;

    color: #fff;

    text-transform: uppercase;
}
/* MODAL */

.search-modal{
    position: fixed;
    inset: 0;

    background: rgba(0,0,0,0.45);

    display: none;
    align-items: center;
    justify-content: center;

    z-index: 99999;
    padding: 20px;
}

.search-modal.active{
    display: flex;
}

/* MODAL BOX */

.modal-content{
    width: 100%;
    max-width: 420px;

    height: 500px; /* size tetap */

    background: #fff;
    border-radius: 22px;

    padding: 25px;

    position: relative;

    animation: popup 0.3s ease;

    overflow-y: auto; /* scroll aktif */
}

/* SCROLLBAR */

.modal-content::-webkit-scrollbar{
    width: 6px;
}

.modal-content::-webkit-scrollbar-thumb{
    background: #d1d1d1;
    border-radius: 10px;
}

/* ANIMATION */

@keyframes popup{
    from{
        opacity: 0;
        transform: translateY(20px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/* TITLE */

.modal-content h2{
    margin-bottom: 22px;
    font-size: 24px;
    color: #111;
}

/* CLOSE */

.close-modal{
    position: absolute;
    top: 16px;
    right: 18px;

    font-size: 28px;
    color: #777;

    cursor: pointer;
}

/* MENU LIST */

.menu-list{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ITEM */

.menu-item{
    background: #f7f7f7;
    border-radius: 14px;
    padding: 16px 18px;
}

/* TITLE */

.menu-item-title{
    font-size: 16px;
    font-weight: 600;
    color: #111;

    margin-bottom: 10px;
}

/* SUB LIST */

.sub-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* LINK */

.sub-list a{
    text-decoration: none;
    color: #555;

    font-size: 14px;

    padding: 10px 12px;
    border-radius: 10px;

    transition: 0.25s;
}

.sub-list a:hover{
    background: #ececec;
    color: #000;
}