/* Shared picker presentation; include alongside the corresponding view stylesheet. */
.bs-view-dropdown { position: relative; min-width: 0; }
.bs-view-dropdown-trigger { text-align: start; min-height: 2.375rem; }
.bs-view-dropdown-value { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bs-view-dropdown-tokens { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; min-width: 0; }
.bs-view-dropdown-tokens[hidden] { display: none; }
.bs-view-dropdown-token-field { display: flex; align-items: center; gap: .25rem; padding: .25rem; border: var(--bs-border-width, 1px) solid var(--bs-border-color, #dee2e6); border-radius: var(--bs-border-radius, .375rem); }
.bs-view-dropdown-token-field > .bs-view-dropdown-tokens { flex: 1 1 auto; max-height: 7.5rem; overflow: auto; overscroll-behavior: contain; }
.bs-view-dropdown-token-field > .bs-view-dropdown-trigger { flex: 0 1 auto; width: auto; min-width: 2.75rem; margin-inline-start: auto; }
.bs-view-dropdown-token { display: inline-flex; align-items: center; max-width: 100%; border-radius: var(--bs-border-radius, .375rem); background: var(--bs-secondary-bg, #e9ecef); color: var(--bs-body-color, #212529); }
.bs-view-dropdown-token-label { padding-inline-start: .5rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bs-view-dropdown-token-remove { flex: 0 0 auto; border: 0; border-radius: inherit; background: transparent; color: inherit; min-width: 2rem; min-height: 2rem; font-size: 1.25rem; }
.bs-view-dropdown-token-remove:focus-visible { outline: 2px solid var(--bs-primary, #0d6efd); outline-offset: -2px; }
.bs-view-dropdown-token-remove:disabled { opacity: .5; }
.bs-view-dropdown-draft-tokens { flex: 0 1 auto; min-height: 0; max-height: min(7.5rem, 20dvh); overflow: auto; padding: .5rem .75rem; }
@media (pointer: coarse) { .bs-view-dropdown-token-remove { min-width: 2.75rem; min-height: 2.75rem; } }
.bs-view-dropdown-panel {
  position: fixed;
  inset: auto;
  margin: 0;
  padding: 0;
  border: var(--bs-border-width, 1px) solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius-lg, .5rem);
  color: var(--bs-body-color, #212529);
  background: var(--bs-body-bg, #fff);
  box-shadow: var(--bs-box-shadow, 0 .5rem 1rem #0002);
  overflow: hidden;
  z-index: 1080;
}
.bs-view-dropdown-panel[popover] { display: none; }
.bs-view-dropdown-panel.is-open { display: block; }
.bs-view-dropdown-panel:popover-open { display: block; }
.bs-view-dropdown-content { display: flex; flex-direction: column; max-height: inherit; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.bs-view-dropdown-panel[popover] .bs-view-dropdown-header,
.bs-view-dropdown-panel[popover] .bs-view-dropdown-draft-tokens { display: none; }
.bs-view-dropdown-header, .bs-view-dropdown-footer {
  display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; padding: .75rem;
}
.bs-view-dropdown-header { justify-content: space-between; border-bottom: 1px solid var(--bs-border-color, #dee2e6); }
.bs-view-dropdown-footer { justify-content: flex-end; border-top: 1px solid var(--bs-border-color, #dee2e6); }
.bs-view-dropdown-footer > :first-child { margin-inline-end: auto; }
.bs-view-dropdown-footer .btn-outline-secondary {
  --bs-btn-color: var(--bs-body-color, #212529);
  --bs-btn-border-color: var(--bs-secondary-color, #6c757d);
  --bs-btn-hover-color: var(--bs-body-bg, #fff);
  --bs-btn-hover-bg: var(--bs-body-color, #212529);
  --bs-btn-hover-border-color: var(--bs-body-color, #212529);
  --bs-btn-active-color: var(--bs-body-bg, #fff);
  --bs-btn-active-bg: var(--bs-body-color, #212529);
  --bs-btn-active-border-color: var(--bs-body-color, #212529);
}
.bs-view-dropdown-status:empty { display: none; }
.bs-view-dropdown-feedback:empty { display: none; }
.bs-view-dropdown-status { padding: .5rem .75rem; flex: 0 1 auto; min-height: 0; overflow: auto; }
.bs-view-dropdown-view { overflow: auto; overscroll-behavior: contain; min-height: 0; flex: 1 1 auto; }
.bs-view-dropdown-dialog {
  inset: 0;
  margin: auto;
  width: min(36rem, calc(100vw - 1rem));
  max-width: calc(100vw - 1rem);
  max-height: calc(100dvh - 2rem);
}
.bs-view-dropdown-dialog::backdrop { background: #0007; }
.bs-view-dropdown-dialog .bs-view-dropdown-content { max-height: calc(100dvh - 2rem); }
.bs-view-dropdown-dialog .bs-view-dropdown-footer .btn { min-height: 2.75rem; }
@media (max-height: 400px) { .bs-view-dropdown-dialog .bs-view-dropdown-draft-tokens { display: none; } }
.bs-view-dropdown-validation {
  position: absolute; width: 1px; height: 1px; padding: 0; border: 0;
  clip-path: inset(50%); overflow: hidden; pointer-events: none;
}
.bs-view-dropdown-trigger[aria-invalid="true"] { border-color: var(--bs-form-invalid-border-color, #dc3545); }
@media (prefers-reduced-motion: reduce) { .bs-view-dropdown-panel { scroll-behavior: auto; } }
