:root {
	--page-search-bar-height: 0px;
}

/* Keep the common page-top button clear of the fixed search bar on article detail pages. */
.p-pagetop {
	bottom: calc(var(--space-md) + env(safe-area-inset-bottom, 0px) + var(--page-search-bar-height));
}

@media (max-width: 767px) {
	.p-pagetop {
		bottom: calc(var(--space-sm) + env(safe-area-inset-bottom, 0px) + var(--page-search-bar-height));
	}
}

.p-page-search {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 600;
	background-color: var(--color-white);
	border-top: 1px solid var(--color-border);
	box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.12);
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

.p-page-search__inner {
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
}

.p-page-search__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--color-border);
	border-radius: 20px;
	font-size: 15px;
	font-family: inherit;
	color: var(--color-text);
	background-color: var(--color-bg-gray);
}

.p-page-search__input:focus {
	outline: none;
	border-color: var(--color-primary);
	background-color: var(--color-white);
}

.p-page-search__input:disabled {
	color: var(--color-text-sub);
	cursor: not-allowed;
}

.p-page-search__count {
	flex: 0 0 auto;
	min-width: 60px;
	text-align: center;
	font-size: 13px;
	color: var(--color-text-sub);
	font-variant-numeric: tabular-nums;
}

.p-page-search__nav-btn {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	background-color: var(--color-white);
	color: var(--color-text);
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.p-page-search__nav-btn:hover:not(:disabled) {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-white);
}

.p-page-search__nav-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

@media (max-width: 480px) {
	.p-page-search__count {
		min-width: 44px;
		font-size: 12px;
	}
}

::highlight(js-page-search-all) {
	background-color: #ffe066;
	color: #1a1a1a;
}

::highlight(js-page-search-current) {
	background-color: var(--color-primary);
	color: var(--color-white);
}
