.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #1ea8e7;
}

.select2-results__option {
    padding: 8px 15px;
}

.select2-search--dropdown {
    padding: 10px;
}

.select2-search--dropdown .select2-search__field {
    border-radius   : var(--border-radius-sm);
    height          : 28px;
    font-size       : .9em;
    padding         : .25rem .75rem;
    background-color: #eee !important;
    border-color    : var(--separator) !important;
    border-radius   : var(--border-radius-sm);
    color           : var(--body) !important;
}

.select2-container {
    width  : 100% !important;
    display: block !important;
}

.input-group .select2-container--default .select2-selection--single {
    height          : 38px;
    border          : none;
    background-color: transparent;
    display         : flex;
    align-items     : center;
}

.input-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height : 38px;
    padding-left: 0px;
    flex        : 1;
}

.input-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height  : 38px;
    position: absolute;
    right   : 5px;
}

.input-group {
    display    : flex;
    align-items: stretch;
    width      : 100%;
}

.input-group-prepend {
    display     : flex;
    margin-right: -1px;
}

.input-group>.select2-container {
    flex : 1 1 auto;
    width: 1% !important;
}

.input-group-text {
    display    : flex;
    align-items: center;
}

/* Desktop styles */
@media (min-width: 769px) {
    .input-group {
        max-width   : 100%;
        margin-right: 0;
    }

    .input-group>.select2-container {
        width: 1% !important;
        flex : 1 1 auto;
    }

    .input-group-prepend {
        flex: 0 0 auto;
    }
}

.input-group .select2-container--default .select2-selection--single {
    background-color: #F7F7F7 !important;
}

/* Mobile styles */
@media (max-width: 768px) {
    .input-group {
        flex-wrap: nowrap;
    }

    .input-group-prepend {
        width: auto;
    }

    .input-group>.select2-container {
        flex: 1 1 auto;
    }
}

/* Password Requirements Styling */
.password-requirements {
    background   : #f8f9fa;
    border-radius: 5px;
    padding      : 0;
    margin       : 0;
    box-shadow   : 0 2px 4px rgba(0, 0, 0, 0.05);
    max-height   : 0;
    opacity      : 0;
    overflow     : hidden;
    transform    : translateY(-20px);
    transition   : all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.password-requirements.show {
    max-height: 500px;
    /* Adjust this value based on your content */
    opacity   : 1;
    transform : translateY(0);
    margin    : 20px 0;
    padding   : 20px;
}

.password-requirements-title {
    color        : #2c3e50;
    font-size    : 1.1rem;
    font-weight  : 600;
    margin-bottom: 15px;
    display      : flex;
    align-items  : center;
    gap          : 8px;
    opacity      : 0;
    transform    : translateY(-10px);
    transition   : all 0.3s ease 0.1s;
}

.password-requirements.show .password-requirements-title {
    opacity  : 1;
    transform: translateY(0);
}

.requirement-item {
    display    : flex;
    align-items: center;
    margin     : 8px 0;
    font-size  : 0.9rem;
    transition : all 0.3s ease;
    opacity    : 0;
    transform  : translateY(-10px);
    transition : all 0.3s ease;
}

.password-requirements.show .requirement-item {
    opacity  : 1;
    transform: translateY(0);
}

.password-requirements.show .requirement-item:nth-child(2) {
    transition-delay: 0.1s;
}

.password-requirements.show .requirement-item:nth-child(3) {
    transition-delay: 0.2s;
}

.password-requirements.show .requirement-item:nth-child(4) {
    transition-delay: 0.3s;
}

.password-requirements.show .requirement-item:nth-child(5) {
    transition-delay: 0.4s;
}

.password-requirements.show .requirement-item:nth-child(6) {
    transition-delay: 0.5s;
}

.password-requirements-title i {
    color: #1ea8e7;
}

.requirement-item i {
    margin-right: 8px;
    font-size   : 1rem;
    transition  : all 0.3s ease;
}

.requirement-item i.valid {
    color: #28a745;
}

.requirement-item i.invalid {
    color: #dc3545;
}

.requirement-item i.bi-check-circle-fill {
    color: #28a745;
}

.requirement-item i.bi-x-circle-fill {
    color: #dc3545;
}

.requirement-item i.bi-circle {
    color: #6c757d;
}

.password-strength-meter {
    height       : 4px;
    background   : #e9ecef;
    border-radius: 2px;
    margin       : 15px 0;
    overflow     : hidden;
}

.password-strength-meter-fill {
    height    : 100%;
    width     : 0;
    transition: width 0.3s ease, background-color 0.3s ease;
}

.password-strength-text {
    font-size : 0.85rem;
    text-align: right;
    color     : #6c757d;
    margin-top: 5px;
}