/* Book block (blocks/book). Without JavaScript, in print and in the
   editor: the cover, at the size of one page of the open book. With
   book.js (.is-js): StPageFlip's book, two pages wide up to the 1170px
   column, one page on phones, with the controls under it. The stf__ rules are StPageFlip's own stylesheet (2.0.7). */

.rhsa-book {
	margin: 8px auto 0;
	max-width: 1170px;
}
.rhsa-book__pages {
	max-width: 585px;
	margin: 0 auto;
}
.rhsa-book:not(.is-js) .rhsa-book__page:not(.rhsa-book__page--cover) { display: none; }
.rhsa-book__page { background: #fff; }
.rhsa-book__page img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: var(--rhsa-book-ratio, 1);
	-webkit-user-select: none;
	user-select: none;
}
.rhsa-book:not(.is-js) .rhsa-book__page--cover { box-shadow: 0 6px 24px rgba(18, 20, 9, 0.18); }

.rhsa-book.is-js .rhsa-book__pages { max-width: none; }
.rhsa-book.is-js .rhsa-book__page img { height: 100%; object-fit: cover; }
.rhsa-book.is-js .stf__block { filter: drop-shadow(0 6px 18px rgba(18, 20, 9, 0.16)); }
.rhsa-book__stage { border-radius: 2px; }
.rhsa-book__stage:focus { outline: none; }
.rhsa-book__stage:focus-visible { outline: 3px solid var(--rhsa-red); outline-offset: 6px; }

/* StPageFlip */
.stf__parent { position: relative; display: block; box-sizing: border-box; transform: translateZ(0); touch-action: pan-y; }
.stf__wrapper { position: relative; width: 100%; box-sizing: border-box; }
.stf__parent canvas { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
.stf__block { position: absolute; width: 100%; height: 100%; box-sizing: border-box; perspective: 2000px; }
.stf__item { display: none; position: absolute; transform-style: preserve-3d; }
.stf__outerShadow, .stf__innerShadow, .stf__hardShadow, .stf__hardInnerShadow { position: absolute; left: 0; top: 0; }

/* Prev, the page counter, next. The buttons are the site's red pills,
   round; hover goes to ink. */
.rhsa-book__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px;
}
.rhsa-book__controls[hidden] { display: none; }
.rhsa-book__controls button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
}
.rhsa-book__controls button:focus-visible { outline: 2px solid var(--rhsa-ink); outline-offset: 3px; }
.rhsa-book__controls button:disabled,
.rhsa-book__controls button:disabled:hover {
	background-color: var(--rhsa-red);
	opacity: 0.3;
	cursor: default;
}
.is-style-rhsa-section-dark .rhsa-book__count { color: #fff; }
.rhsa-book__count {
	min-width: 9.5em;
	margin: 0;
	color: var(--rhsa-ink);
	font-family: var(--rhsa-cond);
	font-size: 17px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* Editor only: the PDF or its page images are missing. */
.rhsa-book-notice {
	padding: 16px 20px;
	border: 2px dashed var(--rhsa-line);
	color: var(--rhsa-body);
	font-size: 15px;
}

@media print {
	.rhsa-book__controls { display: none !important; }
	.rhsa-book .stf__wrapper { padding: 0 !important; }
	.rhsa-book .stf__block { position: static; filter: none; }
	.rhsa-book .stf__outerShadow, .rhsa-book .stf__innerShadow, .rhsa-book .stf__hardShadow, .rhsa-book .stf__hardInnerShadow { display: none !important; }
	.rhsa-book .rhsa-book__page { display: none !important; }
	.rhsa-book .rhsa-book__page--cover {
		display: block !important;
		position: static !important;
		width: min(100%, 585px) !important;
		height: auto !important;
		margin: 0 auto;
		transform: none !important;
		clip-path: none !important;
		box-shadow: none;
	}
	.rhsa-book .rhsa-book__page--cover img { height: auto; }
}
