/* =========================================================
   RANIMOR CART
========================================================= */

.cart-drawer{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
    z-index:999999 !important;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.cart-drawer.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}


/* BACKDROP */

.cart-backdrop{
    position:absolute !important;
    inset:0 !important;

    background:rgba(28,18,18,.48);

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


/* PANEL */

.cart-panel{
    position:absolute !important;

    top:0 !important;
    right:0 !important;
    bottom:0 !important;

    width:min(470px,100%) !important;
    height:100dvh !important;

    display:flex !important;
    flex-direction:column !important;

    margin:0 !important;

    overflow:hidden !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fff8fb 48%,
            #f4f0e7 100%
        );

    border-left:1px solid rgba(122,14,44,.10);

    box-shadow:
        -30px 0 80px rgba(46,26,32,.18);

    transform:translateX(105%);

    transition:
        transform .42s cubic-bezier(.22,.8,.25,1);
}

.cart-drawer.active .cart-panel{
    transform:translateX(0) !important;
}


/* RTL */

html[dir="rtl"] .cart-panel{
    right:auto !important;
    left:0 !important;

    border-left:0;
    border-right:1px solid rgba(122,14,44,.10);

    transform:translateX(-105%);
}

html[dir="rtl"] .cart-drawer.active .cart-panel{
    transform:translateX(0) !important;
}


/* HEADER */

.cart-head{
    flex:0 0 auto;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:16px;

    padding:
        calc(22px + env(safe-area-inset-top))
        26px
        22px !important;

    border-bottom:
        1px solid rgba(122,14,44,.09);

    background:rgba(255,255,255,.94);
}

.cart-head h3{
    margin:0 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:29px !important;
    font-weight:500 !important;

    color:#2b2b2b !important;
}

.cart-head button{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;

    padding:0 !important;

    display:flex !important;
    align-items:center;
    justify-content:center;

    border:
        1px solid rgba(122,14,44,.14) !important;

    border-radius:50% !important;

    background:#fff7fb !important;
    color:#7a0e2c !important;

    font-size:26px !important;

    cursor:pointer;
}


/* ITEMS */

.cart-items{
    flex:1 1 auto !important;

    min-height:0;

    padding:24px !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;
}


/* PRODUCT */

.cart-item{
    display:grid !important;

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

    gap:18px !important;

    margin:0 0 16px !important;

    padding:15px !important;

    border:
        1px solid rgba(122,14,44,.08) !important;

    border-radius:24px !important;

    background:#fff !important;

    box-shadow:
        0 14px 34px rgba(122,14,44,.06);
}

.cart-item > img{
    width:110px !important;
    height:130px !important;

    display:block !important;

    object-fit:cover !important;

    border-radius:18px !important;

    background:#efe7dd;
}

.cart-item-info{
    min-width:0;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
}

.cart-item-info h4{
    margin:2px 0 8px !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:20px !important;
    font-weight:500 !important;

    color:#2b2b2b !important;
}

.cart-price{
    margin-bottom:12px;

    color:#7a0e2c;

    font-size:15px;
    font-weight:700;
}

.cart-size{
    display:inline-flex;

    margin-bottom:12px;

    padding:6px 10px;

    border-radius:999px;

    background:#fff7fb;

    border:
        1px solid rgba(122,14,44,.10);

    color:#7a0e2c;

    font-size:11px;
}


/* QUANTITY */

.cart-qty{
    display:inline-flex !important;
    align-items:center !important;

    margin-bottom:12px;

    overflow:hidden;

    border:
        1px solid rgba(122,14,44,.12);

    border-radius:999px;

    background:#fff;
}

.cart-qty button{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;

    padding:0 !important;

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

    display:flex !important;
    align-items:center;
    justify-content:center;

    background:#fff7fb !important;
    color:#7a0e2c !important;

    font-size:18px !important;

    cursor:pointer;
}

.cart-qty input{
    width:46px !important;
    height:36px !important;

    padding:0 !important;

    border:0 !important;
    outline:0 !important;

    text-align:center;

    background:#fff;

    color:#2b2b2b;

    font-family:'Sen',Arial,sans-serif;
}


/* REMOVE */

.cart-remove{
    width:auto !important;

    min-width:0 !important;

    padding:0 !important;

    border:0 !important;

    background:transparent !important;

    color:#8f6874 !important;

    font-size:11px !important;

    text-decoration:underline;

    cursor:pointer;
}


/* EMPTY */

.cart-empty{
    min-height:320px;

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

    margin:0 !important;
    padding:30px !important;

    text-align:center;

    color:#6f6762;
}


/* SUMMARY */

.cart-summary{
    flex:0 0 auto;

    padding:
        22px
        26px
        calc(24px + env(safe-area-inset-bottom))
        !important;

    border-top:
        1px solid rgba(122,14,44,.10);

    background:#fff;

    box-shadow:
        0 -14px 40px rgba(122,14,44,.05);
}

.cart-summary > div{
    display:flex !important;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:17px;
}

.cart-summary span{
    color:#7d756e;

    font-size:11px;

    letter-spacing:.14em;

    text-transform:uppercase;
}

.cart-summary strong{
    color:#7a0e2c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:25px;
    font-weight:500;
}

.cart-summary .btn{
    width:100% !important;

    min-height:54px;

    margin:0 !important;

    border-radius:999px;

    background:#7a0e2c !important;

    color:#fff !important;
}


/* PAGE LOCK */

body.cart-open{
    overflow:hidden !important;
}


/* HIDE WHATSAPP WHEN CART OPEN */

body.cart-open .floating-whatsapp{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}


/* MOBILE */

@media(max-width:600px){

    .cart-panel{
        width:100% !important;
    }

    .cart-head{
        padding:
            calc(16px + env(safe-area-inset-top))
            18px
            16px !important;
    }

    .cart-head h3{
        font-size:24px !important;
    }

    .cart-items{
        padding:16px !important;
    }

    .cart-item{
        grid-template-columns:
            88px
            minmax(0,1fr)
            !important;

        gap:14px !important;

        padding:12px !important;
    }

    .cart-item > img{
        width:88px !important;
        height:108px !important;
    }

    .cart-item-info h4{
        font-size:17px !important;
    }

    .cart-summary{
        padding:
            17px
            18px
            calc(
                18px +
                env(safe-area-inset-bottom)
            )
            !important;
    }
}