/**
 * WP PDF Reader — front-end reader styles.
 */

.wppdf-viewer {
	--wppdf-height: 800px;
	--wppdf-bg: #f4f4f5;
	--wppdf-toolbar-bg: #ffffff;
	--wppdf-border: #e0e0e5;
	--wppdf-text: #1e1e1e;
	--wppdf-accent: #2271b1;

	position: relative;
	margin: 1.5em 0;
	border: 1px solid var(--wppdf-border);
	border-radius: 6px;
	background: var(--wppdf-toolbar-bg);
	color: var(--wppdf-text);
	overflow: hidden;
}

.wppdf-viewer__fallback {
	margin: 0;
	padding: 0.6em 1em;
	background: #fff8e5;
	border-bottom: 1px solid #f0e0b0;
	font-size: 0.875em;
	line-height: 1.4;
}

/* Toolbar ---------------------------------------------------------------- */

.wppdf-viewer__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
	padding: 0.4em 0.6em;
	background: var(--wppdf-toolbar-bg);
	border-bottom: 1px solid var(--wppdf-border);
}

.wppdf-toolbar__group {
	display: flex;
	align-items: center;
	gap: 0.25em;
}

.wppdf-toolbar__group--end {
	margin-left: auto;
}

.wppdf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	height: 2em;
	padding: 0 0.5em;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font-size: 1em;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.wppdf-btn:hover,
.wppdf-btn:focus {
	background: #eceff3;
	border-color: var(--wppdf-border);
	color: inherit;
}

.wppdf-btn:focus-visible {
	outline: 2px solid var(--wppdf-accent);
	outline-offset: 1px;
}

.wppdf-pages {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-size: 0.875em;
}

.wppdf-page-input {
	width: 3.5em;
	height: 2em;
	padding: 0 0.35em;
	border: 1px solid var(--wppdf-border);
	border-radius: 4px;
	background: #fff;
	text-align: center;
	font-size: 1em;
	color: inherit;
	-moz-appearance: textfield;
}

.wppdf-page-input::-webkit-outer-spin-button,
.wppdf-page-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wppdf-zoom-level {
	min-width: 4em;
	text-align: center;
	font-size: 0.8125em;
	font-variant-numeric: tabular-nums;
}

/* Search ----------------------------------------------------------------- */

.wppdf-toolbar__search {
	flex: 1 1 12em;
	min-width: 0;
}

.wppdf-search-input {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 16em;
	height: 2em;
	padding: 0 0.5em;
	border: 1px solid var(--wppdf-border);
	border-radius: 4px;
	background: #fff;
	color: inherit;
	font-size: 0.875em;
}

