/**
 * Grand Library public presentation.
 */

.grand-library {
	--gl-columns-desktop: 4;
	--gl-columns-tablet: 3;
	--gl-columns-mobile: 2;
	--gl-bg: #e8ded0;
	--gl-bg-deep: #cbbb9f;
	--gl-text: #2c2119;
	--gl-muted: #746454;
	--gl-accent: #a77a32;
	--gl-accent-soft: #d4b779;
	--gl-board-top: #8a5a34;
	--gl-board-front: #654126;
	--gl-board-edge: #432b1c;
	--gl-shadow: rgba(31, 18, 10, .38);
	--gl-book-gap: clamp(18px, 3vw, 52px);
	--gl-book-max-width: 250px;
	--gl-shelf-min-height: 0px;
	--gl-search-control-height: 44px;
	--gl-display-font: Georgia, "Times New Roman", serif;
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	overflow: clip;
	padding: clamp(16px, 2.5vw, 36px) clamp(14px, 3vw, 44px) clamp(36px, 6vw, 84px);
	color: var(--gl-text);
	background:
		radial-gradient(circle at 50% -20%, rgba(255,255,255,.72), transparent 48%),
		linear-gradient(135deg, var(--gl-bg), var(--gl-bg-deep));
	font-family: inherit;
}

.grand-library *,
.grand-library *::before,
.grand-library *::after {
	box-sizing: inherit;
}

.grand-library::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		repeating-linear-gradient(0deg, rgba(77, 57, 38, .024) 0, rgba(77, 57, 38, .024) 1px, transparent 1px, transparent 4px),
		radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.18), transparent 32%);
	content: "";
	pointer-events: none;
}

.gl-palette-walnut-gold {
	--gl-bg: #e5d9c9;
	--gl-bg-deep: #c9b99f;
	--gl-text: #2d2119;
	--gl-muted: #74604c;
	--gl-accent: #a9792e;
	--gl-accent-soft: #d8bd84;
	--gl-board-top: #8d5b34;
	--gl-board-front: #623d23;
	--gl-board-edge: #3d281b;
}

.gl-palette-light-cream {
	--gl-bg: #f1eadf;
	--gl-bg-deep: #d8cbb7;
	--gl-text: #40372d;
	--gl-muted: #817465;
	--gl-accent: #a88450;
	--gl-accent-soft: #d8c19e;
	--gl-board-top: #c59b68;
	--gl-board-front: #9d7448;
	--gl-board-edge: #725135;
}

.gl-palette-black-bronze {
	--gl-bg: #262522;
	--gl-bg-deep: #11110f;
	--gl-text: #eee5d8;
	--gl-muted: #b6aa9b;
	--gl-accent: #b87b48;
	--gl-accent-soft: #d6a77d;
	--gl-board-top: #4a372e;
	--gl-board-front: #2d211c;
	--gl-board-edge: #17110e;
	--gl-shadow: rgba(0, 0, 0, .65);
}

.gl-palette-white-gray {
	--gl-bg: #f5f5f3;
	--gl-bg-deep: #d9d9d5;
	--gl-text: #26292c;
	--gl-muted: #666b70;
	--gl-accent: #7b8186;
	--gl-accent-soft: #c3c7ca;
	--gl-board-top: #b6b4ae;
	--gl-board-front: #8d8b85;
	--gl-board-edge: #66645f;
}

.gl-palette-emerald-gold {
	--gl-bg: #d8e0d6;
	--gl-bg-deep: #9eafa1;
	--gl-text: #102b22;
	--gl-muted: #496257;
	--gl-accent: #b38a38;
	--gl-accent-soft: #d9c180;
	--gl-board-top: #315b48;
	--gl-board-front: #204436;
	--gl-board-edge: #112d23;
}

.gl-library-header {
	width: min(920px, 100%);
	margin: 0 auto var(--gl-header-bottom-gap, clamp(20px, 3vw, 38px));
	text-align: center;
}

.gl-library-header__ornament {
	display: inline-block;
	width: 74px;
	height: 1px;
	margin-bottom: 14px;
	background: linear-gradient(90deg, transparent, var(--gl-accent), transparent);
}

