.library-search--live { position: relative; z-index: 5; }
.live-search__suggestions {
  position: absolute;
  inset: calc(100% + 8px) 0 auto;
  max-height: 440px;
  overflow-y: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 16px #0000001a;
}
.live-search__suggestions[hidden] { display: none; }
.live-search__results { display: flex; flex-direction: column; gap: 17px; padding: 16px; }
.live-search__option {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 36px;
  padding: 8px 16px 8px 0;
  border-radius: 8px;
  color: #425562;
}
.live-search__option:hover, .live-search__option[aria-selected="true"] { color: #003c71; background: #f0f5fb; }
.live-search__option:focus-visible { outline: 2px solid #0153cc; outline-offset: -3px; }
.live-search__icon { display: block; flex: none; }
.live-search__content { display: flex; align-items: center; flex: 1; min-width: 0; gap: 5px; white-space: nowrap; }
.live-search__title { min-width: 0; max-width: 42%; overflow: hidden; text-overflow: ellipsis; font-size: 16px; font-weight: 500; }
.live-search__separator { flex: none; font-size: 14px; }
.live-search__session { flex: 0 1 auto; min-width: 0; max-width: 28%; overflow: hidden; text-overflow: ellipsis; color: #999; font-size: 12px; font-weight: 700; font-style: italic; }
.live-search__tags { display: flex; flex: 1; min-width: 0; margin-left: 3px; color: #999; font-size: 12px; font-style: italic; }
.live-search__tag-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.live-search__more { flex: none; }
.live-search__date { flex: none; font-size: 12px; font-weight: 500; color: #666; white-space: nowrap; text-align: right; }
.live-search__empty { color: #61737b; font-size: 14px; }
.live-search__announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .live-search__results { gap: 8px; }
  .live-search__option { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 8px 12px; padding: 8px 0; }
  .live-search__content { flex-wrap: wrap; white-space: normal; }
  .live-search__title { max-width: 100%; overflow-wrap: anywhere; }
  .live-search__session { max-width: 100%; overflow-wrap: anywhere; }
  .live-search__tags { flex-basis: 100%; margin-left: 0; white-space: nowrap; }
  .live-search__date { grid-column: 2; white-space: normal; text-align: left; }
}
