.wizard {
    position:relative;
}

#wizardForm {
    position:relative;
    min-height:420px;
    overflow:hidden;
}

.wizard-step {
    position:absolute;
    width:100%;
    opacity:0;
    visibility:hidden;
    transform:translateX(40px);
    transition:.3s ease;
    top:0;
    left:0;
}

.wizard-step.active {
    position:relative;
    opacity:1;
    visibility:visible;
    transform:translateX(0);
}

#progressBar {
    transition:.35s ease;
}

.step-dot {
    width:30px;
    height:30px;
    border-radius:50%;
    background:#dee2e6;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:600;
    transition:.3s;
}

.step-dot.active {
    background:#0d6efd;
    color:white;
    transform:scale(1.15);
}

.account-check {
    display:none;
    position:absolute;
    right:15px;
    top:15px;
    font-size:1.3rem;
    color:#0d6efd;
}

.account-card.selected .account-check {
    display:block;
}

.account-card {
    border:2px solid #dee2e6;
    border-radius:16px;
    padding:25px;
    cursor:pointer;
    transition:.25s;
}

.account-card:hover,
.account-card.selected {
    border-color:#0d6efd;
    background:#f8f9ff;
    transform:translateY(-3px);
}

@media(max-width:576px){
    #wizardForm {
        min-height:500px;
    }
    card-body {
        padding:2rem !important;
    }

    .account-card {
        padding:20px;
    }
}

/* CTA pulse animation */
@keyframes ctaPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(13,110,253,.45);
    }
    70% {
        transform: scale(1.04);
        box-shadow: 0 0 0 12px rgba(13,110,253,0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(13,110,253,0);
    }
}

.btn-pulse {
    animation: ctaPulse 1.8s infinite;
}

.btn-pulse:hover,
.btn-pulse:focus {
    animation-play-state: paused;
}