
.cartdisplayerbx{

    --pad-space: 15px;  

    
    .remove{
        .btnRemove{
            background-color: rgb(177, 23, 23);
            color: #fff;
            border-radius: 3px;
            border: 0;
            min-width: auto; 
            opacity: 0.5;
            aspect-ratio: 1;
            width: 35px;
            font-size: 65%;
            line-height: 1;
            padding: 0;

            &:hover{
                opacity: 1;
            }

        }
    }
    .error {
        border-color: orangered !important;

        .errorbx{
            padding: 0 0 15px;
            color: orangered;
        }
    }
    

    .infobx{
        color: #888;
    }
    .total_price{
        position: absolute;
        right: 0;
        top: 0;
        color: var(--clr02);
        font-size: 120%;
    }
    
    
    

    .cartdisplayer{
        overflow: clip;
        overflow-y: auto;  
        height: 100%;
    }

    .cartdisplayerinner{
        z-index: 1;
        flex-direction: column; 

        .productimage{
            .bimgw{
                width: 70px;
                border-radius: 9px;

                .bimg{
                    background-color: #ddd;
                }
            }
        }
        
        
        .mid{
            z-index: 0;
            flex: 1 0 0;
        }
        .bot{
            z-index: 1;
            margin-top: 0;
            position: sticky;
            bottom: 0; 
            line-height: 1;
        } 
    }

    .total_price_display {
        font-size: 200%;
        font-family: var(--ft-t2);
        text-align: center;
        

        &>*{
            margin: 0 0 9px; 
        }
    }
    
    &.slidemode{ 
        position: fixed;
        z-index: 999;
        right: var(--pad-space);
        top: var(--pad-space);
        translate: 150% 0;
        transition: .6s all cubic-bezier(0.075, 0.82, 0.165, 1);
        line-height: 1; 

        .cartdisplayerinner > * {
            padding: 15px;
        }

        .cartdisplayerw{
            height: calc(100svh - (var(--pad-space) * 2));
            width: 450px!important;
            max-width: calc(100svw - (var(--pad-space) * 2));
            background-color: #fff;
            border: 2px solid #ccc;
            border-radius: 21px;
            overflow: hidden;
        }

        .bot{
            background-color: #fff;
        }

        .top{
            z-index: 1;
            position: sticky;
            top: 0;
            font-size: 200%;
            font-family: var(--ft-t1);
            background-color: #fff;

            .close{
                color: rgb(192, 17, 17);
                cursor: pointer;
            }
        }
    }
    &.show{
        translate: 0 0 !important;
    }
    &.detail_page {
        max-width: 100%;

        .cartdisplayerw {
            max-width: 100% !important;
            width: 450px;
        }
        .cartdisplayer{
            overflow: clip !important
        }
        .bot{
            margin: 21px 0 !important;
            
            .total_price_display > *{
                padding: 21px 15px; 
                border: 0 solid #ccc;
                background-color: var(--clr02) !important;
                color: #fff;
                border-radius: 6px;
            }
        }

    }
}

