/* Single-select Dropdown with Search Styling */
#buddypress .profile.edit > #profile-edit-form select.single-select-dropdown,
#buddypress .bps-form-content select.single-select-dropdown,
.sda-registration-page select.single-select-dropdown {
    display: none;
}

/* Main container */
.single-select-dropdown {
    position: relative;
    width: 100%;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    user-select: none;
}

/* Selected area */
.single-select-selected {
    display: flex;
    align-items: center;
    background-color: #fff;
    border: 2px solid #dce4ec;
    border-radius: 6px;
    height: 42px;
    padding: 0 15px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.single-select-dropdown:hover .single-select-selected {
    border-color: #bdc3c7;
}

.single-select-dropdown.single-select-open .single-select-selected {
    border-color: #3498db;
    box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.25);
}

/* Placeholder */
.single-select-placeholder {
    color: #95a5a6;
    flex-grow: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

    .single-select-placeholder.single-select-selected-value {
        color: #333;
    }

/* Clear button */
.single-select-clear-btn {
    display: none;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    position: relative;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s;
}

    .single-select-clear-btn:hover {
        opacity: 1;
    }

    .single-select-clear-btn::before,
    .single-select-clear-btn::after {
        content: '';
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: #7f8c8d;
        top: 50%;
        left: 0;
        transition: background-color 0.2s;
    }

    .single-select-clear-btn:hover::before,
    .single-select-clear-btn:hover::after {
        background-color: #e74c3c;
    }

    .single-select-clear-btn::before {
        transform: translateY(-50%) rotate(45deg);
    }

    .single-select-clear-btn::after {
        transform: translateY(-50%) rotate(-45deg);
    }

.single-select-has-value .single-select-clear-btn {
    display: block;
    animation: fadeIn 0.2s ease-out;
}

/* Dropdown arrow */
.single-select-arrow {
    position: relative;
    width: 10px;
    height: 10px;
    margin-left: 10px;
}

    .single-select-arrow::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        border-style: solid;
        border-width: 6px 6px 0 6px;
        border-color: #3498db transparent transparent transparent;
        transition: transform 0.2s ease;
    }

.single-select-dropdown.single-select-open .single-select-arrow::before {
    transform: rotate(180deg);
}

/* Dropdown menu */
.single-select-menu {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    background-color: white;
    border: 2px solid #3498db;
    border-radius: 6px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    z-index: 1000;
    display: none;
    max-height: 300px;
    overflow: hidden;
    flex-direction: column;
}

.single-select-dropdown.single-select-open .single-select-menu {
    display: flex;
    animation: singleSelectFadeIn 0.2s ease-out;
}

/* Search input */
.single-select-search {
    padding: 10px;
    border-bottom: 1px solid #eee;
}

    .single-select-search input {
        width: 100%;
        padding: 8px;
        border: 1px solid #dce4ec;
        border-radius: 4px;
        font-size: 16px;
        outline: none;
    }

        .single-select-search input:focus {
            border-color: #3498db;
        }

/* Options container */
.single-select-options {
    overflow-y: auto;
    max-height: 240px;
}

/* Option items */
.single-select-option {
    padding: 10px 15px;
    cursor: pointer;
    transition: background-color 0.2s;
    font-size: 16px;
}

    .single-select-option:hover {
        background-color: #f5f9fc;
    }

    .single-select-option.single-select-selected {
        background-color: #edf7fd;
        color: #2c3e50;
        height: auto;
    }

/* No results message */
.single-select-no-results {
    padding: 15px;
    text-align: center;
    color: #7f8c8d;
    font-style: italic;
}

    .single-select-no-results.add-new-tag {
        color: #3498db;
        cursor: pointer;
    }

        .single-select-no-results.add-new-tag:hover {
            text-decoration: underline;
        }

/* Animation */
@keyframes singleSelectFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 0.6;
    }
}

/* Focus styles for accessibility */
.single-select-dropdown:focus-within .single-select-selected {
    border-color: #3498db;
    box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.25);
}

/* Disabled state */
.single-select-dropdown.disabled .single-select-selected,
.single-select-option.disabled {
    background-color: #ecf0f1;
    cursor: not-allowed;
    opacity: 0.7;
}

    .single-select-dropdown.disabled .single-select-selected:hover {
        border-color: #dce4ec;
    }

/* Custom scrollbar elements */
.custom-scroll-track {
    position: absolute;
    top: 0;
    right: 0;
    width: 8px;
    height: 100%;
    background-color: #f5f5f5;
    border-radius: 4px;
    z-index: 10;
    display: none;
}

.custom-scroll-thumb {
    position: absolute;
    top: 0;
    width: 100%;
    height: 30%; /* Initial height, will be calculated dynamically */
    background-color: #3498db;
    border-radius: 4px;
    cursor: pointer;
}

/* Show custom scrollbar on mobile */
@media (max-width: 768px) {
    .custom-scroll-track {
        display: block;
        width: 10px; /* Wider on mobile */
    }

    /* Hide the native scrollbar on mobile but keep functionality */
    .single-select-options {
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none; /* Firefox */
        padding-right: 15px; /* Add padding to prevent content from being hidden */
    }

        .single-select-options::-webkit-scrollbar {
            display: none; /* Chrome, Safari, Opera */
        }

    /* Make sure the custom scrollbar is visible */
    .single-select-dropdown.single-select-open .custom-scroll-track {
        display: block;
    }
}

/* Prevent text selection during scrollbar drag */
body.no-select {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Show the dropdown when open */
.single-select-dropdown.single-select-open .single-select-menu {
    display: block;
}

/* Styles for when the dropdown opens upward */
.single-select-dropdown.single-select-open-up .single-select-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 4px;
}

/* Adjust arrow direction when dropdown opens upward */
.single-select-dropdown.single-select-open-up .single-select-arrow {
    transform: rotate(180deg);
}
