/*
 * mod/pdfSearch - scoped under .pdfSearch, custom properties --pdfSrch-* on the root (never :root). The host decides
 * the theme (html.darkTheme is only read) and may override any --pdfSrch-* property (the PDF24 Toolbox does).
 */
.pdfSearch {
	--pdfSrch-surface: #ffffff;
	--pdfSrch-surface-2: #f6f7f9;
	--pdfSrch-text: #1f2937;
	--pdfSrch-muted: #6b7280;
	--pdfSrch-border: #d4d8dd;
	--pdfSrch-accent: #0078d5;
	--pdfSrch-primary: #0078d5;
	--pdfSrch-primary-text: #ffffff;
	--pdfSrch-hover: rgba(0, 0, 0, .05);
	--pdfSrch-mark: #ffe58a;
	--pdfSrch-mark-text: #1f2937;
	--pdfSrch-warn: #b45309;
	--pdfSrch-error: #c62828;
	--pdfSrch-radius: 8px;

	display: flex;
	flex-direction: column;
	gap: 10px;
	color: var(--pdfSrch-text);
	font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
html.darkTheme .pdfSearch {
	--pdfSrch-surface: #22252a;
	--pdfSrch-surface-2: #2b2f35;
	--pdfSrch-text: #e5e7eb;
	--pdfSrch-muted: #9ca3af;
	--pdfSrch-border: #3a3f46;
	--pdfSrch-accent: #4aa3ff;
	--pdfSrch-hover: rgba(255, 255, 255, .06);
	--pdfSrch-mark: #8a6d00;
	--pdfSrch-mark-text: #fff7d6;
	--pdfSrch-warn: #f0a24a;
	--pdfSrch-error: #ff8a80;
}

.pdfSearch .pdfSrch-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}
.pdfSearch .pdfSrch-query {
	box-sizing: border-box;
	flex: 1 1 260px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--pdfSrch-border);
	border-radius: var(--pdfSrch-radius);
	background: var(--pdfSrch-surface-2);
	color: inherit;
	font: inherit;
}
.pdfSearch .pdfSrch-bar label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}
.pdfSearch .pdfSrch-btn {
	box-sizing: border-box;
	height: 34px;
	padding: 0 14px;
	border: 1px solid var(--pdfSrch-border);
	border-radius: var(--pdfSrch-radius);
	background: var(--pdfSrch-surface);
	color: inherit;
	font: inherit;
	cursor: pointer;
}
.pdfSearch .pdfSrch-btn:hover:not(:disabled) {
	background: var(--pdfSrch-hover);
}
.pdfSearch .pdfSrch-btn:disabled {
	opacity: .4;
	cursor: default;
}
.pdfSearch .pdfSrch-btn.primary {
	border-color: transparent;
	background: var(--pdfSrch-primary);
	color: var(--pdfSrch-primary-text);
	font-weight: 600;
}
.pdfSearch .pdfSrch-btn[hidden] {
	display: none;
}

.pdfSearch .pdfSrch-status {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	color: var(--pdfSrch-muted);
}
.pdfSearch .pdfSrch-statusText.error {
	color: var(--pdfSrch-error);
}
.pdfSearch .pdfSrch-spacer {
	flex: 1 1 auto;
}
.pdfSearch .pdfSrch-spinner {
	width: 16px;
	height: 16px;
	border: 3px solid var(--pdfSrch-border);
	border-top-color: var(--pdfSrch-accent);
	border-radius: 50%;
	animation: pdfSrch-spin .8s linear infinite;
}
.pdfSearch .pdfSrch-spinner[hidden] {
	display: none;
}
@keyframes pdfSrch-spin {
	to { transform: rotate(360deg); }
}

.pdfSearch .pdfSrch-results {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.pdfSearch .pdfSrch-group {
	border: 1px solid var(--pdfSrch-border);
	border-radius: var(--pdfSrch-radius);
	background: var(--pdfSrch-surface);
	overflow: hidden;
}
.pdfSearch .pdfSrch-file {
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 8px 12px;
	background: var(--pdfSrch-surface-2);
	cursor: pointer;
}
.pdfSearch .pdfSrch-fileName {
	font-weight: 600;
}
.pdfSearch .pdfSrch-filePath {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--pdfSrch-muted);
	font-size: 12px;
}
.pdfSearch .pdfSrch-count {
	margin-inline-start: auto;
	color: var(--pdfSrch-muted);
	white-space: nowrap;
}
.pdfSearch .pdfSrch-warn .pdfSrch-count {
	color: var(--pdfSrch-warn);
}
.pdfSearch .pdfSrch-hit {
	display: flex;
	gap: 12px;
	padding: 6px 12px;
	border-top: 1px solid var(--pdfSrch-border);
	cursor: pointer;
}
.pdfSearch .pdfSrch-hit:hover,
.pdfSearch .pdfSrch-file:hover {
	background: var(--pdfSrch-hover);
}
.pdfSearch .pdfSrch-page {
	flex: none;
	min-width: 64px;
	color: var(--pdfSrch-muted);
}
.pdfSearch .pdfSrch-snippet {
	min-width: 0;
	overflow-wrap: anywhere;
}
.pdfSearch .pdfSrch-snippet mark {
	padding: 0 1px;
	border-radius: 2px;
	background: var(--pdfSrch-mark);
	color: var(--pdfSrch-mark-text);
}

/* scans without text: hand them on for text recognition (host hook onOcr) */
.pdfSearch .pdfSrch-ocr {
	flex: none;
	height: 28px;
	padding: 0 10px;
	font-size: 13px;
}
