#vb-exit-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 100000;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity .25s ease;
}
#vb-exit-overlay.is-visible { opacity: 1; pointer-events: auto; }

#vb-exit-modal {
    background: #fff; border-radius: 12px;
    padding: 32px 28px;
    max-width: 440px; width: calc(100% - 32px);
    box-shadow: 0 12px 48px rgba(0,0,0,.25);
    text-align: center; position: relative;
    animation: vbExitIn .3s ease;
}
@keyframes vbExitIn { from { transform: translateY(12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

#vb-exit-close {
    position: absolute; top: 12px; right: 12px;
    width: 32px; height: 32px;
    border: none; background: #f5f5f5; border-radius: 50%;
    cursor: pointer; font-size: 18px; color: #666; line-height: 1;
}
#vb-exit-close:hover { background: #1a1a1a; color: #fff; }

#vb-exit-title { font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 0 0 8px; }
#vb-exit-subtitle { font-size: 14px; color: #555; margin: 0 0 20px; line-height: 1.5; }

#vb-exit-code {
    background: #fef3f3; color: #d42535;
    font-family: 'Courier New', monospace; font-weight: 700;
    font-size: 24px; letter-spacing: 2px;
    padding: 14px 20px; border-radius: 8px;
    margin-bottom: 20px; border: 1px dashed #d42535;
}

#vb-exit-apply {
    display: block; background: #d42535; color: #fff;
    text-decoration: none; padding: 14px 24px;
    border-radius: 50px; font-weight: 700; font-size: 15px;
    margin-bottom: 12px; transition: background .15s;
}
#vb-exit-apply:hover { background: #8c1520; color: #fff; }

#vb-exit-dismiss {
    background: none; border: none; color: #888;
    cursor: pointer; font-size: 13px; padding: 8px;
    text-decoration: underline; font-family: inherit;
}
#vb-exit-dismiss:hover { color: #1a1a1a; }

/* Drawer-nudge (injiceras i #vb-mc-drawer mellan #vb-mc-shipping-bar och #vb-mc-items) */
#vb-mc-exit-nudge {
    background: #f0fdf4;
    border-top: 1px solid #bbf7d0;
    border-bottom: 1px solid #bbf7d0;
    animation: vbNudgeSlide .3s ease;
}
@keyframes vbNudgeSlide { from { max-height: 0; opacity: 0; } to { max-height: 80px; opacity: 1; } }
#vb-mc-exit-nudge a {
    display: block; padding: 14px 24px;
    color: #15803d; font-size: 13px;
    text-decoration: none; text-align: center;
    font-weight: 500;
}
#vb-mc-exit-nudge strong {
    font-family: 'Courier New', monospace; letter-spacing: 1px;
    color: #15803d;
}
#vb-mc-exit-nudge a:hover { background: #dcfce7; }

@media (max-width: 480px) {
    #vb-exit-modal { padding: 24px 20px; }
    #vb-exit-title { font-size: 19px; }
    #vb-exit-code { font-size: 20px; letter-spacing: 1px; }
}