.ecombx,
.ecombx.categorylistbx.ecom_design_1{
    --listset-gap: 21px;
    --listset-count: 4;
    @media(width<991px){
        --listset-count: 3;
    }
    @media(width<767px){
        --listset-count: 3;
    }
    @media(width<575px){
        --listset-count: 2;
    }

    .categorybx{
        flex-direction: column;
    }
    .itom, .categorybx{  

        .bimg{ 
            transition: 1.2s all cubic-bezier(0.165, 0.84, 0.44, 1)
        }
        &:hover{
            .bimg{
                scale: 1;
            }
        }

        & a {
            width: 100%;
        }

        .btm{
            margin-top: auto;
            padding: 3px 0 0;
        }

        .btn {
            --btnbgclr: var(--clr01, #000);
            --btnbgclrhov: var(--clr02);
            --btnborderclr: var(--btnbgclr);
            --btnborderclrhov: var(--btnbgclrhov);
            --btnclr: var(--clr01x, #fff);
            --btnclrhov: var(--clr01x, #fff);

            gap: 6px;
            width: 100%;
        }

        .tmpttl{
            line-height: 1;
            margin: 15px 0 0;

            & > * ~ * {
                margin: 6px 0 0;
            }

            .ttl{
                font-family: var(--ft-t1);
            } 
    
            .rate_img{
                aspect-ratio: 15 / 2;
                width: 90px;
                max-width: 100%;
                display: block;
            }
        }

        .variancebx {
            /* font-size: 70%; */
            position: relative;
            cursor: pointer;
            z-index: 14;
            line-height: 1;
            margin: 9px 0 3px;

            .choosen{
                padding: 9px 21px 9px 9px;
                border: 1px solid #ccc;
                border-radius: 3px;
            }
            & i {
                position: absolute;
                right: 6px;
                top: 9px; 
                color: var(--clr02);
                pointer-events: none;
            }
            &:hover i { 
                color: var(--clr02);
            }



            .optionbx{
                display: none; 
                position: absolute;
                background-color: #eee;
                border: 1px solid #ccc;
                width: 100%;
                bottom: 0;
                left: 0;
                translate: 0 100%;
                border-radius: 6px;
                overflow: hidden;
                z-index: 1000;

                & [option] {
                    padding: 9px;
                    width: 100%;

                    &:hover{
                        background-color: var(--clr02);
                        color: #fff;
                    }
                }
            }

            &.active{
                .optionbx{
                    display: block;
                }
            }
        }

    }
}
.unit_manupulator{ 

    .quantitybx{
        line-height: 0; 

        .bimgw{
            width: 30px; 
            .bimg{
                background-color: var(--clr01);
                scale: 1 !important;
            }
        }

        .btnAdjust{
            background-color: transparent;
            border-radius: 0;
            border: 0;
            min-width: auto;
            padding: 0;

            &:hover{
                .bimg{
                    background-color: var(--clr02);
                }
            }
        }  

        & input{
            padding: 0;
            background-color: transparent;
            width: 60px;
            margin: 0;
            text-align: center;
            pointer-events: none;
            border: 0;
        }
    }
}

[ecombtn]{
    --transition: .6s all ease;
    cursor: pointer;
    position: relative;
    line-height: 1;
    transition: var(--transition);
    
    .ecombtnbx{
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        gap: 6px;
    }
 
    .bimgbx{
        line-height: 0;
        .bimgw{
            width: 21px;

            .bimg{
                background-color: #000;
                transition: var(--transition);
            }
        }
    }

    &:hover{
        color: var(--clr02);
        .bimg{
            background-color: var(--clr02) !important;
        }
    }

    .items_count{
        position: absolute;
        right: 0;
        top: 0;
        translate: 50% -50%;
        font-size: 50%;

        &>*{
            display: flex;
            justify-content: center;
            align-items: center; 
            background-color: rgb(189, 24, 24);
            color: #fff;
            line-height: 1;
            border-radius: 6px;
            padding: 3px 6px;
            font-family: var(--ft-t1);
        }
    }

    .currencybx{
        display: none;
        pointer-events: none;
        position: absolute;
        right: 0;
        bottom: 0;
        min-width: 100%;
        translate: 0 100%; 
        background-color: #fff;
        border: 2px solid #ccc;
        border-radius:6px;

        [currency] {
            padding:  3px  9px;
            color: var(--bdclr);

            &:hover{
                color: #fff;
                background-color: var(--clr02);
            }
        }

    }

    &:not(.active){
        .currencybx{
            display: none;
        }
    }
}


.categorylistbx.doctorbx{
    --div-list-l: 200px;
    line-height: 1.1;
    font-family: inherit !important;


    .categoryw {
        gap: 9px 0;
    }

    .listo-l {
        .bimgbx{
            line-height: 0;
        }
        .bimgw{
            border-radius: 9px;
        }
    }
    .listo-r {
        padding-left: 15px; 
 
        .listo-rw{
            gap: 15px;

            & > * {
                width: 100%;
            }
        }

        .title{
            font-family: var(--ft-t1);
        }
        .desc.ellipsis {
            --line: 3;
            line-height: 1.5;
        }
        .taste{
            margin-top: auto;
        }

        .infobx{
            gap: 6px;

            & > * {
                width: 100%;
            }
            
        }

        .labelbx {
            gap: 3px;
            
            .label-{
                border-radius: 3px;
                font-family: var(--ft-t1);
                border: 1px solid #ccc;
                font-size: 80%;
                padding: 3px 6px;
            }
        }
    }

    .floaterbx {
        position: absolute;
        z-index: 12;
        bottom: 0;
        left: 0;
        padding: 15px;
        padding-top: 30px;
        line-height: 1;
        font-family: var(--ft-t1);
        color: #fff;
        width: 100%;
        background-image: linear-gradient(0deg, rgba(0,0,0,.5) 30%, rgba(0,0,0,0) 100%);


        @media(width>575px){
            display: none;
        }

        .title{
            font-size: 120%;
            margin: 0 0 6px;
        }

        .labelbx {
            gap: 3px;
            
            .label-{
                border-radius: 3px;
                font-family: var(--ft-t1);
                border: 1px solid #ccc;
                font-size: 80%;
                padding: 3px 6px;
            }
        } 

    }

    @media(width<=575px){
        .listo-l,
        .listo-r{
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }
        .listo-r{
            .title,
            .labelbx{
                display: none;
            }

            .taste{
                .btn{
                    flex: 1 0 0;
                }
            }
        }
    }

    .listo-l{
        transition: .9s all cubic-bezier(0.165, 0.84, 0.44, 1);
        opacity: 1;
    }
    .listo-r{ 
        transition: .9s all .4s cubic-bezier(0.165, 0.84, 0.44, 1);
        translate: 0 0;
    }

    .categorybx:not(.inview) {
        .listo-l{ 
            opacity: 0;
        }
        .listo-r{
            opacity: 0;
            translate: 50px 0;
        }
    }
}