.nccbe-reader {
	--nccbe-page-width: 665px;
	--nccbe-page-height: 945px;
	--nccbe-font-size: 17px;
	--nccbe-line-height: 1.62;
	--nccbe-text: #1b1b1b;
	--nccbe-accent: #744a30;
	--nccbe-paper: #fffdf9;
	--nccbe-ui-bg: #f4f1ed;
	--nccbe-ui-text: #25221f;
	--nccbe-ui-border: #cfc6bc;
	--nccbe-stage-bg: #e7e1da;
	--nccbe-spread-gap: 22px;
	--nccbe-page-padding-x: 62px;
	--nccbe-page-padding-top: 66px;
	--nccbe-page-padding-bottom: 62px;
	box-sizing: border-box !important;
	position: relative;
	isolation: isolate;
	max-width: 1500px;
	margin: 2rem auto;
	color: var(--nccbe-text) !important;
	font-style: normal !important;
	text-transform: none !important;
	letter-spacing: normal;
}

.nccbe-reader,
.nccbe-reader *,
.nccbe-reader *::before,
.nccbe-reader *::after {
	box-sizing: border-box !important;
}

.nccbe-reader button,
.nccbe-reader input,
.nccbe-reader select,
.nccbe-reader textarea {
	font: inherit;
}

.nccbe-html-reader,
body.nccbe-body-reader {
	overflow: hidden !important;
	height: 100% !important;
}

.nccbe-reader.nccbe-standalone {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100vw !important;
	max-width: none !important;
	height: 100dvh !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--nccbe-stage-bg) !important;
}

.nccbe-format-a5 {
	--nccbe-page-width: 559px;
	--nccbe-page-height: 794px;
	--nccbe-page-padding-x: 52px;
	--nccbe-page-padding-top: 58px;
	--nccbe-page-padding-bottom: 54px;
}

.nccbe-format-six-nine {
	--nccbe-page-width: 576px;
	--nccbe-page-height: 864px;
	--nccbe-page-padding-x: 54px;
	--nccbe-page-padding-top: 62px;
	--nccbe-page-padding-bottom: 58px;
}

.nccbe-body-literary { font-family: Charter, "Bitstream Charter", "Iowan Old Style", Cambria, Georgia, serif !important; }
.nccbe-body-georgia { font-family: Georgia, "Times New Roman", serif !important; }
.nccbe-body-palatino { font-family: Palatino, "Palatino Linotype", "Book Antiqua", serif !important; }
.nccbe-body-times { font-family: "Times New Roman", Times, serif !important; }
.nccbe-body-system { font-family: Inter, Aptos, Arial, sans-serif !important; }

.nccbe-head-humanist .nccbe-page-body h1,
.nccbe-head-humanist .nccbe-page-body h2,
.nccbe-head-humanist .nccbe-page-body h3 { font-family: Optima, Candara, "Trebuchet MS", sans-serif !important; }
.nccbe-head-classic .nccbe-page-body h1,
.nccbe-head-classic .nccbe-page-body h2,
.nccbe-head-classic .nccbe-page-body h3 { font-family: Garamond, "EB Garamond", Georgia, serif !important; }
.nccbe-head-system .nccbe-page-body h1,
.nccbe-head-system .nccbe-page-body h2,
.nccbe-head-system .nccbe-page-body h3 { font-family: Inter, Aptos, Arial, sans-serif !important; }

.nccbe-toolbar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .75rem !important;
	position: sticky !important;
	top: .75rem !important;
	z-index: 30 !important;
	width: fit-content !important;
	max-width: calc(100% - 1rem) !important;
	margin: 0 auto 1rem !important;
	padding: .55rem .7rem !important;
	border: 1px solid var(--nccbe-ui-border) !important;
	border-radius: 999px !important;
	background: rgba(250, 248, 245, .97) !important;
	box-shadow: 0 7px 22px rgba(35, 28, 22, .14) !important;
	backdrop-filter: blur(10px);
	color: var(--nccbe-ui-text) !important;
}

.nccbe-standalone .nccbe-toolbar {
	position: relative !important;
	top: auto !important;
	flex: 0 0 auto !important;
	margin: 10px auto 8px !important;
}

.nccbe-reader.nccbe-reader .nccbe-toolbar button {
	appearance: none !important;
	-webkit-appearance: none !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: .46rem .82rem !important;
	border: 1px solid #b9afa5 !important;
	border-radius: 999px !important;
	background: #fffdf9 !important;
	box-shadow: none !important;
	color: #25221f !important;
	font-family: Inter, Aptos, Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer !important;
}

.nccbe-reader.nccbe-reader .nccbe-toolbar button:hover,
.nccbe-reader.nccbe-reader .nccbe-toolbar button:focus-visible {
	border-color: var(--nccbe-accent) !important;
	background: #ffffff !important;
	color: var(--nccbe-ui-text) !important;
	outline: 2px solid color-mix(in srgb, var(--nccbe-accent) 32%, transparent) !important;
	outline-offset: 1px !important;
}

.nccbe-reader.nccbe-reader .nccbe-toolbar button:disabled {
	opacity: .35 !important;
	cursor: default !important;
}

.nccbe-prev,
.nccbe-next {
	min-width: 38px !important;
	padding-inline: .55rem !important;
	font-size: 22px !important;
	font-weight: 500 !important;
}

.nccbe-counter {
	min-width: 9.5rem !important;
	color: #403a35 !important;
	font: 600 13px/1.2 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-transform: none !important;
}

.nccbe-stage {
	position: relative !important;
	overflow: hidden !important;
	min-height: min(78vh, var(--nccbe-page-height));
	outline: none !important;
	background: transparent !important;
	perspective: 2200px;
}

.nccbe-standalone .nccbe-stage {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	width: 100% !important;
	padding: 6px 12px 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.nccbe-pages {
	display: flex !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: var(--nccbe-spread-gap) !important;
	width: max-content !important;
	max-width: none !important;
	margin: 0 auto !important;
	transform-origin: top center !important;
	will-change: transform;
}

.nccbe-measure-pages {
	position: absolute !important;
	top: 0 !important;
	left: -100000px !important;
	display: block !important;
	width: var(--nccbe-page-width) !important;
	transform: none !important;
	visibility: hidden !important;
}

.nccbe-reader.nccbe-reader .nccbe-page {
	position: relative !important;
	flex: 0 0 var(--nccbe-page-width) !important;
	width: var(--nccbe-page-width) !important;
	max-width: none !important;
	height: var(--nccbe-page-height) !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 1px !important;
	background: var(--nccbe-paper) !important;
	box-shadow: 0 14px 40px rgba(33, 25, 19, .22) !important;
	color: var(--nccbe-text) !important;
	font-family: inherit !important;
	font-size: var(--nccbe-font-size) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: var(--nccbe-line-height) !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	transform-style: preserve-3d;
	backface-visibility: hidden;
	cursor: pointer;
}

.nccbe-reader.nccbe-reader .nccbe-page[hidden] { display: none !important; }

.nccbe-page::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(72, 56, 43, .035), transparent 7%, transparent 93%, rgba(72, 56, 43, .045));
}

