#znbaq-popups-root,
#znbaq-popups-root *{
    box-sizing:border-box;
}

#znbaq-popups-root{
    direction:rtl;
    position:fixed;
    inset:0;
    z-index:999999;
    font-family:inherit;
}

#znbaq-popups-root[hidden]{
    display:none !important;
}

#znbaq-popups-root .zpop-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(2px);
}

#znbaq-popups-root .zpop-modal{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:min(96vw,1050px);
    max-height:92vh;
    overflow:auto;
    background:#fff;
    border-radius:34px;
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    padding:28px 34px 30px;
    color:#2d2431;
}

#znbaq-popups-root .zpop-close{
    position:absolute;
    top:20px;
    left:20px;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#f2edf3;
    color:#5d5564;
    font-size:34px;
    line-height:1;
    cursor:pointer;
}

#znbaq-popups-root .zpop-main-header,
#znbaq-popups-root .zpop-inner-header{
    text-align:center;
    margin:6px auto 26px;
    max-width:760px;
}

#znbaq-popups-root .zpop-kicker{
    display:block;
    color:#7a368d;
    font-size:18px;
    font-weight:600;
    margin-bottom:8px;
}

#znbaq-popups-root .zpop-main-title,
#znbaq-popups-root .zpop-inner-title{
    margin:0 0 8px;
    color:#2f2436;
    font-size:32px;
    line-height:1.25;
    font-weight:800;
}

#znbaq-popups-root .zpop-main-subtitle,
#znbaq-popups-root .zpop-inner-subtitle{
    margin:0;
    color:#847b87;
    font-size:15px;
    line-height:1.8;
}

#znbaq-popups-root .zpop-guest-card{
    background:#fbf6fb;
    border:2px solid #8b3a96;
    border-radius:28px;
    padding:34px 28px 22px;
    text-align:center;
    margin-bottom:18px;
}

#znbaq-popups-root .zpop-card-title{
    margin:0 0 8px;
    color:#7c2f88;
    font-size:28px;
    font-weight:800;
    line-height:1.3;
}

#znbaq-popups-root .zpop-card-subtitle{
    margin:0 0 20px;
    color:#8a808e;
    font-size:14px;
    line-height:1.8;
}

#znbaq-popups-root .zpop-card-helper{
    margin:14px 0 0;
    color:#938993;
    font-size:13px;
    line-height:1.8;
}

#znbaq-popups-root .zpop-primary,
#znbaq-popups-root .zpop-secondary{
    appearance:none;
    border-radius:18px;
    min-height:62px;
    padding:14px 24px;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    transition:.15s ease;
}

#znbaq-popups-root .zpop-primary{
    width:100%;
    border:1px solid #8a3797;
    background:#8a3797;
    color:#fff;
}

#znbaq-popups-root .zpop-primary:hover{
    filter:brightness(.96);
}

#znbaq-popups-root .zpop-secondary{
    width:100%;
    border:1.5px solid #8a3797;
    background:#fff;
    color:#7f318d;
}

#znbaq-popups-root .zpop-separator{
    height:1px;
    background:#ece5ee;
    margin:18px 0;
}

#znbaq-popups-root .zpop-login-preview{
    text-align:center;
    max-width:760px;
    margin:0 auto;
}

#znbaq-popups-root .zpop-preview-title{
    margin:0 0 6px;
    color:#43384a;
    font-size:20px;
    font-weight:800;
}

#znbaq-popups-root .zpop-preview-subtitle{
    margin:0 0 16px;
    color:#8a808d;
    font-size:14px;
}

#znbaq-popups-root .zpop-account-view[hidden]{
    display:none !important;
}

#znbaq-popups-root .zpop-back{
    appearance:none;
    border:0;
    background:none;
    color:#8a3797;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    padding:0;
    margin:6px 0 10px auto;
    display:block;
}

#znbaq-popups-root .zpop-form{
    max-width:980px;
    margin:0 auto;
}

#znbaq-popups-root .zpop-field{
    position:relative;
    margin-bottom:18px;
    text-align:right;
}

#znbaq-popups-root .zpop-label{
    display:block;
    margin:0 0 8px;
    color:#4a404e;
    font-size:15px;
    font-weight:700;
}

