/**
 * Enhanced validation styles for OTAVOX forms
 * Adds styling for contact form subject dropdown and improved accessibility
 */

/* Contact form subject dropdown validation styling */
.form-select.is-invalid {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

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

.form-select[aria-invalid="true"] {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

.form-select[aria-invalid="true"]:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25) !important;
}

/* Enhanced error message visibility */
.invalid-feedback {
    color: #dc3545 !important;
    font-weight: 500 !important;
    margin-top: 0.25rem !important;
}

/* Password requirements enhancement */
.password-requirements .requirement.met {
    color: #28a745 !important;
    font-weight: 600 !important;
}

.password-requirements .requirement.met::before {
    content: "✓ ";
    font-weight: bold;
    margin-right: 0.25rem;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .form-select.is-invalid,
    .form-select[aria-invalid="true"] {
        border-width: 2px !important;
        border-color: #b00020 !important;
    }
    
    .invalid-feedback {
        color: #b00020 !important;
        font-weight: 700 !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .invalid-feedback,
    .form-select.is-invalid,
    .form-select[aria-invalid="true"] {
        transition: none !important;
    }
}