.nccbe-reader.nccbe-reader .nccbe-page-inner {
	position: absolute !important;
	inset: 0 !important;
	padding: var(--nccbe-page-padding-top) var(--nccbe-page-padding-x) var(--nccbe-page-padding-bottom) !important;
	background: var(--nccbe-paper) !important;
	color: var(--nccbe-text) !important;
}

.nccbe-page-header {
	position: absolute !important;
	top: 24px !important;
	left: var(--nccbe-page-padding-x) !important;
	right: var(--nccbe-page-padding-x) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: #706a64 !important;
	font: 500 11px/1.2 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

.nccbe-page[data-side="left"] .nccbe-page-header { text-align: left !important; }
.nccbe-page[data-side="right"] .nccbe-page-header { text-align: right !important; }

.nccbe-reader.nccbe-reader .nccbe-page-body {
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: transparent !important;
	color: var(--nccbe-text) !important;
	font-family: inherit !important;
	font-size: var(--nccbe-font-size) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: var(--nccbe-line-height) !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.nccbe-page-number {
	position: absolute !important;
	bottom: 24px !important;
	left: 0 !important;
	right: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #756e67 !important;
	font: 500 12px/1 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-transform: none !important;
}

.nccbe-reader.nccbe-reader .nccbe-page-body p,
.nccbe-reader.nccbe-reader .nccbe-page-body li,
.nccbe-reader.nccbe-reader .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader .nccbe-page-body dd,
.nccbe-reader.nccbe-reader .nccbe-page-body dt,
.nccbe-reader.nccbe-reader .nccbe-page-body figcaption {
	color: var(--nccbe-text) !important;
	font-family: inherit !important;
	font-size: inherit;
	font-style: inherit;
	line-height: inherit;
	letter-spacing: normal !important;
	text-transform: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.nccbe-reader.nccbe-reader .nccbe-page-body p {
	margin: 0 0 .78em !important;
	padding: 0 !important;
	orphans: 3;
	widows: 3;
}

.nccbe-page-body .nccbe-fragment-first { margin-bottom: 0 !important; }
.nccbe-page-body .nccbe-fragment-continuation { margin-top: 0 !important; }

.nccbe-reader.nccbe-reader.nccbe-justify .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-justify .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-justify .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-justify .nccbe-page-body dd {
	text-align: justify !important;
	text-justify: inter-word !important;
}

.nccbe-reader.nccbe-reader.nccbe-align-left .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-align-left .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-align-left .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-align-left .nccbe-page-body dd {
	text-align: left !important;
}

.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body dd {
	-webkit-hyphens: auto !important;
	hyphens: auto !important;
	hyphenate-character: "‐";
	hyphenate-limit-chars: 6 3 3;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.nccbe-reader.nccbe-reader.nccbe-hyphenate.nccbe-hyphenator-ready .nccbe-page-body,
.nccbe-reader.nccbe-reader.nccbe-hyphenate.nccbe-hyphenator-ready .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-hyphenate.nccbe-hyphenator-ready .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-hyphenate.nccbe-hyphenator-ready .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-hyphenate.nccbe-hyphenator-ready .nccbe-page-body dd {
	-webkit-hyphens: manual !important;
	hyphens: manual !important;
}

.nccbe-reader.nccbe-reader.nccbe-no-hyphenate .nccbe-page-body,
.nccbe-reader.nccbe-reader.nccbe-no-hyphenate .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-no-hyphenate .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-no-hyphenate .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-no-hyphenate .nccbe-page-body dd {
	-webkit-hyphens: none !important;
	hyphens: none !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.nccbe-reader.nccbe-reader .nccbe-page-body h1,
.nccbe-reader.nccbe-reader .nccbe-page-body h2,
.nccbe-reader.nccbe-reader .nccbe-page-body h3 {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nccbe-accent) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	text-transform: none !important;
	break-after: avoid;
	page-break-after: avoid;
}

.nccbe-page-body h1 {
	margin: .25em 0 .9em !important;
	font-size: 2em !important;
	line-height: 1.13 !important;
	letter-spacing: .02em !important;
	text-align: center !important;
}

.nccbe-page-body h2 {
	margin: .2em 0 1em !important;
	font-size: 1.62em !important;
	line-height: 1.18 !important;
	letter-spacing: .01em !important;
	text-align: center !important;
}

.nccbe-page-body h3 {
	margin: 1em 0 .45em !important;
	font-size: 1.08em !important;
	line-height: 1.25 !important;
	text-align: left !important;
}

.nccbe-page-body blockquote {
	margin: 1em 1.4em !important;
	padding: 0 0 0 1em !important;
	border: 0 !important;
	border-left: 3px solid var(--nccbe-accent) !important;
	background: transparent !important;
	color: #504942 !important;
}

.nccbe-page-body a,
.nccbe-page-body a:visited,
.nccbe-page-body a:hover {
	color: var(--nccbe-accent) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: .12em !important;
}

.nccbe-page-body img {
	display: block !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.nccbe-page-body ul,
.nccbe-page-body ol {
	margin: .75em 0 .85em 1.4em !important;
	padding: 0 !important;
	color: var(--nccbe-text) !important;
}

.nccbe-page-body li { margin: 0 0 .35em !important; padding: 0 !important; }

.nccbe-module { display: flow-root !important; }
.nccbe-module-part { min-height: 650px !important; display: grid !important; place-content: center !important; text-align: center !important; }
.nccbe-module-part h1 { max-width: 12em !important; font-size: 2.45em !important; }

.nccbe-sources {
	margin: 0 0 1.2em !important;
	padding: .8em 1em !important;
	border: 0 !important;
	border-top: 1px solid color-mix(in srgb, var(--nccbe-accent) 35%, transparent) !important;
	border-bottom: 1px solid color-mix(in srgb, var(--nccbe-accent) 35%, transparent) !important;
	background: transparent !important;
	color: var(--nccbe-text) !important;
	font-size: .76em !important;
	line-height: 1.42 !important;
}

.nccbe-sources > div {
	display: grid !important;
	grid-template-columns: 9.5em 1fr !important;
	gap: .7em !important;
}

.nccbe-sources dt { font-weight: 700 !important; }
.nccbe-sources dd { margin: 0 !important; }

.nccbe-comment {
	margin: 1em 0 !important;
	padding: .9em 1.05em !important;
	border: 0 !important;
	border-left: 4px solid var(--nccbe-accent) !important;
	background: color-mix(in srgb, var(--nccbe-accent) 8%, var(--nccbe-paper)) !important;
	color: var(--nccbe-text) !important;
}
.nccbe-comment h3 { margin-top: 0 !important; }

.nccbe-figure {
	margin-top: .25em !important;
	margin-bottom: 1em !important;
	break-inside: avoid;
	page-break-inside: avoid;
}
.nccbe-figure img {
	width: 100% !important;
	max-height: calc(var(--nccbe-page-height) - var(--nccbe-page-padding-top) - var(--nccbe-page-padding-bottom) - 90px) !important;
	object-fit: contain !important;
}
.nccbe-figure figcaption {
	margin-top: .35em !important;
	color: #6e665f !important;
	font-size: .68em !important;
	line-height: 1.35 !important;
	text-align: left !important;
}
.nccbe-size-100 { width: 100% !important; }
.nccbe-size-50 { width: 50% !important; }
.nccbe-size-33 { width: 33.333% !important; }
.nccbe-size-25 { width: 25% !important; }
.nccbe-size-12-5 { width: 12.5% !important; }
.nccbe-size-10 { width: 10% !important; }
.nccbe-position-center { margin-left: auto !important; margin-right: auto !important; clear: both !important; }
.nccbe-position-full { width: 100% !important; clear: both !important; }
.nccbe-position-left { float: left !important; margin-right: 1.15em !important; }
.nccbe-position-right { float: right !important; margin-left: 1.15em !important; }
.nccbe-orientation-landscape img { aspect-ratio: 16 / 9; object-fit: cover !important; }
.nccbe-orientation-portrait img { aspect-ratio: 2 / 3; object-fit: cover !important; }
.nccbe-orientation-square img { aspect-ratio: 1; object-fit: cover !important; }

.nccbe-module-cover { height: 100% !important; }
.nccbe-cover-art { position: absolute !important; inset: 0 !important; background: #181512 !important; }
.nccbe-cover-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.nccbe-cover-overlay {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	padding: 9% 8% !important;
	background: linear-gradient(180deg, rgba(0,0,0,.55) 0, rgba(0,0,0,.08) 42%, rgba(0,0,0,.38) 100%) !important;
	color: #fff !important;
	text-align: center !important;
	text-shadow: 0 2px 9px rgba(0,0,0,.8) !important;
}
.nccbe-cover-overlay h1 {
	max-width: 92% !important;
	margin: 0 !important;
	color: #fff !important;
	font-size: 2.15em !important;
	line-height: 1.12 !important;
	letter-spacing: .035em !important;
	text-align: center !important;
}
.nccbe-cover-subtitle { max-width: 85% !important; margin-top: .8em !important; color: #fff !important; font-size: 1.05em !important; text-align: center !important; }
.nccbe-cover-credit {
	position: absolute !important;
	z-index: 2 !important;
	bottom: 14px !important;
	left: 22px !important;
	right: 22px !important;
	margin: 0 !important;
	color: rgba(255,255,255,.82) !important;
	font-size: 9px !important;
	text-align: right !important;
	text-shadow: 0 1px 4px #000 !important;
}

.nccbe-module-title { height: 100% !important; }

.nccbe-title-page { position: relative !important; overflow: hidden !important; }
.nccbe-title-page-content { position: relative !important; z-index: 1 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
.nccbe-title-page-background { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.nccbe-title-page-background::after { content: ""; position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(255,253,249,.88), rgba(255,253,249,.96)); }
.nccbe-title-page-background .nccbe-title-image { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: .22 !important; }
.nccbe-title-page-figure { width: 100% !important; max-width: 74% !important; margin: 0 auto 1.25em !important; }
.nccbe-title-page-figure img { width: 100% !important; max-height: 230px !important; object-fit: contain !important; }
.nccbe-title-page-figure-bottom { margin: 1.2em auto 1.4em !important; }
.nccbe-title-page { height: 100% !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
.nccbe-title-author { margin: 2.8em 0 5em !important; font-size: 1em !important; letter-spacing: .08em !important; text-transform: uppercase !important; text-align: center !important; }
.nccbe-title-page h1 { max-width: 13em !important; margin: 0 !important; font-size: 2.25em !important; text-align: center !important; }
.nccbe-title-subtitle { max-width: 22em !important; margin: 1em auto 3.4em !important; text-align: center !important; }
.nccbe-volume-label { margin: 0 0 .6em !important; color: var(--nccbe-accent) !important; font-weight: 700 !important; letter-spacing: .12em !important; text-align: center !important; }
.nccbe-title-page h2 { max-width: 16em !important; margin: 0 !important; text-align: center !important; }
.nccbe-volume-subtitle { margin-top: .75em !important; text-align: center !important; font-style: italic !important; }
.nccbe-imprint { margin-top: auto !important; text-align: center !important; font-size: .82em !important; }
.nccbe-imprint p { margin: .15em 0 !important; text-align: center !important; }

.nccbe-toc-list { margin: 1.5em 0 0 !important; padding: 0 !important; list-style: none !important; }
.nccbe-toc-entry { display: grid !important; grid-template-columns: auto 1fr auto !important; align-items: end !important; gap: .45em !important; margin: 0 0 .7em !important; line-height: 1.3 !important; text-align: left !important; }
.nccbe-toc-entry::before { content: none !important; }
.nccbe-toc-dots { min-width: 1.5em !important; border-bottom: 1px dotted #8f877f !important; transform: translateY(-.25em); }
.nccbe-toc-page { font-variant-numeric: tabular-nums; }
.nccbe-toc-entry[data-type="part"] { margin-top: 1.25em !important; color: var(--nccbe-accent) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .06em !important; }

.nccbe-source { display: none !important; }
.nccbe-reader.is-loading .nccbe-pages { opacity: .18; }
.nccbe-reader.is-loading .nccbe-counter::after {
	content: "";
	display: inline-block;
	width: .8em;
	height: .8em;
	margin-left: .55em;
	border: 2px solid #bbb;
	border-top-color: var(--nccbe-accent);
	border-radius: 50%;
	animation: nccbe-spin .8s linear infinite;
}

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

.nccbe-page.nccbe-turn-out-forward { transform-origin: left center; animation: nccbe-turn-out-forward 150ms ease-in both; }
.nccbe-page.nccbe-turn-in-forward { transform-origin: right center; animation: nccbe-turn-in-forward 250ms cubic-bezier(.2,.72,.25,1) both; }
.nccbe-page.nccbe-turn-out-back { transform-origin: right center; animation: nccbe-turn-out-back 150ms ease-in both; }
.nccbe-page.nccbe-turn-in-back { transform-origin: left center; animation: nccbe-turn-in-back 250ms cubic-bezier(.2,.72,.25,1) both; }

@keyframes nccbe-turn-out-forward {
	from { transform: rotateY(0deg) translateX(0); opacity: 1; filter: brightness(1); }
	to { transform: rotateY(-12deg) translateX(-12px); opacity: .2; filter: brightness(.86); }
}
@keyframes nccbe-turn-in-forward {
	from { transform: rotateY(10deg) translateX(12px); opacity: .25; filter: brightness(.9); }
	to { transform: rotateY(0deg) translateX(0); opacity: 1; filter: brightness(1); }
}
@keyframes nccbe-turn-out-back {
	from { transform: rotateY(0deg) translateX(0); opacity: 1; filter: brightness(1); }
	to { transform: rotateY(12deg) translateX(12px); opacity: .2; filter: brightness(.86); }
}
@keyframes nccbe-turn-in-back {
	from { transform: rotateY(-10deg) translateX(-12px); opacity: .25; filter: brightness(.9); }
	to { transform: rotateY(0deg) translateX(0); opacity: 1; filter: brightness(1); }
}

@media (max-width: 850px) {
	.nccbe-reader.nccbe-embedded { margin-inline: -12px; }
	.nccbe-toolbar { border-radius: 16px !important; flex-wrap: wrap !important; }
	.nccbe-stage { min-height: 70vh; }
	.nccbe-standalone .nccbe-stage { min-height: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
	.nccbe-page.nccbe-turn-out-forward,
	.nccbe-page.nccbe-turn-in-forward,
	.nccbe-page.nccbe-turn-out-back,
	.nccbe-page.nccbe-turn-in-back { animation: none !important; }
}

@page nccbe-b5 { size: 176mm 250mm; margin: 0; }
@page nccbe-a5 { size: A5 portrait; margin: 0; }
@page nccbe-six-nine { size: 152.4mm 228.6mm; margin: 0; }

@media print {
	/* Publikacja ekranowa. Nie generujemy z czytnika wersji do druku ani PDF. */
	body * { visibility: hidden !important; }
	body::before {
		content: "Ta publikacja jest przeznaczona do czytania w serwisie. Drukowanie z czytnika zostało wyłączone.";
		visibility: visible !important;
		display: block !important;
		max-width: 720px !important;
		margin: 48px auto !important;
		padding: 24px !important;
		font: 600 18px/1.5 Arial, sans-serif !important;
		color: #222 !important;
	}
}

/* Final isolation layer. Keep critical book styling above WordPress theme rules. */
.nccbe-reader.nccbe-reader.nccbe-body-literary { font-family: Charter, "Bitstream Charter", "Iowan Old Style", Cambria, Georgia, serif !important; }
.nccbe-reader.nccbe-reader.nccbe-body-georgia { font-family: Georgia, "Times New Roman", serif !important; }
.nccbe-reader.nccbe-reader.nccbe-body-palatino { font-family: Palatino, "Palatino Linotype", "Book Antiqua", serif !important; }
.nccbe-reader.nccbe-reader.nccbe-body-times { font-family: "Times New Roman", Times, serif !important; }
.nccbe-reader.nccbe-reader.nccbe-body-system { font-family: Inter, Aptos, Arial, sans-serif !important; }

.nccbe-reader.nccbe-reader.nccbe-head-humanist .nccbe-page-body h1,
.nccbe-reader.nccbe-reader.nccbe-head-humanist .nccbe-page-body h2,
.nccbe-reader.nccbe-reader.nccbe-head-humanist .nccbe-page-body h3 { font-family: Optima, Candara, "Trebuchet MS", sans-serif !important; }
.nccbe-reader.nccbe-reader.nccbe-head-classic .nccbe-page-body h1,
.nccbe-reader.nccbe-reader.nccbe-head-classic .nccbe-page-body h2,
.nccbe-reader.nccbe-reader.nccbe-head-classic .nccbe-page-body h3 { font-family: Garamond, "EB Garamond", Georgia, serif !important; }
.nccbe-reader.nccbe-reader.nccbe-head-system .nccbe-page-body h1,
.nccbe-reader.nccbe-reader.nccbe-head-system .nccbe-page-body h2,
.nccbe-reader.nccbe-reader.nccbe-head-system .nccbe-page-body h3 { font-family: Inter, Aptos, Arial, sans-serif !important; }

.nccbe-reader.nccbe-reader .nccbe-toolbar {
	border-color: var(--nccbe-ui-border) !important;
	background: rgba(250, 248, 245, .97) !important;
	box-shadow: 0 7px 22px rgba(35, 28, 22, .14) !important;
	color: var(--nccbe-ui-text) !important;
}
.nccbe-reader.nccbe-reader .nccbe-counter {
	color: #403a35 !important;
	font: 600 13px/1.2 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-header {
	color: #706a64 !important;
	font: 500 11px/1.2 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-number {
	color: #756e67 !important;
	font: 500 12px/1 Inter, Aptos, Arial, sans-serif !important;
}

.nccbe-reader.nccbe-reader .nccbe-cover-overlay,
.nccbe-reader.nccbe-reader .nccbe-cover-overlay h1,
.nccbe-reader.nccbe-reader .nccbe-cover-overlay .nccbe-cover-subtitle {
	color: #fff !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-cover-overlay h1 {
	margin: 0 !important;
	font-size: 2.15em !important;
	line-height: 1.12 !important;
	letter-spacing: .035em !important;
}
.nccbe-reader.nccbe-reader .nccbe-cover-overlay .nccbe-cover-subtitle {
	margin-top: .8em !important;
	font-size: 1.05em !important;
}
.nccbe-reader.nccbe-reader .nccbe-cover-credit {
	color: rgba(255,255,255,.82) !important;
	font-size: 9px !important;
	text-align: right !important;
	text-shadow: 0 1px 4px #000 !important;
}
.nccbe-reader.nccbe-reader .nccbe-title-author {
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-title-subtitle,
.nccbe-reader.nccbe-reader .nccbe-volume-label,
.nccbe-reader.nccbe-reader .nccbe-volume-subtitle,
.nccbe-reader.nccbe-reader .nccbe-imprint,
.nccbe-reader.nccbe-reader .nccbe-imprint p {
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-volume-label {
	color: var(--nccbe-accent) !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
}
.nccbe-reader.nccbe-reader .nccbe-volume-subtitle { font-style: italic !important; }

/* Atomic pages need their own reset because some themes style article/figure elements globally. */
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--nccbe-text) !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module-cover,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module-title { height: 100% !important; }

.nccbe-title-page { position: relative !important; overflow: hidden !important; }
.nccbe-title-page-content { position: relative !important; z-index: 1 !important; width: 100% !important; height: 100% !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
.nccbe-title-page-background { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.nccbe-title-page-background::after { content: ""; position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, rgba(255,253,249,.88), rgba(255,253,249,.96)); }
.nccbe-title-page-background .nccbe-title-image { width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: .22 !important; }
.nccbe-title-page-figure { width: 100% !important; max-width: 74% !important; margin: 0 auto 1.25em !important; }
.nccbe-title-page-figure img { width: 100% !important; max-height: 230px !important; object-fit: contain !important; }
.nccbe-title-page-figure-bottom { margin: 1.2em auto 1.4em !important; }
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module-part {
	min-height: 650px !important;
	display: grid !important;
	place-content: center !important;
	text-align: center !important;
}

.nccbe-reader.nccbe-reader .nccbe-title-author {
	margin: 2.8em 0 5em !important;
	font-size: 1em !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-title-page h1 {
	max-width: 13em !important;
	margin: 0 !important;
	font-size: 2.25em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-title-subtitle {
	max-width: 22em !important;
	margin: 1em auto 3.4em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-volume-label {
	margin: 0 0 .6em !important;
	color: var(--nccbe-accent) !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-title-page h2 {
	max-width: 16em !important;
	margin: 0 !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-volume-subtitle {
	margin: .75em 0 0 !important;
	text-align: center !important;
	font-style: italic !important;
}
.nccbe-reader.nccbe-reader .nccbe-imprint {
	margin-top: auto !important;
	text-align: center !important;
	font-size: .82em !important;
}
.nccbe-reader.nccbe-reader .nccbe-imprint p {
	margin: .15em 0 !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-cover-subtitle {
	max-width: 85% !important;
	margin: .8em 0 0 !important;
	color: #fff !important;
	font-size: 1.05em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-cover-credit {
	margin: 0 !important;
	color: rgba(255,255,255,.82) !important;
	font-size: 9px !important;
	text-align: right !important;
	text-shadow: 0 1px 4px #000 !important;
}

.nccbe-reader.nccbe-reader .nccbe-figure {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Paragraph components must outrank the generic prose paragraph reset. */
.nccbe-reader.nccbe-reader .nccbe-page-body p.nccbe-title-author {
	margin: 2.8em 0 5em !important;
	font-size: 1em !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body p.nccbe-title-subtitle {
	max-width: 22em !important;
	margin: 1em auto 3.4em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body p.nccbe-volume-label {
	margin: 0 0 .6em !important;
	color: var(--nccbe-accent) !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body p.nccbe-volume-subtitle {
	margin: .75em 0 0 !important;
	text-align: center !important;
	font-style: italic !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-imprint p {
	margin: .15em 0 !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-cover-overlay p.nccbe-cover-subtitle {
	max-width: 85% !important;
	margin: .8em 0 0 !important;
	color: #fff !important;
	font-size: 1.05em !important;
	text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body p.nccbe-cover-credit {
	margin: 0 !important;
	color: rgba(255,255,255,.82) !important;
	font-size: 9px !important;
	text-align: right !important;
	text-shadow: 0 1px 4px #000 !important;
}


/* Reader workspace 0.3.0 */
.nccbe-reader.nccbe-embedded {
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 12px 14px 18px !important;
	background: var(--nccbe-stage-bg) !important;
}

.nccbe-reader-shell {
	position: relative !important;
	width: 100% !important;
	min-width: 0 !important;
}

.nccbe-standalone .nccbe-reader-shell {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: auto !important;
	overscroll-behavior: contain;
}

.nccbe-standalone .nccbe-stage {
	overflow: visible !important;
	width: 100% !important;
	padding: 6px 14px 18px !important;
}

.nccbe-toolbar-separator {
	width: 1px !important;
	height: 24px !important;
	background: #d8d0c8 !important;
}

.nccbe-view-switch {
	display: inline-flex !important;
	gap: 4px !important;
	padding: 3px !important;
	border: 1px solid #d8d0c8 !important;
	border-radius: 999px !important;
	background: #f3efea !important;
}

.nccbe-reader.nccbe-reader .nccbe-view-switch button {
	min-height: 30px !important;
	padding: .34rem .62rem !important;
	border-color: transparent !important;
	background: transparent !important;
	font-size: 12px !important;
}

.nccbe-reader.nccbe-reader .nccbe-view-switch button[aria-pressed="true"] {
	border-color: #b9afa5 !important;
	background: var(--nccbe-paper) !important;
	box-shadow: 0 1px 5px rgba(35, 28, 22, .12) !important;
}

.nccbe-toc-panel[hidden] { display: none !important; }
.nccbe-toc-panel {
	position: fixed !important;
	top: 72px !important;
	left: 18px !important;
	z-index: 2147483010 !important;
	width: min(420px, calc(100vw - 36px)) !important;
	max-height: calc(100dvh - 92px) !important;
	overflow: auto !important;
	padding: 0 !important;
	border: 1px solid #c9c0b7 !important;
	border-radius: 16px !important;
	background: #fffdf9 !important;
	box-shadow: 0 18px 60px rgba(31, 25, 20, .28) !important;
	color: #25221f !important;
	font-family: Inter, Aptos, Arial, sans-serif !important;
}

.nccbe-toc-panel-head {
	position: sticky !important;
	top: 0 !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 15px 16px !important;
	border-bottom: 1px solid #e2dbd4 !important;
	background: rgba(255,253,249,.98) !important;
}

.nccbe-reader.nccbe-reader .nccbe-toc-close {
	min-width: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	font-size: 22px !important;
	line-height: 1 !important;
}

.nccbe-toc-nav {
	margin: 0 !important;
	padding: 8px !important;
	list-style: none !important;
}

.nccbe-toc-nav > li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nccbe-reader.nccbe-reader .nccbe-toc-nav-link {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 16px !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 10px 11px !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:hover,
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:focus-visible {
	background: #f2ece6 !important;
}

.nccbe-toc-nav-page {
	font-variant-numeric: tabular-nums;
	font-weight: 700 !important;
}

.nccbe-toc-empty {
	padding: 18px !important;
	color: #6a625b !important;
	font-size: 13px !important;
}

/* Dokładniejsza polska typografia. */
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body p,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body li,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body blockquote,
.nccbe-reader.nccbe-reader.nccbe-hyphenate .nccbe-page-body dd {
	hyphenate-limit-lines: 2;
	hyphenate-limit-zone: 8%;
}

@media (max-width: 980px) {
	.nccbe-toolbar {
		gap: .45rem !important;
		padding: .48rem .55rem !important;
	}
	.nccbe-toolbar-separator { display: none !important; }
}

@media (max-width: 760px) {
	.nccbe-reader.nccbe-embedded {
		padding-inline: 6px !important;
	}
	.nccbe-toolbar {
		width: calc(100% - 12px) !important;
		max-width: none !important;
		border-radius: 14px !important;
	}
	.nccbe-counter { min-width: 7.5rem !important; }
	.nccbe-view-two { display: none !important; }
	.nccbe-toc-panel {
		top: 86px !important;
		left: 8px !important;
		width: calc(100vw - 16px) !important;
		max-height: calc(100dvh - 102px) !important;
	}
}

/* Studio Książki NCC 0.5.0: samodzielny czytnik, spis treści i kontakt */
html.nccbe-html-reader,
html.nccbe-html-reader body.nccbe-body-reader {
	margin-top: 0 !important;
	overflow: hidden !important;
	background: var(--nccbe-stage-bg, #e7e1da) !important;
}
body.nccbe-body-reader #wpadminbar,
body.nccbe-body-reader header:not(.nccbe-contact-head),
body.nccbe-body-reader .site-header,
body.nccbe-body-reader .elementor-location-header,
body.nccbe-body-reader footer.site-footer,
body.nccbe-body-reader .elementor-location-footer {
	visibility: hidden !important;
}

.nccbe-reader.nccbe-standalone {
	background:
		radial-gradient(circle at 50% -20%, rgba(255,255,255,.72), transparent 44%),
		linear-gradient(180deg, #eee9e2 0%, #e4ddd4 100%) !important;
}
.nccbe-reader.nccbe-standalone .nccbe-reader-shell {
	overflow: hidden !important;
	min-height: 0 !important;
}
.nccbe-reader.nccbe-standalone .nccbe-stage {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	overflow: hidden !important;
	padding: 4px 18px 10px !important;
}
.nccbe-reader.nccbe-standalone .nccbe-pages {
	margin: 0 auto !important;
	transform-origin: top center !important;
}

.nccbe-reader.nccbe-reader .nccbe-fullscreen[aria-pressed="true"] {
	border-color: var(--nccbe-accent) !important;
	background: color-mix(in srgb, var(--nccbe-accent) 9%, #fffdf9) !important;
	color: var(--nccbe-accent) !important;
}

/* Spis treści jako elegancki panel książkowy, nie techniczna lista. */
.nccbe-reader.nccbe-reader .nccbe-toc-panel {
	top: 76px !important;
	left: clamp(16px, 3vw, 46px) !important;
	width: min(455px, calc(100vw - 32px)) !important;
	max-height: calc(100dvh - 100px) !important;
	border: 1px solid color-mix(in srgb, var(--nccbe-accent) 22%, #cfc6bc) !important;
	border-radius: 8px !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.55), transparent 120px),
		var(--nccbe-paper) !important;
	box-shadow: 0 28px 80px rgba(36,28,20,.24), 0 3px 12px rgba(36,28,20,.08) !important;
	font-family: Charter, "Iowan Old Style", Georgia, serif !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel::before {
	content: "";
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 4px !important;
	background: var(--nccbe-accent) !important;
	opacity: .72 !important;
	pointer-events: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel-head {
	padding: 21px 22px 18px 27px !important;
	border-bottom: 1px solid color-mix(in srgb, var(--nccbe-accent) 17%, #e5ded7) !important;
	background: color-mix(in srgb, var(--nccbe-paper) 95%, transparent) !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel-head strong {
	color: var(--nccbe-accent) !important;
	font-family: Garamond, "EB Garamond", Georgia, serif !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: .015em !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-close {
	border: 0 !important;
	background: transparent !important;
	color: #6d6259 !important;
	font-size: 27px !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav {
	counter-reset: nccbe-toc-counter;
	padding: 10px 16px 20px 20px !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav > li {
	counter-increment: nccbe-toc-counter;
	position: relative !important;
	border-bottom: 1px solid rgba(116,74,48,.11) !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav > li:last-child {
	border-bottom: 0 !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 28px minmax(0,1fr) auto !important;
	gap: 10px !important;
	align-items: baseline !important;
	padding: 13px 8px !important;
	border-radius: 0 !important;
	color: #332b25 !important;
	font-family: Charter, "Iowan Old Style", Georgia, serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link::before {
	content: counter(nccbe-toc-counter, decimal-leading-zero);
	color: color-mix(in srgb, var(--nccbe-accent) 66%, #8e837a) !important;
	font: 600 10px/1.4 Inter, Arial, sans-serif !important;
	letter-spacing: .08em !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:hover,
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:focus-visible {
	background: color-mix(in srgb, var(--nccbe-accent) 6%, transparent) !important;
	color: var(--nccbe-accent) !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-page {
	min-width: 34px !important;
	padding: 2px 0 2px 10px !important;
	border-left: 1px solid color-mix(in srgb, var(--nccbe-accent) 19%, transparent) !important;
	color: var(--nccbe-accent) !important;
	font: 700 12px/1.3 Inter, Arial, sans-serif !important;
	text-align: right !important;
}

/* Grafika otwierająca rozdział. */
.nccbe-reader.nccbe-reader .nccbe-lead-figure {
	width: 100% !important;
	margin: .25em 0 1.15em !important;
	padding: 0 !important;
	break-inside: avoid !important;
	page-break-inside: avoid !important;
}
.nccbe-reader.nccbe-reader .nccbe-lead-figure img {
	display: block !important;
	width: 100% !important;
	max-height: 340px !important;
	margin: 0 !important;
	object-fit: contain !important;
}

/* Przyklejony kontakt z autorem. */
.nccbe-reader.nccbe-reader .nccbe-contact-tab {
	position: fixed !important;
	right: 0 !important;
	top: 50% !important;
	z-index: 2147483022 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 14px 9px !important;
	border: 1px solid color-mix(in srgb, var(--nccbe-accent) 40%, #cfc6bc) !important;
	border-right: 0 !important;
	border-radius: 10px 0 0 10px !important;
	background: var(--nccbe-accent) !important;
	box-shadow: 0 10px 30px rgba(34,25,19,.18) !important;
	color: #fff !important;
	font: 700 11px/1.2 Inter, Arial, sans-serif !important;
	letter-spacing: .055em !important;
	text-transform: uppercase !important;
	writing-mode: vertical-rl !important;
	transform: translateY(-50%) rotate(180deg) !important;
	cursor: pointer !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-tab:hover,
.nccbe-reader.nccbe-reader .nccbe-contact-tab:focus-visible {
	filter: brightness(1.08) !important;
	outline: 2px solid rgba(255,255,255,.8) !important;
	outline-offset: -4px !important;
}
.nccbe-contact-overlay[hidden] { display: none !important; }
.nccbe-reader.nccbe-reader .nccbe-contact-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483030 !important;
	display: grid !important;
	place-items: center !important;
	padding: 24px !important;
	background: rgba(28,23,19,.58) !important;
	backdrop-filter: blur(8px) !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-dialog {
	width: min(920px, 96vw) !important;
	max-height: min(880px, 92dvh) !important;
	overflow: hidden !important;
	border: 1px solid rgba(255,255,255,.5) !important;
	border-radius: 20px !important;
	background: #f8f5f0 !important;
	box-shadow: 0 40px 120px rgba(0,0,0,.35) !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 13px 16px 13px 20px !important;
	border-bottom: 1px solid #ddd4ca !important;
	background: #f3eee7 !important;
	color: #3a3029 !important;
	font: 700 13px/1.2 Inter, Arial, sans-serif !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-close {
	min-width: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #5a4d44 !important;
	font-size: 27px !important;
	line-height: 1 !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body {
	max-height: calc(92dvh - 63px) !important;
	overflow: auto !important;
	padding: 18px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-shell {
	font-size: 14px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card {
	max-width: none !important;
	box-shadow: none !important;
}

@media (max-width: 720px) {
	.nccbe-reader.nccbe-reader .nccbe-contact-tab {
		right: 12px !important;
		top: auto !important;
		bottom: 14px !important;
		padding: 10px 14px !important;
		border-right: 1px solid color-mix(in srgb, var(--nccbe-accent) 40%, #cfc6bc) !important;
		border-radius: 999px !important;
		writing-mode: horizontal-tb !important;
		transform: none !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-overlay { padding: 8px !important; }
	.nccbe-reader.nccbe-reader .nccbe-contact-dialog { border-radius: 13px !important; }
	.nccbe-reader.nccbe-reader .nccbe-contact-body { padding: 8px !important; }
}

/* Studio Książki NCC 0.5.1: korekta spisu treści, kontaktu i pełnego ekranu */
.nccbe-reader.nccbe-reader > .nccbe-fullscreen {
	position: fixed !important;
	top: 18px !important;
	right: 18px !important;
	z-index: 2147483040 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 9px 13px !important;
	border: 1px solid color-mix(in srgb, var(--nccbe-accent) 34%, #b9afa5) !important;
	border-radius: 999px !important;
	background: rgba(255,253,249,.96) !important;
	box-shadow: 0 8px 24px rgba(35,28,22,.16) !important;
	color: #332b25 !important;
	font: 650 12px/1 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	cursor: pointer !important;
	backdrop-filter: blur(10px) !important;
}
.nccbe-reader.nccbe-reader > .nccbe-fullscreen > span:first-child {
	font-size: 18px !important;
	line-height: 1 !important;
}
.nccbe-reader.nccbe-reader > .nccbe-fullscreen:hover,
.nccbe-reader.nccbe-reader > .nccbe-fullscreen:focus-visible,
.nccbe-reader.nccbe-reader > .nccbe-fullscreen[aria-pressed="true"] {
	border-color: var(--nccbe-accent) !important;
	background: #fff !important;
	color: var(--nccbe-accent) !important;
	outline: none !important;
}

/* Spis treści ma przypominać kartę redakcyjną książki, nie panel administracyjny. */
.nccbe-reader.nccbe-reader .nccbe-toc-panel {
	top: 82px !important;
	left: clamp(18px, 3vw, 52px) !important;
	width: min(510px, calc(100vw - 36px)) !important;
	max-height: calc(100dvh - 112px) !important;
	padding: 0 28px 24px !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: var(--nccbe-paper) !important;
	box-shadow: 0 26px 70px rgba(42,32,24,.22), 0 0 0 1px rgba(116,74,48,.12) !important;
	font-family: Charter, "Iowan Old Style", Georgia, serif !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel::before {
	display: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel-head {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 92px !important;
	padding: 26px 42px 18px !important;
	border-bottom: 0 !important;
	background: transparent !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel-head::after {
	content: "" !important;
	position: absolute !important;
	left: 14% !important;
	right: 14% !important;
	bottom: 7px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--nccbe-accent) 48%, transparent), transparent) !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-panel-head strong {
	color: var(--nccbe-accent) !important;
	font-family: Garamond, "EB Garamond", Georgia, serif !important;
	font-size: 25px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-close {
	position: absolute !important;
	top: 16px !important;
	right: 8px !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #786b61 !important;
	font-size: 24px !important;
	line-height: 34px !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav {
	counter-reset: none !important;
	margin: 0 !important;
	padding: 16px 0 8px !important;
	list-style: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav > li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link {
	display: grid !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	gap: 12px !important;
	align-items: end !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #332b25 !important;
	font-family: Charter, "Iowan Old Style", Georgia, serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-transform: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link::before {
	display: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link > span:first-child {
	display: flex !important;
	align-items: flex-end !important;
	min-width: 0 !important;
	gap: 8px !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link > span:first-child::after {
	content: "" !important;
	flex: 1 1 auto !important;
	min-width: 24px !important;
	margin-bottom: .28em !important;
	border-bottom: 1px dotted color-mix(in srgb, var(--nccbe-accent) 34%, #9d938b) !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-page {
	min-width: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--nccbe-accent) !important;
	font: 650 12px/1.35 Inter, Arial, sans-serif !important;
	text-align: right !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav > li[data-type="part"] {
	margin: 15px 0 5px !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav > li[data-type="part"] .nccbe-toc-nav-link {
	padding-top: 15px !important;
	border-top: 1px solid color-mix(in srgb, var(--nccbe-accent) 18%, transparent) !important;
	color: var(--nccbe-accent) !important;
	font-family: Garamond, "EB Garamond", Georgia, serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: .025em !important;
}
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:hover,
.nccbe-reader.nccbe-reader .nccbe-toc-nav-link:focus-visible {
	background: transparent !important;
	color: var(--nccbe-accent) !important;
	outline: none !important;
}

/* Kontakt z autorem: wysuwana szuflada z prawej strony, bez zasłaniania książki. */
.nccbe-reader.nccbe-reader .nccbe-contact-tab {
	position: fixed !important;
	right: 0 !important;
	top: 52% !important;
	z-index: 2147483022 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 132px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 11px 14px !important;
	border: 1px solid color-mix(in srgb, var(--nccbe-accent) 42%, #bdaea3) !important;
	border-right: 0 !important;
	border-radius: 12px 0 0 12px !important;
	background: var(--nccbe-accent) !important;
	box-shadow: 0 12px 30px rgba(34,25,19,.2) !important;
	color: #fff !important;
	font: 700 11px/1.25 Inter, Arial, sans-serif !important;
	letter-spacing: .015em !important;
	text-align: center !important;
	text-transform: none !important;
	writing-mode: horizontal-tb !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483030 !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: flex-end !important;
	padding: 0 !important;
	background: transparent !important;
	backdrop-filter: none !important;
	pointer-events: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-dialog {
	width: min(500px, 94vw) !important;
	height: 100dvh !important;
	max-height: none !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-left: 1px solid rgba(116,74,48,.18) !important;
	border-radius: 18px 0 0 18px !important;
	background: #fbf8f3 !important;
	box-shadow: -24px 0 70px rgba(32,24,18,.22) !important;
	pointer-events: auto !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-head {
	min-height: 64px !important;
	padding: 15px 18px 15px 22px !important;
	border-bottom: 1px solid rgba(116,74,48,.14) !important;
	background: #f5efe7 !important;
	color: #3a3029 !important;
	font: 700 14px/1.2 Inter, Arial, sans-serif !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body {
	height: calc(100dvh - 64px) !important;
	max-height: none !important;
	overflow: auto !important;
	padding: 12px 14px 22px !important;
	overscroll-behavior: contain !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-shell {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	box-shadow: none !important;
}
.nccbe-reader.nccbe-contact-open .nccbe-contact-tab {
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 760px) {
	.nccbe-reader.nccbe-reader > .nccbe-fullscreen {
		top: 10px !important;
		right: 10px !important;
		padding: 8px 10px !important;
	}
	.nccbe-reader.nccbe-reader > .nccbe-fullscreen > span:last-child {
		display: none !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-toc-panel {
		top: 70px !important;
		left: 8px !important;
		width: calc(100vw - 16px) !important;
		max-height: calc(100dvh - 82px) !important;
		padding-inline: 18px !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-tab {
		right: 10px !important;
		top: auto !important;
		bottom: 12px !important;
		width: auto !important;
		padding: 10px 14px !important;
		border-right: 1px solid color-mix(in srgb, var(--nccbe-accent) 42%, #bdaea3) !important;
		border-radius: 999px !important;
		transform: none !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-dialog {
		width: 100vw !important;
		border-radius: 0 !important;
	}
}

/* Studio Książki NCC 0.5.2: dyskretny kontakt i pełny ekran jako część nawigacji książki. */
.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen {
	position: static !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	min-width: 0 !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: .46rem .78rem !important;
	border: 1px solid #b9afa5 !important;
	border-radius: 999px !important;
	background: #fffdf9 !important;
	box-shadow: none !important;
	color: #25221f !important;
	font: 600 12px/1.1 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	backdrop-filter: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen > span:first-child {
	font-size: 16px !important;
	line-height: 1 !important;
}
.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen:hover,
.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen:focus-visible,
.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen[aria-pressed="true"] {
	border-color: var(--nccbe-accent) !important;
	background: #fff !important;
	color: var(--nccbe-accent) !important;
	outline: none !important;
}

/* Kontakt jest tylko dyskretnym odnośnikiem w prawym dolnym rogu. */
.nccbe-reader.nccbe-reader .nccbe-contact-tab {
	position: fixed !important;
	right: 24px !important;
	top: auto !important;
	bottom: 18px !important;
	z-index: 2147483022 !important;
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 3px 1px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: color-mix(in srgb, var(--nccbe-accent) 88%, #332b25) !important;
	font: 600 12px/1.25 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: .01em !important;
	text-align: right !important;
	text-decoration: none !important;
	text-transform: none !important;
	writing-mode: horizontal-tb !important;
	transform: none !important;
	cursor: pointer !important;
	opacity: .82 !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-tab::after {
	content: "" !important;
	display: block !important;
	width: 100% !important;
	height: 1px !important;
	margin-top: 3px !important;
	background: currentColor !important;
	transform: scaleX(.38) !important;
	transform-origin: right center !important;
	transition: transform .18s ease !important;
	opacity: .55 !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-tab:hover,
.nccbe-reader.nccbe-reader .nccbe-contact-tab:focus-visible {
	filter: none !important;
	outline: none !important;
	opacity: 1 !important;
	color: var(--nccbe-accent) !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-tab:hover::after,
.nccbe-reader.nccbe-reader .nccbe-contact-tab:focus-visible::after {
	transform: scaleX(1) !important;
}

/* Panel kontaktowy jest małą kartą, nie pełnoekranową szufladą. */
.nccbe-contact-overlay[hidden] {
	display: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483030 !important;
	display: block !important;
	padding: 0 !important;
	background: transparent !important;
	backdrop-filter: none !important;
	pointer-events: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-dialog {
	position: absolute !important;
	right: 18px !important;
	bottom: 54px !important;
	width: min(410px, calc(100vw - 36px)) !important;
	height: auto !important;
	max-height: min(720px, calc(100dvh - 92px)) !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: 1px solid color-mix(in srgb, var(--nccbe-accent) 18%, #d3cbc2) !important;
	border-radius: 16px !important;
	background: #fbf9f5 !important;
	box-shadow: 0 24px 70px rgba(40,31,24,.22) !important;
	pointer-events: auto !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-head {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: 50px !important;
	padding: 11px 12px 10px 17px !important;
	border-bottom: 1px solid rgba(116,74,48,.12) !important;
	background: #f7f2eb !important;
	color: #3a3029 !important;
	font: 700 13px/1.2 Inter, Aptos, Arial, sans-serif !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-head strong {
	margin: 0 !important;
	padding: 0 !important;
	color: #3a3029 !important;
	font: 700 13px/1.2 Inter, Aptos, Arial, sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-close {
	position: relative !important;
	z-index: 2 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	padding: 0 0 2px !important;
	border: 1px solid transparent !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #655950 !important;
	font: 400 25px/1 Arial, sans-serif !important;
	text-align: center !important;
	cursor: pointer !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-close:hover,
.nccbe-reader.nccbe-reader .nccbe-contact-close:focus-visible {
	border-color: rgba(116,74,48,.18) !important;
	background: rgba(116,74,48,.06) !important;
	color: var(--nccbe-accent) !important;
	outline: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body {
	height: auto !important;
	max-height: min(670px, calc(100dvh - 144px)) !important;
	overflow: auto !important;
	padding: 10px !important;
	overscroll-behavior: contain !important;
	scrollbar-width: thin !important;
}

/* Kompaktowy wariant VerifiContact tylko wewnątrz czytnika książki. */
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-shell {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 22px 20px !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card::before,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-mark {
	display: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-eyebrow {
	padding: 5px 8px !important;
	font-size: 8px !important;
	letter-spacing: .12em !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card h2 {
	margin: 10px 0 7px !important;
	font-size: 31px !important;
	line-height: 1.02 !important;
	letter-spacing: -.025em !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-intro {
	margin: 0 0 18px !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-form {
	gap: 13px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-row {
	gap: 10px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field {
	gap: 5px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field label {
	font-size: 10.5px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field input,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field select,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field textarea {
	border-radius: 11px !important;
	padding: 10px 11px !important;
	font-size: 12px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field input,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field select {
	min-height: 42px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-field textarea {
	min-height: 112px !important;
	max-height: 190px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-meta,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-trust,
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-privacy {
	font-size: 9.5px !important;
}
.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-submit {
	min-height: 46px !important;
	padding: 0 14px !important;
	border-radius: 11px !important;
	font-size: 12px !important;
}
.nccbe-reader.nccbe-contact-open .nccbe-contact-tab {
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 820px) {
	.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen > span:last-child {
		display: none !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-toolbar .nccbe-fullscreen {
		padding-inline: .58rem !important;
	}
}

@media (max-width: 560px) {
	.nccbe-reader.nccbe-reader .nccbe-contact-tab {
		right: 16px !important;
		bottom: 12px !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-dialog {
		right: 8px !important;
		bottom: 44px !important;
		width: calc(100vw - 16px) !important;
		max-height: calc(100dvh - 62px) !important;
		border-radius: 14px !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-body {
		max-height: calc(100dvh - 116px) !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-card {
		padding: 18px 15px !important;
	}
	.nccbe-reader.nccbe-reader .nccbe-contact-body .vc-row {
		grid-template-columns: 1fr !important;
	}
}


/* 0.6.0: część/tom z własną treścią lub obrazem nie jest kartą atomową. */
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module-part.nccbe-part-content {
    min-height: 0 !important;
    display: flow-root !important;
    place-content: initial !important;
    text-align: initial !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-module-part.nccbe-part-content > h1 {
    max-width: 15em !important;
    margin: .25em auto .9em !important;
    text-align: center !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose figure.wp-block-image,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose .wp-block-image {
    width: 100% !important;
    max-width: 100% !important;
    margin: .6em auto 1em !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose figure.wp-block-image img,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose .wp-block-image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 520px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

/* 0.6.2: twardy przepływ tekstu. Zewnętrzne style Gutenberga nie mogą wymuszać pustych połówek stron. */
.nccbe-reader.nccbe-reader .nccbe-page-body p,
.nccbe-reader.nccbe-reader .nccbe-page-body li,
.nccbe-reader.nccbe-reader .nccbe-page-body blockquote {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .wp-block-spacer,
.nccbe-reader.nccbe-reader .nccbe-page-body .wp-block-nextpage,
.nccbe-reader.nccbe-reader .nccbe-page-body [class*="page-break"] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 0.6.3: pełna neutralizacja układu wklejonego z edytora. Tekst książki ma płynąć wyłącznie według paginatora. */
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose p,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose li,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose blockquote,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h1,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h2,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h3,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h4,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h5,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose h6 {
    float: none !important;
    clear: none !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    columns: auto !important;
    column-count: auto !important;
    transform: none !important;
}
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose .wp-block-group,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose .wp-block-columns,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose .wp-block-column,
.nccbe-reader.nccbe-reader .nccbe-page-body .nccbe-prose [class*="is-layout-"] {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    position: static !important;
    columns: auto !important;
    column-count: auto !important;
}
