/* Cravenverse theme: written from scratch. Tokens first, then layout, then components. */
:root {
	--cvt-ink: #27292b;
	--cvt-paper: #ffffff;
	--cvt-page: #f0f1f2;
	--cvt-brass: #7a5a10;
	--cvt-brass-dark: #5c430a;
	--cvt-side: #27292b;
	--cvt-side-text: #ffffff;
	--cvt-side-muted: #cfd2d4;
	--cvt-line: #d9dbdd;
	--cvt-tint: #eceae4;
	--cvt-display: Rokkitt, Rockwell, "Roboto Slab", Georgia, serif;
	--cvt-body: Lato, "Segoe UI", system-ui, -apple-system, sans-serif;
	--cvt-sidebar-w: 300px;
	--cvt-card-w: 72rem;
	--cvt-books-w: 22rem;
	--cvt-navbar-h: 3.25rem;
	--cvt-bp: 1150px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--cvt-body);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--cvt-ink);
	background-color: var(--cvt-page);
	background-image: var(--cvt-page-image, none);
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid #b8860b; outline-offset: 2px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.cvt-skip { position: absolute; left: -9999px; top: 0; background: var(--cvt-paper); color: var(--cvt-ink); padding: 0.75rem 1rem; z-index: 100; }
.cvt-skip:focus { left: 0.5rem; top: 0.5rem; }

/* Shell: sidebar left on wide screens, top bar below the breakpoint. */
.cvt-site { display: grid; grid-template-columns: var(--cvt-sidebar-w) minmax(0, 1fr); min-height: 100vh; }
.cvt-sidebar {
	position: sticky; top: 0; height: 100vh; overflow-y: auto;
	background-color: var(--cvt-side);
	background-image: var(--cvt-sidebar-image, none);
	background-position: top left;
	background-size: 154px auto;
	background-repeat: repeat;
	color: var(--cvt-side-text);
	display: flex; flex-direction: column;
}
.cvt-sidebar a { color: var(--cvt-side-text); text-decoration: none; }
.cvt-sidebar a:hover { text-decoration: underline; }
.cvt-bar { padding: 3rem 1.6rem 0; }
.cvt-brand { display: flex; align-items: center; gap: 0.9rem; }
.cvt-brand__mark { flex: none; display: block; line-height: 0; }
.cvt-brand__mark img { display: block; width: 3.25rem; height: 3.25rem; object-fit: cover; }
.cvt-brand__text { min-width: 0; }
.cvt-title { margin: 0; font-family: var(--cvt-display); font-size: 1.75rem; line-height: 1.2; text-align: left; }
.cvt-tagline { margin: 0.25rem 0 0; font-size: 0.75rem; line-height: 0.9rem; text-align: left; color: var(--cvt-side-muted); }
.cvt-panel { flex: 1; display: flex; flex-direction: column; padding: 1.5rem 1.6rem 1.1rem; }
.cvt-menu-toggle { display: none; }