#znbaq-popups-root .zpop-input{
    width:100%;
    height:54px;
    padding:0 16px;
    border:1px solid #ddd4df;
    border-radius:14px;
    outline:none;
    background:#fff;
    font-size:15px;
    color:#2f2436;
}

#znbaq-popups-root .zpop-input:focus{
    border-color:#8a3797;
    box-shadow:0 0 0 3px rgba(138,55,151,.08);
}

#znbaq-popups-root .zpop-field-password .zpop-input{
    padding-left:110px;
}

#znbaq-popups-root .zpop-password-toggle{
    position:absolute;
    left:8px;
    bottom:8px;
    height:38px;
    min-width:90px;
    padding:0 14px;
    border:1px solid #8a3797;
    background:#fff;
    color:#7e2f8b;
    border-radius:12px;
    cursor:pointer;
    font-size:14px;
    font-weight:700;
}

#znbaq-popups-root .zpop-form-message{
    min-height:24px;
    margin:6px 0 12px;
    font-size:14px;
    line-height:1.6;
    color:#c62828;
    text-align:center;
}

#znbaq-popups-root .zpop-form-message.is-success{
    color:#2e7d32;
}

#znbaq-popups-root .zpop-link{
    appearance:none;
    border:0;
    background:none;
    color:#8a3797;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
    margin:12px auto 0;
    display:block;
}

#znbaq-popups-root .zpop-cart{
    width:min(92vw,520px);
}

#znbaq-popups-root .zpop-cart-header{
    padding-top:10px;
    margin-bottom:16px;
    border-bottom:1px solid #ece5ee;
}

#znbaq-popups-root .zpop-cart-header h2{
    margin:0 0 14px;
    font-size:26px;
    font-weight:800;
    text-align:right;
}

#znbaq-popups-root .zpop-dev-placeholder{
    border:1px dashed #d8cadb;
    background:#fbf8fb;
    border-radius:18px;
    padding:40px 18px;
    text-align:center;
    color:#7f7483;
}

#znbaq-popups-root .zpop-dev-placeholder strong{
    display:block;
    margin-bottom:8px;
    color:#514559;
    font-size:20px;
}

#znbaq-popups-root .zpop-cart-total{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:18px 0;
    font-size:20px;
    font-weight:700;
}

#znbaq-popups-root .zpop-cart-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

@media (max-width: 767px){
    #znbaq-popups-root .zpop-modal{
        width:min(96vw,96vw);
        border-radius:26px;
        padding:22px 18px 22px;
    }

    #znbaq-popups-root .zpop-close{
        top:14px;
        left:14px;
        width:42px;
        height:42px;
        font-size:30px;
    }

    #znbaq-popups-root .zpop-main-title,
    #znbaq-popups-root .zpop-inner-title{
        font-size:24px;
    }

    #znbaq-popups-root .zpop-card-title{
        font-size:22px;
    }

    #znbaq-popups-root .zpop-primary,
    #znbaq-popups-root .zpop-secondary{
        min-height:56px;
        font-size:17px;
    }

    #znbaq-popups-root .zpop-cart-actions{
        grid-template-columns:1fr;
    }

    #znbaq-popups-root .zpop-password-toggle{
        min-width:78px;
        font-size:13px;
    }
}


/* ==========================================================
   TEST MODE - SHOW ONLY REQUESTED POPUP
========================================================== */

#znbaq-popups-root[data-test-target="account"] {
    display: block !important;
}

#znbaq-popups-root[data-test-target="account"] .zpop-account {
    display: block !important;
}

#znbaq-popups-root[data-test-target="account"] .zpop-cart {
    display: none !important;
}


#znbaq-popups-root[data-test-target="cart"] {
    display: block !important;
}

#znbaq-popups-root[data-test-target="cart"] .zpop-cart {
    display: block !important;
}

#znbaq-popups-root[data-test-target="cart"] .zpop-account {
    display: none !important;
}


/* ==========================================================
   ACCOUNT POPUP - FINAL COMPACT POLISH
========================================================== */

#znbaq-popups-root .zpop-account {
    width: min(94vw, 900px);
    padding: 24px 32px 28px;
    border-radius: 28px;
}

#znbaq-popups-root .zpop-main-header {
    margin: 2px auto 22px;
}

