:root{
    --mrazen-cart-popup-bg:#ffffff;
    --mrazen-cart-popup-text:var(--mrazen-text,#1f2937);
    --mrazen-cart-popup-muted:#4b5563;
    --mrazen-cart-popup-accent:var(--mrazen-primary,#00a79d);
    --mrazen-cart-popup-button-bg:var(--mrazen-primary,#00a79d);
    --mrazen-cart-popup-button-color:#ffffff;
    --mrazen-cart-popup-close-bg:#d92535;
    --mrazen-cart-popup-radius:var(--mrazen-radius,12px);
    --mrazen-cart-popup-shadow:0 24px 70px rgba(15,23,42,.22);
}

.mrazen-cart-popup-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(15,23,42,.25);
    backdrop-filter:blur(2px);
}

.mrazen-cart-popup-box{
    position:relative;
    width:min(430px,100%);
    background:var(--mrazen-cart-popup-bg);
    color:var(--mrazen-cart-popup-text);
    border-radius:var(--mrazen-cart-popup-radius);
    box-shadow:var(--mrazen-cart-popup-shadow);
    animation:mrazenCartPopupIn .18s ease-out;
}

@keyframes mrazenCartPopupIn{
    from{transform:translateY(8px) scale(.98); opacity:0;}
    to{transform:translateY(0) scale(1); opacity:1;}
}

.mrazen-cart-popup-close{
    position:absolute;
    right:-16px;
    top:-16px;
    width:48px;
    height:48px;
    border:0;
    border-radius:4px;
    background:var(--mrazen-cart-popup-close-bg);
    color:#fff;
    font-size:38px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.mrazen-cart-popup-content{
    text-align:center;
    padding:42px 36px 34px;
}

.mrazen-cart-popup-title{
    margin:0 0 24px;
    font-size:22px;
    line-height:1.25;
    font-weight:800;
    color:var(--mrazen-cart-popup-text);
}

.mrazen-cart-popup-image{
    margin:0 auto 18px;
    min-height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mrazen-cart-popup-product-img{
    display:block;
    max-width:210px !important;
    width:auto !important;
    max-height:210px !important;
    height:auto !important;
    object-fit:contain;
    margin:0 auto !important;
}

.mrazen-cart-popup-product-title{
    font-size:16px;
    line-height:1.35;
    color:var(--mrazen-cart-popup-text);
    margin:0 auto 14px;
    max-width:320px;
}

.mrazen-cart-popup-qty{
    font-size:14px;
    color:var(--mrazen-cart-popup-muted);
    margin:0 0 8px;
}

.mrazen-cart-popup-price{
    font-size:24px;
    line-height:1.2;
    font-weight:800;
    color:var(--mrazen-cart-popup-text);
    margin:0 0 22px;
}

.mrazen-cart-popup-price del{
    opacity:.6;
    font-size:.75em;
}

.mrazen-cart-popup-price ins{
    text-decoration:none;
}

.mrazen-cart-popup-cart-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:56px;
    padding:14px 18px;
    border-radius:4px;
    background:var(--mrazen-cart-popup-button-bg);
    color:var(--mrazen-cart-popup-button-color) !important;
    font-weight:800;
    font-size:17px;
    text-decoration:none !important;
    margin:0 0 18px;
}

.mrazen-cart-popup-cart-btn:hover,
.mrazen-cart-popup-cart-btn:focus{
    filter:brightness(.96);
    color:var(--mrazen-cart-popup-button-color) !important;
}

.mrazen-cart-popup-continue{
    border:0;
    background:transparent;
    color:var(--mrazen-cart-popup-text);
    text-decoration:underline;
    font-size:16px;
    cursor:pointer;
    padding:6px 10px;
}

body.mrazen-cart-popup-open{
    overflow:hidden;
}

@media (max-width:480px){
    .mrazen-cart-popup-overlay{padding:18px; align-items:center;}
    .mrazen-cart-popup-close{right:-6px; top:-18px; width:44px; height:44px; font-size:34px;}
    .mrazen-cart-popup-content{padding:34px 22px 28px;}
    .mrazen-cart-popup-title{font-size:20px;}
    .mrazen-cart-popup-product-img{max-width:180px !important; max-height:180px !important;}
}

.mrazen-cart-popup-btn-loading{
    position:relative;
    opacity:.85;
    cursor:wait !important;
    pointer-events:none;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.mrazen-cart-popup-btn-spinner{
    width:16px;
    height:16px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:999px;
    display:inline-block;
    animation:mrazenCartBtnSpin .65s linear infinite;
    flex:0 0 auto;
}

@keyframes mrazenCartBtnSpin{
    to{transform:rotate(360deg);}
}

/* v1.2 UX polish */
.mrazen-cart-popup-overlay{
    animation:mrazenCartOverlayFade .18s ease-out both;
}
.mrazen-cart-popup-box{
    animation:mrazenCartBoxIn .18s ease-out both;
}
@keyframes mrazenCartOverlayFade{
    from{opacity:0;}
    to{opacity:1;}
}
@keyframes mrazenCartBoxIn{
    from{opacity:0; transform:scale(.96) translateY(6px);}
    to{opacity:1; transform:scale(1) translateY(0);}
}
.mrazen-cart-popup-related{
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid rgba(0,0,0,.08);
    text-align:left;
}
.mrazen-cart-popup-related-title{
    font-weight:800;
    font-size:15px;
    color:var(--mrazen-cart-popup-text);
    margin:0 0 12px;
    text-align:center;
}
.mrazen-cart-popup-related-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.mrazen-cart-popup-related-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:6px;
    padding:8px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:8px;
    text-decoration:none!important;
    color:var(--mrazen-cart-popup-text)!important;
    background:#fff;
}
.mrazen-cart-popup-related-img img{
    display:block;
    width:64px!important;
    height:64px!important;
    object-fit:contain;
    margin:0 auto!important;
}
.mrazen-cart-popup-related-name{
    font-size:12px;
    line-height:1.25;
    font-weight:700;
}
@media (max-width:480px){
    .mrazen-cart-popup-related-grid{grid-template-columns:1fr;}
    .mrazen-cart-popup-related-item{flex-direction:row;text-align:left;justify-content:flex-start;}
}