.cvt-menu, .cvt-menu ul { list-style: none; margin: 0; padding: 0; }
.cvt-menu > li { margin: 0; }
.cvt-menu a { display: block; padding: 0.4rem 0; }
.cvt-menu .current-menu-item > a, .cvt-menu .current-menu-ancestor > a { font-weight: 700; }
.cvt-menu .sub-menu { padding-left: 1rem; }
.cvt-menu li.menu-item-has-children { position: relative; }
.cvt-menu li.menu-item-has-children > .cvt-subtoggle {
	position: absolute; right: 0; top: 0.3rem; width: 2rem; height: 2rem; border: 0; background: transparent; color: inherit; cursor: pointer;
}
.cvt-menu li.menu-item-has-children > .cvt-subtoggle::after { content: ""; display: block; width: 0.5rem; height: 0.5rem; margin: 0 auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.cvt-menu li.menu-item-has-children > .cvt-subtoggle[aria-expanded="true"]::after { transform: rotate(-135deg); }
.cvt-menu .menu-item-has-children > .sub-menu { display: none; }
.cvt-menu .menu-item-has-children.is-open > .sub-menu { display: block; }

.cvt-search { margin: 0 0 1.1rem; }
.cvt-searchform label { display: block; font-size: 0.75rem; margin-bottom: 0.25rem; }
.cvt-searchform__row { display: flex; gap: 0.25rem; }
.cvt-searchform input[type="search"] { flex: 1; min-width: 0; padding: 0.45rem 0.5rem; border: 1px solid var(--cvt-line); background: #fff; color: var(--cvt-ink); font: inherit; }
.cvt-searchform button { padding: 0.45rem 0.8rem; border: 0; background: #4a4d50; color: #fff; font: inherit; cursor: pointer; }
.cvt-searchform button:hover { background: #5b5f62; }

.cvt-main-wrap { display: flex; flex-direction: column; min-width: 0; }
.cvt-main { flex: 1; padding: 1.25rem 1.5rem 3rem; }
.cvt-card { background: var(--cvt-paper); max-width: var(--cvt-card-w); margin: 0 auto; padding: 2.5rem 2.5rem 3rem; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); }
.cvt-footer { padding: 1rem 2rem; font-size: 0.8rem; text-align: center; color: #555; }

.cvt-page-title { font-family: var(--cvt-display); font-weight: 400; font-size: 2.3rem; line-height: 1.2; text-align: left; margin: 0 0 1.25rem; }
.cvt-kicker { margin: 0 0 0.25rem; text-align: left; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: #5a5d60; }
.cvt-subtitle { text-align: left; font-style: italic; margin: -0.75rem 0 1.25rem; }
.cvt-prose { font-size: 1rem; }
.cvt-prose > :first-child { margin-top: 0; }
.cvt-prose a { text-decoration: underline; }
.cvt-section { margin-top: 2rem; }
.cvt-section h2, .cvt-book h2 { font-family: var(--cvt-display); font-weight: 400; font-size: 1.5rem; margin: 0 0 0.5rem; }
.cvt-section h3 { font-size: 0.95rem; margin: 1rem 0 0.25rem; text-transform: uppercase; letter-spacing: 0.06em; color: #4b4e51; }

.cvt-list { margin: 0; padding-left: 1.25rem; }
.cvt-list li { margin: 0.2rem 0; }
.cvt-list--columns { columns: 3 14rem; column-gap: 2rem; }
.cvt-relation { color: #5a5d60; font-size: 0.85rem; margin-left: 0.35rem; }
.cvt-aliases { text-align: left; font-size: 0.9rem; color: #4b4e51; }
.cvt-glossary-line { text-align: left; margin: 0 0 0.5rem; }
.cvt-pos { margin-right: 0.5rem; }
.cvt-ipa { font-family: "Charis SIL", "Gentium Plus", "Segoe UI", "Noto Sans", sans-serif; }
.cvt-chips { list-style: none; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 0.35rem; padding: 0; margin: 0 0 1rem; }
.cvt-chip { display: inline-block; padding: 0.1rem 0.55rem; font-size: 0.75rem; border: 1px solid var(--cvt-line); background: var(--cvt-tint); border-radius: 999px; }
.cvt-chip--review, .cve-badge { background: #fff4d6; border-color: #e3c36b; }
.cve-badge { display: inline-block; padding: 0.05rem 0.5rem; font-size: 0.7rem; font-weight: 400; text-transform: none; letter-spacing: 0; border: 1px solid #e3c36b; border-radius: 999px; margin-left: 0.4rem; }

.cvt-button { display: inline-block; padding: 0.6rem 1.4rem; background: var(--cvt-brass); color: #fff; border-radius: 999px; text-decoration: none; font-weight: 700; }
.cvt-button:hover { background: var(--cvt-brass-dark); }

.cvt-letters ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem; padding: 0; margin: 1.25rem 0; }
.cvt-letters a { display: block; min-width: 2.3rem; padding: 0.3rem 0.6rem; text-align: center; background: var(--cvt-tint); border: 1px solid var(--cvt-line); border-bottom: 2px solid var(--cvt-brass); color: var(--cvt-ink); font-family: var(--cvt-display); font-size: 1.1rem; font-weight: 700; text-decoration: none; transition: background 0.15s, color 0.15s; }
.cvt-letters a:hover { background: var(--cvt-brass); border-color: var(--cvt-brass); color: #fff; }
.cvt-letters a:focus-visible { outline: 2px solid var(--cvt-brass); outline-offset: 2px; }
.cvt-letters a.is-current { background: var(--cvt-side); border-color: var(--cvt-side); border-bottom-color: var(--cvt-brass); color: #fff; }
.cvt-count { font-size: 0.85rem; color: #5a5d60; }
.cvt-entries { list-style: none; padding: 0; margin: 0; }
.cvt-entry { border: 1px solid var(--cvt-line); padding: 0.9rem 1.1rem; margin: 0 0 0.9rem; }
.cvt-entry__term { font-family: var(--cvt-body); font-size: 1rem; font-weight: 700; margin: 0 0 0.25rem; }
.cvt-entry__term a { text-decoration: none; }
.cvt-entry__term .cvt-ipa, .cvt-entry__term .cvt-pos { font-weight: 400; }
.cvt-entry__term a:hover { text-decoration: underline; }
.cvt-entry p { margin: 0; font-size: 0.9rem; }
/* The glossary list: the same brass-edged parchment cards as the News and book pages. */
.cvt-entries--glossary .cvt-entry { background: var(--cvt-tint); border: 0; border-left: 4px solid var(--cvt-brass); padding: 0.9rem 1.3rem 1rem; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); transition: transform 0.15s, box-shadow 0.15s; }
.cvt-entries--glossary .cvt-entry:hover, .cvt-entries--glossary .cvt-entry:focus-within { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18); }
.cvt-entries--glossary .cvt-entry__term { font-family: var(--cvt-display); font-size: 1.4rem; line-height: 1.25; margin: 0 0 0.3rem; }
.cvt-entries--glossary .cvt-entry__term > a { color: var(--cvt-ink); }
.cvt-entries--glossary .cvt-entry__term > a:hover { color: var(--cvt-brass-dark); }
.cvt-entries--glossary .cvt-pos { font-family: var(--cvt-body); font-size: 0.85rem; color: #5a5d60; }
.cvt-entries--glossary .cvt-ipa { font-family: var(--cvt-body); font-size: 0.85rem; color: #5a5d60; }
.cvt-entries--glossary .cvt-chips { margin: 0.5rem 0 0; }
.cvt-entries--glossary p { font-size: 0.95rem; color: #3b3e41; }
@media (prefers-reduced-motion: reduce) { .cvt-entries--glossary .cvt-entry { transition: none; } .cvt-entries--glossary .cvt-entry:hover, .cvt-entries--glossary .cvt-entry:focus-within { transform: none; } }

.cvt-work { display: flex; gap: 1.5rem; align-items: flex-start; }
.cvt-work__cover { flex: 0 0 auto; margin: 0; max-width: 40%; }
.cvt-work__cover img { display: block; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); }
.cvt-work__text { flex: 1; min-width: 0; }
.cvt-book { padding: 1.25rem 0; border-bottom: 1px solid var(--cvt-line); }
.cvt-book:last-child { border-bottom: 0; }
.cvt-facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.2rem 1rem; font-size: 0.9rem; }
.cvt-facts dt { font-weight: 700; }
.cvt-facts dd { margin: 0; }
.cvt-shelf { list-style: none; display: flex; flex-wrap: wrap; gap: 1.25rem; justify-content: center; padding: 0; margin: 2rem 0 0; }
.cvt-shelf a { display: block; text-align: center; text-decoration: none; max-width: 140px; font-size: 0.85rem; color: var(--cvt-ink); }
.cvt-shelf img { display: block; margin-bottom: 0.35rem; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.cvt-shelf span { display: inline-block; padding-bottom: 1px; border-bottom: 2px solid transparent; transition: color 0.18s ease, border-color 0.18s ease; }
.cvt-shelf a:hover img, .cvt-shelf a:focus-visible img { transform: translateY(-4px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); }
.cvt-shelf a:hover span, .cvt-shelf a:focus-visible span { color: var(--cvt-brass-dark); border-bottom-color: var(--cvt-brass); font-weight: 700; }
.cvt-shelf a:focus-visible { outline: 2px solid var(--cvt-brass); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .cvt-shelf img, .cvt-shelf span { transition: none; } .cvt-shelf a:hover img, .cvt-shelf a:focus-visible img { transform: none; } }
/* Every cover is drawn at the same proportions (the series jackets are 500 x 775); a cover cut differently is stretched to match. */
.cvt-shelf img, .cvt-work__cover img { aspect-ratio: 500 / 775; object-fit: fill; height: auto; }
.cvt-evidence summary { cursor: pointer; font-weight: 700; }
.cvt-quote { margin: 0.9rem 0; padding: 0.1rem 0 0.1rem 1rem; border-left: 3px solid var(--cvt-brass); font-size: 0.9rem; }
.cvt-quote p { margin: 0 0 0.25rem; }
.cvt-quote footer { font-size: 0.8rem; color: #5a5d60; }
.cvt-quote mark.cvt-name { background: #f3e3b3; color: inherit; padding: 0 0.15em; border-radius: 2px; font-weight: 700; }
.cvt-notice { padding: 0.75rem 1rem; background: #fff4d6; border: 1px solid #e3c36b; }
.cvt-excerpt h2 { font-family: var(--cvt-display); font-weight: 400; }
/* Updates: each post is a card on a parchment tint, flush left under its title. */
.cvt-updates { display: grid; gap: 1rem; margin-top: 0.5rem; }
.cvt-update { padding: 1.1rem 1.4rem 1.2rem; background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.cvt-update:hover, .cvt-update:focus-within { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18); }
.cvt-update__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; margin: 0 0 0.35rem; font-size: 0.8rem; color: #5a5d60; }
.cvt-update__title { margin: 0 0 0.5rem; font-size: 1.45rem; line-height: 1.25; }
.cvt-update__title a { color: var(--cvt-ink); text-decoration: none; }
.cvt-update__title a:hover, .cvt-update__title a:focus-visible { color: var(--cvt-brass-dark); text-decoration: underline; }
.cvt-update .cvt-prose { max-width: none; margin: 0; }
.cvt-update .cvt-prose p { margin: 0 0 0.5rem; }
.cvt-update__more { margin: 0.4rem 0 0; font-size: 0.9rem; font-weight: 700; }
.cvt-update__more a { color: var(--cvt-brass-dark); }
.page-numbers { display: inline-block; min-width: 2.2rem; padding: 0.35rem 0.6rem; margin: 0 0.15rem 0.3rem 0; text-align: center; background: var(--cvt-tint); border: 1px solid var(--cvt-line); border-bottom: 2px solid var(--cvt-brass); color: var(--cvt-ink); text-decoration: none; }
.page-numbers.current { background: var(--cvt-side); border-color: var(--cvt-side); color: #fff; }
a.page-numbers:hover { background: var(--cvt-brass); border-color: var(--cvt-brass); color: #fff; }
@media (prefers-reduced-motion: reduce) { .cvt-update { transition: none; } .cvt-update:hover, .cvt-update:focus-within { transform: none; } }
.pagination, .navigation.pagination { margin-top: 1.5rem; }

/* Doors, filters, kind tags. */
.cvt-doors { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 0.9rem; padding: 0; margin: 1.5rem 0 0; }
.cvt-door a { display: flex; flex-direction: column; gap: 0.3rem; height: 100%; padding: 1rem 1.1rem; border: 1px solid var(--cvt-line); background: var(--cvt-tint); color: var(--cvt-ink); text-decoration: none; transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; }
.cvt-door a:hover, .cvt-door a:focus-visible { transform: translateY(-2px); border-color: var(--cvt-brass); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); }
.cvt-door strong { font-family: var(--cvt-display); font-weight: 700; font-size: 1.35rem; }
.cvt-door span { font-size: 0.88rem; }
.cvt-door em { margin-top: auto; font-size: 0.8rem; color: #5a5d60; font-style: normal; }
.cvt-door--wide { grid-column: 1 / -1; }
.cvt-filters { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: flex-end; margin: 1rem 0; font-size: 0.85rem; }
.cvt-filters label { display: flex; flex-direction: column; gap: 0.2rem; }
.cvt-filters select { padding: 0.4rem 0.5rem; border: 1px solid var(--cvt-line); background: #fff; font: inherit; }
.cvt-button--small { padding: 0.4rem 1rem; font-size: 0.85rem; border: 0; cursor: pointer; }
.cvt-kind { margin-left: 0.4rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: #6b6e71; }
.cvt-notice { padding: 0.5rem 0.8rem; background: #fff4d6; border: 1px solid #e3c36b; font-size: 0.85rem; }
@media (prefers-reduced-motion: reduce) { .cvt-door a { transition: none; } .cvt-door a:hover, .cvt-door a:focus-visible { transform: none; } }

.cvt-chapters { margin: 0; padding-left: 1.5rem; columns: 2 18rem; column-gap: 2rem; }
.cvt-chapters li { margin: 0.25rem 0; break-inside: avoid; }
.cvt-chapters li.is-matter { color: #5a5d60; list-style: none; margin-left: -1.5rem; font-style: italic; }
.cvt-chapterlinks { display: block; font-size: 0.82rem; color: #5a5d60; }
.cvt-chapterlinks__items { display: inline; margin: 0; padding: 0; list-style: none; }
.cvt-chapterlinks__items li { display: inline; }
.cvt-chapterlinks__items li + li::before { content: ""; display: inline-block; width: 1px; height: 0.95em; margin: 0 0.6rem; background: #b3a77f; vertical-align: -0.12em; }
.cvt-chapternav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--cvt-line); font-size: 0.9rem; }
.cvt-passage { margin: 0.8rem 0; padding: 0.1rem 0 0.1rem 1rem; border-left: 3px solid var(--cvt-brass); font-size: 0.9rem; }
.cvt-passage cite { display: block; margin-top: 0.2rem; font-size: 0.8rem; font-style: normal; color: #5a5d60; }

/* Navigator strip at the top of every page. */
.cvt-navbar { flex-wrap: nowrap; position: relative; z-index: 15; display: flex; align-items: center; gap: 0.6rem; box-sizing: border-box; width: calc(100% - 3rem); max-width: var(--cvt-card-w); margin: 1.25rem auto 0; padding: 0.65rem 1rem; border-radius: 3px; background: rgba(39, 41, 43, 0.94); color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35); }
.cvt-navbar__explore { flex: none; white-space: nowrap; }
.cvt-navbar__controls { display: flex; align-items: center; gap: 0.5rem; flex-wrap: nowrap; min-width: 0; margin-left: auto; }
.cvt-navbar__controls[hidden] { display: none; }
.cvt-navbar__label { font-size: 0.85rem; }
.cvt-navbar__select { width: 9.5rem; min-width: 0; max-width: 20rem; padding: 0.35rem 0.5rem; border: 1px solid #8f7a55; background: #14253c; color: #f1e6c4; font: inherit; font-size: 0.85rem; }
.cvt-navbar__select:disabled { opacity: 0.55; }
.cvt-navbar .wpme-location-picker { margin-left: 0; width: 10.5rem; min-width: 0; max-width: 18rem; min-height: 0; padding: 0.35rem 0.5rem; border: 1px solid #8f7a55; background: #14253c; color: #f1e6c4; font: inherit; font-size: 0.85rem; box-shadow: none; }
.cvt-navbar__select:focus-visible { outline: 2px solid #e0c382; outline-offset: 2px; }
.cvt-navbar__links { list-style: none; display: flex; flex-wrap: wrap; gap: 0.2rem 1rem; margin: 0; padding: 0; font-size: 0.85rem; }
.cvt-navbar__links a { color: #fff; }
.cvt-navbar.has-controls .cvt-navbar__links { display: none; }

/* Reviews: the covers of the fictional magazines, three to a row. */
.cvt-reviews { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem 1.4rem; margin: 1.5rem 0 0; padding: 0; }
.cvt-review a { display: flex; flex-direction: column; gap: 0.35rem; height: 100%; color: var(--cvt-ink); text-decoration: none; }
.cvt-review__cover { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.35); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.cvt-review a:hover .cvt-review__cover, .cvt-review a:focus-visible .cvt-review__cover { transform: translateY(-4px); box-shadow: 0 9px 18px rgba(0, 0, 0, 0.4); }
.cvt-review__book { margin-top: 0.4rem; font-family: var(--cvt-display); font-weight: 700; font-size: 1.15rem; line-height: 1.25; }
.cvt-review__by { font-size: 0.85rem; color: #4b4e51; }
.cvt-review a:hover .cvt-review__book, .cvt-review a:focus-visible .cvt-review__book { color: var(--cvt-brass-dark); text-decoration: underline; }
.cvt-review a:focus-visible { outline: 2px solid var(--cvt-brass); outline-offset: 4px; }
@media (max-width: 700px) { .cvt-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1rem; } }
@media (max-width: 420px) { .cvt-reviews { grid-template-columns: minmax(0, 1fr); max-width: 18rem; margin-left: auto; margin-right: auto; } }
@media (prefers-reduced-motion: reduce) { .cvt-review__cover { transition: none; } .cvt-review a:hover .cvt-review__cover, .cvt-review a:focus-visible .cvt-review__cover { transform: none; } }

/* Entries (characters, places, things, glossary terms): left aligned; the type, and for a place the map link, sit at the right of the heading. */
.cvt-entity-card .cvt-prose { max-width: none; margin-left: 0; margin-right: 0; }
.cvt-entity-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem 1.5rem; margin: 0 0 1.25rem; }
.cvt-entity-head .cvt-page-title { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.cvt-entity-head__side { display: flex; flex-direction: column; align-items: flex-end; gap: 0.5rem; flex: none; padding-top: 0.55rem; }
.cvt-entity-head__side .cvt-kicker { margin: 0; text-align: right; white-space: nowrap; }
.cvt-entity-head__side .cvt-button { white-space: nowrap; }
.cve-badge { text-decoration: none; color: inherit; }
button.cve-badge { font: inherit; font-size: 0.7rem; line-height: inherit; cursor: pointer; }
a.cve-badge:hover, a.cve-badge:focus-visible, button.cve-badge:hover, button.cve-badge:focus-visible { background: #ffe9a8; text-decoration: underline; }
/* A place: "Appears in" on the left, a space for a photograph on the right. */
.cvt-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 18rem); gap: 1.5rem 2rem; align-items: start; }
.cvt-split__main > .cvt-section:first-child { margin-top: 2rem; }
.cvt-split__side { min-width: 0; }
.cvt-split__side .wpme { min-height: 0; margin: 2rem 0 0; }
.cvt-split__side .wpme-canvas { height: 18rem; min-height: 0; }
.cvt-split__side .wpme + .cvt-photo-slot { margin-top: 1rem; }
.cvt-split__side .wpme-card { width: min(11rem, calc(100% - 2rem)); }
.cvt-photo-slot { margin: 2rem 0 0; aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; text-align: center; background: var(--cvt-tint); border: 2px dashed #c9bd9c; color: #6b6150; font-size: 0.85rem; }
@media (max-width: 700px) {
	.cvt-entity-head { flex-direction: column; }
	.cvt-entity-head__side { flex-direction: row; align-items: center; flex-wrap: wrap; padding-top: 0; }
	.cvt-split { grid-template-columns: minmax(0, 1fr); }
	.cvt-photo-slot { margin-top: 0; max-width: 24rem; }
}

/* A work's introduction by the author. */
.cvt-intro { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--cvt-line); }
.cvt-intro__title { margin: 0 0 0.6rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.4rem; }
.cvt-intro__title span { margin-left: 0.4rem; font-family: var(--cvt-body); font-size: 0.8rem; color: #5a5d60; font-style: italic; }
.cvt-intro p { margin: 0 0 0.8rem; }
.cvt-intro__more summary { cursor: pointer; font-weight: 700; margin: 0.4rem 0 0.8rem; }

/* Prose keeps a comfortable measure inside the wider card. */
.cvt-prose { max-width: 56rem; margin-left: 0; margin-right: 0; }

/* The books panel: a floating card at the right of every page. */
.cvt-books { position: fixed; top: 0; right: 0; margin: 1.25rem 1rem 0 0; z-index: 20; width: var(--cvt-books-w); max-height: calc(100vh - 2.5rem); display: flex; flex-direction: column; background: rgba(255, 255, 255, 0.93); box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35); }
.cvt-books__panel { display: flex; flex-direction: column; min-height: 0; padding: 1rem 1rem 0.6rem; }
.cvt-books__scroll { overflow-y: auto; min-height: 0; }
.cvt-books__welcome { margin: 0 0 0.7rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.1rem; line-height: 1.2; text-align: center; }
@media (min-width: 1151px) { .cvt-books__welcome { white-space: nowrap; } }
.cvt-books__welcome a { color: inherit; text-decoration: none; }
.cvt-books .cvt-shelf { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem 0.55rem; margin: 0; padding: 0; justify-content: stretch; }
.cvt-books .cvt-shelf a { max-width: none; font-size: 0.72rem; line-height: 1.25; }
.cvt-books .cvt-shelf img { width: 100%; height: auto; }
.cvt-shelf__rule { grid-column: 1 / -1; }
.cvt-shelf__rule hr { margin: 0.1rem 0; border: 0; border-top: 1px solid var(--cvt-brass); opacity: 0.6; }
.cvt-books__foot { display: flex; justify-content: flex-end; padding-top: 0.45rem; }
.cvt-books__toggle { border: 1px solid var(--cvt-line); background: #fff; color: var(--cvt-ink); padding: 0.25rem 0.7rem; font: inherit; font-size: 0.8rem; cursor: pointer; }
.cvt-books__toggle:hover, .cvt-books__toggle:focus-visible { background: var(--cvt-tint); }
/* Hidden: only the Show button remains, at the bottom right. */
html.cvt-books-closed .cvt-books { top: auto; bottom: 0; margin: 0 1rem 1rem 0; width: auto; background: transparent; box-shadow: none; }
html.cvt-books-closed .cvt-books__scroll { display: none; }
html.cvt-books-closed .cvt-books__panel { padding: 0; }
html.cvt-books-closed .cvt-books__foot { padding: 0; }
html.cvt-books-closed .cvt-books__toggle { background: rgba(255, 255, 255, 0.93); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); padding: 0.45rem 0.9rem; }
@media (min-width: 1151px) { html:not(.cvt-books-closed) .cvt-main-wrap { padding-right: calc(var(--cvt-books-w) + 2rem); } }

/* Home: the full-page map. */
.cvt-home--map { position: relative; padding: 0; min-height: 100vh; pointer-events: none; }
.cvt-home-map { position: fixed; top: 0; right: 0; bottom: 0; left: var(--cvt-sidebar-w); z-index: 0; pointer-events: auto; }
.cvt-home-map .wpme--full { width: 100%; max-width: none; margin: 0; min-height: 0; height: 100%; }
.cvt-home-map .wpme--full .wpme-canvas { height: 100%; min-height: 0; }
.cvt-home-map .wpme-card { top: auto; right: auto; left: 1rem; bottom: 2.5rem; }
.cvt-home-map .wpme-accessible-list:empty { display: none; }
/* Keep the map's own place picker clear of the books panel. */
@media (min-width: 1151px) { html:not(.cvt-books-closed) .cvt-home-map .wpme .maplibregl-ctrl-top-right { right: calc(var(--cvt-books-w) + 1rem); } }

/* Tablet and below: the sidebar becomes a top bar with a menu button. */
@media (max-width: 1150px) {
	.cvt-site { display: block; }
	.cvt-sidebar { position: relative; height: auto; overflow: visible; }
	.cvt-bar { position: relative; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem 4.5rem; }
	.cvt-brand { flex-direction: column; gap: 0.5rem; text-align: center; }
	.cvt-title, .cvt-tagline { text-align: center; }
	.cvt-title { font-size: 1.5rem; }
	.cvt-menu-toggle { position: absolute; top: 1rem; right: 1.25rem; display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; color: #fff; cursor: pointer; }
	.cvt-menu-toggle__icon, .cvt-menu-toggle__icon::before, .cvt-menu-toggle__icon::after { display: block; width: 1.4rem; height: 2px; background: currentColor; content: ""; position: relative; }
	.cvt-menu-toggle__icon::before { position: absolute; top: -0.45rem; }
	.cvt-menu-toggle__icon::after { position: absolute; top: 0.45rem; }
	.cvt-panel { display: none; padding: 0 1.5rem 1.5rem; }
	.cvt-panel.is-open { display: flex; }
		.cvt-main { padding: 0 1rem 2rem; }
		.cvt-navbar { width: auto; margin: 0.75rem 1rem 1rem; flex-wrap: wrap; }
		.cvt-navbar__controls { flex-wrap: wrap; }
	.cvt-books, html.cvt-books-closed .cvt-books { position: static; width: auto; max-height: none; margin: 0 1rem 1.5rem; background: rgba(255, 255, 255, 0.93); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); }
	.cvt-books__foot { display: none; }
	html.cvt-books-closed .cvt-books__scroll { display: block; }
	html.cvt-books-closed .cvt-books__panel { padding: 1rem 1rem 0.6rem; }
	.cvt-books .cvt-shelf { grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr)); }
	.cvt-home--map { padding: 0; min-height: 0; pointer-events: auto; }
	.cvt-home-map { position: relative; left: 0; height: 55vh; min-height: 320px; }
		}
/* Phone: the page keeps its wallpaper; the card runs almost full width. The bar's two choosers sit side by side, each half the width of the map picker below. */
@media (max-width: 700px) {
	.cvt-navbar { display: block; padding: 0.7rem; }
	.cvt-navbar__controls { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; width: 100%; }
	.cvt-navbar__controls[hidden] { display: none; }
	.cvt-navbar__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.cvt-navbar__select { width: 100%; max-width: none; }
	.cvt-navbar .wpme-location-picker { display: block; width: 100%; max-width: none; margin: 0.5rem 0 0; }
}
@media (max-width: 600px) {
	.cvt-main { padding: 0 0.75rem 1.25rem; }
	.cvt-card { padding: 1.75rem 1.1rem 2rem; max-width: none; }
	.cvt-home-map { margin: 0 0 1rem; }
	.cvt-books, html.cvt-books-closed .cvt-books { margin: 0 0.75rem 1.25rem; }
	.cvt-page-title { font-size: 2.1rem; }
	.cvt-prose { font-size: 1.1rem; }
	.cvt-work { flex-direction: column; }
	.cvt-work__cover { max-width: 60%; margin: 0 auto; }
	.cvt-letters a { min-width: 2.75rem; padding: 0.55rem; }
	.cvt-footer { background: rgba(255, 255, 255, 0.88); }
}

/* Writings */
.cvt-poem { text-align: left; font-size: 1.02rem; line-height: 1.75; max-width: 34rem; margin: 0 0 1.5rem; }
.cvt-poem p { margin: 0 0 1.1rem; }
.cvt-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.cvt-button--quiet { background: transparent; color: var(--cvt-brass); border: 2px solid var(--cvt-brass); }
.cvt-button--quiet:hover { background: var(--cvt-tint); color: var(--cvt-brass-dark); }

/* The books panel: the menu's colour, with white text; the rollover keeps its lift, bold and underline, in a gold that reads on black. */
.cvt-books, html.cvt-books-closed .cvt-books, .cvt-books__toggle { --cvt-hover-gold: #e3bd5f; }
.cvt-books { background: var(--cvt-side); color: #fff; box-shadow: 0 2px 14px rgba(0, 0, 0, 0.55); }
.cvt-books__welcome, .cvt-books__welcome a, .cvt-books .cvt-shelf a { color: #fff; }
.cvt-books .cvt-shelf a:hover span, .cvt-books .cvt-shelf a:focus-visible span { color: var(--cvt-hover-gold); border-bottom-color: var(--cvt-hover-gold); }
.cvt-books .cvt-shelf a:focus-visible { outline-color: var(--cvt-hover-gold); }
.cvt-books .cvt-shelf img { box-shadow: 0 2px 6px rgba(255, 255, 255, 0.18); }
.cvt-books .cvt-shelf a:hover img, .cvt-books .cvt-shelf a:focus-visible img { box-shadow: 0 8px 16px rgba(255, 255, 255, 0.28); }
.cvt-books .cvt-shelf__rule hr { border-top-color: var(--cvt-hover-gold); opacity: 0.7; }
.cvt-books__toggle { background: var(--cvt-side); color: #fff; border-color: #fff; }
.cvt-books__toggle:hover, .cvt-books__toggle:focus-visible { background: #3a3d40; }
html.cvt-books-closed .cvt-books { background: transparent; box-shadow: none; }
html.cvt-books-closed .cvt-books__toggle { background: var(--cvt-side); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); }
@media (max-width: 1150px) { .cvt-books, html.cvt-books-closed .cvt-books { background: var(--cvt-side); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4); } }

/* Connections: two columns in fixed rows so the headings line up (people | places, words | groups, things | literary, events beneath). */
.cvt-connections { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.25rem 2.5rem; align-items: start; }
.cvt-connections__cell { min-width: 0; }
.cvt-connections__cell--wide { grid-column: 1 / -1; }
.cvt-connections__cell h3 { margin-top: 1rem; }
@media (max-width: 700px) { .cvt-connections { grid-template-columns: minmax(0, 1fr); } .cvt-connections__cell:empty { display: none; } }

/* Foot of the sidebar: social icons, then a small credit, at the bottom of the column. */
.cvt-sidebar-foot { margin-top: auto; padding-top: 2rem; }
.cvt-social { list-style: none; display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0 0 0.9rem; padding: 0; }
.cvt-social__link { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; color: var(--cvt-side-text); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 50%; transition: background-color 0.15s ease, color 0.15s ease; }
.cvt-sidebar .cvt-social__link:hover, .cvt-sidebar .cvt-social__link:focus-visible { background: #fff; color: var(--cvt-side); text-decoration: none; }
.cvt-social__icon { display: block; width: 1.05rem; height: 1.05rem; }
.cvt-credit { margin: 0; font-size: 0.68rem; line-height: 1.2; color: var(--cvt-side-muted); }
.cvt-sidebar .cvt-credit a { color: var(--cvt-side-muted); }

/* Reviews linked from the book, the book from its review; recordings. */
.cvt-reviewed__link { display: flex; align-items: center; gap: 1rem; color: var(--cvt-ink); text-decoration: none; }
.cvt-reviewed__link img { display: block; width: 90px; height: auto; aspect-ratio: 2 / 3; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); }
.cvt-reviewed__go { color: var(--cvt-brass-dark); font-weight: 700; }
.cvt-reviewed__link:hover .cvt-reviewed__go, .cvt-reviewed__link:focus-visible .cvt-reviewed__go { text-decoration: underline; }
.cvt-review-backlink { margin: 0 0 1rem; font-size: 0.95rem; color: #4b4e51; }
.cve-recordings { display: grid; gap: 1.25rem; margin: 1rem 0; }
.cve-recording, .cvt-reading { margin: 0; }
.cve-recording figcaption, .cvt-reading figcaption { margin: 0 0 0.35rem; font-weight: 700; }
.cve-recording figcaption a, .cvt-reading__notes { margin-left: 0.5rem; font-weight: 400; font-size: 0.85rem; }
.cve-player { display: block; width: 100%; max-width: 40rem; }
.cve-player--video { background: #000; aspect-ratio: 16 / 9; }
.cve-player__alt { margin: 0.3rem 0 0; font-size: 0.85rem; }
.cvt-readings__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); gap: 1.4rem 1.5rem; margin: 0.5rem 0 1.5rem; }
.cvt-readings__grid .cve-player { max-width: none; }
.cvt-reading-block { margin-top: 1.5rem; }

/* Logged in: the admin bar (32px) pushes the page down, so the fixed panel and map start below it, level with the go-to bar. */
@media (min-width: 1151px) {
	body.admin-bar .cvt-books { top: 32px; max-height: calc(100vh - 32px - 2.5rem); }
	body.admin-bar .cvt-home-map { top: 32px; }
}

/* About: the text takes two thirds with the portrait floated into it; interviews and links sit in a third beside it. */
.cvt-about__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem 2.5rem; align-items: start; }
.cvt-about__text.cvt-prose { max-width: none; }
.cvt-about__text .wp-block-image.alignleft, .cvt-about__text figure.alignleft { float: left; width: 190px; margin: 0.35rem 1.4rem 0.75rem 0; }
.cvt-about__text figure.alignleft img { display: block; width: 100%; height: auto; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
.cvt-about__side { display: grid; gap: 1rem; }
.cvt-about__box { background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 0.9rem 1rem 1rem; }
.cvt-about__box h2 { margin: 0 0 0.6rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.3rem; }
.cvt-about__box .cve-player { max-width: none; }
.cvt-about__box .cve-recording + .cve-recording { margin-top: 0.9rem; }
.cvt-about__social, .cvt-about__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
.cvt-about__social a { display: inline-flex; align-items: center; gap: 0.55rem; color: var(--cvt-ink); }
.cvt-about__social .cvt-social__icon { width: 1.15rem; height: 1.15rem; }
.cvt-about__links span { display: block; font-size: 0.82rem; color: #4b4e51; }
@media (max-width: 900px) { .cvt-about__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .cvt-about__text .wp-block-image.alignleft, .cvt-about__text figure.alignleft { float: none; width: 60%; margin: 0 auto 1rem; } }

/* Novels, Poems, Online: group headings and card notes. */
.cvt-group-title { margin: 2rem 0 0.25rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.6rem; }
.cvt-work__note { font-style: italic; color: #4b4e51; }
.cvt-extract-from { margin: 0 0 1rem; font-size: 0.95rem; color: #4b4e51; }
.cvt-extract-epigraph { margin: 0 0 1.5rem; padding: 0.4rem 0 0.4rem 1.1rem; border-left: 3px solid var(--cvt-brass); font-style: italic; }
.cvt-extract-epigraph p { margin: 0; }
.cvt-extract-epigraph footer { margin-top: 0.4rem; font-size: 0.85rem; font-style: normal; color: #4b4e51; }
.cvt-extract-link { margin: 0 0 1rem; }
.cvt-work__text > p:first-child { margin-top: 0; }
.cvt-work__cover img { max-width: 100%; height: auto; }
.cvt-poems-intro p:first-child { margin-top: 0; }

/* The way into the Cravenverse sits at the left of the go-to bar; the dropdowns are at its right. Small screens stack them. */
.cvt-navbar__links { margin-left: 0.5rem; }
@media (max-width: 640px) { .cvt-navbar__explore { display: block; text-align: center; margin: 0 0 0.6rem; } .cvt-navbar__controls { margin-left: 0; } }
/* On a map page the bar also holds the location picker: let it drop to a second line, at the right, when the row is too narrow. */
.cvt-navbar:has(.wpme-location-picker) { flex-wrap: wrap; row-gap: 0.5rem; }
.cvt-navbar:has(.wpme-location-picker) .wpme-location-picker { margin-left: auto; }

/* Writings overview: three cards. */
.cvt-writings-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 1.75rem 0 0; }
.cvt-writings-card { background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; }
.cvt-writings-card h2 { margin: 0 0 0.4rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.5rem; }
.cvt-writings-card h2 a { color: var(--cvt-ink); text-decoration: none; }
.cvt-writings-card h2 a:hover, .cvt-writings-card h2 a:focus-visible { text-decoration: underline; }
.cvt-writings-card > p { margin: 0 0 0.6rem; }
.cvt-writings-card ul { margin: 0 0 0.9rem; padding-left: 1.1rem; font-size: 0.95rem; }
.cvt-writings-card .cvt-button { align-self: flex-start; margin-top: auto; }
@media (max-width: 900px) { .cvt-writings-cards { grid-template-columns: minmax(0, 1fr); } }

/* Novels and Short stories: book cards with large covers. */
.cvt-group-lede { margin: 0 0 1rem; max-width: 52rem; color: #3b3e41; }
.cvt-shelfgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; container-type: inline-size; }
@container (min-width: 60rem) { .cvt-shelfgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cvt-shelfcard { display: flex; gap: 1.25rem; align-items: flex-start; background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1.1rem 1.2rem; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.cvt-shelfcard:hover, .cvt-shelfcard:focus-within { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2); }
.cvt-shelfcard--wide { max-width: none; }
.cvt-shelfcard__cover { flex: none; display: block; }
.cvt-shelfcard__cover img { display: block; width: 160px; height: auto; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); }
.cvt-shelfcard--wide .cvt-shelfcard__cover img { width: 190px; }
.cvt-shelfcard__body { min-width: 0; }
.cvt-shelfcard__kind { margin: 0 0 0.25rem; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #5a5d60; }
.cvt-shelfcard__kind .cvt-chip { text-transform: none; letter-spacing: 0; margin-left: 0.35rem; }
.cvt-shelfcard h2 { margin: 0 0 0.4rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.55rem; line-height: 1.2; }
.cvt-shelfcard h2 a { color: var(--cvt-ink); text-decoration: none; }
.cvt-shelfcard h2 a:hover, .cvt-shelfcard h2 a:focus-visible { text-decoration: underline; }
.cvt-shelfcard__premise { margin: 0 0 0.5rem; }
.cvt-shelfcard__counts { margin: 0 0 0.75rem; font-size: 0.85rem; color: #4b4e51; }
.cvt-shelfcard__actions { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
.cvt-shelfcard__review { font-size: 0.9rem; }
@media (max-width: 480px) { .cvt-shelfcard { flex-direction: column; } .cvt-shelfcard__cover img, .cvt-shelfcard--wide .cvt-shelfcard__cover img { width: 150px; } }
@media (prefers-reduced-motion: reduce) { .cvt-shelfcard { transition: none; } .cvt-shelfcard:hover, .cvt-shelfcard:focus-within { transform: none; } }

/* Book page: hero and tabs. */
.cvt-workhero { display: flex; gap: 1.75rem; align-items: flex-start; background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1.4rem 1.6rem; margin: 0 0 1.25rem; }
.cvt-workhero__cover { flex: none; margin: 0; }
.cvt-workhero__cover img { display: block; width: 240px; height: auto; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45); }
.cvt-workhero__text { min-width: 0; flex: 1; }
.cvt-workhero__kind { margin: 0 0 0.3rem; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #5a5d60; }
.cvt-workhero__kind .cvt-chip { text-transform: none; letter-spacing: 0; margin-left: 0.35rem; }
.cvt-workhero .cvt-page-title { margin: 0 0 0.35rem; font-size: 2.3rem; }
.cvt-workhero .cvt-subtitle { margin: 0 0 0.6rem; }
.cvt-workhero__premise { margin: 0 0 1rem; font-size: 1.1rem; line-height: 1.5; }
.cvt-workhero__actions { margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.cvt-workhero__facts { margin: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.75rem; font-size: 0.88rem; }
.cvt-workhero__facts div { display: flex; flex-direction: column; }
.cvt-workhero__facts dt { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: #5a5d60; }
.cvt-workhero__facts dd { margin: 0; font-weight: 700; }
.cvt-tabs__bar { border-bottom: 2px solid var(--cvt-line); margin: 0 0 1.25rem; overflow-x: auto; scrollbar-width: thin; }
.cvt-tabs__list { list-style: none; display: flex; gap: 0.15rem; margin: 0; padding: 0; white-space: nowrap; }
.cvt-tabs__tab { display: inline-block; padding: 0.6rem 0.95rem; color: var(--cvt-ink); text-decoration: none; font-weight: 700; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.cvt-tabs__tab:hover, .cvt-tabs__tab:focus-visible { background: var(--cvt-tint); }
.cvt-tabs__tab.is-active, .cvt-tabs__tab[aria-selected="true"] { border-bottom-color: var(--cvt-brass); color: var(--cvt-brass-dark); }
.cvt-tabs__tab:focus-visible { outline: 2px solid var(--cvt-brass); outline-offset: -2px; }
.cvt-tabs__n { display: inline-block; min-width: 1.5em; padding: 0 0.4em; margin-left: 0.15rem; font-size: 0.72rem; line-height: 1.5; text-align: center; font-weight: 400; background: var(--cvt-line); border-radius: 999px; color: #3b3e41; }
.cvt-tabs__tab.is-active .cvt-tabs__n { background: var(--cvt-brass); color: #fff; }
.cvt-tabpanel { margin: 0 0 2rem; }
.cvt-tabpanel[hidden] { display: none; }
.cvt-tabs.is-ready .cvt-tabpanel__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cvt-tabs:not(.is-ready) .cvt-tabs__bar { display: none; }
.cvt-tabpanel__title { font-family: var(--cvt-display); font-weight: 400; font-size: 1.5rem; margin: 1.5rem 0 0.5rem; }
.cvt-tabpanel .cvt-prose, .cvt-tabpanel .cvt-intro { max-width: none; }
.cvt-filter { width: 100%; max-width: 22rem; padding: 0.5rem 0.7rem; border: 1px solid var(--cvt-line); font: inherit; }
.cvt-entrylist { margin: 0.5rem 0 0.75rem; }
.cvt-entrylist li[hidden] { display: none; }
.cvt-tabpanel__more { margin: 0.5rem 0 0; font-size: 0.92rem; }
.cvt-chapters--columns { columns: 2 18rem; column-gap: 2rem; padding-left: 1.4rem; }
.cvt-chapters--columns li { break-inside: avoid; margin: 0 0 0.3rem; }
.cvt-extractcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 0.75rem; }
.cvt-extractcard { background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1rem 1.1rem 1.1rem; }
.cvt-extractcard__meta { margin: 0 0 0.25rem; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #5a5d60; }
.cvt-extractcard h3 { margin: 0 0 0.5rem; font-family: var(--cvt-display); font-weight: 400; font-size: 1.35rem; line-height: 1.25; }
.cvt-extractcard h3 a { color: var(--cvt-ink); text-decoration: none; }
.cvt-extractcard h3 a:hover { text-decoration: underline; }
@media (max-width: 900px) { .cvt-workhero { flex-direction: column; align-items: center; } .cvt-extractcards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .cvt-workhero { padding: 1rem; } .cvt-workhero__cover img { width: 180px; } .cvt-workhero .cvt-page-title { font-size: 1.9rem; } }

/* Links keep their colour when hovered (a plugin's stylesheet turns every link blue); buttons keep white text on hover. */
a:hover, a:focus-visible { color: inherit; }
a.cvt-button, a.cvt-button:visited, button.cvt-button { color: #fff; }
a.cvt-button:hover, a.cvt-button:focus-visible, button.cvt-button:hover, button.cvt-button:focus-visible { background: var(--cvt-brass-dark); color: #fff; }
a.cvt-button--quiet, a.cvt-button--quiet:visited { background: transparent; color: var(--cvt-brass-dark); border: 2px solid var(--cvt-brass); }
a.cvt-button--quiet:hover, a.cvt-button--quiet:focus-visible { background: var(--cvt-brass); border-color: var(--cvt-brass); color: #fff; }
.cvt-sidebar a:hover, .cvt-sidebar a:focus-visible { color: var(--cvt-side-text); }
.cvt-navbar__links a:hover { color: #fff; }

/* Reviewed in: a larger magazine cover, the reviewer and a short quotation. */
.cvt-reviewed__link { align-items: flex-start; gap: 1.25rem; }
.cvt-reviewed__link img { width: 150px; height: auto; }
.cvt-reviewed__text { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.cvt-reviewed__magazine { font-family: var(--cvt-display); font-size: 1.25rem; font-weight: 400; }
.cvt-reviewed__by { font-size: 0.88rem; color: #4b4e51; }
.cvt-reviewed__quote { display: block; margin: 0.25rem 0; padding-left: 0.9rem; border-left: 3px solid var(--cvt-brass); font-style: italic; line-height: 1.5; quotes: "\201C" "\201D"; }
.cvt-tagline-caps { margin: 0 0 1rem; font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; color: #5a5d60; }
@media (max-width: 480px) { .cvt-reviewed__link { flex-direction: column; } }

/* Tabs wrap onto a second line instead of scrolling sideways, except on phones. */
.cvt-tabs__bar { overflow-x: visible; }
.cvt-tabs__list { flex-wrap: wrap; white-space: normal; row-gap: 0; }
.cvt-tabs__tab { padding: 0.65rem 1.05rem; }
@media (max-width: 640px) { .cvt-tabs__bar { overflow-x: auto; } .cvt-tabs__list { flex-wrap: nowrap; white-space: nowrap; } }

/* The collected-verse card is set well apart from the poem lists. */
.cvt-poems-books { margin-top: 3.25rem; padding-top: 1.5rem; border-top: 2px solid var(--cvt-line); }
.cvt-poems-books .cvt-book { border-bottom: 0; }
.cvt-searchform input[type="search"]::placeholder { color: #6b6e71; opacity: 1; }
.cvt-search { margin: 1.25rem 0 0; }

/* The interview page: room between the two interviews and above the text. */
.category-interview .sc_fancy_player_container { margin: 0.35rem 0 2.5rem; }
.category-interview .cvt-prose > p:has(> strong:only-child) { margin-bottom: 0.6rem; }
.category-interview .sc_fancy_player_container:last-of-type + p { margin-top: 0.75rem; padding-top: 2rem; border-top: 1px solid var(--cvt-line); }

.cvt-button__price { margin-left: 0.4rem; padding-left: 0.6rem; border-left: 1px solid rgba(255, 255, 255, 0.5); font-weight: 400; white-space: nowrap; }

/* Admin editor (signed-in people who may suggest edits): Edit button, pending panel, editor window. */
.cve-edit { margin-left: 0.5rem; padding: 0.15rem 0.7rem; border: 1px solid var(--cvt-brass); border-radius: 999px; background: transparent; color: var(--cvt-brass); font: inherit; font-size: 0.8rem; cursor: pointer; }
.cve-edit:hover, .cve-edit:focus-visible { background: var(--cvt-brass); color: #fff; }
.cve-pending { flex: none; margin: 0.5rem 0 0; padding: 0.55rem 0.9rem; max-height: 45vh; overflow-y: auto; border: 1px dashed var(--cvt-brass); background: rgba(255, 253, 244, 0.96); box-shadow: 0 2px 14px rgba(0, 0, 0, 0.35); font-size: 0.9rem; }
.cve-pending summary { cursor: pointer; font-weight: 700; color: var(--cvt-ink); }
.cve-pending__count { display: inline-block; min-width: 1.4rem; padding: 0 0.4rem; border-radius: 999px; background: var(--cvt-brass); color: #fff; font-size: 0.75rem; }
.cve-pending p { margin: 0.4rem 0; font-size: 0.85rem; }
.cve-pending ul { margin: 0; padding-left: 1.1rem; }
.cve-pending em { margin-left: 0.4rem; font-size: 0.8rem; }
/* With the books panel hidden the box sits at the bottom right, beside the Show button. */
@media (min-width: 1151px) {
	html.cvt-books-closed .cvt-books { flex-direction: row-reverse; align-items: flex-end; gap: 0.5rem; max-width: calc(100vw - 2rem); }
	html.cvt-books-closed .cve-pending { margin: 0; max-width: 22rem; }
}
.cve-editor-open { overflow: hidden; }
.cve-editor-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 2.5vh 1rem; background: rgba(15, 20, 30, 0.72); }
.cve-editor { display: flex; flex-direction: column; width: min(860px, 100%); max-height: 95vh; background: #fff; color: #1d2327; border-radius: 6px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); outline: none; }
.cve-editor__head { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem 0.5rem; border-bottom: 1px solid #dcdcde; }
.cve-editor__head h2 { margin: 0; font-size: 1.3rem; }
.cve-editor__head p { margin: 0.2rem 0 0; font-size: 0.85rem; color: #50575e; }
.cve-editor__close { align-self: flex-start; width: 2.2rem; height: 2.2rem; border: 0; background: transparent; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.cve-editor__note, .cve-editor__notice { margin: 0; padding: 0.4rem 1.25rem; font-size: 0.85rem; color: #50575e; }
.cve-editor__notice { min-height: 1.4rem; color: #1a6a38; font-weight: 600; }
.cve-editor__notice.is-bad, .cve-editor .is-bad { color: #b32d2e; }
.cve-editor__body { overflow-y: auto; padding: 0 1.25rem 1.25rem; }
.cve-editor__section { padding: 0.9rem 0; border-top: 1px solid #ececec; }
.cve-editor__section h3 { margin: 0 0 0.3rem; font-size: 1.05rem; }
.cve-editor__section h4 { margin: 0.8rem 0 0.2rem; font-size: 0.9rem; color: #50575e; }
.cve-editor__intro { margin: 0 0 0.5rem; font-size: 0.85rem; color: #50575e; }
.cve-editor__field { display: grid; gap: 0.2rem; margin: 0.4rem 0; font-size: 0.85rem; }
.cve-editor__field input, .cve-editor__field textarea, .cve-editor__field select, .cve-editor__add input, .cve-editor__add select, .cve-editor__row input { width: 100%; padding: 0.4rem 0.5rem; border: 1px solid #8c8f94; border-radius: 3px; font: inherit; box-sizing: border-box; }
.cve-editor__row { display: flex; gap: 0.5rem; align-items: flex-end; }
.cve-editor__row .cve-editor__field { flex: 1; }
.cve-editor__button { padding: 0.4rem 0.9rem; border: 0; border-radius: 3px; background: var(--cvt-brass, #8a6d1f); color: #fff; font: inherit; font-size: 0.85rem; cursor: pointer; white-space: nowrap; }
.cve-editor__button:hover, .cve-editor__button:focus-visible { background: var(--cvt-brass-dark, #6d5518); }
.cve-editor__link { margin-left: 0.5rem; padding: 0; border: 0; background: transparent; color: #2271b1; font: inherit; font-size: 0.85rem; text-decoration: underline; cursor: pointer; }
.cve-editor__list { margin: 0.2rem 0; padding-left: 1.1rem; }
.cve-editor__list li { margin: 0.2rem 0; }
.cve-editor__rel { color: #50575e; font-size: 0.85rem; }
.cve-editor__empty { color: #646970; list-style: none; }
.cve-editor .is-struck { text-decoration: line-through; color: #8c8f94; }
.cve-editor .is-new { color: #1a6a38; }
.cve-editor__pending { margin: 0.3rem 0 0; font-size: 0.85rem; color: #8a6d1f; }
.cve-editor__add { margin-top: 1rem; padding: 0.7rem 0.9rem; background: #f6f7f7; border-radius: 4px; }
.cve-editor__results { margin: 0.2rem 0; padding: 0; list-style: none; max-height: 11rem; overflow-y: auto; border: 1px solid #dcdcde; background: #fff; }
.cve-editor__results:empty { display: none; }
.cve-editor__results button { display: block; width: 100%; padding: 0.35rem 0.6rem; border: 0; background: transparent; text-align: left; font: inherit; font-size: 0.9rem; cursor: pointer; }
.cve-editor__results button:hover, .cve-editor__results button:focus-visible { background: #f0f6fc; }
.cve-editor__chosen { margin: 0.2rem 0; font-weight: 600; }
.cve-editor__passages { font-size: 0.85rem; }
.cve-editor__tag { font-size: 0.75rem; color: #8a6d1f; }
@media (max-width: 600px) { .cve-editor__row { flex-direction: column; align-items: stretch; } .cve-editor-overlay { padding: 0; } .cve-editor { max-height: 100vh; border-radius: 0; } }

/* Entry pictures: nothing for visitors unless a picture was chosen; admins get the slot and the controls. */
.cvt-figure { margin: 2rem 0 0; }
.cvt-split__img { display: block; width: 100%; height: auto; border-radius: 3px; }
button.cvt-photo-slot { width: 100%; padding: 0; font: inherit; cursor: pointer; }
button.cvt-photo-slot:hover, button.cvt-photo-slot:focus-visible { border-color: var(--cvt-brass); color: var(--cvt-brass-dark, #6d5518); }
.cve-image-tools { margin: 0.4rem 0 0; font-size: 0.85rem; }
.cve-image-status { min-height: 1.2rem; margin: 0.3rem 0 0; font-size: 0.85rem; color: #1a6a38; }
.cve-image-status.is-bad { color: #b32d2e; }

/* Chapter extracts: real tables, indented quotations, sub-headings. */
.cvt-prose .cvt-table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.cvt-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; background: var(--cvt-paper); }
.cvt-table caption { caption-side: top; text-align: left; padding: 0 0 0.6rem; font-weight: 700; color: var(--cvt-ink); }
.cvt-table th, .cvt-table td { text-align: left; vertical-align: top; padding: 0.5rem 0.7rem; border-bottom: 1px solid var(--cvt-line); }
.cvt-table th { background: var(--cvt-tint); border-bottom: 2px solid var(--cvt-brass); font-family: var(--cvt-display); font-size: 1.05rem; font-weight: 700; }
.cvt-table tbody tr:nth-child(even) td { background: #f7f6f2; }
.cvt-table td:first-child { white-space: nowrap; font-weight: 700; }
.cvt-prose .cvt-quote { margin: 1rem 0 1rem 1.5rem; padding: 0 0 0 1rem; border-left: 3px solid var(--cvt-brass); }
.cvt-prose .cvt-quote p { margin: 0; }
.cvt-prose h3 { margin: 1.8rem 0 0.4rem; font-family: var(--cvt-display); font-size: 1.3rem; font-weight: 700; }

/* The mailing list: one parchment card, an email box and a button. */
.cvt-mailing-card { background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1.4rem 1.6rem 1.5rem; max-width: 40rem; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); }
.cvt-mailing-card h2 { margin: 0 0 0.5rem; font-family: var(--cvt-display); font-size: 1.6rem; }
.cvt-mailing-card p { margin: 0 0 0.8rem; }
.cvt-mailing__row { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: stretch; margin-top: 1rem; }
.cvt-mailing__label { flex: 0 0 100%; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #4b4e51; }
.cvt-mailing__input { flex: 1 1 14rem; min-width: 0; padding: 0.6rem 0.8rem; border: 1px solid var(--cvt-line); border-bottom: 2px solid var(--cvt-brass); background: #fff; color: var(--cvt-ink); font: inherit; border-radius: 0; box-shadow: none; }
.cvt-mailing__input:focus { outline: 2px solid var(--cvt-brass); outline-offset: 1px; }
.cvt-mailing .cvt-button { border: 0; cursor: pointer; font: inherit; font-weight: 700; padding: 0.6rem 1.4rem; }
.cvt-mailing__note { margin: 0.7rem 0 0; font-size: 0.85rem; color: #5a5d60; }
.cvt-mailing__error { margin-top: 0.8rem; padding: 0.5rem 0.8rem; background: #fff4d6; border: 1px solid #e3c36b; }
.cvt-mailing__error p { margin: 0; }
.cvt-mailing-card .newsletters-acknowledgement, .cvt-mailing-card .alert { margin: 1rem 0 0; padding: 0.7rem 1rem; background: #fff4d6; border: 1px solid #e3c36b; color: var(--cvt-ink); }

/* Reading posts: the portrait video at the left; the poem, its collection and the book at the right. */
.cvt-reading__grid { display: grid; grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); gap: 1.5rem 2rem; align-items: start; margin-top: 1rem; }
.cvt-reading__player .cve-player--video { width: 100%; aspect-ratio: 9 / 16; max-height: 80vh; object-fit: contain; margin: 0 auto; }
.cvt-reading__player .cve-player { max-width: none; }
.cvt-reading__intro { margin: 0 0 1rem; font-size: 1.1rem; }
.cvt-reading__links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 1.5rem; }
.cvt-reading__book { background: var(--cvt-tint); border-left: 4px solid var(--cvt-brass); padding: 1rem 1.25rem 1.1rem; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); }
.cvt-reading__from { margin: 0 0 0.8rem; font-family: var(--cvt-display); font-size: 1.3rem; }
.cvt-reading__book .cvt-work { gap: 1rem; }
.cvt-reading__book .cvt-work__cover { flex: 0 0 5.5rem; max-width: 5.5rem; }
.cvt-reading__book .cvt-work__text p { font-size: 0.9rem; }
.cvt-reading__book .cvt-buy { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.8rem 0 0; }
@media (max-width: 900px) { .cvt-reading__grid { grid-template-columns: minmax(0, 1fr); } .cvt-reading__player { max-width: 17rem; } }

/* Mailing list page: the portrait at the left, the card at the right. */
.cvt-mailing-layout { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 1.5rem 2rem; align-items: start; max-width: 52rem; }
.cvt-mailing-layout .cvt-mailing-card { max-width: none; }
.cvt-mailing-photo { margin: 0; }
.cvt-mailing-photo__img { display: block; width: 100%; height: auto; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
@media (max-width: 700px) { .cvt-mailing-layout { grid-template-columns: minmax(0, 1fr); } .cvt-mailing-photo { max-width: 12rem; } }