.gl-library-title {
	margin: 0;
	font-family: var(--gl-display-font);
	font-size: clamp(30px, 5vw, 64px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.025em;
}

.gl-library-description {
	max-width: 680px;
	margin: 14px auto 0;
	color: var(--gl-muted);
	font-size: clamp(14px, 1.6vw, 18px);
	line-height: 1.8;
}

.gl-shelves {
	display: grid;
	gap: clamp(30px, 5vw, 68px);
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.gl-shelf {
	position: relative;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	min-height: var(--gl-shelf-min-height);
	border: 1px solid color-mix(in srgb, var(--gl-board-edge) 38%, transparent);
	border-radius: 8px 8px 3px 3px;
	background:
		linear-gradient(90deg, rgba(255,255,255,.08), transparent 8%, transparent 92%, rgba(0,0,0,.08)),
		linear-gradient(180deg, color-mix(in srgb, var(--gl-bg) 84%, #fff), var(--gl-bg));
	box-shadow:
		0 24px 40px -28px var(--gl-shadow),
		inset 0 8px 20px rgba(255,255,255,.22);
}

.gl-template-classic.gl-shelf {
	border-radius: 8px 8px 3px 3px;
}

.gl-template-luxury.gl-shelf {
	border-width: 2px;
	border-color: color-mix(in srgb, var(--gl-accent) 55%, var(--gl-board-edge));
	box-shadow:
		0 30px 55px -28px var(--gl-shadow),
		inset 0 0 0 4px color-mix(in srgb, var(--gl-accent) 14%, transparent);
}

.gl-template-modern.gl-shelf {
	border: 0;
	border-radius: 2px;
	background: color-mix(in srgb, var(--gl-bg) 90%, #fff);
	box-shadow: 0 18px 50px -36px var(--gl-shadow);
}

.gl-shelf-header {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 54px;
	padding: 10px 18px;
	color: var(--gl-text);
	background: linear-gradient(180deg, rgba(255,255,255,.23), rgba(0,0,0,.035));
	border-bottom: 1px solid color-mix(in srgb, var(--gl-accent) 30%, transparent);
}

.gl-shelf-title {
	margin: 0;
	font-family: var(--gl-display-font);
	font-size: clamp(17px, 2vw, 25px);
	font-weight: 500;
	text-align: center;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gl-shelf-header__line {
	width: clamp(24px, 6vw, 88px);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gl-accent));
}

[dir="rtl"] .gl-shelf-header__line:first-child,
[dir="ltr"] .gl-shelf-header__line:last-of-type {
	transform: scaleX(-1);
}

.gl-shelf-toggle {
	position: absolute;
	inset-inline-end: 12px;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	padding: 0;
	color: currentColor;
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--gl-accent) 45%, transparent);
	border-radius: 50%;
	cursor: pointer;
}

.gl-shelf-toggle__icon {
	width: 8px;
	height: 8px;
	border-inline-end: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
	transition: transform .2s ease;
}

.gl-shelf-toggle[aria-expanded="false"] .gl-shelf-toggle__icon {
	transform: rotate(-45deg);
}

.gl-shelf-body {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	transition: opacity .2s ease;
}

.gl-shelf-body[hidden] {
	display: none;
}

.gl-tier {
	position: relative;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	padding: 34px clamp(12px, 2.5vw, 36px) 0;
	background:
		linear-gradient(90deg, rgba(0,0,0,.04), transparent 8%, transparent 92%, rgba(0,0,0,.05)),
		linear-gradient(180deg, transparent, rgba(0,0,0,.055));
}

.gl-tier + .gl-tier {
	padding-top: 52px;
}

.gl-tier-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	color: var(--gl-muted);
	font-family: var(--gl-display-font);
	font-size: clamp(14px, 1.7vw, 20px);
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}

.gl-tier-title::before,
.gl-tier-title::after {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gl-accent) 50%, transparent));
	content: "";
}

.gl-tier-title::after {
	transform: scaleX(-1);
}

.gl-tier__scene {
	display: flex;
	align-items: end;
	gap: clamp(10px, 2vw, 28px);
	min-width: 0;
	width: 100%;
	max-width: 100%;
	min-height: var(--gl-tier-min-height, clamp(220px, 29vw, 380px));
}

