/* Manconic Premium Side Cart */
#mps-drawer, #mps-drawer * { box-sizing: border-box; }

.mps-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.48);
    opacity:0; visibility:hidden; transition:.25s ease; z-index:99998;
}
.mps-overlay.is-open{opacity:1; visibility:visible}

.mps-drawer{
    position:fixed; top:0; right:0; height:100vh; width:min(430px,94vw);
    background:#fff; z-index:99999; transform:translateX(105%);
    transition:transform .28s cubic-bezier(.2,.8,.2,1);
    display:flex; flex-direction:column;
    box-shadow:-12px 0 35px rgba(0,0,0,.16);
    font-family:inherit;
}
.mps-drawer.is-open{transform:translateX(0)}

.mps-head{
    min-height:78px; padding:18px 20px; border-bottom:1px solid #eee;
    display:flex; align-items:center; justify-content:space-between;
}
.mps-title{font-size:20px; font-weight:700; color:#151515}
.mps-count{font-size:12px; color:#777; margin-top:3px}
.mps-close{
    width:42px; height:42px; border:1px solid #ddd; border-radius:50%;
    background:#fff; font-size:28px; line-height:1; cursor:pointer; color:#222;
}
.mps-body{
    flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto;
    padding:16px 16px 10px; -webkit-overflow-scrolling:touch;
}
.mps-cart-item{
    display:grid; grid-template-columns:78px 1fr auto; gap:12px;
    padding:0 0 17px; margin-bottom:17px; border-bottom:1px solid #eee;
}
.mps-cart-image{display:block; width:78px; height:96px; overflow:hidden; border-radius:7px; background:#f7f7f7}
.mps-cart-image img{width:100%;height:100%;object-fit:cover;display:block}
.mps-cart-name{display:block;color:#171717;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35}
.mps-cart-meta{font-size:12px;color:#777;margin-top:4px}
.mps-cart-price{font-size:13px;font-weight:600;margin-top:6px}
.mps-cart-row{display:flex;align-items:center;gap:9px;margin-top:10px}
.mps-qty{
    display:flex;align-items:center;border:1px solid #ddd;border-radius:6px;overflow:hidden;height:31px;
}
.mps-qty-btn{
    width:30px;height:30px;border:0;background:#f8f8f8;cursor:pointer;font-size:17px;color:#222;
}
.mps-qty-number{min-width:28px;text-align:center;font-size:13px;font-weight:600}
.mps-remove{border:0;background:none;padding:0;color:#888;font-size:11px;cursor:pointer;text-decoration:underline}
.mps-line-total{font-size:13px;font-weight:700;white-space:nowrap}
.mps-section-title{
    font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
    padding:6px 0 12px;border-bottom:1px solid #eee;margin-bottom:10px;
}
.mps-reco-item{
    display:grid;grid-template-columns:58px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #f0f0f0;
}
.mps-reco-image{width:58px;height:70px;display:block;overflow:hidden;border-radius:6px;background:#f7f7f7}
.mps-reco-image img{width:100%;height:100%;object-fit:cover}
.mps-reco-name{display:block;color:#222;text-decoration:none;font-size:12px;font-weight:600;line-height:1.3}
.mps-reco-price{font-size:12px;font-weight:700;margin:5px 0}
.mps-reco-btn{
    display:inline-block;background:#111;color:#fff!important;text-decoration:none!important;
    border-radius:4px;padding:5px 9px;font-size:10px;font-weight:700;
}
.mps-footer{
    border-top:1px solid #e8e8e8;background:#fff;padding:15px 18px 18px;
}
.mps-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:12px}
.mps-subtotal strong{font-size:17px}
.mps-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mps-actions a{
    min-height:45px;display:flex;align-items:center;justify-content:center;
    border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;
}
.mps-view-cart{background:#f2f2f2;color:#222}
.mps-checkout{background:#e9322b;color:#fff}
.mps-empty{text-align:center;padding:50px 15px;color:#666;font-size:14px}
.mps-empty-icon{font-size:35px;margin-bottom:10px}
.mps-empty a{display:inline-block;margin-top:14px;background:#111;color:#fff;text-decoration:none;padding:10px 16px;border-radius:5px;font-size:12px}
.mps-loading{opacity:.55;pointer-events:none}
@media(max-width:767px){
    .mps-drawer{width:calc(100vw - 10px);max-width:420px}
    .mps-head{min-height:70px;padding:15px 16px}
    .mps-body{
    flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto;
    padding:16px 16px 10px; -webkit-overflow-scrolling:touch;
}
    .mps-footer{padding:13px 14px 15px}
    .mps-cart-item{
    display:grid; grid-template-columns:68px minmax(0,1fr) auto; gap:10px;
    width:100%; min-width:0; padding:0 0 14px; margin-bottom:14px;
    border-bottom:1px solid #eee;
}
    .mps-cart-image{width:68px;height:84px}
    .mps-cart-name{font-size:13px}
    .mps-line-total{font-size:12px}
}

/* v1.1 responsive hardening */
.mps-cart-info,.mps-reco-info{min-width:0;overflow:hidden}
.mps-cart-name,.mps-reco-name{overflow-wrap:anywhere;word-break:break-word}
.mps-cart-row{flex-wrap:wrap}
.mps-line-total{max-width:90px;overflow:hidden;text-overflow:ellipsis}
.mps-recommendations{width:100%;min-width:0}
.mps-reco-item{width:100%;min-width:0}
.mps-reco-price{white-space:normal;overflow-wrap:anywhere}
.mps-footer{flex:0 0 auto}
.mps-actions a{min-width:0}
body.mps-cart-open{overflow:hidden}
@media (min-width:768px){
    .mps-head{padding:16px 18px}
    .mps-title{font-size:19px}
    .mps-body{padding:15px 15px 8px}
    .mps-footer{padding:13px 15px 15px}
    .mps-reco-item{grid-template-columns:54px minmax(0,1fr);gap:9px;padding:8px 0}
    .mps-reco-image{width:54px;height:66px}
}
@media (max-width:767px){
    .mps-drawer{width:calc(100vw - 8px);max-width:none;height:100dvh}
    .mps-head{min-height:68px;padding:13px 14px}
    .mps-title{font-size:20px}
    .mps-body{padding:13px 12px 8px}
    .mps-footer{padding:12px 12px 14px}
    .mps-cart-item{grid-template-columns:62px minmax(0,1fr) auto;gap:9px;padding-bottom:13px;margin-bottom:13px}
    .mps-cart-image{width:62px;height:76px}
    .mps-cart-name{font-size:13px}
    .mps-cart-price{font-size:12px}
    .mps-line-total{font-size:12px;max-width:72px}
    .mps-qty{height:30px}
    .mps-qty-btn{width:28px;height:29px}
    .mps-qty-number{min-width:25px}
    .mps-remove{font-size:10px}
    .mps-section-title{font-size:12px;padding:5px 0 10px;margin-bottom:7px}
    .mps-reco-item{grid-template-columns:58px minmax(0,1fr);gap:9px;padding:8px 0}
    .mps-reco-image{width:58px;height:70px}
    .mps-reco-name{font-size:12px}
    .mps-reco-price{font-size:11px;margin:4px 0}
    .mps-reco-btn{padding:5px 8px;font-size:9px}
    .mps-subtotal{font-size:13px;margin-bottom:10px}
    .mps-subtotal strong{font-size:16px}
    .mps-actions{gap:7px}
    .mps-actions a{min-height:43px;font-size:12px}
}
/* v1.1.2 recommendation separation and spacing */
.mps-recommendation-divider{
    width:100%;
    height:1px;
    background:#dedede;
    margin:18px 0 24px;
    flex:0 0 auto;
}
.mps-recommendations{
    margin-top:0;
    padding-top:2px;
}
.mps-recommendations .mps-section-title{
    padding-top:2px;
}
@media (max-width:767px){
    .mps-recommendation-divider{
        margin:18px 0 22px;
        background:#e1e1e1;
    }
}