.wppdf-search-count {
	min-width: 5em;
	font-size: 0.75em;
	opacity: 0.75;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.wppdf-btn[disabled] {
	opacity: 0.35;
	cursor: default;
}

.wppdf-language-select {
	height: 2em;
	max-width: 10em;
	padding: 0 0.35em;
	border: 1px solid var(--wppdf-border);
	border-radius: 4px;
	background: #fff;
	color: inherit;
	font-size: 0.8125em;
}

/* The reader ships its own copy so it does not depend on the theme. */
.wppdf-viewer .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

/* Stage ------------------------------------------------------------------ */

.wppdf-viewer__body {
	display: flex;
	align-items: stretch;
	height: var(--wppdf-height);
}

.wppdf-viewer__stage {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	background: var(--wppdf-bg);
}

/* Sidebar ---------------------------------------------------------------- */

.wppdf-viewer__sidebar {
	display: flex;
	flex-direction: column;
	flex: 0 0 12rem;
	width: 12rem;
	border-right: 1px solid var(--wppdf-border);
	background: var(--wppdf-toolbar-bg);
	overflow: hidden;
}

.wppdf-viewer__sidebar[hidden] {
	display: none;
}

.wppdf-sidebar__tabs {
	display: flex;
	border-bottom: 1px solid var(--wppdf-border);
}

.wppdf-sidebar__tab {
	flex: 1 1 auto;
	padding: 0.5em 0.25em;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 0.8125em;
	cursor: pointer;
}

.wppdf-sidebar__tab.is-active {
	box-shadow: inset 0 -2px 0 var(--wppdf-accent);
	font-weight: 600;
}

.wppdf-sidebar__tab[hidden] {
	display: none;
}

.wppdf-sidebar__panel {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 0.5em;
}

.wppdf-sidebar__panel[hidden] {
	display: none;
}

.wppdf-thumb {
	display: block;
	width: 100%;
	margin: 0 0 0.6em;
	padding: 0.25em;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.wppdf-thumb.is-current {
	border-color: var(--wppdf-accent);
	background: rgba( 34, 113, 177, 0.08 );
}

.wppdf-thumb__canvas {
	display: block;
	width: 100%;
	height: auto;
	background: #fff;
	box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.2 );
}

.wppdf-thumb__label {
	display: block;
	padding-top: 0.2em;
	font-size: 0.6875em;
	opacity: 0.7;
}

.wppdf-outline__list {
	margin: 0;
	padding: 0 0 0 0.6em;
	list-style: none;
	font-size: 0.8125em;
}

.wppdf-outline__list .wppdf-outline__list {
	border-left: 1px solid var(--wppdf-border);
}

.wppdf-outline__item {
	display: block;
	width: 100%;
	padding: 0.25em 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	line-height: 1.3;
	cursor: pointer;
}

.wppdf-outline__item:hover,
.wppdf-outline__item:focus {
	color: var(--wppdf-accent);
	text-decoration: underline;
}

/* Links inside the document ---------------------------------------------- */

.wppdf-page__links {
	position: absolute;
	inset: 0;
	z-index: 2;
}

.wppdf-link {
	position: absolute;
	display: block;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: transparent;
	cursor: pointer;
}

.wppdf-link:hover,
.wppdf-link:focus-visible {
	background: rgba( 34, 113, 177, 0.18 );
	outline: 1px solid var(--wppdf-accent);
}

/* Print ------------------------------------------------------------------ */

.wppdf-print-dialog {
	padding: 0.75em 1em;
	border-bottom: 1px solid var(--wppdf-border);
	background: var(--wppdf-toolbar-bg);
	font-size: 0.875em;
}

.wppdf-print-dialog[hidden] {
	display: none;
}

.wppdf-print-dialog fieldset {
	margin: 0 0 0.5em;
	padding: 0;
	border: 0;
}

.wppdf-print-dialog legend {
	padding: 0;
	font-weight: 600;
}

.wppdf-print-dialog label {
	margin-right: 1em;
}

.wppdf-print-dialog input[type="number"] {
	width: 4.5em;
}

.wppdf-print-dialog .wppdf-btn {
	border-color: var(--wppdf-border);
}

.wppdf-print-progress {
	font-size: 0.8125em;
	opacity: 0.75;
}

.wppdf-print-container {
	display: none;
}

@media print {
	body.wppdf-is-printing > *:not(.wppdf-print-container) {
		display: none !important;
	}

	.wppdf-print-container {
		display: block;
	}

	.wppdf-print-page {
		display: block;
		width: 100%;
		max-width: 100%;
		page-break-after: always;
		break-after: page;
	}

	.wppdf-print-page:last-child {
		page-break-after: auto;
		break-after: auto;
	}

	@page {
		margin: 10mm;
	}
}

.wppdf-viewer__pages {
	position: absolute;
	inset: 0;
	overflow: auto;
	padding: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.wppdf-viewer__pages:focus-visible {
	outline: 2px solid var(--wppdf-accent);
	outline-offset: -2px;
}

.wppdf-page {
	position: relative;
	flex: 0 0 auto;
	background: #fff;
	box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.18 );
}

.wppdf-page__canvas {
	display: block;
	width: 100%;
	height: 100%;
}

/* Status ----------------------------------------------------------------- */

.wppdf-viewer__status {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	background: var(--wppdf-bg);
	font-size: 0.9375em;
	pointer-events: none;
}

.wppdf-viewer__status[hidden] {
	display: none;
}

.wppdf-viewer__status.is-error {
	color: #b32d2e;
}

.wppdf-spinner {
	width: 1.1em;
	height: 1.1em;
	border: 2px solid rgba( 0, 0, 0, 0.15 );
	border-top-color: var(--wppdf-accent);
	border-radius: 50%;
	animation: wppdf-spin 0.8s linear infinite;
}

.wppdf-viewer__status.is-error .wppdf-spinner {
	display: none;
}

@keyframes wppdf-spin {
	to {
		transform: rotate( 360deg );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.wppdf-spinner {
		animation: none;
	}

	.wppdf-viewer__pages {
		scroll-behavior: auto;
	}
}

/* Fullscreen ------------------------------------------------------------- */

.wppdf-viewer.is-fullscreen {
	border-radius: 0;
	border: 0;
	display: flex;
	flex-direction: column;
}

.wppdf-viewer.is-fullscreen .wppdf-viewer__body {
	flex: 1 1 auto;
	height: auto;
	min-height: 0;
}

/* Text layer (PDF.js) ---------------------------------------------------- */

.wppdf-page__text {
	position: absolute;
	inset: 0;
	overflow: hidden;
	line-height: 1;
	text-align: initial;
	text-size-adjust: none;
	forced-color-adjust: none;
	transform-origin: 0 0;
}

.wppdf-page__text span,
.wppdf-page__text br {
	position: absolute;
	color: transparent;
	white-space: pre;
	cursor: text;
	transform-origin: 0% 0%;
}

.wppdf-page__text ::selection {
	background: rgba( 34, 113, 177, 0.3 );
}

.wppdf-page__text mark.wppdf-match {
	color: transparent;
	background: rgba( 255, 196, 0, 0.55 );
	border-radius: 2px;
	padding: 0;
}

/* Small screens ---------------------------------------------------------- */

@media ( max-width: 600px ) {
	.wppdf-viewer {
		--wppdf-height: 70vh;
	}

	.wppdf-viewer__toolbar {
		font-size: 0.9375em;
	}

	.wppdf-zoom-level {
		display: none;
	}

	.wppdf-viewer__sidebar {
		position: absolute;
		z-index: 3;
		top: 0;
		bottom: 0;
		left: 0;
		box-shadow: 0 0 12px rgba( 0, 0, 0, 0.25 );
	}

	.wppdf-viewer__body {
		position: relative;
	}
}

/* Dark colour scheme ----------------------------------------------------- */

@media ( prefers-color-scheme: dark ) {
	.wppdf-viewer {
		--wppdf-bg: #1f1f22;
		--wppdf-toolbar-bg: #2b2b30;
		--wppdf-border: #3c3c44;
		--wppdf-text: #f0f0f2;
		--wppdf-accent: #7eb6ff;
	}

	.wppdf-btn:hover,
	.wppdf-btn:focus {
		background: #3a3a42;
	}

	.wppdf-page-input,
	.wppdf-search-input,
	.wppdf-language-select {
		background: #1f1f22;
		border-color: #3c3c44;
		color: inherit;
	}

	.wppdf-viewer__fallback {
		background: #3a3222;
		border-bottom-color: #57492c;
	}

	.wppdf-thumb.is-current {
		background: rgba( 126, 182, 255, 0.15 );
	}

	.wppdf-link:hover,
	.wppdf-link:focus-visible {
		background: rgba( 126, 182, 255, 0.25 );
	}
}

/* Full page reader ------------------------------------------------------- */

body.wppdf-standalone {
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100vh;
	/* 100dvh keeps the reader clear of the address bar on mobile. */
	height: 100dvh;
	/* The reader scrolls inside itself, the page does not scroll at all. */
	overflow: hidden;
	background: var( --wppdf-bg, #f6f7f7 );
}

.wppdf-standalone__bar {
	/*
	 * Three tracks rather than flex, so the title sits in the middle of the
	 * window instead of the middle of whatever is left over.
	 */
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
	padding: 8px 16px;
	background: #1d2327;
	color: #fff;
}

.wppdf-standalone__back {
	justify-self: start;
	/* Themes style links; this bar is chrome and sets its own colour. */
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

.wppdf-standalone__back:hover,
.wppdf-standalone__back:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.wppdf-standalone__title {
	grid-column: 2;
	margin: 0;
	/*
	 * Inheriting would lose to any theme rule on h1, which is how this ended
	 * up grey on near-black.
	 */
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	/* One line: the bar is chrome, not content. */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wppdf-standalone__lang {
	grid-column: 3;
	justify-self: end;
	color: #fff;
	opacity: 0.7;
	font-size: 0.875rem;
}

.wppdf-standalone__main {
	display: flex;
	flex: 1 1 auto;
	/* Without this a flex item refuses to shrink below its content. */
	min-height: 0;
}

/*
 * The reader is sized by flex all the way down rather than by percentages.
 *
 * .wppdf-viewer__pages is absolutely positioned, so .wppdf-viewer__body has no
 * content in flow and no intrinsic height. A percentage height on it only
 * resolves when every ancestor has a definite height, which a flex item does
 * not — so it collapsed to zero and the document was never painted, while the
 * toolbar above it looked perfectly fine.
 */
.wppdf-standalone .wppdf-viewer {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.wppdf-standalone .wppdf-viewer__body {
	flex: 1 1 auto;
	min-height: 0;
	/* Beats .wppdf-viewer__body { height: var( --wppdf-height ) }. */
	height: auto;
}

@media print {
	.wppdf-standalone__bar {
		display: none;
	}
}
