/*
  bootstrap-select-shim.v5.css
  Purpose: project-local overrides for bootstrap-select when running under Bootstrap 5,
  without modifying vendor files.

  Problem: bootstrap-select's vendor css hides the original <select class="selectpicker">
  via `display: none !important;` until initialization. In our pages, some selects are
  intentionally visible immediately (placeholders) even before selectpicker is initialized.

  Approach: keep vendor behavior for `.bs-select-hidden` (bootstrap-select uses this class
  when it has fully taken over), but do NOT globally hide `select.selectpicker`.
*/

/* Hide the raw <select> to prevent unstyled flash before bootstrap-select initializes. */
select.selectpicker,
.bootstrap-select > select.selectpicker {
   display: none !important;
}

/* Once bootstrap-select has initialized, it marks the original select as hidden.
   Respect that to avoid double UI. */
select.bs-select-hidden,
.bootstrap-select > select.bs-select-hidden {
	display: none !important;
}

/* Bootstrap 5 + bootstrap-select may keep the open state on the button
   (`.dropdown-toggle.show` / `aria-expanded="true"`) instead of only on the wrapper.
   Ensure the existing theme arrow rotates for all open-state variants. */
.bootstrap-select > .dropdown-toggle.show:after,
.bootstrap-select > .dropdown-toggle[aria-expanded="true"]:after,
.bootstrap-select.show > .dropdown-toggle:after,
.bootstrap-select.open > .dropdown-toggle:after {
	transform: rotate(-90deg) !important;
}

.bootstrap-select > .dropdown-toggle[aria-expanded="false"]:after,
.bootstrap-select:not(.show):not(.open) > .dropdown-toggle:after {
	transform: rotate(90deg);
}
