.form-control::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  font-weight: 300;
  color: var(--bs-gray);
  opacity: 1;
}

.form-control:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  font-weight: 300;
  color: var(--bs-gray);
}

.form-control::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--bs-gray);
}
.actor-card .form-floating,
.filter-controls .form-floating,
.form-floating {
  width: 100%;
  display: inline-flex;
  vertical-align: middle;
  justify-content: space-between;
  align-items: center;
}

.actor-card .form-floating,
.filter-controls .form-floating {
  flex: 1 1 64px;
  min-width: 64px;
  max-width: 320px;
}

.actor-card .form-floating > label,
.filter-controls .form-floating > label,
.filter-controls .actor-name-search > label,
.filter-panel .actor-name-search > label,
.contact-page .form-floating > label,
.form-floating > label,
.rename-form-label {
  position: absolute;
  font-size: var(--fs-3xs);
  inset: 0;
  margin-top: -0.95rem !important;
  padding: 0;
  background: none;
  color: var(--bs-emphasis-color);
  transform: none;
  padding-inline-start: 2px;
}

.inactive.actor-card-sample-selection .btn {
  pointer-events: none;
  border: none;
  color: color-mix(in srgb, var(--bs-emphasis-color), transparent 60%);
  padding-inline-end: 0;
}

.inactive.actor-card-sample-selection .btn:before {
  color: var(--bs-btn-color);
}

.actor-card-sample-selection {
  flex: 1 1 64px;
  width: 100%;
  min-width: 4rem;
  max-width: 16rem;
  display: inline-flex;
  vertical-align: middle;
  justify-content: space-between;
  align-items: center;
}

.actor-card-sample-selection .dropdown-menu {
  --bs-dropdown-padding-y: 0rem;
  margin-top: -2px !important;
  width: 100%;
  min-width: fit-content;
}

.actor-card-sample-selection .dropdown-item {
  border-radius: calc(var(--radius) / 2);
}

.nav-item .dropdown-item {
  border-radius: calc(var(--radius) / 2);
}

.actor-card-sample-selection::before {
  content: attr(aria-label);
  position: absolute;
  font-size: var(--fs-4xs);
  inset: 0;
  margin-top: -0.9rem;
  color: var(--bs-btn-color);
}

.actor-card-sample-selection > .btn {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-inline-end: 3ch;
  text-align: start;
}

.rename-form-label {
  inset: revert;
}

.form-floating > .form-select ~ label::after {
  background-color: transparent !important;
  border: none;
}

.actor-card .form-floating > .form-select,
.filter-controls .form-floating > .form-select,
.form-floating > .form-select {
  height: initial;
  min-height: fit-content;
  text-overflow: ellipsis;
  text-align: start;
  padding: 0.375rem 0.75rem 0.175rem 0.75rem;

  padding-inline-end: 3ch;

  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);

  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  border-radius: 0px !important;

  & > option {
    color: var(--bs-body-color);
    background: var(--bs-secondary-bg);
    &:hover {
      color: var(--bs-dropdown-link-hover-color);
      background-color: var(--bs-dropdown-link-hover-bg);
    }
  }
}

.actor-card-sample-selection .dropdown-toggle::after,
.actor-card .form-floating::after,
.filter-controls .form-floating::after {
  content: "▼";
  color: currentColor;
  border: solid transparent;
  position: absolute;
  right: 1ch;
  margin-top: -3px;
  scale: 100% 60%;
  font-size: 0.8rem;
  transform-origin: center;
  transform: rotate(-0deg);
  transition: transform var(--speed) var(--ease-in);
}

.actor-card-sample-selection .dropdown-toggle.show::after,
.actor-card .form-floating > .form-select::after,
.filter-controls .form-floating > .form-select::after {
  transform: rotate(180deg);
}

.form-floating::after {
  content: "▼";
  color: currentColor;
  border: solid transparent;
  position: absolute;
  right: 1ch;
  margin-top: -3px;
  scale: 100% 60%;
  pointer-events: none;
  transform-origin: center;
  transform: rotate(-0deg);
  transition: transform var(--speed) var(--ease-in);
}

.form-floating:has(.btn:active)::after,
.form-floating:has(.btn:focus)::after,
.form-floating:has(.btn:focus-visible)::after {
  transform: rotate(180deg);
}

.filter-controls .form-floating > .form-select {
  font-size: 1rem;
  padding-block: 0.4em;
  margin-block-start: 0.063em;
}

select option:checked {
  background-color: var(--bs-primary) !important; /* for IE */
  color: var(--bs-emphasis-color);
}

select option:target {
  background-color: var(--bs-primary) !important; /* for IE */
  color: var(--bs-emphasis-color);
}

.actor-card .form-floating > .form-select:focus-visible,
.filter-controls .form-floating > .form-select:focus-visible,
.form-floating > .form-select:focus-visible {
  box-shadow: inset 0 0 0 0.05rem rgba(var(--bs-primary-rgb), 0.5),
    0 0 0 0.05rem rgba(var(--bs-primary-rgb), 0.5);
  box-shadow: none;
  background: var(--bs-btn-active-bg);
}

.btn-check:checked + .btn:focus-visible,
:not(.btn-check) + .btn:active:focus-visible,
.btn:first-child:active:focus-visible,
.btn.active:focus-visible,
.btn.show:focus-visible,
.btn:focus-visible,
.form-control:focus {
  box-shadow: inset 0 0 0 0.05rem rgba(var(--bs-primary-rgb), 0.5),
    0 0 0 0.05rem rgba(var(--bs-primary-rgb), 0.5);
}

.actor-card .form-floating > .form-select:active,
.filter-controls .form-floating > .form-select:active,
.form-floating > .form-select:active {
  background: var(--bs-btn-active-bg) !important;
}

.actor-card .form-select,
.filter-controls .form-select,
.form-floating .form-select {
  background-image: none;
}

.remove-link-btn {
  margin-block-start: -1.5rem;
}

/* *** DASHBOARD TABLE heading fixes *** */

.datatable-pagination-list button,
.datatable-table th button,
.datatable-table > tfoot > tr > th {
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  color: color-mix(in srgb, currentColor, white 30%) !important;
  font-size: calc(70%) !important;
  font-weight: calc(var(--font-weight) - 100) !important;
  margin: 0 !important;
  line-height: 2.2 !important;
  min-width: 25ch !important;
}

.datatable-pagination-list button,
.datatable-table th button {
  padding-inline-start: 0 !important;
}

.accordion-item {
  .accordion-header {
    min-height: 1.1em;
  }
  .datatable-top {
    padding: 0 !important;

    .datatable-search {
      max-width: 100%;
      .datatable-input {
        max-width: 100%;
      }
    }
  }
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
