/* ---------- Overlay & Drawer -------------- */
.side-cart-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.45);
    display: none; z-index: 9998;
}
.side-cart-overlay.active { display:block; }

.side-cart {
    position: fixed;
    top: 0; right: -456px;
    width: 436px;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    box-shadow: -10px 0 30px rgba(0,0,0,0.15);
    transition: right .32s cubic-bezier(.2,.9,.3,1);
    display: flex; flex-direction: column;
    padding: 0;
}
.side-cart.active { right: 0; }

/* header */
.side-cart-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: 26px 40px;
    /* border-bottom: 1px solid rgba(26,60,39,0.06); */
    background: #faf3ea;
    min-height: 124px;
}
.side-cart-title h3 {
    margin: 0;
    color: #01290F;
    font-size: 32px;
    font-weight: 500;
}
.side-cart-title .side-cart-item-count {
    color: #909593;
    font-weight: 500;
    font-size: 18px;
    margin-left: 0px;
    position: relative;
    top: -10px;
}

/* close button */
.side-cart-close {
    background: transparent;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    border: 1px solid #DFDDDA;
    border-radius: 50%;
    height: 40px;
    width: 40px;
}

/* body */
.side-cart-body {
    position: relative;
    flex:1; overflow-y:auto;
    padding: 40px 40px;
}

/* loader */
.side-cart-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display:none;
    z-index: 3;
}
.side-cart-loader .loader {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #ff7b36;
    border-radius: 50%;
    width: 40px; height: 40px;
    animation: spin 1s linear infinite;
}
@keyframes spin { 0%{ transform:rotate(0); } 100%{ transform:rotate(360deg); } }

/* content */
.side-cart-content { min-height: 80px; }
.side-cart-items-wrap { margin: 6px 0 26px; }

/* item */
.side-cart-item {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    /* padding: 18px 8px; */
    border-radius: 8px;
    margin-bottom: 18px;
    background: transparent;
}
.side-cart-item-left { max-width: 70%; }
.side-cart-item-title {
    color: #01290F;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 16px;
}
.side-cart-item-badge {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    padding: 6px 10px;
    border-radius: 14px;
    background: transparent;
    color: #01290F;
    margin-bottom: 10px;
    font-weight: 900;
    border: 1px solid #DFDDDA;
    letter-spacing: 2px;
}

/* qty controls */
.side-cart-qty {
    display:flex;
    align-items:center;
    gap: 8px;
    margin-top:8px;
}
.side-cart-qty button {
    width:36px; height:36px;
    border-radius: 20px;
    border:0px;
    background:#FDFAF5;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    color: #01290f;
}
.side-cart-qty button:hover{
    background: #ff7520;
    color: #fff;
}
.side-cart-qty .qty-input {
    width: 60px;
    height: 36px;
    border-radius: 18px;
    border: 0px solid rgba(26,60,39,0.06);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 16px;
    color: #01290f !important;
    outline: none;
    padding-left: 15px;
}
.side-cart-qty .qty-input:focus{
    outline: none;
    border: none;
    box-shadow: none;
}
.side-cart-qty button:hover svg path {
    stroke: #fff;
}
.side-cart-body .side-cart-empty{
    padding: 0;
}
/* remove icon */
.remove-item { background:transparent; border:0; margin-left:6px; cursor:pointer; }

/* price */
.side-cart-item-right {
    display: flex;
    align-items: self-end;
    justify-content: flex-end;
    min-width: 90px;
    margin-top: auto;
    padding-bottom: 12px;
}
.side-cart-item-price {
    color: #0f2a20;
    font-size: 18px;
    font-weight: 700;
}

/* footer */
.side-cart-footer {
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    padding: 40px;
    /* border-top:1px solid rgba(26,60,39,0.06); */
    background: #fff;
}
.clear-cart {
    background: transparent;
    border: 1px solid rgb(1 41 15 / 30%);
    color: #01290F;
    padding: 11.5px 24px;
    border-radius: 999px;
    font-weight:600;
    cursor:pointer;
    font-size: 18px;
}
.checkout-btn {
    background: #FF7520;
    color: #fff;
    padding: 11px 28px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    font-size: 18px;
    width: 100%;
    text-align: center;
}

/* floating icon */
#floating-cart-btn {
    position: fixed;
    right: 20px;
    bottom: 18px;
    width:62px; height:62px;
    background:#0b0b0b; color:#fff;
    border-radius: 50%;
    z-index: 10001;
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
    cursor:pointer;
	display:none;
}
#floating-cart-btn .cart-svg { opacity: .98; }
#floating-cart-btn .floating-count {
    position: absolute;
    top:8px; right:8px;
    background:#ff7b36;
    color:#fff;
    font-size:12px;
    padding:3px 7px;
    border-radius: 999px;
    font-weight:700;
}

/* empty state */
.side-cart-empty { padding:20px; color:#55635a; }



/* Cart new style added */
.side-cart-body .div-qtybtn {
    padding: 6px;
    display: flex;
    border: 1px solid #DFDDDA;
    border-radius: 30px;
    min-width: 127px;
    justify-content: space-around;
}
.side-cart-body .side-cart-summary{
    display: none;
}
.clear-cart:hover,
.clear-cart:focus,
.checkout-btn:focus,
.checkout-btn:hover{
    background: #01290f;
    color: #fff;
}
.side-cart-close:hover{
    border-color: #FF7520;
}
.remove-qeybtn button.remove-item {
    background: transparent;
}
.remove-qeybtn button.remove-item:hover{
    background: #ff7520;
}


@media screen and (max-width:576px) {
    .side-cart {
        width: 320px;
    }
    .side-cart-title h3 {
        font-size: 22px;
    }
    .side-cart-qty .qty-input {
        text-align: center;
    }   
    .side-cart-body {
        padding: 20px 20px;
    }
    .clear-cart{
        width: 100%;
    }
    .side-cart-footer{
        padding: 20px 20px 60px;
        flex-direction: column;
    }
    .side-cart-qty .qty-input {
        width: 45px;
    }
}