/* ==========================================================================
   NINO SEPO
   Elementor / WooCommerce Side Cart
   ========================================================================== */


/* --------------------------------------------------------------------------
   Overlay
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__container{
    background:
        rgba(17,17,17,.32) !important;

    backdrop-filter:
        blur(2px);

    -webkit-backdrop-filter:
        blur(2px);
}


/* --------------------------------------------------------------------------
   Drawer
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__main{
    width:
        clamp(380px,28vw,480px) !important;

    max-width:
        100% !important;

    padding:
        34px
        28px
        28px !important;

    background:
        #fff !important;

    color:
        #111 !important;

    box-shadow:
        -18px
        0
        46px
        rgba(0,0,0,.08) !important;
}


/* --------------------------------------------------------------------------
   Close button
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button{
    position:relative;

    width:30px !important;
    height:30px !important;

    margin:
        0
        0
        28px
        auto !important;

    border:0 !important;
    border-radius:0 !important;

    background:
        transparent !important;

    cursor:pointer;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button::before,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button::after{
    content:"";

    position:absolute;

    top:50%;
    left:50%;

    width:24px !important;
    height:1px !important;

    margin:0 !important;

    background:
        rgba(17,17,17,.72) !important;

    transition:
        background 180ms ease,
        transform 180ms ease;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button::before{
    transform:
        translate(-50%,-50%)
        rotate(45deg) !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button::after{
    transform:
        translate(-50%,-50%)
        rotate(-45deg) !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button:hover::before,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__close-button:hover::after{
    background:
        #111 !important;
}


/* --------------------------------------------------------------------------
   Cart content
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.widget_shopping_cart_content{
    display:flex;

    flex-direction:column;

    width:100%;
    height:100%;
}


/* --------------------------------------------------------------------------
   Product list
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__products{
    width:100%;

    max-height:
        calc(100vh - 260px);

    margin:0 !important;
    padding:0 !important;

    overflow-x:hidden;
    overflow-y:auto;

    scrollbar-width:thin;

    scrollbar-color:
        rgba(17,17,17,.22)
        transparent;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__products::-webkit-scrollbar{
    width:4px;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__products::-webkit-scrollbar-track{
    background:
        transparent;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__products::-webkit-scrollbar-thumb{
    background:
        rgba(17,17,17,.22);
}


/* --------------------------------------------------------------------------
   Individual product
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product{
    display:grid !important;

    grid-template-columns:
        78px
        minmax(0,1fr)
        28px !important;

    grid-template-areas:
        "image name remove"
        "image price remove" !important;

    column-gap:18px !important;
    row-gap:8px !important;

    align-items:start !important;

    width:100%;

    margin:0 !important;

    padding:
        20px
        0 !important;

    border:0 !important;

    border-bottom:
        1px
        solid
        rgba(17,17,17,.13) !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product:first-child{
    padding-top:0 !important;
}


/* --------------------------------------------------------------------------
   Product image
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-image{
    grid-area:image !important;

    width:78px !important;
    height:78px !important;

    margin:0 !important;
    padding:0 !important;

    overflow:hidden;

    background:
        #f5f5f5;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-image a{
    display:block;

    width:100%;
    height:100%;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-image img{
    display:block;

    width:100% !important;
    height:100% !important;

    margin:0 !important;

    object-fit:cover;
    object-position:center;

    border:0 !important;
    border-radius:0 !important;

    box-shadow:none !important;
}


/* --------------------------------------------------------------------------
   Product name
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-name{
    grid-area:name !important;

    align-self:end;

    min-width:0;

    margin:0 !important;
    padding:0 !important;

    color:#111 !important;

    font-family:inherit;
    font-size:13px !important;
    font-weight:400 !important;
    line-height:1.45 !important;

    letter-spacing:-.01em;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-name a{
    color:#111 !important;

    font:inherit !important;

    text-decoration:none !important;

    transition:
        opacity 180ms ease;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-name a:hover{
    opacity:.58;
}


/* --------------------------------------------------------------------------
   Quantity and price
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-price{
    grid-area:price !important;

    align-self:start;

    margin:0 !important;
    padding:0 !important;

    color:
        rgba(17,17,17,.48) !important;

    font-family:inherit;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.35 !important;

    letter-spacing:0;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-price
.quantity,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-price
.amount,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-price
.woocommerce-Price-amount,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-price
.woocommerce-Price-currencySymbol{
    color:inherit !important;

    font-family:inherit !important;
    font-size:inherit !important;
    font-weight:400 !important;
    line-height:inherit !important;
}


/* --------------------------------------------------------------------------
   Remove button
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove{
    grid-area:remove !important;

    align-self:center;
    justify-self:end;

    width:24px !important;
    height:24px !important;

    margin:0 !important;
    padding:0 !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a{
    position:relative;

    display:block !important;

    width:24px !important;
    height:24px !important;

    margin:0 !important;
    padding:0 !important;

    border:
        1px
        solid
        rgba(17,17,17,.18) !important;

    border-radius:50% !important;

    background:
        transparent !important;

    color:
        transparent !important;

    font-size:0 !important;

    transition:
        border-color 180ms ease,
        background 180ms ease;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a + a{
    display:none !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a::before,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a::after{
    content:"";

    position:absolute;

    top:50%;
    left:50%;

    width:9px;
    height:1px;

    background:
        rgba(17,17,17,.48);
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a::before{
    transform:
        translate(-50%,-50%)
        rotate(45deg);
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a::after{
    transform:
        translate(-50%,-50%)
        rotate(-45deg);
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a:hover{
    border-color:
        #111 !important;

    background:
        #111 !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a:hover::before,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__product-remove a:hover::after{
    background:
        #fff;
}


/* --------------------------------------------------------------------------
   Subtotal
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__subtotal{
    display:flex;

    align-items:baseline;
    justify-content:space-between;

    gap:24px;

    width:100%;

    margin:0 !important;

    padding:
        28px
        0 !important;

    border:0 !important;

    border-bottom:
        1px
        solid
        rgba(17,17,17,.13) !important;

    color:#111 !important;

    font-family:inherit;
    font-size:12px !important;
    line-height:1.2 !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__subtotal strong{
    color:
        rgba(17,17,17,.58);

    font-family:inherit;
    font-size:10px;
    font-weight:500;
    line-height:1;

    letter-spacing:.13em;
    text-transform:uppercase;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__subtotal
.amount,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__subtotal
.woocommerce-Price-amount,
.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__subtotal
.woocommerce-Price-currencySymbol{
    color:#111 !important;

    font-family:inherit !important;
    font-size:20px !important;
    font-weight:400 !important;
    line-height:1 !important;

    letter-spacing:-.025em;
}


/* --------------------------------------------------------------------------
   Footer buttons
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons{
    display:grid !important;

    grid-template-columns:
        1fr
        1fr !important;

    gap:10px !important;

    width:100%;

    margin:0 !important;

    padding:
        20px
        0
        0 !important;

    border:0 !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons
.elementor-button{
    display:inline-flex !important;

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

    width:100% !important;
    min-height:50px;

    margin:0 !important;

    padding:
        14px
        18px !important;

    border:
        1px
        solid
        #111 !important;

    border-radius:0 !important;

    font-family:inherit !important;
    font-size:10px !important;
    font-weight:500 !important;
    line-height:1 !important;

    letter-spacing:.12em;
    text-transform:uppercase;

    text-decoration:none !important;

    box-shadow:none !important;

    transition:
        background 180ms ease,
        color 180ms ease !important;
}


/* View cart */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons
.elementor-button--view-cart{
    background:
        #fff !important;

    color:
        #111 !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons
.elementor-button--view-cart:hover{
    background:
        #f4f4f4 !important;
}


/* Checkout */

.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons
.elementor-button--checkout{
    background:
        #111 !important;

    color:
        #fff !important;
}


.elementor-widget-woocommerce-menu-cart
.elementor-menu-cart__footer-buttons
.elementor-button--checkout:hover{
    background:
        #333 !important;
}


/* --------------------------------------------------------------------------
   Empty cart
   -------------------------------------------------------------------------- */

.elementor-widget-woocommerce-menu-cart
.woocommerce-mini-cart__empty-message{
    margin:0 !important;

    padding:
        40px
        0 !important;

    color:
        rgba(17,17,17,.62);

    font-family:inherit;
    font-size:13px;
    font-weight:400;
    line-height:1.6;

    text-align:center;
}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width:767px){

    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__main{
        width:100% !important;

        padding:
            24px
            20px
            22px !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__close-button{
        margin-bottom:
            20px !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__products{
        max-height:
            calc(100vh - 245px);
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__product{
        grid-template-columns:
            68px
            minmax(0,1fr)
            26px !important;

        column-gap:
            14px !important;

        padding:
            17px
            0 !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__product-image{
        width:68px !important;
        height:68px !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__product-name{
        font-size:
            12px !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__subtotal{
        padding:
            23px
            0 !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__subtotal
    .amount,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__subtotal
    .woocommerce-Price-amount,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__subtotal
    .woocommerce-Price-currencySymbol{
        font-size:
            18px !important;
    }


    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__footer-buttons{
        padding-top:
            16px !important;
    }

}


/* ==========================================================================
   Very small mobile
   ========================================================================== */

@media (max-width:420px){

    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__footer-buttons{
        grid-template-columns:
            1fr !important;
    }

}


/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion:reduce){

    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__close-button::before,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__close-button::after,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__product-name a,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__product-remove a,
    .elementor-widget-woocommerce-menu-cart
    .elementor-menu-cart__footer-buttons
    .elementor-button{
        transition:none !important;
    }

}