/* MB CART POPUP v1.0.1 */

:root{
    --mbcp-panel:#121411;
    --mbcp-line:rgba(255,255,255,.085);
    --mbcp-text:#f4eee6;
    --mbcp-muted:#9b9389;
    --mbcp-orange:#f79333;
}

/* Plugin actief = oude theme drawer alleen verbergen.
   Plugin uit = deze CSS bestaat niet en oude drawer komt terug. */
.mbcp-active .mb26-mini-cart{
    display:none!important;
}

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

body.mbcp-open .mb26-site-overlay{
    display:none!important;
}

.mbcp-overlay{
    position:fixed;
    inset:0;
    z-index:999990;
    background:rgba(3,4,3,.78);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.mbcp-modal{
    position:fixed;
    inset:0;
    z-index:999991;
    display:grid;
    place-items:center;
    padding:24px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
}

.mbcp-modal[aria-hidden="false"]{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.mbcp-dialog{
    width:min(780px,100%);
    max-height:min(880px,calc(100vh - 48px));
    display:flex;
    flex-direction:column;
    overflow:hidden;
    color:var(--mbcp-text);
    background:
        radial-gradient(circle at 100% 0%,rgba(247,147,51,.09),transparent 34%),
        linear-gradient(145deg,#11130f,#090b09);
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    box-shadow:0 36px 115px rgba(0,0,0,.62);
    transform:translateY(10px) scale(.985);
    transition:transform .2s ease;
}

.mbcp-modal[aria-hidden="false"] .mbcp-dialog{
    transform:none;
}

.mbcp-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:25px 26px 21px;
    border-bottom:1px solid var(--mbcp-line);
}

.mbcp-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--mbcp-orange);
    font-size:8px;
    font-weight:950;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.mbcp-head h2{
    margin:0;
    color:#fff;
    font-size:30px;
    line-height:1;
    letter-spacing:-.035em;
    font-weight:950;
}

.mbcp-close{
    width:38px;
    height:38px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    padding:0;
    color:#9a9288;
    background:#0d0f0c;
    border:1px solid var(--mbcp-line);
    border-radius:50%;
    cursor:pointer;
}

.mbcp-close:hover{
    color:#fff;
    border-color:rgba(247,147,51,.35);
}

.mbcp-icon{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
}

.mbcp-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mbcp-body{
    min-height:220px;
    overflow:auto;
    overscroll-behavior:contain;
}

.mbcp-loading{
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:var(--mbcp-muted);
    font-size:11px;
    font-weight:750;
}

.mbcp-loading>span{
    width:16px;
    height:16px;
    border:2px solid rgba(255,255,255,.10);
    border-top-color:var(--mbcp-orange);
    border-radius:50%;
    animation:mbcp-spin .7s linear infinite;
}

@keyframes mbcp-spin{
    to{transform:rotate(360deg)}
}

.mbcp-success{
    display:flex;
    align-items:center;
    gap:12px;
    margin:18px 22px 0;
    padding:13px 15px;
    background:rgba(118,145,76,.08);
    border:1px solid rgba(154,184,102,.16);
    border-left:3px solid #8eae61;
    border-radius:5px;
}

.mbcp-success>.mbcp-icon{
    width:29px;
    height:29px;
    color:#9aba6c;
}

.mbcp-success strong,
.mbcp-success small{
    display:block;
}

.mbcp-success strong{
    color:#e9eee1;
    font-size:11px;
}

.mbcp-success small{
    margin-top:2px;
    color:#7f8775;
    font-size:8.5px;
}

.mbcp-layout{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(285px,.82fr);
    gap:18px;
    padding:18px 22px 22px;
}

.mbcp-item{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:14px;
    padding:12px;
    background:#11130f;
    border:1px solid var(--mbcp-line);
    border-radius:7px;
}

.mbcp-item+.mbcp-item{
    margin-top:8px;
}

.mbcp-item.is-latest{
    border-color:rgba(247,147,51,.30);
    box-shadow:inset 3px 0 0 rgba(247,147,51,.78);
}

.mbcp-item__image{
    position:relative;
    aspect-ratio:1/1;
    overflow:hidden;
    background:#090a08;
    border-radius:5px;
}

.mbcp-item__image a{
    display:block;
    width:100%;
    height:100%;
}

.mbcp-item__image img{
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    border-radius:0!important;
}

.mbcp-item__latest{
    position:absolute;
    left:6px;
    bottom:6px;
    padding:4px 6px;
    color:#17110c;
    background:var(--mbcp-orange);
    border-radius:3px;
    font-size:6px;
    font-weight:950;
    text-transform:uppercase;
}

.mbcp-item__content{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.mbcp-item__name{
    display:block;
    color:#f2ece4!important;
    font-size:11px;
    line-height:1.35;
    font-weight:900;
    text-decoration:none!important;
}

.mbcp-item__name:hover{
    color:var(--mbcp-orange)!important;
}

.mbcp-item__meta{
    display:flex;
    flex-wrap:wrap;
    gap:4px 9px;
    margin-top:7px;
}

.mbcp-item__meta span{
    color:#8c857c;
    font-size:8px;
    line-height:1.35;
}

.mbcp-item__meta b{
    color:#b8b0a6;
}

.mbcp-item__bottom{
    margin-top:auto;
    padding-top:10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-top:1px solid rgba(255,255,255,.055);
}

.mbcp-item__bottom>span{
    color:#8d867d;
    font-size:9px;
}

.mbcp-item__bottom>strong{
    color:var(--mbcp-orange);
    font-size:11px;
    font-weight:900;
}

.mbcp-edit-cart{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:11px;
    color:#888178!important;
    font-size:8.5px;
    font-weight:800;
    text-decoration:none!important;
}

.mbcp-edit-cart:hover{
    color:#fff!important;
}

.mbcp-edit-cart .mbcp-icon svg{
    width:12px;
    height:12px;
    color:var(--mbcp-orange);
}

.mbcp-summary{
    padding:17px;
    background:linear-gradient(145deg,#171914,#11130f);
    border:1px solid var(--mbcp-line);
    border-radius:7px;
}

.mbcp-summary__title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:13px;
    border-bottom:1px solid var(--mbcp-line);
}

.mbcp-summary__title span{
    color:#6f6961;
    font-size:7px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.mbcp-summary__title strong{
    color:#dcd5cc;
    font-size:9px;
}

.mbcp-shipping{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 22px;
    align-items:center;
    gap:10px;
    margin-top:13px;
    padding:12px;
    background:#0e100d;
    border:1px solid rgba(247,147,51,.16);
    border-radius:5px;
}

.mbcp-shipping__icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    color:var(--mbcp-orange);
    background:rgba(247,147,51,.06);
    border-radius:50%;
}

.mbcp-shipping__content small,
.mbcp-shipping__content strong,
.mbcp-shipping__content span{
    display:block;
}

.mbcp-shipping__content small{
    color:#837c73;
    font-size:7px;
    font-weight:850;
}

.mbcp-shipping__content strong{
    margin-top:2px;
    color:#f1ebe3;
    font-size:11px;
}

.mbcp-shipping__content span{
    margin-top:2px;
    color:#625d56;
    font-size:7px;
    line-height:1.35;
}

.mbcp-shipping__safe{
    color:#91ac67;
}

.mbcp-totals{
    margin-top:15px;
    padding-top:14px;
    border-top:1px solid var(--mbcp-line);
}

.mbcp-totals>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
}

.mbcp-totals span{
    color:#aaa299;
    font-size:10px;
    font-weight:800;
}

.mbcp-totals strong{
    color:#fff;
    font-size:17px;
    font-weight:950;
}

.mbcp-totals>small{
    display:block;
    margin-top:8px;
    color:#625d56;
    font-size:7px;
    line-height:1.5;
}

.mbcp-checkout{
    min-height:49px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:15px;
    padding:0 15px;
    color:#17110c!important;
    background:linear-gradient(180deg,#ff9c3b,#db6e1d);
    border:1px solid rgba(255,255,255,.16);
    border-radius:5px;
    box-shadow:0 12px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.25);
    font-size:10px;
    font-weight:950;
    text-decoration:none!important;
}

.mbcp-checkout>span{
    display:flex;
    align-items:center;
    gap:7px;
}

.mbcp-checkout:hover{
    color:#17110c!important;
    background:linear-gradient(180deg,#ffad51,#ed7c25);
}

.mbcp-continue,
.mbcp-secondary{
    width:100%;
    min-height:38px;
    margin-top:7px;
    color:#9d958b;
    background:transparent;
    border:1px solid var(--mbcp-line);
    border-radius:5px;
    font-size:8.5px;
    font-weight:850;
    cursor:pointer;
}

.mbcp-continue:hover,
.mbcp-secondary:hover{
    color:#fff;
    border-color:rgba(247,147,51,.28);
}

.mbcp-trust{
    display:grid;
    gap:7px;
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid var(--mbcp-line);
}

.mbcp-trust>div{
    display:grid;
    grid-template-columns:24px 1fr;
    align-items:center;
    gap:8px;
}

.mbcp-trust>.mbcp-icon{
    color:var(--mbcp-orange);
}

.mbcp-trust strong,
.mbcp-trust small{
    display:block;
}

.mbcp-trust strong{
    color:#bdb5ac;
    font-size:7.5px;
}

.mbcp-trust small{
    margin-top:1px;
    color:#5f5a54;
    font-size:6.5px;
}

.mbcp-empty{
    min-height:300px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:35px;
    text-align:center;
}

.mbcp-empty__icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    color:var(--mbcp-orange);
    background:rgba(247,147,51,.06);
    border:1px solid rgba(247,147,51,.14);
    border-radius:50%;
}

.mbcp-empty h3{
    margin:15px 0 0;
    color:#fff;
    font-size:20px;
}

.mbcp-empty p{
    margin:6px 0 0;
    color:#716b63;
    font-size:9px;
}

.mbcp-empty .mbcp-secondary{
    width:auto;
    min-width:150px;
    padding:0 18px;
    margin-top:17px;
}

.mbcp-error{
    margin:30px;
    padding:18px;
    color:#bdb5ab;
    background:#171512;
    border:1px solid rgba(202,87,64,.22);
    border-left:3px solid #ca5740;
    border-radius:5px;
    font-size:10px;
}

.mbcp-error a{
    color:var(--mbcp-orange)!important;
}

@media(max-width:720px){

    .mbcp-modal{
        place-items:end center;
        padding:0;
    }

    .mbcp-dialog{
        width:100%;
        max-height:92dvh;
        border-left:0;
        border-right:0;
        border-bottom:0;
        border-radius:13px 13px 0 0;
        transform:translateY(24px);
    }

    .mbcp-head{
        padding:18px 17px 15px;
    }

    .mbcp-head h2{
        font-size:23px;
    }

    .mbcp-success{
        margin:12px 13px 0;
        padding:10px 11px;
    }

    .mbcp-layout{
        display:block;
        padding:12px 13px 16px;
    }

    .mbcp-item{
        grid-template-columns:74px minmax(0,1fr);
        gap:10px;
        padding:9px;
    }

    .mbcp-summary{
        margin-top:13px;
        padding:14px;
    }

    .mbcp-checkout{
        min-height:50px;
        font-size:10px;
    }

    .mbcp-trust{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px;
    }

    .mbcp-trust>div{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
    }

    .mbcp-trust small{
        display:none;
    }
}

@media(prefers-reduced-motion:reduce){
    .mbcp-modal,
    .mbcp-dialog{
        transition:none!important;
    }

    .mbcp-loading>span{
        animation:none!important;
    }
}

/* ============================================================
   v1.0.1 — HARD MODAL VISIBILITY FIX
   Theme-proof critical popup positioning/visibility.
   ============================================================ */
.mbcp-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
}

