input:focus,
select:focus,
textarea:focus,
.form-control:focus {
    --input-focus-border-color: #049aad;
    border: 1px solid #049aad !important;
    box-shadow: none !important;
    color: var(--black);
}

[data-color-theme="dark"] input,
[data-color-theme="dark"] select,
[data-color-theme="dark"] textarea,
[data-color-theme="dark"] .form-select,
[data-color-theme="dark"] .form-control {
    background-color: var(--color-BasicBg);
    border-color: var(--color-InputLine);
    color: var(--white) !important;
}

[data-color-theme="dark"] input:focus,
[data-color-theme="dark"] select:focus,
[data-color-theme="dark"] textarea:focus,
[data-color-theme="dark"] .form-select:focus,
[data-color-theme="dark"] .form-control:focus {
    border-color: var(--input-focus-border-color);
    background-color: var(--input-focus-bg);
    color: var(--white) !important;
}

.select2-search--dropdown {
    padding: 8px !important;
}

.select2-search--dropdown .select2-search__field {
    padding: var(--s2-search-padding-y) var(--s2-search-padding-x);
    padding-left: calc(var(--icon-font-size) + 15px) !important;
}

.select2-search--dropdown:after {
    left: calc(var(--s2-search-padding-x) + 5px) !important;
}

/* Select2 Multiple Selection Styles */
.select2-selection--multiple {
    border: 1px solid var(--border-color) !important;
    border-radius: 0.375rem;
    min-height: 38px;
    padding: 0.375rem 0.75rem;
}

.select2-selection--multiple .select2-selection__rendered {
    padding: 0 !important;
}

.select2-selection--multiple:focus {
    border-color: var(--input-focus-border-color) !important;
    box-shadow: 0 0 0 0.2rem rgba(4, 154, 173, 0.25) !important;
}

.select2-selection--multiple .select2-search__field {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.select2-selection--multiple .select2-search__field:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.select2-selection--multiple .select2-selection__choice {
    background-color: var(--teal);
    color: var(--white);
    border: 1px solid var(--teal);
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem;
    margin: 0.125rem 0.25rem 0.125rem 0;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.select2-selection--multiple .select2-selection__choice:focus,
.select2-selection--multiple .select2-selection__choice:hover {
    background-color: var(--teal);
    color: var(--s2-pills-hover-color);
    border-color: var(--teal);
}

.select2-selection--multiple .select2-selection__choice__remove {
    color: var(--white);
    font-weight: bold;
    margin-left: 0 !important;
    cursor: pointer;
    opacity: 0.8;
}

.select2-selection--multiple .select2-selection__choice__remove:hover {
    opacity: 1;
    color: var(--white);
}

/* Dark theme support for multiple selection */
[data-color-theme="dark"] .select2-selection--multiple {
    background-color: var(--input-bg);
    border-color: var(--border-color);
    color: var(--white);
}

[data-color-theme="dark"] .select2-selection--multiple:focus {
    border-color: var(--input-focus-border-color);
    background-color: var(--input-focus-bg);
}

[data-color-theme="dark"] .select2-selection--multiple .select2-search__field {
    color: var(--white) !important;
}

[data-color-theme="dark"] .select2-selection--multiple .select2-search__field::placeholder {
    color: var(--text-muted);
}
