.cart-drawer-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transition:.25s;
    z-index:9998;
}

.cart-drawer-overlay.is-open{
    opacity:1;
    visibility:visible;
}

.cart-drawer{
    position:fixed;
    top:0;
    right:0;
    width:min(420px,92vw);
    height:100vh;
    background:#fff;
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .3s ease, visibility 0s linear .3s;
    z-index:9999;
    display:flex;
    flex-direction:column;
    box-shadow:-12px 0 35px rgba(0,0,0,.15);
}

.cart-drawer.is-open{
    transform:translateX(0);
    visibility:visible;
    transition:transform .3s ease;
}

.cart-drawer-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px;
    border-bottom:1px solid #eee;
}

.cart-drawer-header h2{
    margin:0;
    font-size:20px;
}

.cart-drawer-close{
    border:0;
    background:none;
    font-size:25px;
    cursor:pointer;
}

.cart-drawer-items{
    flex:1;
    overflow:auto;
    padding:16px;
}

.cart-drawer-item{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #eee;
}

.cart-drawer-item img{
    width:70px;
    height:70px;
    object-fit:cover;
    border-radius:8px;
}

.cart-drawer-item-info{
    flex:1;
}

.cart-drawer-item-info h3{
    margin:0 0 7px;
    font-size:14px;
}

.cart-drawer-item-price{
    font-size:13px;
    font-weight:700;
}

.cart-drawer-qty{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:8px;
}

.cart-drawer-qty button,
.cart-page-qty button{
    width:30px;
    height:30px;
    border:1px solid #ddd;
    background:#fff;
    border-radius:5px;
    cursor:pointer;
}

.cart-drawer-remove,
.cart-page-remove{
    border:0;
    background:none;
    color:#b42318;
    cursor:pointer;
}

.cart-drawer-footer{
    padding:18px;
    border-top:1px solid #eee;
}

.cart-drawer-total{
    display:flex;
    justify-content:space-between;
    font-weight:700;
    margin-bottom:14px;
}

.cart-drawer-actions{
    display:grid;
    gap:10px;
}

.cart-drawer-actions a{
    display:block;
    text-align:center;
    text-decoration:none;
    padding:12px;
    border-radius:8px;
}

.cart-drawer-view{
    border:1px solid #0B1F4D;
    color:#0B1F4D;
}

.cart-drawer-checkout{
    background:#F5B223;
    color:#111;
}

.cart-empty{
    text-align:center;
    padding:50px 20px;
    color:#666;
}

.cart-empty i{
    font-size:42px;
    margin-bottom:15px;
}

.cart-empty a{
    display:inline-block;
    margin-top:15px;
}

.cart-page{
    padding:45px 0;
}

.cart-page-content{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:25px;
}

.cart-page-item{
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px;
    border:1px solid #eee;
    border-radius:10px;
    margin-bottom:12px;
}

.cart-page-item img{
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:8px;
}

.cart-page-item-info{
    flex:1;
}

.cart-page-item-info h3{
    margin:0 0 8px;
}

.cart-page-qty{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
}

.cart-page-summary{
    border:1px solid #eee;
    border-radius:10px;
    padding:20px;
    height:max-content;
}

.cart-page-summary h2{
    margin-top:0;
}

.cart-page-summary>div{
    display:flex;
    justify-content:space-between;
    padding:10px 0;
    border-bottom:1px solid #eee;
}

.cart-clear,
.cart-checkout{
    width:100%;
    margin-top:12px;
    padding:12px;
    border-radius:8px;
}

.cart-clear{
    border:1px solid #ddd;
    background:#fff;
    cursor:pointer;
}

.cart-checkout{
    display:block;
    text-align:center;
    text-decoration:none;
    background:#F5B223;
    color:#111;
}

.cart-page-header{
    margin-bottom:25px;
}

@media(max-width:800px){

    .cart-page-content{
        grid-template-columns:1fr;
    }

    .cart-page-item{
        align-items:flex-start;
    }

    .cart-page-item img{
        width:70px;
        height:70px;
    }
}
.cart-drawer-total{display:flex;flex-direction:column;gap:8px;font-weight:400}.cart-drawer-total>div{display:flex;justify-content:space-between}.cart-drawer-grand{font-weight:800;font-size:18px;padding-top:8px;border-top:1px solid #e8edf4}.cart-drawer-actions{grid-template-columns:1fr 1fr;gap:8px}.cart-item-options{display:block;color:#73809a;font-size:12px;margin:4px 0}.cart-page-summary .cart-checkout{display:block;text-align:center;text-decoration:none;background:#f5b223;color:#111}.cart-page-summary .cart-clear{display:block}
@media(max-width:520px){.cart-drawer-actions{grid-template-columns:1fr 1fr}.cart-page-content{grid-template-columns:1fr}.cart-page-item{align-items:flex-start}.cart-page-item img{width:70px;height:70px}}
.cart-drawer.checkout-mode .cart-drawer-items{padding:0}.cart-checkout-wizard{min-height:100%;background:#fff;animation:smartshopCartPage .32s ease}.wizard-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid #edf0f5;position:sticky;top:0;background:#fff;z-index:2}.wizard-head button{border:0;background:#eef3fb;color:#122247;border-radius:9px;padding:7px 11px}.wizard-body{padding:18px}.wizard-body.wizard-page-next{animation:smartshopCartPage .32s ease}.wizard-loading,.wizard-error{text-align:center;padding:50px 15px;color:#71809a}.wizard-item{border:1px solid #e4e9f1;border-radius:13px;padding:14px;margin:10px 0;display:flex;flex-direction:column;gap:7px}.wizard-item small,.wizard-item em{color:#7b879b;font-style:normal}.wizard-item select{border:1px solid #dce3ee;border-radius:9px;padding:10px}.wizard-summary{margin:18px 0;padding:14px;background:#f8fafc;border-radius:12px}.wizard-summary>div{display:flex;justify-content:space-between;padding:7px 0}.wizard-payments{display:grid;gap:10px}.wizard-payments label{border:1px solid #e0e6ef;border-radius:12px;padding:14px;display:flex;gap:8px;align-items:center}.wizard-payments small{color:#7b879b;margin-inline-start:auto}.wizard-notes{display:flex;flex-direction:column;gap:7px;margin-top:18px}.wizard-notes textarea{border:1px solid #dce3ee;border-radius:10px;padding:10px}@keyframes smartshopCartPage{from{opacity:.2;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
