/* Simple and robust validation icon styling */

/* Disable Bootstrap validation background images completely */
.form-control.is-valid,
.form-control.is-invalid,
.was-validated .form-control:valid,
.was-validated .form-control:invalid,
.form-control:valid,
.form-control:invalid {
    background-image: none !important;
    padding-right: 35px !important;
}

/* Bootstrap validation styling for borders and colors */
.form-control.is-valid {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25) !important;
}

.form-control.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

/* Our custom validation icons - simplified positioning */
.validation-icon-dom {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 1001 !important;
    pointer-events: none !important;
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* Special positioning for math field and other fields with labels */
.form-group .validation-icon-dom {
    position: absolute !important;
    right: 12px !important;
    top: auto !important;
    bottom: 12px !important;
    transform: none !important;
    z-index: 1001 !important;
}

/* Ensure form containers are positioned correctly */
.form-group {
    position: relative !important;
}

.input-group,
.col-md-6,
.col-lg-6 {
    position: relative !important;
}

/* Make sure input fields have proper padding */
input[type="text"],
input[type="email"],
input[type="tel"] {
    padding-right: 35px !important;
}

/* Prevent any duplicate icons using IDs */
[id^="validation-icon-"]:not(:last-of-type) {
    display: none !important;
}

/* Ensure validation feedback text is visible */
.valid-feedback {
    color: #28a745 !important;
    font-size: 0.875rem !important;
    margin-top: 0.25rem !important;
    display: block !important;
}

.invalid-feedback {
    color: #dc3545 !important;
    font-size: 0.875rem !important;
    margin-top: 0.25rem !important;
    display: block !important;
}

/* Make sure intlTelInput doesn't interfere */
.iti {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.iti__selected-flag {
    z-index: 999 !important;
}