.gl-books {
	display: grid;
	flex: 1;
	grid-template-columns: repeat(var(--gl-columns-desktop), minmax(0, 1fr));
	align-items: end;
	gap: var(--gl-book-gap);
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.gl-book {
	position: relative;
	min-width: 0;
	perspective: 900px;
}

.gl-book__link {
	display: block;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	color: inherit;
	text-decoration: none !important;
}

.gl-book__volume {
	position: relative;
	display: block;
	min-width: 0;
	width: 100%;
	max-width: var(--gl-book-max-width);
	aspect-ratio: 3 / 4;
	margin: 0 auto;
	transform-style: preserve-3d;
	transform: rotateY(-2deg) translateY(0);
	transform-origin: bottom center;
	transition: transform .28s cubic-bezier(.2,.7,.2,1), filter .28s ease;
	filter: drop-shadow(0 14px 9px rgba(18, 12, 8, .25));
}

[dir="rtl"] .gl-book__volume {
	transform: rotateY(2deg);
}

.gl-book__link:hover .gl-book__volume,
.gl-book__link:focus-visible .gl-book__volume {
	transform: rotateY(-5deg) translateY(-12px) scale(1.025);
	filter: drop-shadow(0 24px 15px rgba(18, 12, 8, .35));
}

[dir="rtl"] .gl-book__link:hover .gl-book__volume,
[dir="rtl"] .gl-book__link:focus-visible .gl-book__volume {
	transform: rotateY(5deg) translateY(-12px) scale(1.025);
}

.gl-book__cover {
	position: absolute;
	z-index: 2;
	inset: 0 0 0 7%;
	overflow: hidden;
	padding: 10% 9% 9%;
	color: var(--gl-book-title-color, #f0d89d);
	background:
		linear-gradient(110deg, rgba(255,255,255,.16), transparent 22%, transparent 76%, rgba(0,0,0,.2)),
		var(--gl-book-color);
	border: 1px solid rgba(238,211,150,.38);
	border-radius: 2px 5px 5px 2px;
	box-shadow:
		inset 10px 0 18px rgba(0,0,0,.23),
		inset -2px 0 5px rgba(255,255,255,.11);
}

.gl-book__cover::after {
	position: absolute;
	inset: 2.5%;
	border: 1px solid var(--gl-book-accent-color, rgba(222,192,128,.34));
	content: "";
	pointer-events: none;
}

.gl-book__border {
	position: absolute;
	inset: 5%;
	border: 1px solid var(--gl-book-accent-color, rgba(222,192,128,.25));
	pointer-events: none;
}

.gl-book__title {
	position: relative;
	z-index: 2;
	display: -webkit-box;
	min-height: 2.7em;
	overflow: hidden;
	font-family: var(--gl-display-font);
	font-size: clamp(11px, 1.35vw, 19px);
	line-height: 1.35;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .055em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.gl-book__rule {
	display: block;
	width: 34%;
	height: 1px;
	margin: 5% auto 7%;
	background: var(--gl-book-accent-color, currentColor);
	opacity: .65;
}

.gl-book__image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: rgba(0,0,0,.18);
	border: 2px solid var(--gl-book-accent-color, rgba(230,205,153,.38));
	box-shadow: 0 5px 12px rgba(0,0,0,.25);
}

.gl-book__image-file {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gl-book__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 50% 38%, rgba(255,255,255,.2) 0 9%, transparent 10%),
		linear-gradient(145deg, rgba(255,255,255,.12), transparent 45%),
		linear-gradient(35deg, rgba(0,0,0,.26), transparent);
}

.gl-book__spine {
	position: absolute;
	z-index: 3;
	inset: 0 auto 0 0;
	display: grid;
	width: 8%;
	place-items: center;
	overflow: hidden;
	color: var(--gl-book-spine-color, #dbc58e);
	background: color-mix(in srgb, var(--gl-book-color) 78%, #000);
	border-inline-end: 1px solid rgba(255,255,255,.13);
	border-radius: 3px 0 0 3px;
	box-shadow: inset -3px 0 5px rgba(0,0,0,.35);
}

.gl-book__spine span {
	display: block;
	max-width: 200px;
	overflow: hidden;
	font-family: var(--gl-display-font);
	font-size: clamp(7px, .72vw, 11px);
	white-space: nowrap;
	text-overflow: ellipsis;
	transform: rotate(-90deg);
}

.gl-book__pages {
	position: absolute;
	z-index: 1;
	inset: 2% -2% 2% 8%;
	background: repeating-linear-gradient(180deg, #eee5d6 0, #eee5d6 2px, #d5c8b5 3px, #eee5d6 4px);
	border-radius: 0 5px 5px 0;
	transform: translateZ(-2px);
}

.gl-book__caption {
	display: block;
	margin-top: 12px;
	overflow: hidden;
	font-size: clamp(12px, 1.15vw, 16px);
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: var(--gl-book-caption-color, inherit);
}

.gl-template-luxury .gl-book__cover {
	color: var(--gl-book-title-color, #efd994);
	border-width: 2px;
	box-shadow:
		inset 12px 0 20px rgba(0,0,0,.3),
		inset 0 0 0 3px rgba(202,161,77,.11);
}

.gl-template-luxury .gl-book__caption {
	color: var(--gl-book-caption-color, var(--gl-accent-soft));
}

.gl-template-modern .gl-book__cover {
	color: var(--gl-book-title-color, #f4f1ea);
	border: 0;
	border-radius: 1px 7px 7px 1px;
}

.gl-template-modern .gl-book__cover::after,
.gl-template-modern .gl-book__border,
.gl-template-modern .gl-book__rule {
	display: none;
}

.gl-template-modern .gl-book__title {
	text-align: start;
	text-transform: none;
	letter-spacing: 0;
}

.gl-decoration {
	position: relative;
	flex: 0 0 clamp(46px, 7vw, 100px);
	align-self: end;
	height: clamp(95px, 16vw, 205px);
}

.gl-decoration__image {
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.gl-decoration__shape {
	position: absolute;
	inset: auto 12% 0;
	display: block;
}

.gl-decoration--vase .gl-decoration__shape {
	height: 68%;
	background:
		radial-gradient(ellipse at 50% 16%, rgba(255,255,255,.35), transparent 20%),
		linear-gradient(90deg, rgba(0,0,0,.18), transparent 28%, rgba(255,255,255,.18) 50%, transparent 72%, rgba(0,0,0,.18)),
		color-mix(in srgb, var(--gl-accent) 42%, #90765e);
	border-radius: 38% 38% 28% 28% / 24% 24% 12% 12%;
	box-shadow: 0 9px 10px rgba(0,0,0,.2);
}

.gl-decoration--frame .gl-decoration__shape {
	height: 62%;
	background: linear-gradient(135deg, var(--gl-accent-soft), #6f5031);
	border: 7px solid color-mix(in srgb, var(--gl-board-top) 72%, #22170f);
	box-shadow: 0 9px 10px rgba(0,0,0,.26), inset 0 0 0 2px rgba(255,255,255,.2);
	transform: rotate(-4deg);
}

.gl-decoration--frame .gl-decoration__shape::after {
	position: absolute;
	inset: 12%;
	background: linear-gradient(145deg, rgba(255,255,255,.35), transparent), var(--gl-bg-deep);
	content: "";
}

.gl-decoration--books .gl-decoration__shape {
	height: 64%;
	background:
		linear-gradient(90deg, #473129 0 27%, transparent 27% 31%, #8d6a44 31% 60%, transparent 60% 64%, #29453d 64% 100%);
	border-bottom: 4px solid rgba(0,0,0,.25);
	box-shadow: 0 8px 10px rgba(0,0,0,.23);
}

.gl-tier__board {
	position: relative;
	z-index: 4;
	height: clamp(18px, 2.2vw, 30px);
	margin: 0 clamp(-36px, -2.5vw, -12px);
	background:
		linear-gradient(90deg, rgba(255,255,255,.16), transparent 18%, transparent 78%, rgba(0,0,0,.15)),
		linear-gradient(180deg, var(--gl-board-top), var(--gl-board-front));
	border-top: 1px solid rgba(255,255,255,.18);
	border-bottom: 3px solid var(--gl-board-edge);
	box-shadow: 0 14px 18px var(--gl-shadow);
}

.gl-tier__board span {
	position: absolute;
	inset: 100% 1.5% auto;
	height: 9px;
	background: var(--gl-board-edge);
	clip-path: polygon(0 0, 100% 0, 98.5% 100%, 1.5% 100%);
}

.gl-library-empty,
.gl-tier-empty,
.gl-books-empty {
	width: 100%;
	margin: 0;
	padding: 28px;
	color: var(--gl-muted);
	text-align: center;
}

.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;
}

.gl-search {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(140px, 220px)) auto;
	gap: 10px;
	min-width: 0;
	width: min(920px, 100%);
	max-width: 100%;
	margin: 0 auto clamp(24px, 4vw, 44px);
	padding: 10px;
	background: color-mix(in srgb, var(--gl-bg) 76%, #fff);
	border: 1px solid color-mix(in srgb, var(--gl-accent) 28%, transparent);
	border-radius: 10px;
	box-shadow: 0 12px 30px -24px var(--gl-shadow);
}

.gl-search input,
.gl-search select,
.gl-search button {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	min-height: var(--gl-search-control-height);
	padding: 8px 12px;
	color: var(--gl-text);
	background: color-mix(in srgb, var(--gl-bg) 82%, #fff);
	border: 1px solid color-mix(in srgb, var(--gl-muted) 35%, transparent);
	border-radius: 7px;
	font: inherit;
}

.gl-search__reset {
	cursor: pointer;
}

.gl-search-empty {
	padding: 34px 16px;
	color: var(--gl-muted);
	text-align: center;
}

.gl-inline-viewer {
	margin-top: 28px;
	background: color-mix(in srgb, var(--gl-bg) 88%, #fff);
	border: 1px solid color-mix(in srgb, var(--gl-accent) 32%, transparent);
	border-radius: 9px;
	box-shadow: 0 18px 45px -32px var(--gl-shadow);
}

.gl-inline-viewer > header,
.gl-content-modal__dialog > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid color-mix(in srgb, var(--gl-accent) 25%, transparent);
}

.gl-inline-viewer h3,
.gl-content-modal h3 {
	margin: 0;
	font-size: 18px;
}

.gl-inline-viewer button,
.gl-content-modal button {
	width: 38px;
	height: 38px;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 50%;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
}

.gl-content-host {
	min-height: 180px;
	padding: 16px;
}

.gl-content-image,
.gl-content-pdf,
.gl-content-frame {
	display: block;
	width: 100%;
	max-width: 100%;
	height: min(76vh, 900px);
	margin: auto;
	border: 0;
}

.gl-content-image {
	height: auto;
	max-height: 76vh;
	object-fit: contain;
}

.gl-content-loading,
.gl-content-error {
	margin: 0;
	padding: 54px 16px;
	color: var(--gl-muted);
	text-align: center;
}

.gl-content-error {
	color: #9b2c2c;
}

.gl-content-modal {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
}

.gl-content-modal[hidden],
.gl-inline-viewer[hidden],
.gl-search-empty[hidden],
.gl-book[hidden],
.gl-tier[hidden],
.gl-shelf[hidden] {
	display: none !important;
}

.gl-content-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 12, 9, .78);
	backdrop-filter: blur(3px);
}

.gl-content-modal__dialog {
	position: relative;
	width: min(1120px, 96vw);
	max-height: 94vh;
	overflow: auto;
	color: var(--gl-text);
	background: var(--gl-bg);
	border-radius: 10px;
	box-shadow: 0 30px 90px rgba(0,0,0,.5);
}

body.gl-modal-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.gl-books {
		grid-template-columns: repeat(var(--gl-columns-tablet), minmax(0, 1fr));
	}

	.gl-decoration {
		flex-basis: clamp(42px, 7vw, 72px);
	}
}

@media (max-width: 767px) {
	.grand-library {
		--gl-book-max-width: 180px;
		--gl-tier-min-height: 220px;
		width: 100%;
		max-width: 100vw;
		padding-inline: 10px;
	}

	.gl-shelf-header {
		padding-inline: 48px;
	}

	.gl-shelf-header__line {
		display: none;
	}

	.gl-tier {
		padding-inline: 10px;
		padding-top: 25px;
	}

	.gl-books {
		grid-template-columns: repeat(var(--gl-columns-mobile), minmax(0, 1fr));
		gap: 18px clamp(8px, 3vw, 12px);
		min-width: 0;
		width: 100%;
		max-width: 100%;
	}

	.gl-book,
	.gl-book__link,
	.gl-book__volume {
		min-width: 0;
		max-width: 100%;
	}

	.gl-decoration {
		display: none;
	}

	.gl-tier--mobile-decor .gl-decoration {
		display: block;
		flex-basis: 36px;
		height: 100px;
	}

	.gl-book__title {
		font-size: clamp(10px, 3vw, 14px);
	}

	.gl-book__spine span {
		font-size: 7px;
	}

	.gl-tier__board {
		margin-inline: -10px;
	}

	.gl-search {
		grid-template-columns: 1fr;
		min-width: 0;
		width: 100%;
		max-width: 100%;
	}

	.gl-content-modal {
		padding: 6px;
	}

	.gl-content-modal__dialog {
		width: 100%;
		max-height: 98vh;
	}

	.gl-content-host {
		padding: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.grand-library *,
	.grand-library *::before,
	.grand-library *::after {
		scroll-behavior: auto !important;
		transition-duration: .001ms !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
	}

	.gl-book__link:hover .gl-book__volume,
	.gl-book__link:focus-visible .gl-book__volume,
	[dir="rtl"] .gl-book__link:hover .gl-book__volume,
	[dir="rtl"] .gl-book__link:focus-visible .gl-book__volume {
		transform: none;
	}
}

@media print {
	.grand-library {
		background: #fff;
		color: #111;
	}

	.gl-book__volume {
		filter: none;
	}

	.gl-shelf-toggle,
	.gl-decoration {
		display: none;
	}
}
