/* Two-Step Form Styles */
.step-indicators {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 30px;
}

.step-indicator {
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0.5;
    transition: all 0.3s ease;
}

.step-indicator.active {
    opacity: 1;
}

.step-indicator.completed {
    opacity: 0.8;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    color: #666;
    transition: all 0.3s ease;
}

.step-indicator.active .step-number {
    background: #007bff;
    color: white;
}

.step-indicator.completed .step-number {
    background: #28a745;
    color: white;
}

.step-title {
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.step-heading {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #007bff;
}

.prevBtn {
    background: linear-gradient(135deg, #6c757d 0%, #5a6268 100%) !important;
    padding: 14px 35px;
    border: none;
    color: white;
    cursor: pointer;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.prevBtn:hover {
    background: linear-gradient(135deg, #5a6268 0%, #495057 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(108, 117, 125, 0.4);
}

.prevBtn:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(108, 117, 125, 0.3);
}

.nextBtn {
    background: linear-gradient(135deg, #007bff 0%, #0056b3 100%) !important;
    padding: 14px 35px;
    border: none;
    color: white !important;
    cursor: pointer;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nextBtn:hover {
    background: linear-gradient(135deg, #0056b3 0%, #004085 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

.nextBtn:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(0, 123, 255, 0.3);
}

.submit-div {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.submit-div .nextBtn {
    background: linear-gradient(135deg, #28a745 0%, #1e7e34 100%) !important;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}

.submit-div .nextBtn:hover {
    background: linear-gradient(135deg, #1e7e34 0%, #155724 100%) !important;
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
}

/* Button icon animations */
.nextBtn img,
.prevBtn img {
    transition: transform 0.3s ease;
}

.nextBtn:hover img {
    transform: translateX(3px);
}

.prevBtn:hover img {
    transform: translateX(-3px);
}

@media (max-width: 768px) {
    .step-indicators {
        gap: 20px;
    }

    .step-title {
        font-size: 14px;
    }

    .step-number {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }

    .nextBtn,
    .prevBtn {
        padding: 12px 25px;
        font-size: 14px;
    }

    .d-flex.justify-content-between {
        flex-direction: column;
        gap: 15px;
    }

    .d-flex.justify-content-between .prevBtn,
    .d-flex.justify-content-between .submit-div {
        width: 100%;
        justify-content: center;
    }
}

/* Single Column Vertical Layout - All Screens */
.form-step .row > div[class*="col-"] {
flex: 0 0 100%;
max-width: 100%;
}

.form-step .col-md-6,
.form-step .col-md-12 {
flex: 0 0 100% !important;
max-width: 100% !important;
}

/* Button Container Alignment */
.col-md-12.text-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.col-md-12.mt-3 .d-flex {
    width: 100%;
}

.submit-div {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Fix button text alignment */
.nextBtn, .prevBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
