/* Shared validation, feedback, and processing styles for admin and customer pages. */
.sp-validation-error {
    width: 100%;
    margin-top: .35rem;
    font-size: .82rem;
    font-weight: 500;
}

.form-control.is-invalid,
.form-select.is-invalid,
.form-check-input.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .2rem rgba(220, 53, 69, .10) !important;
}

.form-control.is-valid,
.form-select.is-valid,
.form-check-input.is-valid {
    border-color: #198754;
}

form[aria-busy="true"] {
    cursor: progress;
}

form[aria-busy="true"] button,
form[aria-busy="true"] input,
form[aria-busy="true"] select,
form[aria-busy="true"] textarea {
    cursor: progress;
}

.swal2-container {
    z-index: 20000 !important;
}

.swal2-popup {
    border-radius: 16px !important;
    font-family: inherit !important;
}

.swal2-title {
    font-size: 1.45rem !important;
}

.sp-processing-popup .swal2-loader {
    width: 3.2em;
    height: 3.2em;
    border-width: .3em;
}

@media (max-width: 575.98px) {
    .swal2-popup {
        width: calc(100% - 24px) !important;
        padding: 1.25rem !important;
    }
}