#znbaq-popups-root .zpop-kicker {
    margin-bottom: 5px;
    font-size: 16px;
    line-height: 1.4;
}

#znbaq-popups-root .zpop-main-title {
    margin-bottom: 6px;
    font-size: 30px;
    line-height: 1.35;
}

#znbaq-popups-root .zpop-main-subtitle {
    font-size: 14px;
    line-height: 1.6;
}


/* Guest */

#znbaq-popups-root .zpop-guest-card {
    margin-bottom: 16px;
    padding: 24px 26px 18px;
    border-width: 1.5px;
    border-radius: 22px;
}

#znbaq-popups-root .zpop-card-title {
    margin-bottom: 5px;
    font-size: 24px;
}

#znbaq-popups-root .zpop-card-subtitle {
    margin-bottom: 16px;
    font-size: 13px;
}

#znbaq-popups-root .zpop-guest-card .zpop-primary {
    min-height: 54px;
    border-radius: 13px;
    font-size: 17px;
}

#znbaq-popups-root .zpop-card-helper {
    margin-top: 11px;
    font-size: 12.5px;
}


/* Separator */

#znbaq-popups-root .zpop-separator {
    margin: 15px 0 16px;
}


/* Login preview */

#znbaq-popups-root .zpop-login-preview {
    max-width: 720px;
}

#znbaq-popups-root .zpop-preview-title {
    margin-bottom: 3px;
    font-size: 18px;
}

#znbaq-popups-root .zpop-preview-subtitle {
    margin-bottom: 12px;
    font-size: 13px;
}

#znbaq-popups-root .zpop-login-preview .zpop-secondary {
    min-height: 52px;
    border-radius: 13px;
    font-size: 16px;
}


/* Close */

#znbaq-popups-root .zpop-account .zpop-close {
    top: 18px;
    left: 18px;
    width: 42px;
    height: 42px;
    font-size: 28px;
}


/* Login / Forgot inner screens */

#znbaq-popups-root .zpop-account .zpop-inner-header {
    max-width: 650px;
    margin: 4px auto 22px;
}

#znbaq-popups-root .zpop-account .zpop-inner-title {
    font-size: 27px;
}

#znbaq-popups-root .zpop-account .zpop-inner-subtitle {
    font-size: 14px;
}

#znbaq-popups-root .zpop-account .zpop-form {
    max-width: 700px;
}

#znbaq-popups-root .zpop-account .zpop-input {
    height: 50px;
    border-radius: 12px;
}

#znbaq-popups-root .zpop-account .zpop-primary.zpop-full {
    min-height: 52px;
    border-radius: 13px;
}

#znbaq-popups-root .zpop-account .zpop-back {
    margin-top: 4px;
    font-size: 15px;
}


/* Mobile */

@media (max-width: 767px) {

    #znbaq-popups-root .zpop-account {
        width: calc(100vw - 24px);
        padding: 22px 16px 20px;
        border-radius: 22px;
    }

    #znbaq-popups-root .zpop-main-header {
        padding: 0 30px;
        margin-bottom: 17px;
    }

    #znbaq-popups-root .zpop-kicker {
        font-size: 14px;
    }

    #znbaq-popups-root .zpop-main-title {
        font-size: 24px;
    }

    #znbaq-popups-root .zpop-main-subtitle {
        font-size: 13px;
    }

    #znbaq-popups-root .zpop-guest-card {
        padding: 20px 15px 15px;
        border-radius: 18px;
    }

    #znbaq-popups-root .zpop-card-title {
        font-size: 21px;
    }

    #znbaq-popups-root .zpop-guest-card .zpop-primary,
    #znbaq-popups-root .zpop-login-preview .zpop-secondary {
        min-height: 50px;
        font-size: 16px;
    }

    #znbaq-popups-root .zpop-preview-title {
        font-size: 17px;
    }

    #znbaq-popups-root .zpop-account .zpop-close {
        top: 12px;
        left: 12px;
        width: 38px;
        height: 38px;
        font-size: 25px;
    }
}


/* ==========================================================
   ALL POPUPS - COMPACT + ALWAYS CENTERED
========================================================== */

#znbaq-popups-root {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
}


/*
 * Every popup stays exactly in viewport center.
 */
