.cart-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:20px;
    align-items:start;
}

.cart-items-card,
.cart-summary-card{
    padding:22px;
}

.cart-summary-card{
    position:sticky;
    top:130px;
}

.cart-summary-card h2{
    margin-bottom:16px;
}

.cart-summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 0;
    border-bottom:1px solid var(--line,#e5e7eb);
}

.cart-summary-row:last-child{
    border-bottom:none;
}

.cart-line{
    display:grid;
    grid-template-columns:82px 1fr auto;
    gap:14px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid var(--line,#e5e7eb);
}

.cart-line:last-child{
    border-bottom:none;
}

.cart-line-image{
    width:82px;
    height:82px;
    border-radius:16px;
    background:#f8fafc;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}

.cart-line-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:8px;
}

.cart-line-info strong{
    display:block;
    line-height:1.35;
}

.cart-line-info span{
    display:block;
    color:var(--muted,#6b7280);
    font-size:13px;
    margin-top:4px;
}

.cart-line-controls{
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:10px;
}

.cart-line-controls button{
    width:32px;
    height:32px;
    border:1px solid var(--line,#e5e7eb);
    background:#fff;
    border-radius:10px;
    cursor:pointer;
    font-weight:900;
}

.cart-line-controls input{
    width:58px;
    height:32px;
    border:1px solid var(--line,#e5e7eb);
    border-radius:10px;
    text-align:center;
}

.cart-line-right{
    display:grid;
    gap:8px;
    justify-items:end;
}

.cart-line-right button{
    border:0;
    background:#fee2e2;
    color:#991b1b;
    border-radius:10px;
    padding:7px 10px;
    cursor:pointer;
    font-weight:700;
}

.cart-empty{
    text-align:center;
    padding:34px;
    color:var(--muted,#6b7280);
    font-weight:700;
}

.cart-drawer{
    position:fixed;
    right:0;
    top:0;
    width:420px;
    max-width:92vw;
    height:100vh;
    background:#fff;
    z-index:1001;
    transform:translateX(100%);
    transition:.25s ease;
    display:flex;
    flex-direction:column;
    box-shadow:-20px 0 40px rgba(15,23,42,.15);
}

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

.drawer-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.45);
    z-index:1000;
    opacity:0;
    visibility:hidden;
    transition:.25s ease;
}

body.drawer-open .drawer-backdrop{
    opacity:1;
    visibility:visible;
}

.drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px;
    border-bottom:1px solid var(--line,#e5e7eb);
}

.drawer-close{
    border:0;
    background:#f3f4f6;
    width:36px;
    height:36px;
    border-radius:12px;
    cursor:pointer;
    font-size:22px;
}

.drawer-body{
    flex:1;
    overflow:auto;
    padding:0 18px;
}

.drawer-footer{
    padding:18px;
    border-top:1px solid var(--line,#e5e7eb);
    display:grid;
    gap:10px;
}

.full-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

@media(max-width:900px){
    .cart-layout{
        grid-template-columns:1fr;
    }

    .cart-summary-card{
        position:static;
    }

    .cart-line{
        grid-template-columns:70px 1fr;
    }

    .cart-line-right{
        grid-column:2;
        justify-items:start;
    }
}

.cart-order-type{display:inline-flex!important;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px!important;font-weight:900;line-height:1.2}.cart-order-type.regular{background:#dcfce7;color:#166534!important}.cart-order-type.preorder{background:#ffedd5;color:#9a3412!important}.cart-order-type.unavailable{background:#fee2e2;color:#991b1b!important}.cart-policy-notice{margin:0 0 16px;padding:12px 14px;border-radius:14px;font-size:13px;font-weight:800;line-height:1.5}.cart-policy-notice.regular{background:#ecfdf5;color:#166534}.cart-policy-notice.preorder{background:#fff7ed;color:#9a3412}.cart-policy-notice.blocked{background:#fef2f2;color:#991b1b}[data-proceed-checkout][aria-disabled="true"]{opacity:.55;cursor:not-allowed}
