.form-wrap {
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: solid 1px var(--bs-gray-200);
}

.form-wrap-header {
    background: var(--bs-gray-900);
    color: white;
    font-weight: 400;
    font-size: 1.25rem;
    padding: 0.5rem 2rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.form-wrap-body { padding: 2rem; }

.form-section { margin: 2rem 0; }

.form .form-control, .form .form-select, .form textarea { background-color: var(--bs-gray-100); border-color: transparent; font-weight: 500; color: #000; }
.form .form-control::placeholder, .form textarea::placeholder { color: var(--bs-gray-400); font-weight: 400; }

.form .form-label { font-weight: 600; font-size: 0.875rem; color: var(--bs-gray-500); margin-bottom: 0.25rem; display: block; }
.form .form-label small.text-muted { font-weight: 500; font-size: 0.8rem; color: var(--bs-gray-300) !important; }
.form .form-text { font-size: 0.8rem; margin-top: 0.25rem; line-height: 1.1; }

.required { color: #dc3545; }

/* Select2 Custom Styles - Bootstrap 5 Form Control Match */
.select2-container {
    width: 100% !important;
}

/* Default styling (standard Bootstrap) */
.select2-container--bootstrap-5 .select2-selection--single,
.select2-container--bootstrap-5 .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px) !important;
    padding: 0.375rem 2rem 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #212529 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease-in-out !important;
}

/* Default form styling (gray background) */
.form .select2-container--bootstrap-5 .select2-selection--single,
.form .select2-container--bootstrap-5 .select2-selection--multiple {
    background-color: var(--bs-gray-100) !important;
    border-color: var(--bs-gray-100) !important;
    color: #000 !important;
    font-weight: 500 !important;
}

.form .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: #000 !important;
    font-weight: 500 !important;
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection--single,
.select2-container--bootstrap-5.select2-container--focus .select2-selection--multiple {
    border-color: var(--bs-red) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    padding-right: 0 !important;
    line-height: 1.5 !important;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem) !important;
    position: absolute !important;
    top: 1px !important;
    right: 0.5rem !important;
    width: 20px !important;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow b {
    border: none !important;
    height: 8px !important;
    width: 8px !important;
    border-right: 2px solid #6c757d !important;
    border-bottom: 2px solid #6c757d !important;
    transform: rotate(45deg) !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    margin-top: -6px !important;
    margin-left: -4px !important;
    transition: transform 0.2s ease !important;
}

.select2-container--bootstrap-5.select2-container--open .select2-selection--single .select2-selection__arrow b {
    transform: rotate(-135deg) !important;
    margin-top: -2px !important;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
    background-color: #e9ecef !important;
    border: 1px solid #adb5bd !important;
    border-radius: 0.25rem !important;
    color: #495057 !important;
    font-size: 0.875rem !important;
    margin: 0.125rem 0.25rem 0.125rem 0 !important;
    padding: 0.125rem 0.5rem !important;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove {
    color: #6c757d !important;
    cursor: pointer !important;
    display: inline-block !important;
    font-weight: bold !important;
    margin-right: 0.25rem !important;
}

.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #495057 !important;
}

.select2-dropdown {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.select2-container--bootstrap-5 .select2-results__option--highlighted[aria-selected] {
    background-color: #0d6efd !important;
    color: #fff !important;
}

.select2-container--bootstrap-5 .select2-results__option[aria-selected="true"] {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* Clear button removal */
.select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__clear,
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__clear {
    display: none !important;
}
