.dbs-search { position: relative; width: 100%; max-width: 760px; }
.dbs-search__form { position: relative; margin: 0; }
.dbs-search__row { display: flex; gap: .5rem; }
.dbs-search__input { flex: 1 1 auto; min-width: 0; padding: .9rem 1rem; border: 1px solid #cbd1d5; border-radius: .5rem; background: #fff; font: inherit; }
.dbs-search__input:focus { outline: 2px solid currentColor; outline-offset: 2px; }
.dbs-search__button { flex: 0 0 auto; padding: .9rem 1.25rem; border: 0; border-radius: .5rem; cursor: pointer; font: inherit; font-weight: 600; }
.dbs-search__results { position: absolute; z-index: 9999; top: calc(100% + .4rem); left: 0; right: 0; max-height: min(70vh, 560px); overflow-y: auto; border: 1px solid #d9dddf; border-radius: .6rem; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.16); }
.dbs-search__result { display: flex; gap: .8rem; padding: .8rem; color: inherit; text-decoration: none; border-bottom: 1px solid #eceeef; }
.dbs-search__result:last-child { border-bottom: 0; }
.dbs-search__result:hover, .dbs-search__result:focus { background: #f5f6f6; outline: none; }
.dbs-search__image { width: 64px; height: 64px; flex: 0 0 64px; object-fit: cover; border-radius: .35rem; background: #e8ebed; }
.dbs-search__content { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.dbs-search__meta { font-size: .78rem; line-height: 1.2; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.dbs-search__terms { text-transform: none; letter-spacing: 0; }
.dbs-search__title { font-size: 1rem; line-height: 1.25; }
.dbs-search__excerpt { display: -webkit-box; overflow: hidden; font-size: .88rem; line-height: 1.35; opacity: .8; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dbs-search__message { padding: 1rem; }
@media (max-width: 520px) {
  .dbs-search__row { gap: .35rem; }
  .dbs-search__button { padding-inline: .8rem; }
  .dbs-search__image { width: 52px; height: 52px; flex-basis: 52px; }
}
