/* Global Form Control Fixes */
.form-control,
select.form-control,
input.form-control,
textarea.form-control {
    height: auto !important;
    min-height: 38px !important;
    line-height: 1.5 !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    vertical-align: middle !important;
}

/* Specific fixes for select elements */
select.form-control {
    height: calc(1.5em + 0.75rem + 2px) !important;
    padding-right: 2.25rem !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;
}

/* Ensure text is fully visible */
select.form-control option {
    padding: 0.375rem 0.75rem !important;
    line-height: 1.5 !important;
    font-size: 1rem !important;
}

/* Fix for textarea elements */
textarea.form-control {
    min-height: 100px !important;
    resize: vertical !important;
    overflow-y: auto !important;
}

/* Ensure proper focus states */
.form-control:focus {
    height: auto !important;
    min-height: 38px !important;
    line-height: 1.5 !important;
    overflow: visible !important;
}

/* Fix for any custom select styling */
.custom-select {
    height: calc(1.5em + 0.75rem + 2px) !important;
    line-height: 1.5 !important;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    overflow: visible !important;
}

/* Ensure proper display in all browsers */
select,
input,
textarea {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Fix for any potential clipping issues */
.form-group {
    overflow: visible !important;
}

/* Ensure proper spacing */
.form-control + .invalid-feedback,
.form-control + .valid-feedback {
    display: block !important;
    margin-top: 0.25rem !important;
}
