/* ========================================
   Select2 Override - SPC Design System
   Dark theme only. Use !important to override root/select2/select2.css
   Reference: assets/site/root/select2/select2.css
   Supports both v3 (.select2-choice, .select2-drop) and v4 APIs
   ======================================== */

/* ---- Select2 v3: Single select trigger ---- */
.select2-container{
    padding: 0 !important;
    width: 100% !important;
    border: none !important;
}
.select2-container .select2-choice {
    display: block !important;
    height: 40px !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    background-color: var(--bg-tertiary, #18181b) !important;
    background-image: none !important;
    color: var(--text-primary, #fafafa) !important;
    line-height: 1.25rem !important;
}

.select2-container .select2-choice:hover {
    border-color: var(--border-hover, rgba(255,255,255,0.15)) !important;
    background-color: var(--bg-elevated, #1f1f23) !important;
}

.select2-container-active .select2-choice,
.select2-dropdown-open .select2-choice {
    border-color: var(--color-primary-500, #0834bd) !important;
    box-shadow: 0 0 0 3px var(--color-primary-50, rgba(8,52,189,0.05)) !important;
}

.select2-container .select2-choice > .select2-chosen {
    line-height: 1.25rem !important;
    font-size: var(--text-sm, 0.875rem) !important;
    text-transform: unset !important;
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
    height: 40px !important;
    margin-right: 28px !important;
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: var(--text-primary, #fafafa) !important;
}

.select2-container .select2-choice .select2-arrow {
    border-left: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
}

.select2-container .select2-choice .select2-arrow b {
    border-color: var(--text-secondary, #a1a1aa) transparent transparent transparent !important;
    border-style: solid !important;
    border-width: 5px 4px 0 4px !important;
    height: 0 !important;
    left: 50% !important;
    margin-left: -4px !important;
    margin-top: -2px !important;
    position: absolute !important;
    top: 50% !important;
    width: 0 !important;
}

.select2-dropdown-open .select2-choice .select2-arrow b {
    border-color: transparent transparent var(--text-secondary, #a1a1aa) transparent !important;
    border-width: 0 4px 5px 4px !important;
    margin-top: -3px !important;
}

/* ---- Select2 v3: Dropdown (.select2-drop) ---- */
.select2-drop {
    position: absolute !important;
    z-index: 99999 !important;
    margin-top: 4px !important;
    background-color: var(--bg-elevated, #1f1f23) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    box-shadow: var(--shadow-lg, 0 10px 15px rgba(0,0,0,0.3)) !important;
    padding: var(--space-2, 8px) 0 0 !important;
    font-size: var(--text-sm, 0.875rem) !important;
    color: var(--text-primary, #fafafa) !important;
}

/* ---- Select2 v3: Search inside dropdown ---- */
.select2-search {
    padding: var(--space-1, 4px) var(--space-2, 8px) !important;
}

.select2-search input {
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    width: 100% !important;
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
    background-color: var(--bg-tertiary, #18181b) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-sm, 0.25rem) !important;
    color: var(--text-primary, #fafafa) !important;
    font-size: var(--text-sm, 0.875rem) !important;
}

.select2-search input:focus {
    border-color: var(--color-primary-500, #0834bd) !important;
    outline: none !important;
}

.select2-search input::placeholder {
    color: var(--text-tertiary, #71717a) !important;
}

/* ---- Select2 v3: Results list ---- */
.select2-results {
    max-height: 200px !important;
    padding: var(--space-1, 4px) !important;
    margin: var(--space-1, 4px) !important;
    overflow-y: auto !important;
}

.select2-results li {
    border-radius: var(--radius-sm, 0.25rem) !important;
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
    color: var(--text-primary, #fafafa) !important;
    background-color: transparent !important;
}

.select2-results .select2-result-label {
    padding: 0 !important;
}

.select2-results .select2-highlighted {
    background-color: var(--color-primary-700, #052385) !important;
    color: var(--text-primary, #fafafa) !important;
}

.select2-results .select2-result-label {
    color: inherit !important;
}

/* ---- Select2 v3: Multiple choices container ---- */
.select2-container-multi .select2-choices {
    min-height: 44px !important;
    max-height: none !important;
    padding: var(--space-2, 8px) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    background-color: var(--bg-tertiary, #18181b) !important;
    background-image: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: var(--space-2, 8px) !important;
}

.select2-container-multi.select2-container-active .select2-choices {
    border-color: var(--color-primary-500, #0834bd) !important;
    box-shadow: 0 0 0 3px var(--color-primary-50, rgba(8,52,189,0.05)) !important;
}

.select2-container-multi .select2-choices .select2-search-choice {
    position: relative !important;
    padding: var(--space-2, 8px) var(--space-6, 24px) var(--space-2, 8px) var(--space-3, 12px) !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    background-color: var(--color-primary-500, #0834bd) !important;
    font-size: var(--text-sm, 0.875rem) !important;
}

.select2-container-multi .select2-choices .select2-search-choice > div {
    padding-right: 0 !important;
}

/* Remove button: design-system size, visible × */
.select2-search-choice-close {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    top: 50% !important;
    right: var(--space-1, 4px) !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    background: none !important;
    background-image: none !important;
    border-radius: var(--radius-sm, 0.25rem) !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease !important;
}

.select2-search-choice-close:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.select2-search-choice-close::before {
    content: '×' !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #fff !important;
}

.select2-container-multi .select2-search-choice-close {
    left: auto !important;
}

.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
    background-color: rgba(255, 255, 255, 0.25) !important;
}

/* ---- Scrollbar (v3 results) ---- */
.select2-results::-webkit-scrollbar {
    width: 8px !important;
}

.select2-results::-webkit-scrollbar-track {
    background: var(--bg-secondary, #111113) !important;
    border-radius: 4px !important;
}

.select2-results::-webkit-scrollbar-thumb {
    background: var(--bg-elevated, #1f1f23) !important;
    border-radius: 4px !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
}

.select2-results::-webkit-scrollbar-thumb:hover {
    background: var(--bg-card-hover, rgba(255,255,255,0.06)) !important;
}

/* ========== Select2 v4 API (if used elsewhere) ========== */
.select2-container--default .select2-selection--single {
    background-color: var(--bg-tertiary, #18181b) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    height: 40px !important;
    padding: 0 var(--space-3, 12px) !important;
}

.select2-container--default .select2-selection--single:hover {
    border-color: var(--border-hover, rgba(255,255,255,0.15)) !important;
    background-color: var(--bg-elevated, #1f1f23) !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--color-primary-500, #0834bd) !important;
    box-shadow: 0 0 0 3px var(--color-primary-50, rgba(8,52,189,0.05)) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary, #fafafa) !important;
    line-height: 40px !important;
    font-size: var(--text-sm, 0.875rem) !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--text-tertiary, #71717a) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
    right: var(--space-3, 12px) !important;
    width: 24px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--text-secondary, #a1a1aa) transparent transparent transparent !important;
    border-width: 5px 4px 0 4px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--text-secondary, #a1a1aa) transparent !important;
    border-width: 0 4px 5px 4px !important;
}

.select2-dropdown {
    background-color: var(--bg-elevated, #1f1f23) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    box-shadow: var(--shadow-lg, 0 10px 15px rgba(0,0,0,0.3)) !important;
    margin-top: 4px !important;
    padding: var(--space-2, 8px) !important;
}

.select2-search--dropdown .select2-search__field {
    background-color: var(--bg-tertiary, #18181b) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-sm, 0.25rem) !important;
    color: var(--text-primary, #fafafa) !important;
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: var(--color-primary-500, #0834bd) !important;
}

.select2-results__option {
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
    color: var(--text-primary, #fafafa) !important;
}

.select2-results__option--highlighted {
    background-color: var(--color-primary-700, #052385) !important;
    color: var(--text-primary, #fafafa) !important;
}

.select2-results__option[aria-selected="true"] {
    background-color: var(--color-primary-600, #062ca1) !important;
    color: #fff !important;
}

.select2-container--default .select2-selection--multiple {
    background-color: var(--bg-tertiary, #18181b) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    min-height: 44px !important;
    padding: var(--space-2, 8px) !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--color-primary-500, #0834bd) !important;
    box-shadow: 0 0 0 3px var(--color-primary-50, rgba(8,52,189,0.05)) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--color-primary-500, #0834bd) !important;
    border: none !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    color: #fff !important;
    padding: var(--space-2, 8px) var(--space-5, 20px) var(--space-2, 8px) var(--space-3, 12px) !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: var(--text-sm, 0.875rem) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #fff !important;
    margin-right: 0 !important;
    margin-left: var(--space-2, 8px) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-sm, 0.25rem) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.select2-results__options::-webkit-scrollbar {
    width: 8px !important;
}

.select2-results__options::-webkit-scrollbar-track {
    background: var(--bg-secondary, #111113) !important;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: var(--bg-elevated, #1f1f23) !important;
    border-radius: 4px !important;
}

.select2-results__options::-webkit-scrollbar-thumb:hover {
    background: var(--bg-card-hover, rgba(255,255,255,0.06)) !important;
}



/* Override Select2 v4 API */
.dark-theme .form-select {
    background-color: transparent !important;
    color: var(--text-primary) !important;
}
.select2-container-multi .select2-choices .select2-search-choice {
    height: 32px;
    position: relative !important;
    padding: var(--space-2, 8px) var(--space-6, 24px) var(--space-2, 8px) var(--space-3, 12px) !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    background-color: var(--color-primary-500, #0834bd) !important;
    font-size: var(--text-sm, 0.875rem) !important;
}
.select2-container-multi .select2-choices {
    min-height: 40px !important;
    max-height: none !important;
    padding: var(--space-2, 8px) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    background-color: var(--bg-tertiary, #18181b) !important;
    background-image: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: var(--space-2, 8px) !important;
    align-items: center;
    padding: 4px !important;
}
.select2-search-choice-close{
    text-decoration: none !important;
}

.select2-container-multi .select2-choices .select2-search-field {
    flex: 1;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    display: flex;
}


.select2-container-multi .select2-choices .select2-search-field input {
    height: 32px;
    flex: 1 !important;
    align-items: center;
    width: 100% !important;
    color: #fff !important;
    font-size: var(--text-sm, 0.875rem) !important;
    padding: 4px;
    margin: 0;
    border-radius: var(--radius-default, 0.5rem) !important;
}


.select2-drop {
    position: absolute !important;
    z-index: 99999 !important;
    margin-top: 0 !important;
    background-color: var(--bg-elevated, #1f1f23) !important;
    border: 1px solid var(--border-default, rgba(255,255,255,0.08)) !important;
    border-radius: var(--radius-default, 0.5rem) !important;
    box-shadow: var(--shadow-lg, 0 10px 15px rgba(0,0,0,0.3)) !important;
    padding: 0 !important;
    font-size: var(--text-sm, 0.875rem) !important;
    color: var(--text-primary, #fafafa) !important;
}

.select2-results {
    max-height: 200px !important;
    padding: var(--space-1, 4px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
}

.select2-results li {
    margin: 4px 0 !important;
    border-radius: var(--radius-sm, 0.25rem) !important;
    padding: var(--space-2, 8px) var(--space-3, 12px) !important;
    color: var(--text-primary, #fafafa) !important;
    background-color: transparent !important;
}