.doc-search { margin-block: 0 1.75rem; font-size: .9rem; }
.doc-search label { display: block; margin-bottom: .5rem; font-weight: 600; }
.doc-search__field { display: flex; gap: .4rem; }
.doc-search input { min-width: 0; width: 100%; padding: .65rem; border: 1px solid #a9b6c1; border-radius: 6px; background: #fff; color: #041c38; font: inherit; }
.doc-search button { padding: .5rem .7rem; border: 0; border-radius: 6px; background: #041c38; color: #fff; font: inherit; cursor: pointer; }
.doc-search :is(input, button, a):focus-visible { outline: 2px solid #287cd5; outline-offset: 3px; }
.doc-search__status { font-size: .85em; margin-block: .5rem; }
.doc-search__status:empty, .doc-search__results:empty { display: none; }
.doc-search .doc-search__results { list-style: none; margin: .75rem 0 0; padding: 0; }
.doc-search__results li { padding: .75rem 0; border-bottom: 1px solid #e1e7eb; }
.doc-search__results a { font-weight: 600; }
.doc-search__results p { margin: .25rem 0 0; font-size: .85em; line-height: 1.5; }
.doc-api { min-width: 0; }
.doc-api__viewer { min-height: 20rem; }
.doc-main:has(.doc-api) { max-width: none; }

.doc-nav .doc-search__results { max-height: 20rem; overflow-y: auto; overscroll-behavior: auto; padding-inline: .2rem; }

@media (pointer: coarse), (max-width: 900px) {
	.doc-search input { font-size: 16px; min-height: 44px; box-sizing: border-box; }
	.doc-search button { min-height: 44px; }
	.doc-nav .doc-search__results { max-height: none; overflow: visible; overscroll-behavior: auto; }
	.doc-search__results a { display: inline-block; padding-block: .5rem; }
}
