/* ==========================================================================
   Phoenix Admin Template - Standardized Select2 Component Styling
   PT Tazar Guna Mandiri (TGM) ERP
   ========================================================================== */

/* Container */
.select2-container--bootstrap-5 {
    display: block !important;
    width: 100% !important;
}

/* Trigger Box (Selection) */
.select2-container--bootstrap-5 .select2-selection {
    font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    background-color: var(--phoenix-emphasis-bg, #ffffff) !important;
    border: 1px solid var(--phoenix-border-color, #cbd0dd) !important;
    border-radius: 0.375rem !important;
    color: var(--phoenix-body-color, #141824) !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.49 !important;
    min-height: 34px !important;
    height: auto !important;
    padding: 0.35rem 2.25rem 0.35rem 0.85rem !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
    display: flex !important;
    align-items: center !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCIgdmlld0JveD0iMCAwIDE1MCAxNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik03NS4zNDggMTI3LjE5MkM3Mi40MzgxIDEyNy4xOTIgNjkuODUxNCAxMjYuMjIyIDY3LjkxMTUgMTI0LjI4Mkw1LjgzMjE1IDYyLjIwMjNDMS42Mjg4NyA1OC4zMjIzIDEuNjI4ODcgNTEuNTMyNCA1LjgzMjE1IDQ3LjY1MjVDOS43MTIxMSA0My40NDkyIDE2LjUwMiA0My40NDkyIDIwLjM4MiA0Ny42NTI1TDc1LjM0OCAxMDIuMjk1TDEyOS45OTEgNDcuNjUyNUMxMzMuODcxIDQzLjQ0OTIgMTQwLjY2MSA0My40NDkyIDE0NC41NDEgNDcuNjUyNUMxNDguNzQ0IDUxLjUzMjQgMTQ4Ljc0NCA1OC4zMjIzIDE0NC41NDEgNjIuMjAyM0w4Mi40NjEzIDEyNC4yODJDODAuNTIxMyAxMjYuMjIyIDc3LjkzNDcgMTI3LjE5MiA3NS4zNDggMTI3LjE5MloiIGZpbGw9IiMzMTM3NEEiLz4KPC9zdmc+Cg==") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.85rem center !important;
    background-size: 8px 10px !important;
}

/* Dark Theme Trigger Box */
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    background-color: var(--phoenix-emphasis-bg, #1e293b) !important;
    border-color: var(--phoenix-border-color, #334155) !important;
    color: var(--phoenix-body-color, #e2e8f0) !important;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjE1MCIgdmlld0JveD0iMCAwIDE1MCAxNTAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik03NS4zNDggMTI3LjE5MkM3Mi40MzgxIDEyNy4xOTIgNjkuODUxNCAxMjYuMjIyIDY3LjkxMTUgMTI0LjI4Mkw1LjgzMjE1IDYyLjIwMjNDMS42Mjg4NyA1OC4zMjIzIDEuNjI4ODcgNTEuNTMyNCA1LjgzMjE1IDQ3LjY1MjVDOS43MTIxMSA0My40NDkyIDE2LjUwMiA0My40NDkyIDIwLjM4MiA0Ny42NTI1TDc1LjM0OCAxMDIuMjk1TDEyOS45OTEgNDcuNjUyNUMxMzMuODcxIDQzLjQ0OTIgMTQwLjY2MSA0My40NDkyIDE0NC41NDEgNDcuNjUyNUMxNDguNzQ0IDUxLjUzMjQgMTQ4Ljc0NCA1OC4zMjIzIDE0NC41NDEgNjIuMjAyM0w4Mi40NjEzIDEyNC4yODJDODAuNTIxMyAxMjYuMjIyIDc3LjkzNDcgMTI3LjE5MiA3NS4zNDggMTI3LjE5MloiIGZpbGw9IiNlMmV4ZjAiLz4KPC9zdmc+Cg==") !important;
}

/* Text Rendered */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: inherit !important;
    padding: 0 !important;
    line-height: inherit !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}

/* Placeholder */
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
    color: var(--phoenix-tertiary-color, #8a94a6) !important;
    font-weight: 400 !important;
}

/* Focus State */
.select2-container--bootstrap-5.select2-container--focus .select2-selection,
.select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--phoenix-primary, #3874ff) !important;
    box-shadow: 0 0 0 0.2rem rgba(56, 116, 255, 0.2) !important;
    outline: 0 !important;
}

/* Invalid State */
.select2-container--bootstrap-5 .select2-selection.is-invalid,
.is-invalid + .select2-container--bootstrap-5 .select2-selection {
    border-color: var(--phoenix-danger, #e63757) !important;
    box-shadow: 0 0 0 0.2rem rgba(230, 55, 87, 0.2) !important;
}

/* Clear Button */
.select2-container--bootstrap-5 .select2-selection__clear {
    margin-right: 1.25rem !important;
    color: var(--phoenix-secondary-color, #75839b) !important;
    font-size: 0.85rem !important;
}
.select2-container--bootstrap-5 .select2-selection__clear:hover {
    color: var(--phoenix-danger, #e63757) !important;
}

/* Dropdown Menu Window */
.select2-dropdown {
    border: 1px solid var(--phoenix-border-color, #cbd0dd) !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.12) !important;
    background-color: var(--phoenix-emphasis-bg, #ffffff) !important;
    z-index: 1065 !important;
    overflow: hidden !important;
}

[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--phoenix-emphasis-bg, #141824) !important;
    border-color: var(--phoenix-border-color, #334155) !important;
    box-shadow: 0 0.75rem 1.75rem rgba(0, 0, 0, 0.35) !important;
}

/* Search Box Container */
.select2-search--dropdown {
    padding: 0.5rem 0.65rem !important;
    background-color: var(--phoenix-body-bg, #f8f9fa) !important;
    border-bottom: 1px solid var(--phoenix-border-color, #e0e6ed) !important;
}

[data-bs-theme="dark"] .select2-search--dropdown {
    background-color: var(--phoenix-body-bg, #0f172a) !important;
    border-bottom-color: var(--phoenix-border-color, #334155) !important;
}

/* Search Field with Magnifier Icon */
.select2-search--dropdown .select2-search__field {
    width: 100% !important;
    border: 1px solid var(--phoenix-border-color, #cbd0dd) !important;
    border-radius: 0.375rem !important;
    padding: 0.35rem 0.75rem 0.35rem 2rem !important;
    font-size: 0.8rem !important;
    font-family: inherit !important;
    background-color: var(--phoenix-emphasis-bg, #ffffff) !important;
    color: var(--phoenix-body-color, #141824) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%238a94a6' d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 0.65rem center !important;
    background-size: 12px 12px !important;
    outline: none !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: var(--phoenix-primary, #3874ff) !important;
    box-shadow: 0 0 0 0.15rem rgba(56, 116, 255, 0.2) !important;
}

/* Results List - Exactly calibrated for 8 items visible (~288px max-height) */
.select2-results__options {
    max-height: 288px !important;
    padding: 0.35rem 0.35rem !important;
    overflow-y: auto !important;
    scrollbar-width: thin;
    scrollbar-color: var(--phoenix-border-color, #cbd0dd) transparent;
}

.select2-results__options::-webkit-scrollbar {
    width: 6px;
}
.select2-results__options::-webkit-scrollbar-thumb {
    background-color: var(--phoenix-border-color, #cbd0dd);
    border-radius: 3px;
}

/* Options */
.select2-container--bootstrap-5 .select2-results__option {
    padding: 0.45rem 0.75rem !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    color: var(--phoenix-body-color, #141824) !important;
    border-radius: 0.3rem !important;
    margin-bottom: 2px !important;
    transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out !important;
    cursor: pointer !important;
}

/* Hover / Highlighted Option */
.select2-container--bootstrap-5 .select2-results__option--highlighted[aria-selected] {
    background-color: var(--phoenix-primary-subtle, #e0edff) !important;
    color: var(--phoenix-primary, #2563eb) !important;
    font-weight: 600 !important;
}

/* Selected Option */
.select2-container--bootstrap-5 .select2-results__option[aria-selected="true"] {
    background-color: var(--phoenix-primary, #3874ff) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.select2-container--bootstrap-5 .select2-results__option--highlighted[aria-selected="true"] {
    background-color: var(--phoenix-primary, #2563eb) !important;
    color: #ffffff !important;
}

/* Optgroup Header */
.select2-container--bootstrap-5 .select2-results__group {
    padding: 0.45rem 0.75rem 0.2rem !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--phoenix-secondary-color, #75839b) !important;
}

/* Dropdown Notice Header (e.g. 8 items default notice) */
.select2-search-notice {
    font-size: 0.72rem !important;
    user-select: none;
    line-height: 1.3;
}
