/* The trigger deliberately keeps Bootstrap's existing .form-select appearance.
   These rules style only the opened, progressively enhanced options panel. */
.blinkr-select {
  position: relative;
}

.blinkr-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.blinkr-select__trigger {
  width: 100%;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blinkr-select__menu {
  position: fixed;
  z-index: 1090;
}

/* Shared reference style for select menus and searchable suggestion lists. */
.blinkr-select__menu,
.blinkr-dropdown-panel {
  padding: .35rem;
  overflow: hidden;
  border: 1px solid #cbd6dd;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 .8rem 2rem rgba(22, 58, 95, .16);
}

.blinkr-select__search {
  display: block;
  width: 100%;
  margin-bottom: .4rem;
  padding: .45rem .65rem;
  border: 1px solid #b9cbd1;
  border-radius: .5rem;
  background: #fff;
  color: #163a5f;
  font: inherit;
  font-size: .9rem;
}

.blinkr-select__search:focus {
  outline: 2px solid #86c6c3;
  outline-offset: 1px;
}

.blinkr-select__empty {
  padding: .55rem .7rem;
  color: #5f6b76;
  font-size: .85rem;
}

.blinkr-select__empty[hidden],
.blinkr-select__option[hidden] { display: none; }

.blinkr-select__options,
.blinkr-dropdown-options {
  display: grid;
  gap: .15rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: .5rem;
  scrollbar-gutter: stable;
  scrollbar-color: #9bb7b8 transparent;
  scrollbar-width: thin;
}

.blinkr-select__options::-webkit-scrollbar,
.blinkr-dropdown-options::-webkit-scrollbar {
  width: .55rem;
}

.blinkr-select__options::-webkit-scrollbar-track,
.blinkr-dropdown-options::-webkit-scrollbar-track {
  margin-block: .4rem;
  background: transparent;
}

.blinkr-select__options::-webkit-scrollbar-thumb,
.blinkr-dropdown-options::-webkit-scrollbar-thumb {
  border: .14rem solid transparent;
  border-radius: 999px;
  background: #9bb7b8;
  background-clip: padding-box;
}

.blinkr-select__options::-webkit-scrollbar-thumb:hover,
.blinkr-dropdown-options::-webkit-scrollbar-thumb:hover {
  background: #668f91;
  background-clip: padding-box;
}

.blinkr-select__option,
.blinkr-dropdown-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding: .6rem .7rem;
  min-width: 0;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: #263f57;
  font: inherit;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.blinkr-select__option:hover,
.blinkr-select__option:focus-visible,
.blinkr-dropdown-option:hover,
.blinkr-dropdown-option:focus-visible {
  background: #eef8f7;
  color: #163a5f;
  outline: 0;
}

.blinkr-select__option[aria-selected="true"] {
  background: #ddf0ef;
  color: #163a5f;
  font-weight: 650;
}

.blinkr-select__option[aria-selected="true"]::after {
  content: "✓";
  color: #2e8b8b;
  font-weight: 800;
}

.blinkr-select__option:disabled {
  background: transparent;
  color: #8a959d;
  cursor: not-allowed;
}

@media (prefers-reduced-motion: no-preference) {
  .blinkr-select__menu,
  .blinkr-dropdown-panel {
    animation: blinkr-select-open .12s ease-out;
    transform-origin: top center;
  }

  @keyframes blinkr-select-open {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
