.qv-popup {
	box-sizing: border-box;
	width: min(48rem, calc(100vw - 2rem));
	max-height: min(48rem, calc(100dvh - 2rem));
	padding: 0;
	border: 1px solid #d8d8d8;
	border-radius: 0.75rem;
	background: #fff;
	color: #222;
	box-shadow: 0 1rem 3rem #0003;
}
.qv-popup::backdrop { background: #0009; }
.qv-popup__shell { display: flex; flex-direction: column; max-height: inherit; }
.qv-popup__header, .qv-popup__footer { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; }
.qv-popup__header { justify-content: space-between; border-bottom: 1px solid #ddd; }
.qv-popup__heading { margin: 0; font-size: 1.25rem; }
.qv-popup__search { flex: 1; min-width: 0; }
.qv-popup__search-input { box-sizing: border-box; width: 100%; min-height: 2.75rem; padding: 0.5rem 0.75rem; border: 1px solid #bbb; border-radius: 0.5rem; background: #fff; color: inherit; font: inherit; }
.qv-popup__search-input:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.qv-popup__close { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid #bbb; border-radius: 0.5rem; background: #fff; color: inherit; cursor: pointer; }
.qv-popup__close:hover { background: #eee; }
.qv-popup__notice { margin: 0; padding: 0 1.25rem; }
.qv-popup__notice:empty { display: none; }
.qv-popup__results { min-height: 8rem; overflow: auto; padding: 0 1.25rem; transition: opacity 0.15s; }
.qv-popup__results--loading { opacity: 0.45; pointer-events: none; }
.qv-popup__result { padding: 1rem 0; border-bottom: 1px solid #e4e4e4; }
.qv-popup__result-title { font-weight: 600; color: inherit; }
.qv-popup__excerpt { margin: 0.5rem 0 0; color: #555; }
.qv-popup__footer { flex-wrap: wrap; justify-content: space-between; border-top: 1px solid #ddd; background: #f8f9fb; }
.qv-popup__count { margin: 0; color: #5f7084; }
.qv-popup__pages { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; }
.qv-popup__pages button { min-width: 2.5rem; min-height: 2.75rem; padding: 0 0.35rem; border: 0; background: transparent; color: #006cc8; font: inherit; cursor: pointer; }
.qv-popup__pages button:hover:not(:disabled) { text-decoration: underline; }
.qv-popup__pages button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.qv-popup__pages button[aria-current="page"] { color: #5f7084; cursor: default; }
.qv-popup__pages .qv-popup__page-step { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 0; text-transform: uppercase; }
.qv-popup__page-arrow { font-size: 1.5em; line-height: 1; }
.qv-popup__fallback { color: inherit; }
@media (max-width: 40rem) {
	.qv-popup { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
	.qv-popup__header, .qv-popup__footer { padding: 0.75rem; }
	.qv-popup__results { padding: 0 0.75rem; }
}
