/*
 * WonderTale House — Books catalogue and book pages (Phase 3B). Markup: wondertale-core catalogue.php.
 *
 *   .wt-catalogue  "Every Book Opens a New Door.": another room of the house at night (bookshelves,
 *                  a glowing doorway, stars), flowing into a warm-ivory reading room with
 *                  accessible chip filters and a grid of dimensional book cards.
 *   .wt-book       Book page: the cover stands in a lit doorway; story, "At a glance", characters,
 *                  the story-world band (deep storybook teal) and related books.
 *
 * Reuses from sections.css: .wt-bookcard (3D book), .wt-friend (arched character card), .wt-chip.
 * Covers are never cropped (height-driven, width auto). Motion: transform/opacity only; all of it
 * is switched off for prefers-reduced-motion.
 */

/* ---------- Shared ---------- */
.wt-main--catalogue,
.wt-main--book { display: block; background: var(--wt-ivory); overflow-x: clip; }
.wt-main--catalogue:focus,
.wt-main--book:focus { outline: none; }

.wt-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0; padding: 0; list-style: none; font-size: 0.875rem; font-weight: 600; }
.wt-crumbs li { margin: 0; color: #4a5656; }
.wt-crumbs li + li::before { content: "›"; margin-inline: 0.55em; color: var(--wt-gold-700); }
.wt-site .wt-crumbs a { color: var(--wt-teal); text-decoration: underline; text-decoration-color: rgb(6 79 75 / 0.35); text-underline-offset: 3px; }
.wt-site .wt-crumbs a:hover { text-decoration-color: currentColor; }
.wt-crumbs [aria-current] { color: #3b4646; }
.wt-crumbs--on-dark li,
.wt-crumbs--on-dark [aria-current] { color: rgb(255 247 238 / 0.82); }
.wt-site .wt-crumbs--on-dark a { color: var(--wt-ivory); text-decoration-color: rgb(255 247 238 / 0.45); }
.wt-crumbs--on-dark li + li::before { color: var(--wt-gold); }

/* Status chip colours live in sections.css (shared with the homepage, Phase 3C). */
.wt-chip--series { background: rgb(6 79 75 / 0.08); color: var(--wt-teal-900); letter-spacing: 0.04em; text-transform: none; font-weight: 700; }

.wt-editor-panel,
.wt-editor-banner {
	max-width: calc(var(--wt-content-max) + 2 * var(--wt-gutter));
	margin: 0 auto;
	padding: 14px var(--wt-gutter);
	font-size: 0.875rem;
	line-height: 1.5;
	color: #7a2f1e;
}
.wt-editor-banner { position: relative; z-index: 5; margin: 0; max-width: none; background: #fff0e8; border-bottom: 1.5px dashed rgb(180 71 47 / 0.5); }
.wt-editor-banner strong { margin-inline-end: 0.5em; }
.wt-editor-panel { margin-top: clamp(32px, 4vw, 56px); padding: 18px 22px; border: 1.5px dashed rgb(180 71 47 / 0.45); border-radius: var(--wt-radius-md); background: #fff8f2; max-width: min(var(--wt-content-max), calc(100% - 2 * var(--wt-gutter))); }
.wt-editor-panel__title { margin: 0 0 6px; font-weight: 800; }
.wt-editor-panel ul { margin: 0; padding-left: 1.2em; }

/* ---------- Catalogue: night hero ---------- */
.wt-catalogue { --_edge: 64px; background: var(--wt-ivory); }
.wt-catalogue__hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(56px, 7vw, 112px) var(--wt-gutter) calc(var(--_edge) + clamp(64px, 7vw, 120px));
	color: var(--wt-ivory);
	background:
		radial-gradient(ellipse 34% 52% at 74% 64%, rgb(246 201 120 / 0.28), transparent 70%),
		radial-gradient(ellipse 60% 70% at 18% 0%, rgb(42 90 110 / 0.5), transparent 70%),
		linear-gradient(180deg, var(--wt-night) 0%, #0c3340 58%, #0b3b40 100%);
}
.wt-catalogue__art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wt-catalogue__layer { position: absolute; inset: 0; will-change: transform; transform: translate3d(0, var(--wt-parallax-y, 0px), 0); }
.wt-catalogue__layer--stars { background: url(../img/ornaments/stars.svg) center top / cover no-repeat; opacity: 0.7; }
.wt-catalogue__layer--room { inset: auto 0 0; height: 100%; background: url(../img/ornaments/library-room.svg) center bottom / cover no-repeat; opacity: 0.95; }
/* The doorway: an arch of warm light, the room's focal point. */
.wt-catalogue__layer--door {
	inset: auto;
	right: clamp(-40px, 9vw, 190px);
	bottom: calc(var(--_edge) + 6px);
	width: clamp(150px, 19vw, 270px);
	aspect-ratio: 5 / 8;
	border-radius: 999px 999px 10px 10px;
	background:
		radial-gradient(ellipse 60% 45% at 50% 82%, rgb(255 246 222 / 0.95), rgb(255 246 222 / 0) 70%),
		linear-gradient(180deg, #ffe7b0 0%, #f6c978 55%, #e9a23b 100%);
	box-shadow:
		0 0 0 10px #12424a,
		0 0 0 12px rgb(233 162 59 / 0.55),
		0 0 60px 18px rgb(246 201 120 / 0.35),
		0 0 160px 40px rgb(246 201 120 / 0.18);
}
.wt-catalogue__layer--door::before { /* panelled door, opened inward */
	content: "";
	position: absolute;
	inset: 8% 8% 0 52%;
	border-radius: 0 999px 0 0 / 0 60% 0 0;
	background: linear-gradient(90deg, #6b3f17, #8a5a2a 60%, #6b3f17);
	transform-origin: right center;
	transform: perspective(500px) rotateY(-58deg);
	box-shadow: inset 0 0 0 3px rgb(0 0 0 / 0.15);
	opacity: 0.92;
}
.wt-catalogue__doorlight { /* light pooling on the floor in front of the door */
	position: absolute;
	left: 50%;
	bottom: -38px;
	width: 220%;
	height: 70px;
	translate: -50% 0;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgb(255 222 160 / 0.55), transparent 68%);
	animation: wt-door-breathe 5.5s ease-in-out infinite;
}
@keyframes wt-door-breathe { 0%, 100% { opacity: 0.75; } 50% { opacity: 1; } }
.wt-catalogue__sparkles { position: absolute; inset: 0; pointer-events: none; }

.wt-catalogue__intro { position: relative; z-index: 2; max-width: calc(var(--wt-content-max)); margin-inline: auto; }
.wt-catalogue__intro > * { max-width: 640px; }
.wt-catalogue__intro .wt-crumbs { margin-bottom: 22px; }
.wt-catalogue__eyebrow {
	margin: 0 0 var(--wt-space-4);
	font-size: var(--wt-fs-eyebrow);
	font-weight: 800;
	letter-spacing: var(--wt-tracking-eyebrow);
	text-transform: uppercase;
	color: var(--wt-gold);
}
.wt-catalogue__eyebrow::before { content: "✦"; margin-inline-end: 0.7em; letter-spacing: 0; }
.wt-site .wt-catalogue__title {
	margin: 0;
	font-family: var(--wt-font-display);
	font-weight: 600;
	font-size: var(--wt-fs-display);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--wt-ivory);
	font-variation-settings: "SOFT" 70, "WONK" 0, "opsz" 144;
	text-wrap: balance;
}
.wt-catalogue__title > span { display: block; }
.wt-catalogue__accent { color: var(--wt-gold); font-style: italic; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; }
.wt-site .wt-catalogue__lead { margin: var(--wt-space-5) 0 0; font-size: var(--wt-fs-lead); line-height: 1.6; color: rgb(255 247 238 / 0.9); text-wrap: pretty; }

/* Seam into the ivory reading room: a soft hill line with a gold rim. */
.wt-catalogue__edge {
	position: absolute;
	inset: auto 0 -1px;
	height: var(--_edge);
	z-index: 3;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C200 2 360 52 560 26 C760 0 900 50 1100 30 C1260 14 1360 38 1440 24 V64 H0Z' fill='%23E9A23B' fill-opacity='.6'/%3E%3Cpath d='M0 36 C200 8 360 58 560 32 C760 6 900 56 1100 36 C1260 20 1360 44 1440 30 V64 H0Z' fill='%23FFF7EE'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

@media (max-width: 599px) {
	.wt-catalogue__layer--door { display: none; }
}
@media (max-width: 767px) {
	.wt-catalogue { --_edge: 40px; }
	.wt-catalogue__layer--room { opacity: 0.55; }
	.wt-catalogue__layer--door { right: -50px; width: 120px; opacity: 0.55; }
	.wt-catalogue__intro > * { max-width: 100%; }
	.wt-catalogue__hero::after { /* legibility scrim for the copy on small screens */
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background: linear-gradient(90deg, rgb(11 36 51 / 0.72) 0%, rgb(11 36 51 / 0.35) 75%, rgb(11 36 51 / 0) 100%);
	}
}

/* ---------- Catalogue: reading room ---------- */
.wt-catalogue__body {
	position: relative;
	padding: clamp(12px, 2vw, 28px) var(--wt-gutter) var(--wt-section-pad);
	background:
		radial-gradient(ellipse 50% 30% at 50% 0%, rgb(255 236 200 / 0.75), transparent 70%),
		linear-gradient(180deg, #fff7ee 0%, #fdf0df 100%);
}
.wt-catalogue__body > * { max-width: var(--wt-content-max); margin-inline: auto; }

.wt-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px 32px;
	padding: 18px clamp(16px, 2.4vw, 28px);
	border: 1px solid var(--wt-line);
	border-radius: var(--wt-radius-lg);
	background: rgb(255 253 249 / 0.85);
	box-shadow: var(--wt-shadow-1);
}
.wt-filters__group { margin: 0; padding: 0; border: 0; min-width: 0; }
.wt-filters__legend { margin: 0 0 8px; padding: 0; font-size: var(--wt-fs-eyebrow); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wt-gold-700); }
.wt-filters__options { display: flex; flex-wrap: wrap; gap: 8px; }
.wt-filter { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.wt-filter input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.wt-filter__label {
	display: inline-flex;
	align-items: center;
	min-height: var(--wt-tap-min);
	padding: 0 16px;
	border: 1.5px solid #d9c4a6;
	border-radius: var(--wt-radius-pill);
	background: #fffdf9;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--wt-teal-900);
	transition: background-color var(--wt-dur-fast), border-color var(--wt-dur-fast), color var(--wt-dur-fast);
}
.wt-filter__count { margin-inline-start: 4px; font-weight: 600; color: #5b6666; }
.wt-filter input:hover + .wt-filter__label { border-color: var(--wt-teal); }
.wt-filter input:checked + .wt-filter__label { background: var(--wt-teal); border-color: var(--wt-teal); color: var(--wt-ivory); }
.wt-filter input:checked + .wt-filter__label .wt-filter__count { color: rgb(255 247 238 / 0.85); }
.wt-filter input:focus-visible + .wt-filter__label { outline: var(--wt-focus-ring); outline-offset: var(--wt-focus-offset); }
.wt-filters__actions { display: flex; align-items: center; gap: 16px; margin-inline-start: auto; }
.wt-site .wt-filters__clear { font-weight: 700; color: var(--wt-teal); }
.wt-js .wt-filters [data-wt-filters-submit] { display: none; }

.wt-catalogue__results { margin-top: clamp(24px, 3vw, 40px); }
.wt-site .wt-catalogue__count {
	margin: 0 0 clamp(12px, 2vw, 20px);
	font-family: var(--wt-font-body);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4a5656;
}
.wt-site .wt-catalogue__count:focus,
.wt-site .wt-catalogue__count:focus-visible { outline: none; box-shadow: none; }
@media (min-width: 640px) { .wt-site .wt-catalogue__count { text-align: center; } }
.wt-site .wt-catalogue__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 2.6vw, 36px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.wt-catalogue__item { margin: 0; min-width: 0; }
@media (min-width: 640px) { .wt-site .wt-catalogue__grid { grid-template-columns: repeat(auto-fit, minmax(270px, 360px)); justify-content: center; } }
.wt-catalogue__empty { margin: 0; padding: 40px 24px; border: 1.5px dashed var(--wt-line); border-radius: var(--wt-radius-lg); text-align: center; color: #3b4646; font-size: var(--wt-fs-lead); }

/* Catalogue cards: the shelf's 3D book, in a grid (sizes tuned so titles never crop). */
.wt-bookcard--tint-2 { --portal-a: #eaf6ee; --portal-b: #9fd0b8; }
.wt-bookcard--tint-3 { --portal-a: #f3ecfa; --portal-b: #c7aee0; }
.wt-catalogue__grid .wt-bookcard__stage { height: clamp(250px, 24vw, 330px); }
@media (max-width: 639px) { .wt-catalogue__grid .wt-bookcard__stage { height: min(78vw, 300px); } }
.wt-bookcard__series { margin: 0; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wt-gold-700); }
.wt-site .wt-bookcard__title { overflow-wrap: anywhere; hyphens: manual; }

/* ---------- Book page ---------- */
.wt-book { --_edge: 56px; }
.wt-book__hero {
	position: relative;
	isolation: isolate;
	padding: clamp(24px, 3vw, 40px) var(--wt-gutter) calc(var(--_edge) + clamp(40px, 5vw, 80px));
	background:
		radial-gradient(ellipse 40% 60% at 28% 55%, rgb(255 226 170 / 0.75), transparent 70%),
		radial-gradient(ellipse 50% 50% at 90% 10%, rgb(248 215 196 / 0.6), transparent 70%),
		linear-gradient(180deg, #fff7ee 0%, #fdeedb 100%);
}
.wt-book__hero-glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
@media (min-width: 1400px) {
	.wt-book__hero-glow { background: url(../img/ornaments/vine.svg) right -70px top / 170px auto no-repeat; opacity: 0.5; }
}
.wt-book__hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 3vw, 40px) clamp(32px, 5vw, 80px);
	max-width: var(--wt-content-max);
	margin-inline: auto;
}
.wt-book__hero-inner > .wt-crumbs { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.wt-book__hero-inner { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; }
}
.wt-book__cover-stage {
	position: relative;
	display: grid;
	place-items: end center;
	min-height: clamp(320px, 42vw, 520px);
	padding: 28px 0 40px;
	perspective: 1400px;
}
.wt-book__door {
	position: absolute;
	left: 50%;
	bottom: 30px;
	width: min(86%, 400px);
	height: 92%;
	translate: -50% 0;
	border-radius: 999px 999px 18px 18px;
	background:
		radial-gradient(ellipse 70% 50% at 50% 80%, rgb(255 255 255 / 0.95), rgb(255 255 255 / 0) 70%),
		linear-gradient(180deg, #fff2cf 0%, #f6c978 100%);
	box-shadow: 0 0 0 1px rgb(233 162 59 / 0.35) inset, 0 0 0 8px rgb(255 250 240 / 0.85), 0 0 0 9px rgb(233 162 59 / 0.3), 0 30px 60px -24px rgb(184 115 28 / 0.6);
}
.wt-book__cover-book {
	position: relative;
	z-index: 1;
	margin: 0;
	height: clamp(280px, 36vw, 450px);
	width: fit-content;
	transform-style: preserve-3d;
	transform: rotateY(-16deg) rotateX(3deg);
	transition: transform 700ms var(--wt-ease-spring);
}
.wt-book__cover-stage:hover .wt-book__cover-book { transform: rotateY(-6deg) rotateX(1deg) translateY(-6px); }
.wt-site .wt-book__cover {
	display: block;
	height: 100%;
	width: auto;
	max-width: min(80vw, 460px);
	object-fit: contain;
	border-radius: 3px 10px 10px 3px;
	box-shadow: inset 0 0 0 1px rgb(0 0 0 / 0.04), -3px 0 0 rgb(40 20 0 / 0.25), 24px 30px 40px -14px rgb(70 38 6 / 0.5), 6px 8px 14px rgb(70 38 6 / 0.18);
}
.wt-book__pages {
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 100%;
	width: 20px;
	transform-origin: left center;
	transform: rotateY(90deg);
	background: repeating-linear-gradient(90deg, #fffdf6 0 1px, #ece0c8 1px 2px);
}
.wt-book__floor {
	position: absolute;
	left: 50%;
	bottom: 18px;
	width: 58%;
	height: 30px;
	translate: -50% 0;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, rgb(70 38 6 / 0.34), rgb(70 38 6 / 0) 70%);
}
.wt-book__intro { min-width: 0; }
.wt-book__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.wt-site .wt-book__title {
	margin: 0;
	font-family: var(--wt-font-display);
	font-weight: 600;
	font-size: var(--wt-fs-h1);
	line-height: 1.06;
	letter-spacing: -0.015em;
	color: var(--wt-teal-900);
	font-variation-settings: "SOFT" 60, "opsz" 120;
	text-wrap: balance;
	overflow-wrap: anywhere;
}
.wt-site .wt-book__subtitle { margin: 12px 0 0; font-family: var(--wt-font-display); font-style: italic; font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem); line-height: 1.4; color: var(--wt-gold-700); }
.wt-site .wt-book__by { margin: 14px 0 0; font-size: 1.0625rem; font-weight: 700; color: var(--wt-forest-700); }
.wt-book__ill { font-weight: 600; }
.wt-site .wt-book__hook { margin: 22px 0 0; max-width: 46ch; font-size: var(--wt-fs-lead); line-height: 1.6; color: #2c3838; }
.wt-book__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 28px; }
.wt-book__stores { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0; font-size: 0.9375rem; color: #3b4646; }
.wt-site .wt-book__stores a { font-weight: 700; color: var(--wt-teal); }
.wt-book__info { display: inline-flex; align-items: center; gap: 10px; margin: 26px 0 0; padding: 10px 16px; border-radius: var(--wt-radius-pill); background: #efe8f6; color: var(--wt-lavender-700); font-weight: 700; }
.wt-book__info-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.wt-book__edge {
	position: absolute;
	inset: auto 0 -1px;
	height: var(--_edge);
	z-index: 3;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C220 0 380 46 600 22 C820 0 960 44 1160 24 C1300 12 1380 32 1440 22 V56 H0Z' fill='%23E9A23B' fill-opacity='.45'/%3E%3Cpath d='M0 32 C220 6 380 52 600 28 C820 6 960 50 1160 30 C1300 18 1380 38 1440 28 V56 H0Z' fill='%23FFFDF9'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

.wt-book__story { padding: clamp(32px, 4vw, 64px) var(--wt-gutter) clamp(48px, 6vw, 96px); background: #fffdf9; scroll-margin-top: calc(var(--wt-header-h) + 16px); }
.wt-site .wt-book__story:focus,
.wt-site .wt-book__story:focus-visible { outline: none; box-shadow: none; }
.wt-book__story-inner { display: grid; grid-template-columns: 1fr; gap: clamp(28px, 4vw, 64px); max-width: var(--wt-content-max); margin-inline: auto; }
@media (min-width: 900px) { .wt-book__story-inner { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; } }
.wt-site .wt-book__h2 {
	margin: 0 0 18px;
	font-family: var(--wt-font-display);
	font-weight: 600;
	font-size: var(--wt-fs-h2);
	line-height: 1.1;
	color: var(--wt-teal-900);
	font-variation-settings: "SOFT" 50, "opsz" 96;
}
.wt-site .wt-book__h3 { margin: 0 0 14px; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h3); color: var(--wt-teal-900); }
.wt-book__prose { max-width: var(--wt-measure); font-size: var(--wt-fs-body); line-height: 1.75; color: var(--wt-ink); }
.wt-book__prose > :first-child { margin-top: 0; }
.wt-book .wt-editor-note { margin: 0; text-align: left; }
.wt-book__prose p { margin: 0 0 1.1em; }
.wt-book__prose ul { margin: 0 0 1.1em; padding-left: 1.2em; }
.wt-book__glance { padding: clamp(20px, 2.4vw, 30px); border: 1px solid var(--wt-line); border-radius: var(--wt-radius-lg); background: linear-gradient(180deg, #fffaf2, #fdf0df); box-shadow: var(--wt-shadow-1); }
.wt-glance { margin: 0; }
.wt-glance > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 4px 12px; padding: 10px 0; border-top: 1px solid rgb(234 217 196 / 0.8); }
.wt-glance > div:first-child { border-top: 0; padding-top: 0; }
.wt-glance dt { font-size: 0.8125rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wt-gold-700); }
.wt-glance dd { margin: 0; font-size: 0.9375rem; color: var(--wt-ink); overflow-wrap: anywhere; }
.wt-site .wt-glance a { color: var(--wt-teal); font-weight: 700; }

.wt-book__section-inner { position: relative; z-index: 2; max-width: var(--wt-content-max); margin-inline: auto; }
.wt-book__friends { padding: clamp(40px, 5vw, 80px) var(--wt-gutter); background: linear-gradient(180deg, #fffdf9 0%, #fff4e6 100%); }
.wt-site .wt-book__friend-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3vw, 40px) clamp(16px, 2.4vw, 32px); margin: clamp(48px, 5vw, 72px) 0 0; padding: 0; list-style: none; }
.wt-book__friend-list li { margin: 0; min-width: 0; }
@media (min-width: 640px) { .wt-site .wt-book__friend-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .wt-site .wt-book__friend-list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.wt-book__world {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(56px, 7vw, 112px) var(--wt-gutter);
	color: var(--wt-ivory);
	background: radial-gradient(ellipse 50% 70% at 80% 30%, rgb(246 201 120 / 0.22), transparent 70%), linear-gradient(180deg, #064f4b 0%, #03302d 100%);
}
.wt-book__world-art { position: absolute; inset: 0; z-index: 0; background: url(../img/ornaments/forest-far.svg) center bottom / cover no-repeat, url(../img/ornaments/stars.svg) center top / cover no-repeat; opacity: 0.5; }
.wt-book__world-eyebrow { margin: 0 0 10px; font-size: var(--wt-fs-eyebrow); font-weight: 800; letter-spacing: var(--wt-tracking-eyebrow); text-transform: uppercase; color: var(--wt-gold); }
.wt-site .wt-book__world .wt-book__h2 { color: var(--wt-ivory); }
.wt-book__world-copy { max-width: 60ch; margin: 0 0 24px; font-size: var(--wt-fs-lead); line-height: 1.6; color: rgb(255 247 238 / 0.92); }
.wt-book__related { padding: clamp(48px, 6vw, 96px) var(--wt-gutter); background: linear-gradient(180deg, #fff7ee 0%, #fdf0df 100%); }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	.wt-catalogue__doorlight { animation: none; }
	.wt-catalogue__layer { transform: none !important; }
	.wt-book__cover-book,
	.wt-book__cover-stage:hover .wt-book__cover-book { transition: none; transform: rotateY(-16deg) rotateX(3deg); }
	.wt-filter__label { transition: none; }
}
@media (hover: none) {
	.wt-book__cover-stage:hover .wt-book__cover-book { transform: rotateY(-16deg) rotateX(3deg); }
}

/* Small phones: the cover is sized by width so it is never squeezed (proportions always kept). */
@media (max-width: 480px) {
	.wt-book__cover-stage { min-height: 0; }
	.wt-book__cover-book { height: auto; width: min(74vw, 300px); }
	.wt-site .wt-book__cover { width: 100%; height: auto; max-width: none; }
}