#znbaq-popups-root .zpop-modal {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;

    transform: translate(-50%, -50%) !important;

    margin: 0 !important;

    max-height: calc(100vh - 50px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}


/* Account popup */

#znbaq-popups-root .zpop-account {
    width: min(92vw, 720px) !important;

    padding: 22px 26px 24px !important;

    border-radius: 24px !important;
}


/* Header */

#znbaq-popups-root .zpop-main-header {
    margin: 0 auto 16px !important;
}

#znbaq-popups-root .zpop-kicker {
    margin-bottom: 3px !important;

    font-size: 14px !important;
}

#znbaq-popups-root .zpop-main-title {
    margin-bottom: 4px !important;

    font-size: 25px !important;
}

#znbaq-popups-root .zpop-main-subtitle {
    font-size: 13px !important;
}


/* Guest block */

#znbaq-popups-root .zpop-guest-card {
    padding: 18px 20px 14px !important;

    margin-bottom: 12px !important;

    border-radius: 18px !important;
}

#znbaq-popups-root .zpop-card-title {
    margin-bottom: 3px !important;

    font-size: 21px !important;
}

#znbaq-popups-root .zpop-card-subtitle {
    margin-bottom: 12px !important;

    font-size: 12.5px !important;
}

#znbaq-popups-root .zpop-guest-card .zpop-primary {
    min-height: 48px !important;

    padding: 8px 18px !important;

    border-radius: 11px !important;

    font-size: 16px !important;
}

#znbaq-popups-root .zpop-card-helper {
    margin-top: 8px !important;

    font-size: 12px !important;
}


/* Separator */

#znbaq-popups-root .zpop-separator {
    margin: 11px 0 !important;
}


/* Existing account */

#znbaq-popups-root .zpop-preview-title {
    margin-bottom: 2px !important;

    font-size: 16px !important;
}

#znbaq-popups-root .zpop-preview-subtitle {
    margin-bottom: 9px !important;

    font-size: 12.5px !important;
}

#znbaq-popups-root .zpop-login-preview .zpop-secondary {
    min-height: 46px !important;

    padding: 8px 18px !important;

    border-radius: 11px !important;

    font-size: 15px !important;
}


/* Close */

#znbaq-popups-root .zpop-account .zpop-close,
#znbaq-popups-root .zpop-cart .zpop-close {
    top: 14px !important;
    left: 14px !important;

    width: 38px !important;
    height: 38px !important;

    font-size: 25px !important;
}


/* Login + Forgot */

#znbaq-popups-root .zpop-account .zpop-inner-header {
    margin: 0 auto 17px !important;

    max-width: 580px !important;
}

#znbaq-popups-root .zpop-account .zpop-inner-title {
    font-size: 24px !important;
}

#znbaq-popups-root .zpop-account .zpop-inner-subtitle {
    font-size: 13px !important;
}

#znbaq-popups-root .zpop-account .zpop-form {
    max-width: 580px !important;
}

#znbaq-popups-root .zpop-account .zpop-field {
    margin-bottom: 12px !important;
}

#znbaq-popups-root .zpop-account .zpop-input {
    height: 46px !important;

    border-radius: 10px !important;
}

#znbaq-popups-root .zpop-account .zpop-primary.zpop-full {
    min-height: 47px !important;

    border-radius: 11px !important;

    font-size: 15px !important;
}


/* Mini cart should also remain centered and compact */

#znbaq-popups-root .zpop-cart {
    width: min(92vw, 480px) !important;

    padding: 22px 24px !important;

    border-radius: 24px !important;
}


/* Mobile */

@media (max-width: 767px) {

    #znbaq-popups-root .zpop-modal {
        max-height: calc(100vh - 24px) !important;
    }

    #znbaq-popups-root .zpop-account {
        width: calc(100vw - 24px) !important;

        padding: 20px 15px 18px !important;

        border-radius: 20px !important;
    }

    #znbaq-popups-root .zpop-main-header {
        padding: 0 28px !important;

        margin-bottom: 14px !important;
    }

    #znbaq-popups-root .zpop-main-title {
        font-size: 22px !important;
    }

    #znbaq-popups-root .zpop-guest-card {
        padding: 16px 14px 13px !important;
    }

    #znbaq-popups-root .zpop-card-title {
        font-size: 19px !important;
    }

    #znbaq-popups-root .zpop-cart {
        width: calc(100vw - 24px) !important;
    }
}


