/*
 * Codex Liber Gutenberg - CSS definitivo autonomo
 * Template: template-codex-liber.php
 * Scopo: rendere il Liber indipendente da pagina-istituzionale.php, v1/v2 e CSS inline.
 */

/* Reset forte Astra / contenitore WordPress per il template Liber */
html,
body.page-template-template-codex-liber,
body.page-template-template-codex-liber-php {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100% !important;
	background: #080604 !important;
	color: #e2d3b8 !important;
	overflow-x: hidden !important;
}

body.page-template-template-codex-liber #page,
body.page-template-template-codex-liber-php #page,
body.page-template-template-codex-liber .site,
body.page-template-template-codex-liber-php .site,
body.page-template-template-codex-liber .site-content,
body.page-template-template-codex-liber-php .site-content,
body.page-template-template-codex-liber #content,
body.page-template-template-codex-liber-php #content,
body.page-template-template-codex-liber .ast-container,
body.page-template-template-codex-liber-php .ast-container,
body.page-template-template-codex-liber .content-area,
body.page-template-template-codex-liber-php .content-area,
body.page-template-template-codex-liber .site-main,
body.page-template-template-codex-liber-php .site-main {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	background: #080604 !important;
	box-shadow: none !important;
	border: 0 !important;
}

body.page-template-template-codex-liber .entry-header,
body.page-template-template-codex-liber-php .entry-header,
body.page-template-template-codex-liber .post-navigation,
body.page-template-template-codex-liber-php .post-navigation {
	display: none !important;
}

body.page-template-template-codex-liber .entry-content,
body.page-template-template-codex-liber-php .entry-content {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	background: transparent !important;
}

/* Shell principale */
.lpn-codex-liber,
.lpn-codex-liber * {
	box-sizing: border-box;
}

.lpn-codex-liber {
	--cwi-bg: #080604;
	--cwi-bg-deep: #050302;
	--cwi-panel: #17120c;
	--cwi-panel-soft: #1c160f;
	--cwi-ink: #e2d3b8;
	--cwi-strong: #f3e4c2;
	--cwi-muted: #b7a789;
	--cwi-gold: #d7a24a;
	--cwi-gold-strong: #f0c878;
	--cwi-red: #b94b35;
	--cwi-line: rgba(215, 162, 74, .34);
	--cwi-line-soft: rgba(215, 162, 74, .18);
	--cwi-shadow: 0 36px 100px rgba(0,0,0,.46);
	--cwi-measure: 820px;
	margin: 0 !important;
	padding: 0 0 72px !important;
	width: 100% !important;
	min-height: 100vh;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255,225,156,.16), transparent 38rem),
		linear-gradient(180deg,#080604 0%,#110d08 36%,#090604 100%);
	color: var(--cwi-ink);
	font-family: Georgia, "Times New Roman", serif;
	overflow-x: hidden;
}

.cwi-shell {
	width: min(100% - 48px, 1180px);
	margin: 0 auto;
}

/* Hero */
.cwi-hero {
	position: relative;
	min-height: min(720px, calc(100vh - 8px));
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #070503;
	border-bottom: 1px solid rgba(215,162,74,.26);
	isolation: isolate;
}

.cwi-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.94) contrast(1.04) brightness(.72);
	transform: scale(1.02);
	z-index: 0;
}

.cwi-hero__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(ellipse at 50% 42%, rgba(8,6,4,.2), rgba(8,6,4,.82) 58%, rgba(8,6,4,.96)),
		linear-gradient(180deg, rgba(8,6,4,.1), rgba(8,6,4,.68) 72%, rgba(8,6,4,.96));
}

.cwi-hero__inner {
	position: relative;
	z-index: 2;
	min-height: min(720px, calc(100vh - 8px));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 96px 0 64px;
	text-align: center;
}