.mbcp-overlay[hidden]{
    display:none!important;
}

.mbcp-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483001!important;
    width:100vw!important;
    height:100vh!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    transform:none!important;
}

.mbcp-modal[aria-hidden="true"]{
    display:grid!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

.mbcp-modal[aria-hidden="false"]{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

.mbcp-modal .mbcp-dialog{
    position:relative!important;
    z-index:2!important;
    opacity:1!important;
    visibility:visible!important;
}


/* ============================================================
   v1.0.3 — AANTAL + VERWIJDEREN
   ============================================================ */

.mbcp-item__controls{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.mbcp-qty{
    display:grid;
    grid-template-columns:30px 34px 30px;
    align-items:center;
    min-height:32px;
    overflow:hidden;
    background:#0b0d0b;
    border:1px solid rgba(255,255,255,.10);
    border-radius:5px;
}

.mbcp-qty__btn{
    width:30px;
    height:32px;
    display:grid;
    place-items:center;
    padding:0!important;
    margin:0!important;
    color:#d8d0c6!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:500!important;
    cursor:pointer;
}

.mbcp-qty__btn:hover:not(:disabled){
    color:#17110c!important;
    background:var(--mbcp-orange)!important;
}

.mbcp-qty__btn:disabled{
    opacity:.3;
    cursor:not-allowed;
}

.mbcp-qty__value{
    min-width:34px;
    text-align:center;
    color:#fff;
    font-size:10px;
    line-height:32px;
    font-weight:900;
    border-left:1px solid rgba(255,255,255,.07);
    border-right:1px solid rgba(255,255,255,.07);
}

.mbcp-remove{
    padding:0!important;
    margin:0!important;
    color:#8b8178!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:750!important;
    text-decoration:underline;
    text-decoration-color:rgba(255,255,255,.15);
    text-underline-offset:3px;
    cursor:pointer;
}

.mbcp-remove:hover{
    color:#e57a5f!important;
    text-decoration-color:#e57a5f;
}

.mbcp-item__price{
    flex:0 0 auto;
    text-align:right;
}

.mbcp-item__price small,
.mbcp-item__price strong{
    display:block;
}

.mbcp-item__price small{
    color:#716a62;
    font-size:7px;
    line-height:1.2;
}

.mbcp-item__price strong{
    margin-top:3px;
    color:var(--mbcp-orange);
    font-size:12px;
    line-height:1.2;
    font-weight:950;
}

.mbcp-item.is-updating{
    opacity:.48;
    pointer-events:none;
}

@media(max-width:720px){
    .mbcp-item__bottom{
        align-items:flex-end;
    }

    .mbcp-item__controls{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }

    .mbcp-qty{
        grid-template-columns:31px 36px 31px;
    }

    .mbcp-remove{
        font-size:8px!important;
    }
}
