:root {
	--choices-padding-y: 0.46875rem;
	--choices-padding-x: 0.75rem;
	--choices-chip-padding-y: 0.25rem;
	--choices-chip-padding-x: 0.625rem;
	--choices-gap: 0.234375rem;
	--choices-border-radius: var(--bs-border-radius);
	--choices-margin-bottom: 1.5rem;
	--choices-dropdown-padding-y: 0.625rem;
}

/* ===== Base Container ===== */
.choices {
	width: 100%;
	font-family: var(--bs-body-font-family);
	font-size: 1.1rem;
	line-height: var(--bs-body-line-height);
	position: relative;
	overflow: hidden;
}
.choices:last-child {
	margin-bottom: 0;
}
.choices.is-open {
	overflow: visible;
}
.choices:focus {
	outline: 0;
}

/* Disabled State */
.choices.is-disabled .choices__inner,
.choices.is-disabled .choices__input {
	background-color: var(--bs-form-control-disabled-bg);
	cursor: not-allowed;
	user-select: none;
}
.choices.is-disabled .choices__item {
	cursor: not-allowed;
	background-color: var(--bs-form-control-disabled-bg);
}

/* Hidden Attribute */
.choices [hidden] {
	display: none !important;
}

/* ===== Inner Field ===== */
.choices__inner {
	width: 100%;
	background-color: var(--bs-body-bg);
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius: var(--choices-border-radius);
	padding: var(--choices-padding-y) var(--choices-padding-x);
	font-size: 1.1rem;
	line-height: var(--bs-body-line-height);
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
	min-height: 44px;
}
.is-focused .choices__inner,
.is-open .choices__inner {
	border-color: var(--bs-secondary);
}

/* ===== Single Select Arrow ===== */
.choices[data-type*="select-one"] {
	cursor: pointer;
}
.choices[data-type*="select-one"]::after {
	content: "";
	position: absolute;
	right: var(--choices-padding-x);
	top: 50%;
	margin-top: -0.15625rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.3125rem;
	border-color: var(--bs-body-color) transparent transparent;
	pointer-events: none;
}
.choices[data-type*="select-one"].is-open::after {
	border-color: transparent transparent var(--bs-body-color);
	margin-top: -0.46875rem;
}

/* ===== Multi-select Chips ===== */
.choices__list--multiple .choices__item {
	display: inline-block;
	vertical-align: middle;
	padding: var(--choices-chip-padding-y) var(--choices-chip-padding-x);
	font-size: 1.1rem;
	font-weight: 500;
	margin: 0 var(--choices-gap) var(--choices-gap) 0;
	background-color: var(--bs-secondary);
	color: var(--kt-input-color);
	border: none !important;
}
.choices__list--multiple .choices__item.is-highlighted {
	background-color: var(--bs-secondary);
}

/* ===== Lists ===== */
.choices__list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}
.choices__list--single {
	display: inline-block;
	padding: var(--choices-chip-padding-y) calc(var(--choices-padding-x) + 0.25rem) var(--choices-chip-padding-y)
		var(--choices-chip-padding-x);
	width: 100%;
}
[dir="rtl"] .choices__list--single {
	padding-left: calc(var(--choices-padding-x) + 0.25rem);
	padding-right: var(--choices-chip-padding-x);
}

/* ===== Dropdown ===== */
.choices__list--dropdown,
.choices__list[aria-expanded] {
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
	margin-top: -1px;
	background-color: var(--bs-body-bg);
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius: 0 0 var(--choices-border-radius) var(--choices-border-radius);
	overflow: hidden;
	word-break: break-all;
	z-index: 9 !important;
}
.is-active.choices__list--dropdown,
.is-active .choices__list[aria-expanded] {
	display: block;
}
.is-open .choices__list--dropdown,
.is-open .choices__list[aria-expanded] {
	border-color: var(--bs-secondary);
}
.is-flipped .choices__list--dropdown,
.is-flipped .choices__list[aria-expanded] {
	top: auto;
	bottom: 100%;
	margin: 0 0 -1px 0;
}
.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item {
	padding: var(--choices-dropdown-padding-y);
	font-size: 1.1rem;
	color: var(--kt-input-color);
	background-color: var(--bs-body-bg);
	border: none !important;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
	background-color: var(--bs-light) !important;
	color: var(--bs-body-color) !important;
}

/* Placeholder */
.choices__placeholder {
	color: var(--kt-input-color);
}

/* ===== Remove Default Select Border ===== */
select[data-control="choices"] {
	background: transparent;
	width: 100%;
}

/* ===== Remove Button (×) ===== */
.choices__button {
	background: none !important;
	border: none;
	padding: 0;
	margin-left: var(--choices-gap);
	cursor: pointer;
	appearance: none;
	color: var(--bs-body-color);
	font-size: 0; /* hide text */
	opacity: 0.75;
}
.choices__button::before {
	content: "×";
	font-size: 1.1rem;
	line-height: var(--bs-body-line-height);
	color: var(--kt-input-color);
}
.choices__button:hover {
	color: var(--kt-gray-900);
	opacity: 1;
}

/* Single Select Remove Button Position */
.choices[data-type*="select-one"] .choices__button {
	position: absolute;
	top: 50%;
	right: calc(var(--choices-padding-x) * 2);
	transform: translateY(-50%);
	height: 20px;
	width: 20px;
	border-radius: 50%;
}
.choices[data-type*="select-one"] .choices__item[data-placeholder] .choices__button {
	display: none;
}
[dir="rtl"] .choices[data-type*="select-one"] .choices__button {
	left: calc(var(--choices-padding-x) * 2);
	right: auto;
}

/* Multi-select Remove Button */
.choices[data-type*="select-multiple"] .choices__button,
.choices[data-type*="text"] .choices__button {
	position: relative;
	margin: 0 -4px 0 var(--choices-gap);
	padding-left: 0;
	border-radius: 0;
}
.choices[data-type*="select-multiple"] .choices__button:hover,
.choices[data-type*="text"] .choices__button:hover {
	opacity: 1;
}

/* ===== Input Fields ===== */
.choices__input,
.choices__input--cloned {
	width: 100% !important;
	line-height: var(--bs-body-line-height);
	font-size: 1.1rem;
	padding: var(--choices-padding-y) var(--choices-padding-x);
	background-color: var(--bs-body-bg);
	color: var(--kt-input-color);
	max-width: 100%;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Remove search field styling */
.choices__input--cloned::-webkit-search-decoration,
.choices__input--cloned::-webkit-search-cancel-button,
.choices__input--cloned::-webkit-search-results-button,
.choices__input--cloned::-webkit-search-results-decoration {
	display: none;
}

/* ===== Fix for double padding in Choices.js ===== */
.choices__list--single,
.choices__list--multiple {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.choices__list--dropdown {
	overflow: auto !important;
	max-height: 20rem;

	input[type="search"] {
		position: sticky;
		top: 0;
	}
}