.cwi-hero__copy {
	width: min(100% - 48px, 900px);
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cwi-kicker {
	margin: 0 0 1rem !important;
	color: var(--cwi-gold) !important;
	font: 800 .78rem/1.25 Georgia, "Times New Roman", serif !important;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.cwi-hero h1 {
	max-width: 10ch;
	margin: 0 auto !important;
	color: #f3eadc !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(3.8rem, 8vw, 8.6rem) !important;
	font-weight: 800 !important;
	line-height: .88 !important;
	letter-spacing: -.045em !important;
	text-wrap: balance;
	text-shadow: 0 14px 42px rgba(0,0,0,.7);
}

.cwi-hero__subtitle {
	max-width: 780px;
	margin: 1rem auto 0 !important;
	color: var(--cwi-gold) !important;
	font-size: clamp(1.1rem, 2.1vw, 1.55rem) !important;
	line-height: 1.38 !important;
	text-align: center;
}

.cwi-hero__intro {
	max-width: 760px;
	margin: 1.15rem auto 0 !important;
	color: #e8d8bd !important;
	font-size: clamp(1rem, 1.25vw, 1.18rem) !important;
	line-height: 1.72 !important;
	text-align: center;
}

.cwi-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 1.7rem auto 0;
	min-height: 3rem;
	padding: .72rem 1.25rem;
	border: 1px solid rgba(215,162,74,.58);
	background: linear-gradient(180deg,#e2ae58,#b77b2d);
	color: #1a1007 !important;
	font: 800 .82rem/1 Georgia, "Times New Roman", serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: 0 18px 42px rgba(0,0,0,.36);
}

/* Sigillo separatore sotto hero */
.cwi-liber-mark {
	width: min(100% - 48px, 1160px);
	margin: 34px auto 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	color: rgba(215,162,74,.88);
}

.cwi-liber-mark::before,
.cwi-liber-mark::after {
	content: "";
	display: block;
	width: min(30vw,260px);
	height: 1px;
	background: linear-gradient(90deg,transparent,rgba(215,162,74,.62),rgba(215,162,74,.18));
}

.cwi-liber-mark::after {
	transform: scaleX(-1);
}

.cwi-liber-mark__sigil {
	position: relative;
	width: 82px;
	height: 34px;
	flex: 0 0 auto;
}

.cwi-liber-mark__sigil::before,
.cwi-liber-mark__sigil::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border: 1px solid rgba(215,162,74,.74);
	transform: translate(-50%,-50%) rotate(45deg);
}

.cwi-liber-mark__sigil::before {
	width: 23px;
	height: 23px;
	background: rgba(215,162,74,.07);
	box-shadow:
		-24px 24px 0 -11px rgba(215,162,74,.22),
		24px -24px 0 -11px rgba(215,162,74,.22);
}

.cwi-liber-mark__sigil::after {
	width: 9px;
	height: 9px;
	background: rgba(215,162,74,.74);
	box-shadow:
		-28px 28px 0 -3px rgba(215,162,74,.58),
		28px -28px 0 -3px rgba(215,162,74,.58);
}

/* Corpo manoscritto */
.lpn-codex-liber__body {
	width: min(100% - 56px, 1160px);
	margin: 0 auto 84px;
	padding: clamp(42px, 5.5vw, 82px) clamp(26px, 5.5vw, 88px);
	background:
		linear-gradient(90deg,rgba(215,162,74,.08),transparent 7%,transparent 93%,rgba(215,162,74,.08)),
		radial-gradient(ellipse at 50% 0%,rgba(215,162,74,.1),transparent 34rem),
		linear-gradient(180deg,#17120c 0%,#0d0a07 100%);
	border: 1px solid rgba(215,162,74,.34);
	box-shadow:
		inset 0 0 0 1px rgba(255,239,198,.04),
		var(--cwi-shadow);
}

.lpn-codex-liber__content {
	max-width: var(--cwi-measure);
	margin: 0 auto;
	color: var(--cwi-ink);
	font-family: Georgia, "Times New Roman", serif;
}

.lpn-codex-liber__content::before {
	content: "";
	display: block;
	width: min(100%, 520px);
	height: 1px;
	margin: 0 auto 38px;
	background: linear-gradient(90deg, transparent, rgba(215,162,74,.42), transparent);
}

/* Tipografia base */
.lpn-codex-liber__content p {
	margin: 0 0 1.35rem !important;
	color: var(--cwi-ink) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(1.12rem, 1.18vw, 1.25rem) !important;
	line-height: 2.08 !important;
}

.lpn-codex-liber__content p + p {
	margin-top: .3rem !important;
}

.lpn-codex-liber__content a {
	color: var(--cwi-gold-strong) !important;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

.lpn-codex-liber__content strong {
	color: var(--cwi-strong);
}

.lpn-codex-liber__content em {
	color: var(--cwi-strong);
}

/* Primo paragrafo / capolettera */
.lpn-codex-liber__content > p:first-of-type::first-letter {
	float: left;
	margin: .08em .18em 0 0;
	color: #d6a14b;
	font-size: 4.25em;
	font-weight: 700;
	line-height: .78;
	text-shadow: 0 0 18px rgba(215,162,74,.18);
}

/* Blocchi canonici Gutenberg */
.lpn-codex-liber__content .codex-caput,
.lpn-codex-liber__content h2.codex-caput {
	margin: clamp(4.6rem, 8vw, 7rem) auto 2.45rem !important;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
	align-items: center;
	color: var(--cwi-red) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	letter-spacing: .18em !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.lpn-codex-liber__content .codex-caput::before,
.lpn-codex-liber__content .codex-caput::after {
	content: "";
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(185,75,53,.44));
}

.lpn-codex-liber__content .codex-caput::after {
	background: linear-gradient(90deg, rgba(185,75,53,.44), transparent);
}

.lpn-codex-liber__content .codex-caput:first-child {
	margin-top: 0 !important;
}

.lpn-codex-liber__content .codex-titulus,
.lpn-codex-liber__content h3.codex-titulus {
	position: relative;
	margin: 0 0 2.65rem !important;
	padding: 1.45rem 0 1.55rem !important;
	color: var(--cwi-strong) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: clamp(1.65rem, 3vw, 2.55rem) !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	line-height: 1.08 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.lpn-codex-liber__content .codex-titulus::before,
.lpn-codex-liber__content .codex-titulus::after {
	content: "";
	position: absolute;
	left: 50%;
	width: min(100%, 620px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(215,162,74,.42), transparent);
	transform: translateX(-50%);
}

.lpn-codex-liber__content .codex-titulus::before { top: 0; }
.lpn-codex-liber__content .codex-titulus::after { bottom: 0; }

.lpn-codex-liber__content .codex-titulus + .codex-articulus {
	margin-top: 2.1rem !important;
}

.lpn-codex-liber__content .codex-articulus,
.lpn-codex-liber__content h4.codex-articulus {
	margin: 2.55rem 0 1.15rem !important;
	display: flex;
	align-items: center;
	gap: .8rem;
	color: var(--cwi-gold) !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: 1.18rem !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

.lpn-codex-liber__content .codex-articulus::after {
	content: "";
	height: 1px;
	flex: 1;
	background: linear-gradient(90deg, rgba(215,162,74,.42), transparent);
}

/* Compatibilità con vecchie classi ancora presenti nei contenuti */
.lpn-codex-liber__content .codex-wi-divider {
	margin: clamp(4.6rem, 8vw, 7rem) auto 2.45rem;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 1rem;
	align-items: center;
	color: var(--cwi-red);
}

.lpn-codex-liber__content .codex-wi-divider::before,
.lpn-codex-liber__content .codex-wi-divider::after {
	content: "";
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(185,75,53,.44));
}

.lpn-codex-liber__content .codex-wi-divider::after {
	background: linear-gradient(90deg, rgba(185,75,53,.44), transparent);
}

.lpn-codex-liber__content .codex-wi-divider span {
	color: var(--cwi-red) !important;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.lpn-codex-liber__content .codex-wi-book-title {
	position: relative;
	margin: 0 0 2.65rem;
	padding: 1.45rem 0 1.55rem;
	text-align: center;
}

.lpn-codex-liber__content .codex-wi-book-title::before,
.lpn-codex-liber__content .codex-wi-book-title::after {
	content: "";
	position: absolute;
	left: 50%;
	width: min(100%,620px);
	height: 1px;
	background: linear-gradient(90deg,transparent,rgba(215,162,74,.42),transparent);
	transform: translateX(-50%);
}

.lpn-codex-liber__content .codex-wi-book-title::before { top: 0; }
.lpn-codex-liber__content .codex-wi-book-title::after { bottom: 0; }

.lpn-codex-liber__content .codex-wi-book-title__label {
	display: block;
	color: var(--cwi-strong);
	font-size: clamp(1.65rem,3vw,2.55rem);
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.08;
	text-transform: uppercase;
}

.lpn-codex-liber__content .codex-wi-book-title__main:empty {
	display: none;
}

.lpn-codex-liber__content .codex-wi-roman {
	margin: 2.55rem 0 1.15rem;
	display: flex;
	align-items: center;
	gap: .8rem;
	color: var(--cwi-gold);
	font-size: 1.18rem;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1;
}

.lpn-codex-liber__content .codex-wi-roman::after {
	content: "";
	height: 1px;
	flex: 1;
	background: linear-gradient(90deg, rgba(215,162,74,.42), transparent);
}

/* Immagini */
.lpn-codex-liber__content .wp-block-image,
.lpn-codex-liber__content .codex-wi-iconography {
	margin: clamp(3.4rem, 6.8vw, 6rem) auto !important;
	padding: clamp(14px, 2.2vw, 22px) !important;
	width: min(100%, 760px);
	background:
		linear-gradient(180deg,rgba(215,162,74,.08),rgba(0,0,0,.14)),
		#100c08;
	border: 1px solid rgba(215,162,74,.34);
	box-shadow: 0 28px 72px rgba(0,0,0,.42);
}

.lpn-codex-liber__content .wp-block-image.codex-seal,
.lpn-codex-liber__content .codex-wi-iconography--seal {
	width: min(100%, 520px);
}

.lpn-codex-liber__content .wp-block-image.codex-plate,
.lpn-codex-liber__content .wp-block-image.codex-document,
.lpn-codex-liber__content .codex-wi-iconography--plate,
.lpn-codex-liber__content .codex-wi-iconography--document {
	width: min(100%, 860px);
}

.lpn-codex-liber__content .wp-block-image.codex-landscape,
.lpn-codex-liber__content .codex-wi-iconography--landscape {
	width: min(100%, 860px);
}

.lpn-codex-liber__content .wp-block-image a,
.lpn-codex-liber__content .codex-wi-iconography a {
	display: block;
}

.lpn-codex-liber__content .wp-block-image img,
.lpn-codex-liber__content .codex-wi-iconography img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid rgba(238,204,139,.2);
	box-shadow: 0 18px 44px rgba(0,0,0,.34);
	background: #0b0906;
}

.lpn-codex-liber__content .wp-block-image:hover img {
	transform: none;
}

.lpn-codex-liber__content .wp-element-caption,
.lpn-codex-liber__content figcaption {
	margin: 1rem 0 0 !important;
	padding: .95rem .35rem 0 !important;
	border-top: 1px solid rgba(215,162,74,.18);
	color: #a99a82 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: .92rem !important;
	font-style: normal !important;
	letter-spacing: .02em;
	line-height: 1.58 !important;
	text-align: center !important;
}

/* Note / citazioni / definizioni */
.lpn-codex-liber__content .codex-nota,
.lpn-codex-liber__content .codex-wi-note-block,
.lpn-codex-liber__content blockquote {
	margin: 2.6rem 0 2.9rem !important;
	padding: 1.25rem 1.35rem 1.18rem !important;
	background:
		linear-gradient(90deg,rgba(185,75,53,.14),transparent 36%),
		linear-gradient(180deg,rgba(255,239,198,.04),rgba(0,0,0,.14));
	border: 1px solid rgba(215,162,74,.2);
	border-left: 3px solid rgba(185,75,53,.74);
	color: var(--cwi-ink);
}

.lpn-codex-liber__content .codex-nota strong,
.lpn-codex-liber__content .codex-wi-note-block strong {
	display: block;
	margin: 0 0 .35rem;
	color: #d9a057;
	font-size: .78rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.lpn-codex-liber__content .codex-nota p,
.lpn-codex-liber__content .codex-wi-note-block p,
.lpn-codex-liber__content blockquote p {
	margin: 0 !important;
	color: #c8baa1 !important;
	font-size: 1rem !important;
	line-height: 1.72 !important;
}

/* Liste */
.lpn-codex-liber__content ul,
.lpn-codex-liber__content ol {
	margin: 1.25rem 0 1.9rem !important;
	padding: 0 !important;
	list-style: none !important;
	color: var(--cwi-ink);
}

.lpn-codex-liber__content li {
	position: relative;
	margin: 0 0 .85rem !important;
	padding-left: 1.55rem !important;
	color: var(--cwi-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.08rem, 1.16vw, 1.2rem);
	line-height: 1.9;
}

.lpn-codex-liber__content li::before {
	content: "";
	position: absolute;
	left: .15rem;
	top: .82em;
	width: .42rem;
	height: .42rem;
	background: #d7a24a;
	border: 1px solid rgba(255,235,188,.32);
	transform: rotate(45deg);
}

/* Navigazione finale */
.lpn-codex-liber__content .codex-nav,
.lpn-codex-liber__content .codex-wi-navigation {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: .75rem;
	margin: 3rem 0 0 !important;
	align-items: stretch;
	text-align: center;
}

.lpn-codex-liber__content .codex-nav a,
.lpn-codex-liber__content .codex-wi-navigation a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.35rem;
	padding: .7rem .85rem;
	border: 1px solid rgba(215,162,74,.2);
	border-radius: 0 18px 0 18px;
	background: rgba(255,255,255,.035);
	color: var(--cwi-gold-strong) !important;
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-decoration: none !important;
}

/* Separatori Gutenberg */
.lpn-codex-liber__content .wp-block-separator {
	width: min(100%, 520px);
	margin: 3rem auto !important;
	border: 0 !important;
	border-top: 1px solid rgba(215,162,74,.34) !important;
	background: transparent !important;
}

/* Responsive */
@media (max-width: 900px) {
	.cwi-shell {
		width: min(100% - 36px, 920px);
	}

	.lpn-codex-liber__body {
		width: min(100% - 36px, 920px);
		padding: 44px 30px;
	}

	.lpn-codex-liber__content .wp-block-image,
	.lpn-codex-liber__content .codex-wi-iconography {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.cwi-hero {
		min-height: 600px;
	}

	.cwi-hero__inner {
		min-height: 600px;
		padding: 84px 0 54px;
	}

	.cwi-hero__copy {
		width: min(100% - 32px, 520px);
	}

	.cwi-hero h1 {
		font-size: clamp(3rem, 16vw, 4.4rem) !important;
		line-height: .9 !important;
	}

	.cwi-hero__subtitle {
		font-size: 1.08rem !important;
	}

	.cwi-liber-mark {
		width: min(100% - 28px, 920px);
		margin: 28px auto 28px;
	}

	.lpn-codex-liber__body {
		width: 100%;
		padding: 32px 16px 38px;
		border-left: 0;
		border-right: 0;
	}

	.lpn-codex-liber__content p {
		font-size: 1.02rem !important;
		line-height: 1.86 !important;
	}

	.lpn-codex-liber__content > p:first-of-type::first-letter {
		font-size: 3.25em;
		line-height: .82;
	}

	.lpn-codex-liber__content .codex-caput,
	.lpn-codex-liber__content h2.codex-caput,
	.lpn-codex-liber__content .codex-wi-divider {
		margin: 3.2rem auto 1.6rem !important;
		gap: .65rem;
	}

	.lpn-codex-liber__content .codex-caput,
	.lpn-codex-liber__content h2.codex-caput,
	.lpn-codex-liber__content .codex-wi-divider span {
		font-size: .74rem !important;
		letter-spacing: .13em !important;
	}

	.lpn-codex-liber__content .codex-titulus,
	.lpn-codex-liber__content h3.codex-titulus,
	.lpn-codex-liber__content .codex-wi-book-title__label {
		font-size: 1.34rem !important;
		letter-spacing: .05em !important;
	}

	.lpn-codex-liber__content .codex-articulus,
	.lpn-codex-liber__content h4.codex-articulus,
	.lpn-codex-liber__content .codex-wi-roman {
		font-size: 1rem !important;
	}

	.lpn-codex-liber__content .wp-block-image,
	.lpn-codex-liber__content .codex-wi-iconography {
		margin: 2.5rem auto !important;
		padding: 10px !important;
	}

	.lpn-codex-liber__content .wp-element-caption,
	.lpn-codex-liber__content figcaption {
		font-size: .8rem !important;
		line-height: 1.48 !important;
	}

	.lpn-codex-liber__content .codex-nav,
	.lpn-codex-liber__content .codex-wi-navigation {
		grid-template-columns: 1fr;
	}
}


/* Canone Gutenberg v2: classi pulite per immagini e apparati */
.lpn-codex-liber__content .codex-personaggio,
.lpn-codex-liber__content .codex-sigillum,
.lpn-codex-liber__content .codex-tabula,
.lpn-codex-liber__content .codex-decretum,
.lpn-codex-liber__content .codex-imago {
	margin: clamp(3.4rem, 6.8vw, 6rem) auto !important;
	padding: clamp(14px, 2.2vw, 22px) !important;
	background:
		linear-gradient(180deg,rgba(215,162,74,.08),rgba(0,0,0,.14)),
		#100c08;
	border: 1px solid rgba(215,162,74,.34);
	box-shadow: 0 28px 72px rgba(0,0,0,.42);
}

.lpn-codex-liber__content .codex-personaggio,
.lpn-codex-liber__content .codex-imago {
	width: min(100%, 760px);
}

.lpn-codex-liber__content .codex-personaggio.codex-landscape {
	width: min(100%, 860px);
}

.lpn-codex-liber__content .codex-sigillum {
	width: min(100%, 520px);
}

.lpn-codex-liber__content .codex-tabula,
.lpn-codex-liber__content .codex-decretum {
	width: min(100%, 860px);
}

.lpn-codex-liber__content .codex-personaggio a,
.lpn-codex-liber__content .codex-sigillum a,
.lpn-codex-liber__content .codex-tabula a,
.lpn-codex-liber__content .codex-decretum a,
.lpn-codex-liber__content .codex-imago a {
	display: block;
}

.lpn-codex-liber__content .codex-personaggio img,
.lpn-codex-liber__content .codex-sigillum img,
.lpn-codex-liber__content .codex-tabula img,
.lpn-codex-liber__content .codex-decretum img,
.lpn-codex-liber__content .codex-imago img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	border: 1px solid rgba(238,204,139,.2);
	box-shadow: 0 18px 44px rgba(0,0,0,.34);
	background: #0b0906;
}

.lpn-codex-liber__content .codex-personaggio figcaption,
.lpn-codex-liber__content .codex-sigillum figcaption,
.lpn-codex-liber__content .codex-tabula figcaption,
.lpn-codex-liber__content .codex-decretum figcaption,
.lpn-codex-liber__content .codex-imago figcaption {
	margin: 1rem 0 0 !important;
	padding: .95rem .35rem 0 !important;
	border-top: 1px solid rgba(215,162,74,.18);
	color: #a99a82 !important;
	font-family: Georgia, "Times New Roman", serif !important;
	font-size: .92rem !important;
	font-style: normal !important;
	letter-spacing: .02em;
	line-height: 1.58 !important;
	text-align: center !important;
}

/* Piccolo respiro iniziale: il primo Caput non deve schiacciare il manoscritto */
.lpn-codex-liber__content > .codex-caput:first-child {
	margin-top: .35rem !important;
}


/* v6 - maggiore leggibilità: testo sollevato dal fondo */
.lpn-codex-liber__body {
	background:
		linear-gradient(90deg,rgba(215,162,74,.10),transparent 7%,transparent 93%,rgba(215,162,74,.10)),
		radial-gradient(ellipse at 50% 0%,rgba(215,162,74,.13),transparent 34rem),
		linear-gradient(180deg,#1b150e 0%,#100c08 100%);
}

.lpn-codex-liber__content {
	position: relative;
	padding: clamp(1.4rem, 3vw, 2.2rem) clamp(1.05rem, 2.6vw, 2rem);
	background:
		linear-gradient(180deg,rgba(255,239,198,.028),rgba(0,0,0,.10)),
		radial-gradient(ellipse at 50% 18%,rgba(215,162,74,.045),transparent 30rem);
	border: 1px solid rgba(215,162,74,.12);
	box-shadow:
		inset 0 0 0 1px rgba(255,239,198,.025),
		inset 0 22px 80px rgba(255,239,198,.018),
		0 18px 48px rgba(0,0,0,.20);
}

.lpn-codex-liber__content p,
.lpn-codex-liber__content li {
	color: #ead9bd !important;
	text-shadow: 0 1px 1px rgba(0,0,0,.48);
}

.lpn-codex-liber__content .codex-articulus,
.lpn-codex-liber__content h4.codex-articulus,
.lpn-codex-liber__content .codex-wi-roman {
	margin-top: 2.8rem !important;
}

.lpn-codex-liber__content .codex-nota,
.lpn-codex-liber__content .codex-wi-note-block,
.lpn-codex-liber__content blockquote {
	background:
		linear-gradient(90deg,rgba(185,75,53,.18),transparent 38%),
		linear-gradient(180deg,rgba(255,239,198,.065),rgba(0,0,0,.18));
	box-shadow: inset 0 0 0 1px rgba(255,239,198,.025);
}

@media (max-width: 640px) {
	.lpn-codex-liber__content {
		padding: 1.15rem .9rem;
		border-left: 0;
		border-right: 0;
	}
}
