/*
  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;
}

/* After initialization, always hide the wrapped native select.
   (Do not rely only on `.bs-select-hidden` because the rule above can override it.) */
.bootstrap-select > select,
.bootstrap-select > select.selectpicker,
select.bs-select-hidden,
.bootstrap-select > select.bs-select-hidden {
	display: none !important;
}

/* Arrow state for Site theme:
   default down, open up. Use button state as source of truth. */
.bootstrap-select > .dropdown-toggle:after {
	transform: rotate(90deg) !important;
}

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

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