/* ==========================================================
   ACCOUNT POPUP - EXTRA COMPACT
========================================================== */

#znbaq-popups-root .zpop-account {
    width: min(92vw, 560px) !important;
    padding: 18px 20px 20px !important;
    border-radius: 20px !important;
}


/* Main heading */

#znbaq-popups-root .zpop-main-header {
    margin: 0 auto 12px !important;
}

#znbaq-popups-root .zpop-kicker {
    margin-bottom: 2px !important;
    font-size: 12px !important;
}

#znbaq-popups-root .zpop-main-title {
    margin: 0 0 3px !important;
    font-size: 21px !important;
    line-height: 1.3 !important;
}

#znbaq-popups-root .zpop-main-subtitle {
    font-size: 11.5px !important;
}


/* Guest card */

#znbaq-popups-root .zpop-guest-card {
    padding: 14px 16px 12px !important;
    margin-bottom: 9px !important;
    border-radius: 15px !important;
}

#znbaq-popups-root .zpop-card-title {
    margin-bottom: 2px !important;
    font-size: 18px !important;
}

#znbaq-popups-root .zpop-card-subtitle {
    margin-bottom: 9px !important;
    font-size: 11px !important;
}

#znbaq-popups-root .zpop-guest-card .zpop-primary {
    min-height: 42px !important;
    padding: 6px 14px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
}

#znbaq-popups-root .zpop-card-helper {
    margin-top: 6px !important;
    font-size: 10.5px !important;
}


/* separator */

#znbaq-popups-root .zpop-separator {
    margin: 8px 0 9px !important;
}


/* login preview */

#znbaq-popups-root .zpop-login-preview {
    max-width: 500px !important;
}

#znbaq-popups-root .zpop-preview-title {
    margin-bottom: 1px !important;
    font-size: 14px !important;
}

#znbaq-popups-root .zpop-preview-subtitle {
    margin-bottom: 7px !important;
    font-size: 11px !important;
}

#znbaq-popups-root .zpop-login-preview .zpop-secondary {
    min-height: 40px !important;
    padding: 6px 12px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
}


/* Close */

#znbaq-popups-root .zpop-account .zpop-close {
    top: 11px !important;
    left: 11px !important;

    width: 32px !important;
    height: 32px !important;

    font-size: 21px !important;
}


/* Login / Forgot screens */

#znbaq-popups-root .zpop-account .zpop-inner-header {
    margin: 0 auto 13px !important;
    max-width: 480px !important;
}

#znbaq-popups-root .zpop-account .zpop-inner-title {
    font-size: 20px !important;
}

#znbaq-popups-root .zpop-account .zpop-inner-subtitle {
    font-size: 11.5px !important;
}

#znbaq-popups-root .zpop-account .zpop-form {
    max-width: 480px !important;
}

#znbaq-popups-root .zpop-account .zpop-field {
    margin-bottom: 9px !important;
}

#znbaq-popups-root .zpop-account .zpop-label {
    margin-bottom: 4px !important;
    font-size: 12px !important;
}

#znbaq-popups-root .zpop-account .zpop-input {
    height: 40px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
}

#znbaq-popups-root .zpop-account .zpop-primary.zpop-full {
    min-height: 41px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
}

#znbaq-popups-root .zpop-account .zpop-link,
#znbaq-popups-root .zpop-account .zpop-back {
    font-size: 12px !important;
}


/* Keep popup exactly centered */

#znbaq-popups-root .zpop-account {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;

    right: auto !important;
    bottom: auto !important;

    transform: translate(-50%, -50%) !important;

    margin: 0 !important;
}


/* Mobile */

@media (max-width: 767px) {

    #znbaq-popups-root .zpop-account {
        width: calc(100vw - 28px) !important;
        max-width: 520px !important;

        padding: 17px 14px 17px !important;

        border-radius: 18px !important;
    }

    #znbaq-popups-root .zpop-main-title {
        font-size: 20px !important;
    }

    #znbaq-popups-root .zpop-guest-card {
        padding: 13px 12px 11px !important;
    }
}
