/* Library search presentation; BookStack owns queries, snippets and permissions. */
.dkv-library-search { width:min(calc(100% - 64px),1000px); margin-inline:auto; padding:36px 0 48px; }
.dkv-library-search .dkv-back { width:fit-content; margin-bottom:24px; }
.dkv-search-intro { margin:0; color:var(--text-secondary); font-size:16px; }
.dkv-search-form { display:flex; gap:12px; align-items:stretch; margin:28px 0 32px; }
.dkv-search-field { position:relative; flex:1; min-width:0; }
.dkv-search-field>.svg-icon { position:absolute; top:15px; left:16px; color:var(--text-secondary); margin:0; pointer-events:none; }
:root .dkv-bookstack .dkv-search-field>input { height:50px; width:100%; max-width:none; margin:0; padding:12px 16px 12px 48px; background:var(--surface-card); color:var(--text-primary); border:1px solid var(--border-strong); font:400 16px var(--font-body); box-sizing:border-box; }
.dkv-search-field>input::placeholder { color:var(--text-secondary); opacity:1; }
.dkv-search-form>.button { min-height:50px; min-width:106px; margin:0; }
.dkv-results-summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 20px; margin:28px 0 16px; }
.dkv-bookstack .dkv-results-summary h2 { font:700 16px var(--font-body); margin:0; }
.dkv-results-summary>span { font-size:13px; color:var(--text-secondary); }
.dkv-search-results { list-style:none; margin:0; padding:0; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface-card); }
.dkv-search-results>li { padding:0; margin:0; }
.dkv-search-results>li+li { border-top:1px solid var(--border); }
.dkv-search-results>li:first-child>a { border-radius:var(--radius-md) var(--radius-md) 0 0; }
.dkv-search-results>li:last-child>a { border-radius:0 0 var(--radius-md) var(--radius-md); }
.dkv-bookstack a.dkv-search-result { display:flex; align-items:flex-start; gap:18px; padding:24px; color:var(--text-primary); text-decoration:none; }
.dkv-bookstack a.dkv-search-result:hover { background:var(--surface-muted); text-decoration:none; }
.dkv-bookstack a.dkv-search-result:focus-visible { outline-offset:2px; position:relative; z-index:1; }
.dkv-result-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; background:var(--surface-muted); border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-secondary); }
.dkv-result-icon .svg-icon { margin:0; }
.dkv-result-content { min-width:0; flex:1; }
.dkv-result-context { display:flex; flex-wrap:wrap; align-items:center; gap:4px 7px; margin-bottom:7px; color:var(--text-secondary); font:400 12px/1.5 var(--font-body); overflow-wrap:anywhere; }
.dkv-result-type { font-weight:700; color:var(--text-secondary); }
.dkv-result-path-separator { display:flex; align-items:center; }
.dkv-result-path-separator .svg-icon { width:12px; height:12px; margin:0; }
.dkv-bookstack .dkv-result-title { display:block; margin:0 0 8px; font:700 20px/1.35 var(--font-display); letter-spacing:-.01em; overflow-wrap:anywhere; }
.dkv-result-title strong { font-weight:inherit; }
.dkv-result-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; color:var(--text-secondary); font:400 14px/1.65 var(--font-body); overflow-wrap:anywhere; }
.dkv-result-excerpt strong { color:var(--text-primary); font-weight:700; }
.dkv-result-tags { margin-top:12px; }
.dkv-result-arrow { flex:none; margin:34px 0 0; color:var(--text-secondary); }
.dkv-result-arrow .svg-icon { width:18px; height:18px; margin:0; }
.dkv-search-pagination { margin-top:24px; }
.dkv-search-pagination .pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:0; }
:root .dkv-bookstack .dkv-search-pagination .pagination :is(a,span) { display:grid; place-items:center; min-width:40px; min-height:40px; box-sizing:border-box; border:1px solid var(--border); border-radius:var(--radius-sm); color:var(--text-primary); background:var(--surface-card); padding:8px 12px; }
:root .dkv-bookstack .dkv-search-pagination .pagination .active>span { background:var(--surface-muted); border-color:var(--border-strong); font-weight:700; }
:root .dkv-bookstack .dkv-search-pagination .pagination .disabled>span { color:var(--text-secondary); }
.dkv-search-empty,.dkv-search-start { padding:44px 28px; text-align:center; background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-md); }
.dkv-search-empty-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 20px; background:var(--surface-muted); border-radius:50%; color:var(--text-secondary); }
.dkv-search-empty-icon .svg-icon { margin:0; }
.dkv-bookstack :is(.dkv-search-empty,.dkv-search-start) h2 { margin:0 0 12px; font-size:24px; }
:is(.dkv-search-empty,.dkv-search-start) p { max-width:470px; margin:0 auto; color:var(--text-secondary); }
.dkv-search-empty .button { margin:24px 0 0; }
.dkv-search-examples { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.dkv-search-examples>a { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 14px; box-sizing:border-box; background:var(--surface-card); border:1px solid var(--border); border-radius:var(--radius-sm); font-size:14px; }
.dkv-search-examples .svg-icon { width:16px; height:16px; margin:0; }
/* Compact suggestions share result hierarchy, with native keyboard navigation. */
.dkv-library-nav-search .global-search-suggestions { width:480px; max-width:calc(100vw - 64px); padding:0; }
.dkv-library-nav-search [refs="global-search@suggestion-results"] { padding:0; }
.dkv-search-suggestions .dkv-search-result+.dkv-search-result { border-top:1px solid var(--border); }
.dkv-bookstack a.dkv-search-result-compact { padding:14px 16px; gap:12px; }
.dkv-search-result-compact .dkv-result-icon { width:32px; height:32px; margin-top:2px; }
.dkv-search-result-compact .dkv-result-icon .svg-icon { width:17px; height:17px; }
.dkv-search-result-compact .dkv-result-context { font-size:11px; margin-bottom:4px; gap:2px 5px; }
.dkv-bookstack .dkv-search-result-compact .dkv-result-title { font-size:15px; line-height:1.4; margin:0; }
.dkv-suggestions-empty { padding:20px; margin:0; color:var(--text-secondary); font-size:14px; }
@media(max-width:600px) {
 .dkv-library-search { width:calc(100% - 32px); padding:24px 0 32px; }
 .dkv-library-search .dkv-back { margin-bottom:20px; }
 .dkv-search-form { gap:8px; margin:24px 0; }
 .dkv-search-form>.button { min-width:78px; padding-inline:14px; }
 .dkv-search-field>input { padding-left:40px!important; }
 .dkv-search-field>.svg-icon { left:12px; width:18px; }
 .dkv-bookstack a.dkv-search-result { padding:18px 16px; gap:12px; }
 .dkv-result-icon { width:32px; height:32px; }
 .dkv-result-icon .svg-icon { width:17px; height:17px; }
 .dkv-bookstack .dkv-result-title { font-size:18px; }
 .dkv-result-arrow { display:none; }
 .dkv-result-context { font-size:11px; gap:3px 5px; }
 .dkv-result-excerpt { -webkit-line-clamp:3; font-size:14px; }
 .dkv-search-empty,.dkv-search-start { padding:32px 20px; }
}
