/****************** offcanvus start **************/
.offcanvus-box {
    width: 425px;
    z-index: 100;
    top: 0;
    right: -430px;
    height: 100vh;
    overflow-y: scroll;
    transition: var(--transition-base);
    &.active {
        right: 0;
    }
    .offcanvus-close {
        position: absolute;
        left: 30px; 
        top: 30px;
        color: var(--primary-color);
        &:hover {
            color: var(--secondary-color);
        }
    }
    .content-top {
        text-align: center;
        padding: 120px 60px 100px;
        p {
            line-height: 26px;
        }
    }
    .offcanvus-gallery {
        padding: 0 40px;
        gap: 10px;
        a {
            width: calc(33% - 6px);
            overflow: hidden;
            img {
                max-width: 100%;
                transition: var(--transition-base); 
                &:hover {
                    transform: scale(1.1);
                }
            }
        }
    }
    .offcanvus-newsletter {
        padding: 100px 40px;
    }
    .offcanvus-bottom {
        border-top: 1px solid var(--gray-color);
        padding: 20px 40px;
    }
    .user-links {
        a {
            color: var(--primary-color);
            &:hover {
                color: var(--secondary-color);
            }
        }
    }
}

.language-switcher {
    button {
        font-size: 15px;
        img {
            margin-right: 8px;
        }
    }
    .dropdown-menu {
        border-radius: 0;
        border-color: var(--gray-color);
        li {
            + li {
                border-top: 1px solid var(--light-color);
            }
            a {
                padding: 4px 12px;
                display: block;
                color: var(--primary-color);
                font-size: 15px;
                img {
                    margin-right: 8px;
                    max-width: 29px;
                }
            }
        }
    }
}



/************************ mobile menu start ****************/
.mobile-menu {
    width: 300px;
    height: 100vh;
    position: fixed;
    top: 0; 
    left: -310px;
    background-color: var(--white-color);
    z-index: 60;
    padding: 60px 24px;
    overflow-y: scroll;
    transition: var(--transition-base);
    .close {
        position: absolute;
        right: 20px;
        top: 20px;
        color: var(--primary-color); 
        &:hover {
            color: var(--secondary-color);
        }
    }
    .logo {
        width: 100%;
        display: block;
        background-color: var(--primary-color);
        text-align: center;
    }
    .mobile-nav-menu {
        margin-top: 32px;
        li {
            display: block;
            + li {
                border-top: 1px solid var(--light-stroke);
            }
            a {
                display: block;
                color: var(--primary-color);
                padding: 10px 0;
            }
            &.has-submenu {
                position: relative;
                & > i {
                    position: absolute;
                    right: 0;
                    top: 6px;
                    padding: 8px;
                    transition: var(--transition-base);
                    &.icon-rotate {
                        transform: rotate(180deg);
                    }
                }
                & > .submenu-wrapper {
                    padding-left: 15px;
                    display: none;
                }
            }
        }
    }
    .mobile-search {
        input {
            width: 100%;
        }
        button {
            span {
                padding: 0;
                width: 50px; 
                height: 50px;
            }
        }
    }
    &.active {
        left: 0;
    }
}


.ur-search-form {
    position: fixed;
    left: 0; 
    top: 0; 
    width: 100%;
    height: 100vh;
    background-color: var(--primary-overlay);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0; 
    visibility: hidden;
    transition: var(--transition-base);
    .close {
        position: absolute;
        right: 24px;
        top: 24px;
        font-size: 18px; 
        color: var(--white-color); 
        &:hover {
            color: var(--secondary-color);
        }
    }
    form {
        background-color: var(--white-color);
        input {
            background-color: var(--white-color);
        }
        button {
            border-left: 1px solid var(--light-stroke);
            width: 60px;
            transition: var(--transition-base);
            font-weight: 700;
            &:hover {
                color: var(--secondary-color);
            }
        }
    }
    &.active {
        opacity: 1;
        visibility: visible;
    }
}



/************** header cart box *************/
.cart-drawer {
    top: 0;
    right: -390px; 
    background-color: var(--white-color);
    z-index: 200;
    width: 380px;
    height: 100vh;
    padding: 30px;
    box-shadow: var(--box-shadow);
    transition: var(--transition-base);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    .cart-list {
        margin-top: 100px;
        max-height: calc(100vh - 100px);
        overflow-y: scroll;
        padding-bottom: 15px;
        &::-webkit-scrollbar {
            display: none;
        }
    }
    li {
        + li {
            margin-top: 20px;
        }
    }
    .feature-image {
        max-width: 90px;
        flex-shrink: 0;
        padding: 10px;
        img {
            transition: var(--transition-base);
        }
        &:hover {
            img {
                transform: scale(1.05);
            }
        }
    }
    h6 {
        transition: var(--transition-base);
        &:hover {
            color: var(--secondary-color);
        }
    }
    .quantity {
        input {
            max-width: 50px;
            border: 1px solid var(--light-stroke);
            padding: 4px;
            text-align: center;
        }
        .step-btns {
            width: 30px;
            height: 34px;
            border: 1px solid var(--light-stroke);
            border-left: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            position: relative;
            &::before {
                content: ''; 
                position: absolute;
                left: 0; 
                top: 50%;
                width: 100%;
                height: 1px;
                background-color: var(--light-stroke);
            }
            button {
                font-size: 10px;
                padding: 0;
                display: block;
            }
        }
    }
    .close {
        font-size: 14px;
        color: var(--text-color);
        &:hover {
            color: var(--secondary-color);
        }
    }

    .drawer-close {
        font-size: 15px;
        color: var(--primary-color);
        &:hover {
            color: var(--secondary-color);
        }
    }
    &.active {
        right: 0;
    }
    @include screen-460 {
        width: 360px;
    }

}