.wizard-overlay{
    position:fixed;
    inset:0;
    z-index:var(--pz-z-modal);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px;
    background:rgba(5,7,10,.78);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
}

.wizard-overlay.is-open{
    opacity:1;
    visibility:visible;
}

.wizard-modal{
    position:relative;
    width:min(100%,620px);
    padding:56px;
    border-radius:36px;
    background:#fff;
    color:var(--pz-text);
    box-shadow:0 40px 120px rgba(0,0,0,.35);
    overflow:hidden;
}

.wizard-modal::before{
    content:"";
    position:absolute;
    right:-180px;
    top:-180px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,122,26,.20), transparent 70%);
    filter:blur(45px);
}

.wizard-close{
    position:absolute;
    top:22px;
    right:24px;
    z-index:3;
    font-size:30px;
    color:#94A3B8;
}

.wizard-header{
    position:relative;
    z-index:2;
}

.wizard-header span{
    display:block;
    color:var(--pz-primary);
    font-size:13px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.wizard-progress{
    width:100%;
    height:8px;
    margin:24px 0 14px;
    border-radius:999px;
    background:#EEF2F7;
    overflow:hidden;
}

.wizard-progress-bar{
    width:16.66%;
    height:100%;
    border-radius:999px;
    background:var(--pz-gradient-primary);
    transition:.35s ease;
}

.wizard-header small{
    color:#64748B;
    font-weight:700;
}

.wizard-body{
    position:relative;
    z-index:2;
    margin-top:42px;
    min-height:230px;
}

.wizard-question{
    font-size:36px;
    line-height:1.1;
    letter-spacing:-1.5px;
    font-weight:900;
    margin-bottom:32px;
}

.wizard-input{
    width:100%;
    height:64px;
    padding:0 22px;
    border-radius:20px;
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    font-size:18px;
    transition:.3s;
}

.wizard-input:focus{
    border-color:var(--pz-primary);
    box-shadow:0 0 0 4px rgba(255,122,26,.12);
}

.wizard-options{
    display:grid;
    gap:14px;
}

.wizard-option{
    width:100%;
    padding:20px 22px;
    border-radius:20px;
    background:#F8FAFC;
    border:1px solid #E5E7EB;
    text-align:left;
    font-weight:800;
    color:var(--pz-text);
    transition:.3s;
}

.wizard-option:hover,
.wizard-option.is-selected{
    border-color:var(--pz-primary);
    background:rgba(255,122,26,.08);
    color:var(--pz-primary);
}

.wizard-footer{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:36px;
}

.wizard-back{
    color:#64748B;
    font-weight:800;
}

.wizard-back.is-hidden{
    opacity:0;
    pointer-events:none;
}

.wizard-note{
    position:relative;
    z-index:2;
    margin-top:24px;
    color:#94A3B8;
    font-size:14px;
    text-align:center;
}

.wizard-success{
    text-align:center;
    padding:30px 0;
}

.wizard-success h3{
    font-size:42px;
    margin-bottom:18px;
}

.wizard-success p{
    color:#64748B;
    font-size:19px;
    line-height:1.7;
}

@media(max-width:640px){
    .wizard-modal{
        padding:38px 28px;
        border-radius:28px;
    }

    .wizard-question{
        font-size:28px;
    }

    .wizard-footer{
        flex-direction:column-reverse;
        align-items:stretch;
    }

    .wizard-back,
    .wizard-next{
        width:100%;
        justify-content:center;
    }
}

.wizard-submit.is-loading {
    pointer-events: none;
    opacity: 0.75;
    cursor: wait;
}

.wizard-submit.is-loading::before {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    vertical-align: -3px;
    animation: pz-spin 0.8s linear infinite;
}

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

.wizard-spinner{

    width:16px;
    height:16px;

    border:2px solid rgba(255,255,255,.4);

    border-top:2px solid #FFF;

    border-radius:50%;

    display:inline-block;

    margin-right:10px;

    animation:wizard-spin .8s linear infinite;

    vertical-align:-3px;

}

.wizard-next.is-loading{

    pointer-events:none;

    cursor:wait;

    opacity:.85;

}

@keyframes wizard-spin{

    to{

        transform:rotate(360deg);

    }

}

.wizard-success{

    text-align:center;

}

.wizard-success h3{

    margin-bottom:18px;

}

.wizard-success p{

    margin-bottom:16px;

    line-height:1.6;

    color:#5f6368;

}

.wizard-whatsapp{

    display:flex;
    animation: pulse 2s infinite;
    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    margin-top:28px;

    padding:16px 22px;

    border-radius:14px;

    background:#25D366;

    color:#FFF;

    font-size:16px;

    font-weight:700;

    text-decoration:none;

    transition:.25s;

    box-shadow:0 10px 25px rgba(37,211,102,.25);

}

.wizard-whatsapp:hover{

    background:#1ebe5a;

    transform:translateY(-2px);

    box-shadow:0 15px 35px rgba(37,211,102,.35);

}

.wizard-whatsapp:active{

    transform:translateY(0);

}