/**
 * Power Read Theme — Flat distraction-free dark theme
 * by XCC Customs Informatica — https://xcccustoms.com
 */

:root {
	--bg: #0e0f11;
	--bg-2: #14161a;
	--bg-3: #1a1d24;
	--border: rgba(236, 239, 243, 0.1);
	--border-hairline: rgba(236, 239, 243, 0.06);
	--text: #eceff3;
	--muted: #8b929e;
	--dim: #5c6370;
	--accent: #a38b4d;
	--gold: #d4a843;
	--font-ui: 'Inter', system-ui, -apple-system, sans-serif;
	--font-nav: 'Plus Jakarta Sans', var(--font-ui);
	--font-read: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--font: var(--font-ui);
	--script: 'Dancing Script', cursive;
	--read: 40rem;
	--read-header: 30rem;
	--header-h: 60px;
	--radius: 6px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
	margin: 0;
	overflow-x: clip;
	font-family: var(--font-ui);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--text);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'kern' 1, 'liga' 1;
}
img, video, iframe { max-width: 100%; height: auto; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
h1,h2,h3,h4 { margin: 0 0 .6em; font-weight: 600; line-height: 1.3; font-family: var(--font-ui); letter-spacing: -.015em; }
p { margin: 0 0 1.15em; }
.container { width: min(100% - 2rem, 68rem); margin-inline: auto; }
.site { width: 100%; max-width: 100%; overflow-x: clip; }
.site-main { width: 100%; max-width: 100%; }
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── PWA status bar ── */
.pwa-status {
	position: fixed;
	left: 50%;
	bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	z-index: 480;
	transform: translateX(-50%);
	max-width: min(92vw, 24rem);
	padding: .65rem 1rem;
	font-family: var(--font-nav);
	font-size: .8125rem;
	font-weight: 600;
	text-align: center;
	color: var(--text);
	background: color-mix(in srgb, var(--bg-2) 94%, transparent);
	border: 1px solid var(--border);
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
}
.pwa-status.is-offline {
	border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
}
.pwa-status.is-online {
	border-color: color-mix(in srgb, #22c55e 35%, var(--border));
}

/* ── PWA install banner ── */
.pwa-install {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 470;
	padding: .75rem .75rem calc(.75rem + env(safe-area-inset-bottom, 0px));
	pointer-events: none;
}
body.has-pwa-install-banner {
	padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
}
.pwa-install__card {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .85rem 1rem;
	align-items: start;
	max-width: 34rem;
	margin: 0 auto;
	padding: 1rem 1rem 1rem .95rem;
	pointer-events: auto;
	color: var(--text);
	background: color-mix(in srgb, var(--bg-2) 96%, transparent);
	border: 1px solid var(--border);
	border-radius: 1rem;
	box-shadow: 0 18px 48px rgba(0, 0, 0, .42);
	animation: pwa-install-in .35s ease;
}
@keyframes pwa-install-in {
	from { opacity: 0; transform: translateY(1rem); }
	to { opacity: 1; transform: translateY(0); }
}
.pwa-install__logo {
	width: 3rem;
	height: 3rem;
	object-fit: contain;
	border-radius: .65rem;
}
.pwa-install__body {
	min-width: 0;
}
.pwa-install__title {
	display: block;
	margin-bottom: .25rem;
	font-family: var(--font-nav);
	font-size: .95rem;
}
.pwa-install__message,
.pwa-install__ios,
.pwa-install__manual {
	margin: 0;
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--muted);
}
.pwa-install__ios,
.pwa-install__manual {
	margin-top: .35rem;
	color: color-mix(in srgb, var(--accent) 70%, var(--muted));
}
.pwa-install__actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.pwa-install__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0 1rem;
	border-radius: 999px;
	border: 0;
	font-family: var(--font-nav);
	font-size: .8125rem;
	font-weight: 600;
	cursor: pointer;
}
.pwa-install__btn--primary {
	background: var(--accent);
	color: var(--bg);
}
.pwa-install__btn--ghost {
	background: transparent;
	color: var(--muted);
	border: 1px solid var(--border);
}
.pwa-install__close {
	position: absolute;
	top: .45rem;
	right: .45rem;
	width: 2rem;
	height: 2rem;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--muted);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}
.pwa-install__close:hover,
.pwa-install__btn--ghost:hover {
	color: var(--text);
}
@media (min-width: 640px) {
	.pwa-install__card {
		grid-template-columns: auto 1fr auto;
		align-items: center;
		padding-right: 2.5rem;
	}
	.pwa-install__actions {
		grid-column: 3;
		flex-direction: column;
		align-items: stretch;
	}
}

/* ── Logo ── */
.site-logo, .custom-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.site-logo img, .custom-logo-link img { max-height: 38px; max-width: 168px; width: auto; object-fit: contain; }
.site-logo__daf { display: inline-flex; font-size: 1.35rem; font-weight: 800; line-height: 1; }
.site-logo__d { color: #111; text-shadow: 0 0 1px #fff; }
.site-logo__a { color: #e03030; }
.site-logo__f { color: var(--gold); }
.site-logo__story { font-family: var(--script); font-size: 1.35rem; color: var(--text); }

/* ── Header ── */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: color-mix(in srgb, var(--bg) 88%, transparent);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--border-hairline);
}
.header-bar {
	display: flex; align-items: center; gap: 1.25rem;
	min-height: var(--header-h);
	padding: .35rem 0;
}
.header-bar__brand { flex-shrink: 0; min-width: 0; }
.header-bar__nav { flex: 1; display: flex; justify-content: center; min-width: 0; }
.header-bar__actions {
	display: flex; align-items: center; gap: .35rem; flex-shrink: 0;
}

.header-nav, .header-pages {
	display: flex; align-items: center; gap: .15rem;
	list-style: none; margin: 0; padding: 0;
}
.header-nav > li, .header-pages > li { position: relative; }
.header-nav > .menu-item-has-children { position: static; }
.header-nav > .menu-item-has-children > .nav-dropdown__trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.header-nav a, .header-pages a {
	display: block; padding: .45rem .7rem;
	font-family: var(--font-nav);
	font-size: .875rem; font-weight: 600; letter-spacing: .01em;
	color: var(--muted); text-decoration: none; border-radius: 999px;
	transition: color .15s ease, background .15s ease;
}
.header-nav a:hover, .header-pages a:hover {
	color: var(--text); background: rgba(255,255,255,.04);
	text-decoration: none;
}
.header-nav .current-menu-item > a,
.header-pages .current-menu-item > a,
.header-nav .current-menu-ancestor > a,
.header-nav .menu-item-has-children.is-open > .nav-dropdown__trigger > a {
	color: var(--text);
}
.nav-dropdown__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	margin-left: -.15rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--dim);
	cursor: pointer;
	transition: color .15s ease, background .15s ease, transform .2s ease;
}
.nav-dropdown__toggle:hover,
.menu-item-has-children.is-open > .nav-dropdown__trigger > .nav-dropdown__toggle {
	color: var(--text);
	background: rgba(255,255,255,.06);
}
.menu-item-has-children.is-open > .nav-dropdown__trigger > .nav-dropdown__toggle {
	transform: rotate(180deg);
}
.header-nav .sub-menu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	min-width: 12rem;
	margin: 0;
	padding: .45rem;
	list-style: none;
	background: color-mix(in srgb, var(--bg-2) 96%, transparent);
	backdrop-filter: blur(18px);
	border: 1px solid var(--border-hairline);
	border-radius: calc(var(--radius) + 2px);
	box-shadow: 0 16px 48px rgba(0,0,0,.38);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.header-nav .sub-menu::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -.55rem;
	height: .55rem;
}
.header-nav .menu-item-has-children.is-open > .sub-menu {
	display: block;
	opacity: 1;
	visibility: visible;
	transform: none;
}
.header-nav .sub-menu a {
	font-size: .8125rem; font-weight: 500; padding: .45rem .65rem;
	border-radius: calc(var(--radius) - 2px);
}
.header-bar__pages { display: none; }
@media (min-width: 1201px) { .header-bar__pages { display: block; } }

.lang-switcher--modal { position: relative; }
.lang-switcher__toggle {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .42rem .55rem .42rem .45rem;
	background: rgba(255,255,255,.04);
	border: 0; border-radius: 999px;
	color: var(--text); cursor: pointer;
	font-family: var(--font-nav); font-size: .8125rem; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase;
	transition: background .15s ease, color .15s ease;
}
.lang-switcher__toggle:hover,
.lang-switcher__toggle[aria-expanded="true"] {
	background: rgba(255,255,255,.08);
	color: var(--text);
}
.lang-switcher__toggle[aria-expanded="true"] .lang-switcher__chevron { transform: rotate(180deg); }
.lang-switcher__current-flag,
.lang-switcher__flag-img,
.lang-switcher__flag-emoji {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.25rem; height: .9rem; flex-shrink: 0;
}
.lang-switcher__flag-img {
	width: 1.25rem; height: auto; max-height: .9rem;
	object-fit: cover; border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
.lang-switcher__flag-emoji { font-size: 1rem; line-height: 1; }
.lang-switcher__chevron { color: var(--dim); transition: transform .2s ease; }
.lang-switcher__menu {
	position: absolute; top: calc(100% + .45rem); right: 0; z-index: 120;
	min-width: 11.5rem; margin: 0; padding: .35rem;
	list-style: none;
	background: color-mix(in srgb, var(--bg-2) 96%, transparent);
	backdrop-filter: blur(16px);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius);
	box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.lang-switcher__menu a {
	display: flex; align-items: center; gap: .55rem;
	padding: .5rem .55rem;
	color: var(--muted); text-decoration: none; border-radius: calc(var(--radius) - 2px);
	font-family: var(--font-nav); font-size: .8125rem; font-weight: 500;
	transition: background .15s ease, color .15s ease;
}
.lang-switcher__menu a:hover { background: rgba(255,255,255,.05); color: var(--text); }
.lang-switcher__menu .is-active a { color: var(--text); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.lang-switcher__label { flex: 1; }
.lang-switcher__code {
	font-size: .6875rem; font-weight: 700; letter-spacing: .06em;
	color: var(--dim); text-transform: uppercase;
}
.lang-switcher--list { margin-bottom: 1.25rem; }
.lang-switcher--list ul {
	display: flex; flex-wrap: wrap; gap: .4rem;
	list-style: none; margin: 0; padding: 0;
}
.lang-switcher--list a {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .4rem .65rem;
	font-family: var(--font-nav); font-size: .75rem; font-weight: 600;
	color: var(--muted); text-decoration: none;
	background: rgba(255,255,255,.04); border-radius: 999px;
}
.lang-switcher--list .is-active a { color: var(--text); background: color-mix(in srgb, var(--accent) 14%, transparent); }

.lang-modal {
	position: fixed;
	inset: 0;
	z-index: 500;
	display: grid;
	place-items: center;
	padding: 1.25rem;
	padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}
.lang-modal[hidden] {
	display: none;
}
.lang-modal.is-open {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}
.lang-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(3, 5, 9, .78);
	backdrop-filter: blur(14px) saturate(1.05);
	-webkit-backdrop-filter: blur(14px) saturate(1.05);
	opacity: 0;
	transition: opacity .32s ease;
}
.lang-modal.is-open .lang-modal__backdrop {
	opacity: 1;
}
.lang-modal__stage {
	position: relative;
	width: min(100%, 23.5rem);
	perspective: 1200px;
	transform: translateY(18px) scale(.96);
	opacity: 0;
	transition: transform .36s cubic-bezier(.22, 1, .36, 1), opacity .36s ease;
}
.lang-modal.is-open .lang-modal__stage {
	transform: translateY(0) scale(1);
	opacity: 1;
}
.lang-modal__panel {
	position: relative;
	padding: 1.2rem 1.15rem 1.15rem;
	border-radius: 1.35rem;
	background:
		linear-gradient(155deg, color-mix(in srgb, var(--bg-2) 88%, #fff) 0%, var(--bg) 48%, color-mix(in srgb, var(--bg) 92%, #000) 100%);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .07) inset,
		0 18px 36px rgba(0, 0, 0, .34),
		0 42px 80px rgba(0, 0, 0, .42);
	transform: rotateX(8deg);
	transform-origin: center center;
	transition: transform .36s cubic-bezier(.22, 1, .36, 1);
}
.lang-modal.is-open .lang-modal__panel {
	transform: rotateX(0deg);
}
.lang-modal__glow {
	display: none;
}
.lang-modal__header {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}
.lang-modal__eyebrow {
	margin: 0 0 .25rem;
	font-family: var(--font-nav);
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--accent);
}
.lang-modal__title {
	margin: 0;
	font-family: var(--font-nav);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.25;
}
.lang-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--bg-3) 80%, transparent);
	color: var(--muted);
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
	transition: transform .15s ease, color .15s ease, background .15s ease;
}
.lang-modal__close svg {
	width: 1rem;
	height: 1rem;
}
.lang-modal__close:hover {
	color: var(--text);
	background: color-mix(in srgb, var(--bg-3) 100%, transparent);
	transform: translateY(-1px);
}
.lang-modal__options {
	position: relative;
	display: grid;
	gap: .55rem;
}
.lang-modal__option {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: .8rem;
	padding: .85rem .95rem;
	border-radius: 1rem;
	text-decoration: none;
	color: var(--text);
	background: color-mix(in srgb, var(--bg-3) 72%, transparent);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .05) inset,
		0 10px 24px rgba(0, 0, 0, .2);
	transform: translateY(0) translateZ(0);
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.lang-modal__option:hover {
	text-decoration: none;
	color: var(--text);
	transform: translateY(-2px);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .06) inset,
		0 16px 34px rgba(0, 0, 0, .28);
}
.lang-modal__option.is-active {
	background: color-mix(in srgb, var(--accent) 14%, var(--bg-3));
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset;
}
.lang-modal__option-flag,
.lang-modal__option-flag .lang-switcher__flag-img,
.lang-modal__option-flag .lang-switcher__flag-emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.65rem;
	height: 1.2rem;
	flex-shrink: 0;
}
.lang-modal__option-flag .lang-switcher__flag-img {
	width: 1.65rem;
	max-height: 1.2rem;
	border-radius: 3px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .28);
}
.lang-modal__option-flag .lang-switcher__flag-emoji {
	font-size: 1.2rem;
}
.lang-modal__option-copy {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	min-width: 0;
}
.lang-modal__option-name {
	font-family: var(--font-nav);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.2;
}
.lang-modal__option-code {
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dim);
}
.lang-modal__option.is-active .lang-modal__option-code {
	color: color-mix(in srgb, var(--accent) 80%, var(--text));
}
.lang-modal__option-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 999px;
	color: transparent;
	background: transparent;
	transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.lang-modal__option-mark svg {
	width: .9rem;
	height: .9rem;
}
.lang-modal__option.is-active .lang-modal__option-mark {
	color: var(--bg);
	background: var(--accent);
	box-shadow: none;
}
body.lang-modal-open {
	overflow: hidden;
}
@media (max-width: 1200px) {
	.lang-modal {
		place-items: center;
		padding: 1.25rem;
		padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	}

	.lang-modal__stage {
		width: min(100%, 23.5rem);
	}

	.lang-modal__panel {
		padding: 1.1rem 1rem 1rem;
		border-radius: 1.25rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.lang-modal,
	.lang-modal__stage,
	.lang-modal__panel,
	.lang-modal__backdrop,
	.lang-modal__option {
		transition: none;
	}
	.lang-modal__panel,
	.lang-modal__stage {
		transform: none;
	}
}

.header-icon-btn {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; padding: 0; border: 0;
	background: transparent; color: var(--muted); cursor: pointer;
	border-radius: 999px;
	transition: color .15s ease, background .15s ease;
}
.header-icon-btn__icon,
.header-icon-btn svg {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}
.header-icon-btn:hover { color: var(--text); background: rgba(255,255,255,.05); }
.header-icon-btn:active { background: rgba(255,255,255,.08); }
.header-search-toggle[aria-expanded="true"] { color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }
.nav-toggle[aria-expanded="true"] { color: var(--text); background: rgba(255,255,255,.06); }

.search-panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 90;
	background: color-mix(in srgb, var(--bg) 92%, transparent);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--border-hairline);
	box-shadow: 0 18px 48px rgba(0,0,0,.28);
	opacity: 0; transform: translateY(-6px);
	transition: opacity .22s ease, transform .22s ease;
	pointer-events: none;
}
.search-panel:not([hidden]) {
	opacity: 1; transform: none; pointer-events: auto;
}
.search-panel__inner { padding: 1.25rem 0 1.5rem; }
.search-panel__top {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: .75rem;
}
.search-panel__label {
	margin: 0; font-family: var(--font-nav);
	font-size: .6875rem; font-weight: 700;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--dim);
}
.search-panel .search-form {
	display: flex;
	align-items: center;
	gap: .65rem;
	max-width: 40rem;
	margin: 0;
	padding: .45rem .45rem .45rem 1rem;
	background: var(--bg-2);
	border: 1px solid var(--border);
	border-radius: 999px;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.search-panel .search-form:focus-within {
	border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
	background: color-mix(in srgb, var(--bg-2) 94%, var(--accent));
}
.search-form__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--dim);
}
.search-form__icon svg {
	width: 1.125rem;
	height: 1.125rem;
}
.search-panel .search-form__input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: .55rem 0;
	color: var(--text);
	font-family: var(--font-ui);
	font-size: 1.0625rem;
	line-height: 1.4;
	outline: none;
}
.search-panel .search-form__input::placeholder { color: var(--dim); }
.search-panel .search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	padding: 0;
	color: var(--bg);
	background: var(--accent);
	cursor: pointer;
	border-radius: 999px;
	transition: transform .15s ease, background .15s ease;
}
.search-panel .search-form__submit svg {
	width: 1.125rem;
	height: 1.125rem;
}
.search-panel .search-form__submit:hover {
	background: color-mix(in srgb, var(--accent) 88%, #fff);
	transform: translateY(-1px);
}

.nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 4px; }
.nav-toggle__bar { display: block; width: 17px; height: 1.5px; background: currentColor; border-radius: 1px; transition: transform .15s, opacity .15s; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

.mobile-menu {
	position: fixed; inset: 0; top: var(--header-h); z-index: 99;
	background: color-mix(in srgb, var(--bg) 97%, transparent);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: .75rem 0 2rem;
}
.mobile-menu__inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.mobile-menu__section {
	margin: 0;
}
.mobile-menu__label {
	margin: 0 0 .55rem;
	padding: 0 .15rem;
	font-family: var(--font-nav);
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dim);
}
.mobile-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mobile-menu__list > .menu-item {
	border-bottom: 1px solid var(--border-hairline);
}
.mobile-menu__list > .menu-item:last-child {
	border-bottom: 0;
}
.mobile-menu__row {
	display: flex;
	align-items: center;
	gap: .35rem;
}
.mobile-menu__row > a {
	flex: 1;
	min-width: 0;
	padding-right: .25rem;
}
.mobile-menu__list a {
	display: block;
	padding: .95rem 0;
	font-family: var(--font-nav);
	font-size: 1rem;
	font-weight: 600;
	color: var(--text);
	text-decoration: none;
	transition: color .15s ease;
}
.mobile-menu__list a:hover {
	color: var(--accent);
	text-decoration: none;
}
.mobile-menu__list .current-menu-item > a,
.mobile-menu__list .current-menu-ancestor > a {
	color: var(--accent);
}
.mobile-submenu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--bg-2) 88%, transparent);
	color: var(--muted);
	cursor: pointer;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .05) inset,
		0 6px 16px rgba(0, 0, 0, .18);
	transition: color .15s ease, background .15s ease, transform .2s ease, box-shadow .15s ease;
}
.mobile-submenu-toggle svg {
	width: 1.125rem;
	height: 1.125rem;
	transition: transform .2s ease;
}
.mobile-submenu-toggle:hover {
	color: var(--text);
	background: color-mix(in srgb, var(--bg-3) 90%, transparent);
}
.mobile-submenu-toggle[aria-expanded="true"] {
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 14%, var(--bg-2));
	box-shadow: 0 1px 0 rgba(255, 255, 255, .05) inset;
}
.menu-item-has-children.is-open > .mobile-menu__row .mobile-submenu-toggle svg {
	transform: rotate(180deg);
}
.menu-item-has-children.is-open > .mobile-menu__row > a {
	color: var(--accent);
}
.mobile-menu__list .sub-menu {
	list-style: none;
	margin: .2rem 0 .45rem;
	padding: .35rem 0 .5rem;
}
.mobile-menu__list .sub-menu .menu-item {
	border-bottom: 0;
}
.mobile-menu__list .sub-menu a {
	padding: .8rem 0 .8rem 1.15rem;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--text);
	position: relative;
	opacity: .92;
}
.mobile-menu__list .sub-menu a:hover {
	color: var(--accent);
	opacity: 1;
}
.mobile-menu__list .sub-menu a::before {
	content: '';
	position: absolute;
	left: .2rem;
	top: 50%;
	width: .42rem;
	height: .42rem;
	border-radius: 999px;
	background: var(--muted);
	transform: translateY(-50%);
	opacity: .75;
}
.mobile-menu__list .sub-menu .current-menu-item > a {
	color: var(--accent);
	opacity: 1;
}
.mobile-menu__list .sub-menu .current-menu-item > a::before {
	background: var(--accent);
	opacity: 1;
}
.mobile-menu__footer {
	margin-top: .5rem;
	padding-top: 1.35rem;
	border-top: 1px solid var(--border-hairline);
}
.lang-switcher--mobile {
	margin: 0;
}
.lang-switcher__mobile-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lang-switcher__mobile-list li {
	border-bottom: 1px solid var(--border-hairline);
}
.lang-switcher__mobile-list li:last-child {
	border-bottom: 0;
}
.lang-switcher__mobile-list a {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .85rem 0;
	color: var(--muted);
	text-decoration: none;
	font-family: var(--font-nav);
	transition: color .15s ease;
}
.lang-switcher__mobile-list a:hover {
	color: var(--text);
	text-decoration: none;
}
.lang-switcher__mobile-list .is-active a {
	color: var(--text);
}
.lang-switcher__mobile-flag,
.lang-switcher__mobile-flag .lang-switcher__flag-img,
.lang-switcher__mobile-flag .lang-switcher__flag-emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.35rem;
	height: 1rem;
}
.lang-switcher__mobile-flag .lang-switcher__flag-img {
	width: 1.35rem;
	max-height: 1rem;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
.lang-switcher__mobile-flag .lang-switcher__flag-emoji {
	font-size: 1.1rem;
}
.lang-switcher__mobile-name {
	flex: 1;
	min-width: 0;
	font-size: .9375rem;
	font-weight: 600;
}
.lang-switcher__mobile-code {
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dim);
}
.lang-switcher__mobile-list .is-active .lang-switcher__mobile-code {
	color: var(--accent);
}

/* ── Hero ── */
.hero {
	position: relative; min-height: 52vh; display: flex; align-items: flex-end;
	width: 100%;
	background: var(--bg-2) center/cover no-repeat;
	overflow: hidden;
}
.hero--has-image { background-image: var(--hero-image); }
.hero--gallery { background-image: none; }
.hero__slides {
	position: absolute; inset: 0; z-index: 0;
}
.hero__slide {
	position: absolute; inset: 0;
	background: center/cover no-repeat;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.hero__slide.is-active { opacity: 1; }
.hero__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(8,10,14,.15) 0%, rgba(8,10,14,.55) 55%, rgba(8,10,14,.92) 100%);
}
.hero::before {
	content: ''; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse 80% 60% at 20% 40%, rgba(196,30,58,.12), transparent 60%);
}
.hero[style*="--hero-image"] { background-image: var(--hero-image); }
.hero__inner {
	position: relative; z-index: 1;
	padding: 4.5rem 0 3rem;
	max-width: 42rem;
}
.hero__eyebrow {
	margin: 0 0 .65rem;
	font-family: var(--font-nav);
	font-size: .6875rem; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--gold);
}
.hero__title {
	font-family: var(--font-read);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 600; line-height: 1.15;
	letter-spacing: -.03em;
	margin: 0;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.hero__subtitle {
	margin: .85rem 0 0;
	font-size: 1.05rem; line-height: 1.6;
	color: rgba(255,255,255,.82);
	max-width: 36rem;
}
.hero__tagline {
	margin: 0; max-width: 36rem;
	font-size: clamp(1.125rem, 2.5vw, 1.5rem);
	font-weight: 400; line-height: 1.45; color: var(--text);
}

/* ── Sections ── */
.home-section { padding: 3rem 0; }
.home-section + .home-section { border-top: 1px solid var(--border-hairline); }
.section-header {
	margin-bottom: 2rem;
	max-width: 52rem;
}
.section-header__title {
	font-family: var(--font-nav);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1.12;
	color: var(--text);
	margin: 0;
}
.section-header__subtitle {
	margin: .65rem 0 0;
	font-family: var(--font-ui);
	font-size: clamp(1rem, 1.8vw, 1.125rem);
	line-height: 1.6;
	color: var(--muted);
	max-width: 48ch;
}
.section-header__cta { margin-top: 2rem; display: flex; justify-content: center; }
.btn--section-more {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .7rem 1.35rem;
	font-family: var(--font-nav);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text);
	background: rgba(255,255,255,.04);
	border: 1px solid var(--border-hairline);
	border-radius: 999px;
	text-decoration: none;
	transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}
.btn--section-more:hover {
	color: var(--accent);
	border-color: color-mix(in srgb, var(--accent) 32%, transparent);
	background: color-mix(in srgb, var(--accent) 10%, transparent);
	transform: translateY(-1px);
	text-decoration: none;
}

/* ── Post cards (borderless blog) ── */
.post-grid,
.blog-page__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem 2rem;
	align-items: start;
}
.post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: none;
	border: 0;
	border-radius: 0;
	overflow: visible;
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity .55s cubic-bezier(.22, 1, .36, 1), transform .55s cubic-bezier(.22, 1, .36, 1);
}
.post-card.is-visible { opacity: 1; transform: none; }
.post-card:hover,
.post-card.is-visible:hover {
	transform: translateY(-3px);
	box-shadow: none;
}
.post-card__link {
	display: flex; flex-direction: column; flex: 1; height: 100%;
	color: inherit; text-decoration: none;
}
.post-card__media {
	position: relative;
	aspect-ratio: 16/10;
	overflow: hidden;
	border-radius: calc(var(--radius) + 2px);
	background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.01));
	flex-shrink: 0;
	margin-bottom: 1.15rem;
}
.post-card__media--placeholder {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--accent) 9%, transparent), rgba(255,255,255,.02)),
		repeating-linear-gradient(-45deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 12px);
}
.post-card__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(14,15,17,.5), transparent 50%);
	opacity: 0; transition: opacity .35s ease;
	pointer-events: none;
}
.post-card__link:hover .post-card__media::after { opacity: 1; }
.post-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .55s cubic-bezier(.22, 1, .36, 1);
}
.post-card__link:hover .post-card__media img { transform: scale(1.04); }
.post-card__body {
	display: flex; flex-direction: column; flex: 1;
	padding: 0;
	min-height: 0;
}
.post-card__top {
	display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .55rem;
	margin-bottom: .7rem;
	font-family: var(--font-nav);
	font-size: .6875rem; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--dim);
}
.post-card__cat { color: var(--gold); }
.post-card__date { color: var(--dim); font-weight: 500; }
.post-card__top .post-card__date:not(:first-child)::before {
	content: '';
	display: inline-block;
	width: 3px; height: 3px;
	margin-right: .55rem;
	border-radius: 50%;
	background: var(--dim);
	vertical-align: middle;
}
.post-card__title {
	font-family: var(--font-nav);
	font-size: clamp(1.125rem, 1.8vw, 1.375rem);
	font-weight: 700; line-height: 1.3;
	letter-spacing: -.03em; margin: 0 0 .6rem;
	color: var(--text);
	transition: color .2s ease;
}
.post-card__title::after {
	content: '';
	display: block;
	width: 0;
	height: 2px;
	margin-top: .55rem;
	background: linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 22%, transparent));
	transition: width .4s cubic-bezier(.22, 1, .36, 1);
}
.post-card__link:hover .post-card__title { color: var(--accent); }
.post-card__link:hover .post-card__title::after { width: 2.75rem; }
.post-card__excerpt {
	flex: 1;
	font-family: var(--font-ui);
	font-size: .9375rem; color: var(--muted); line-height: 1.7;
	margin: 0 0 1rem;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
	overflow: hidden;
}
.post-card__footer {
	display: flex; align-items: center; justify-content: space-between;
	gap: .75rem; margin-top: auto;
	padding-top: 0;
	font-family: var(--font-nav);
	font-size: .6875rem;
}
.post-card__reading {
	display: inline-flex; align-items: center;
	color: var(--dim); font-weight: 500;
	letter-spacing: .02em;
}
.post-card__more {
	display: inline-flex; align-items: center; gap: .3rem;
	color: var(--accent); font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase;
	white-space: nowrap;
	transition: gap .25s ease, color .2s ease;
}
.post-card__link:hover .post-card__more { gap: .5rem; color: var(--gold); }
.post-card__more-icon { flex-shrink: 0; transition: transform .25s cubic-bezier(.22, 1, .36, 1); }
.post-card__link:hover .post-card__more-icon { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) {
	.post-card { opacity: 1; transform: none; transition: none; }
	.post-card:hover, .post-card.is-visible:hover { transform: none; }
	.post-card__media img, .post-card__more-icon, .post-card__title::after { transition: none; }
}

/* ── Product grid (WooCommerce + home) ── */
.product-grid,
.book-grid,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
	gap: 1.75rem 1.25rem;
	list-style: none; margin: 0; padding: 0;
}
.home-section--books .product-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.woocommerce ul.products li.product-card,
.woocommerce ul.products li.product {
	margin: 0 !important; width: 100% !important; float: none !important; padding: 0 !important;
}
.product-card {
	display: flex; flex-direction: column;
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
	border: 1px solid var(--border-hairline);
	border-radius: calc(var(--radius) + 6px);
	padding: .85rem .85rem 1rem;
	opacity: 0;
	transform: translateY(1.25rem) scale(.98);
	transition: opacity .55s cubic-bezier(.22, 1, .36, 1), transform .55s cubic-bezier(.22, 1, .36, 1), border-color .25s ease, box-shadow .25s ease;
}
.product-card.is-visible { opacity: 1; transform: none; }
.product-card.reveal { opacity: 0; transform: translateY(1.25rem) scale(.98); }
.product-card.reveal.is-visible { opacity: 1; transform: none; }
.product-card:hover {
	border-color: color-mix(in srgb, var(--accent) 28%, transparent);
	box-shadow: 0 22px 48px rgba(0,0,0,.28);
	transform: translateY(-4px) scale(1.01);
}
.product-card.is-visible:hover,
.product-card.reveal.is-visible:hover {
	transform: translateY(-4px) scale(1.01);
}
.product-card__link {
	display: flex; flex-direction: column; flex: 1;
	color: inherit; text-decoration: none;
}
.product-card__media {
	position: relative; margin-bottom: 1rem;
	aspect-ratio: 2/3; overflow: hidden;
	border-radius: calc(var(--radius) + 2px);
	background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}
.product-card__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.35));
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.product-card:hover .product-card__media::after { opacity: 1; }
.product-card__media img,
.product-card__img {
	width: 100%; height: 100%; object-fit: cover;
	touch-action: pan-y;
	-webkit-user-drag: none;
	transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}
.product-card:hover .product-card__media img { transform: scale(1.05); }
.product-card__badge {
	position: absolute; top: .55rem; left: .55rem;
	padding: .25rem .5rem;
	font-family: var(--font-nav); font-size: .625rem; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase;
	color: #fff; background: var(--gold); border-radius: 999px;
	box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
.product-card__body { flex: 1; text-align: center; padding: 0 .15rem; }
.product-card__title {
	font-family: var(--font-read);
	font-size: 1rem; font-weight: 600; line-height: 1.35;
	margin: 0 0 .45rem; letter-spacing: -.01em;
	transition: color .2s ease;
}
.product-card:hover .product-card__title { color: var(--accent); }
.product-card__excerpt {
	font-size: .8rem; color: var(--dim); line-height: 1.55;
	margin: 0 0 .65rem;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden;
}
.product-card__price {
	font-family: var(--font-nav); font-size: .875rem; font-weight: 700;
	color: var(--text); margin-bottom: .15rem;
}
.product-card__price ins { text-decoration: none; color: var(--accent); }
.product-card__price del { opacity: .55; margin-right: .35rem; font-weight: 500; }
.product-card__action { margin-top: auto; padding-top: .35rem; }
.product-card__action .button,
.product-card__action a.button,
.product-card__action .add_to_cart_button {
	display: block !important; width: 100%; text-align: center;
	padding: .62rem .75rem !important;
	font-family: var(--font-nav) !important;
	font-size: .6875rem !important; font-weight: 700 !important;
	letter-spacing: .06em !important; text-transform: uppercase !important;
	background: color-mix(in srgb, var(--accent) 12%, transparent) !important;
	color: var(--accent) !important;
	border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent) !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease, border-color .15s ease !important;
}
.product-card__action .button:hover,
.product-card__action a.button:hover {
	color: #fff !important;
	background: var(--accent) !important;
	border-color: var(--accent) !important;
}
.home-section--books { padding-top: .5rem; }

/* Legacy book-card aliases */
.book-card { display: flex; flex-direction: column; }
.book-grid .book-card__cover,
.book-card__cover {
	aspect-ratio: 2/3; background: rgba(255,255,255,.03);
	margin-bottom: .65rem; overflow: hidden; border-radius: var(--radius);
}
.book-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.book-card__title { font-size: .8125rem; font-weight: 600; line-height: 1.35; margin: 0 0 .25rem; transition: color .15s; }
.book-card__excerpt { font-size: .75rem; color: var(--dim); line-height: 1.45; margin: 0; }
.book-card__cta { margin-top: .5rem; }
.book-card__cta .button,
.book-card__cta a.button {
	display: block; width: 100%; text-align: center;
	padding: .4rem .5rem !important; font-size: .6875rem !important;
	font-weight: 500 !important; background: transparent !important;
	color: var(--muted) !important; border: 0 !important;
	border-radius: 999px !important; text-decoration: none !important;
}
.book-card__cta .button:hover { color: var(--accent) !important; background: color-mix(in srgb, var(--accent) 10%, transparent) !important; }

/* ── Article (single) ── */
.article-layout {
	display: grid;
	gap: 2.5rem;
	padding: 2rem 0 3rem;
	align-items: start;
}
.article-layout--sidebar { grid-template-columns: minmax(0, 1fr) 17.5rem; }
.article-main { min-width: 0; }
.article-main--solo .article-header__inner,
.article-main--solo .article-body,
.article-main--solo .article-nav,
.article-main--solo .article-comments {
	max-width: var(--read);
	margin-inline: auto;
}

.article-layout .sidebar,
.blog-page__sidebar,
.shop-page__sidebar {
	position: sticky;
	top: calc(var(--header-h) + 1rem);
}

.article-header {
	padding: 0 0 1.25rem;
	text-align: center;
	border-bottom: 0;
}
.article-header__inner { max-width: var(--read-header); margin-inline: auto; }
.article-header__cat {
	display: inline-block; margin-bottom: .75rem;
	font-size: .6875rem; font-weight: 600; text-transform: uppercase;
	letter-spacing: .08em; color: var(--gold); text-decoration: none;
}
.article-header__cat:hover { text-decoration: underline; }
.article-header__title {
	font-family: var(--font-read);
	font-size: clamp(1.625rem, 3.2vw, 2.25rem);
	font-weight: 600; letter-spacing: -.025em; line-height: 1.2;
	margin-bottom: 1rem;
}
.article-header__meta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: .5rem;
}
.article-meta-pill {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .35rem .7rem;
	font-family: var(--font-ui);
	font-size: .75rem; font-weight: 500; letter-spacing: .01em;
	color: var(--muted);
	background: rgba(255,255,255,.04);
	border-radius: 999px;
}
.article-meta-pill__icon { flex-shrink: 0; opacity: .75; }
.article-meta-pill--time .reading-time { color: inherit; font-size: inherit; }
.article-meta-pill--time .reading-time::before { content: none; }

.article-header__cover {
	margin: 0 0 1.75rem;
	background: rgba(255,255,255,.02);
	border-radius: var(--radius);
	overflow: hidden;
	text-align: center;
}
.article-header__cover img,
.article-header__cover-img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	display: inline-block;
	vertical-align: middle;
}

.article-body { padding: 0; }
.article-body__content {
	font-family: var(--font-read);
	font-size: 1.125rem;
	line-height: 1.85;
	max-width: var(--read);
	margin-inline: auto;
	text-align: center;
	letter-spacing: .01em;
}
.article-body__content h2,
.article-body__content h3 {
	font-family: var(--font-ui);
	letter-spacing: -.02em;
	text-align: center;
}
.article-body__content ul,
.article-body__content ol {
	display: block;
	width: fit-content;
	max-width: 100%;
	text-align: left;
	margin-inline: auto;
	padding-left: 1.25rem;
	padding-right: 0;
}
.article-body__content blockquote {
	display: block;
	width: fit-content;
	max-width: min(100%, 36rem);
	text-align: left;
	margin-inline: auto;
}
.article-body__content .has-text-align-left,
.entry-content .has-text-align-left,
.article-body__content .alignleft { text-align: left; margin-inline: 0; width: auto; }
.article-body__content .has-text-align-right,
.entry-content .has-text-align-right,
.article-body__content .alignright { text-align: right; margin-inline: 0; width: auto; }
.article-body__content .has-text-align-center,
.entry-content .has-text-align-center,
.article-body__content .aligncenter { text-align: center; margin-inline: auto; width: auto; }
.article-body__tags { text-align: center; }
.article-comments,
.article-nav { margin-inline: auto; }
.article-body__content > h1:first-child { display: none; }
.article-body__content h2 { font-size: 1.3rem; margin-top: 2em; font-weight: 600; }
.article-body__content h3 { font-size: 1.1rem; margin-top: 1.6em; font-weight: 600; }
.article-body__content ul, .article-body__content ol { margin-bottom: 1.15em; }
.article-body__content li { margin-bottom: .3em; }
.article-body__content blockquote {
	margin: 1.75em auto; padding-left: 1rem;
	border-left: 2px solid var(--border); color: var(--muted);
}
.article-body__content a { text-decoration: underline; text-underline-offset: 2px; }

/* Multimedia */
.article-body__content img,
.entry-content img { border-radius: var(--radius); margin: 1.5em auto; }
.article-body__content figure,
.entry-content figure { margin: 1.75em 0; }
.article-body__content figcaption,
.entry-content figcaption { font-size: .8125rem; color: var(--dim); text-align: center; margin-top: .5rem; }
.article-body__content .wp-block-image,
.entry-content .wp-block-image { margin: 1.75em 0; }
.article-body__content .wp-block-embed,
.entry-content .wp-block-embed,
.article-body__content .wp-block-video,
.entry-content .wp-block-video { margin: 1.75em 0; }
.article-body__content iframe,
.entry-content iframe { border: 0; border-radius: var(--radius); }
.article-body__content .wp-block-embed__wrapper,
.entry-content .wp-block-embed__wrapper { position: relative; }
.article-body__content .wp-block-embed iframe,
.entry-content .wp-block-embed iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.amazon-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 1.75em 0; border: 1px solid var(--border); border-radius: var(--radius); }
.amazon-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.article-body__content audio, .entry-content audio { width: 100%; margin: 1em 0; }
.article-body__content table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .9rem; }
.article-body__content th, .article-body__content td { border: 1px solid var(--border); padding: .5rem .65rem; text-align: left; }
.article-body__content th { background: var(--bg-2); font-weight: 600; }

.article-body__tags { margin-top: 2rem; padding-top: 1.5rem; font-size: .8125rem; }
.article-body__tags a {
	display: inline-block; margin: .15rem .35rem .15rem 0;
	padding: .15rem .5rem; color: var(--muted); text-decoration: none;
	background: rgba(255,255,255,.04); border-radius: 999px;
}
.article-body__tags a:hover { color: var(--text); }

.article-nav { padding: 2.5rem 0 0; max-width: var(--read); margin-inline: auto; }
.article-nav__heading {
	font-size: .6875rem; font-weight: 600; text-transform: uppercase;
	letter-spacing: .1em; color: var(--dim); margin-bottom: 1rem;
}
.article-nav__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.article-nav-card {
	display: flex; flex-direction: column; gap: .65rem;
	padding: 0 0 .85rem;
	min-height: 100%;
	color: var(--text); text-decoration: none;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--border-hairline);
	border-radius: 0;
	transition: border-color .2s ease, transform .2s ease;
}
.article-nav-card:hover {
	border-bottom-color: var(--accent);
	transform: translateY(-2px);
	text-decoration: none;
}
.article-nav-card:hover .article-nav-card__title { color: var(--accent); }
.article-nav-card--next { text-align: right; align-items: flex-end; }
.article-nav-card--next .article-nav-card__label { justify-content: flex-end; }
.article-nav-card--empty { visibility: hidden; pointer-events: none; border: 0; background: transparent; }
.article-nav-card__label {
	display: inline-flex; align-items: center; gap: .3rem;
	font-size: .6875rem; font-weight: 600; text-transform: uppercase;
	letter-spacing: .08em; color: var(--dim);
}
.article-nav-card__thumb {
	display: block; width: 100%; aspect-ratio: 16/10;
	overflow: hidden; border-radius: calc(var(--radius) - 2px);
	background: var(--bg);
}
.article-nav-card__thumb img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.article-nav-card__title {
	font-family: var(--font-ui);
	font-size: .875rem; font-weight: 600; line-height: 1.4;
	transition: color .15s;
}

.article-comments { padding: 2.5rem 0 0; max-width: var(--read); margin: 2.5rem auto 0; }

/* ── Blog page ── */
.blog-page { padding: 2rem 0 3rem; }
.blog-page__header { margin-bottom: 1.75rem; max-width: 42rem; }
.blog-page__title {
	font-family: var(--font-nav);
	font-size: clamp(1.5rem, 2.5vw, 1.875rem);
	font-weight: 700;
	letter-spacing: -.03em;
}
.blog-page__desc {
	color: var(--muted);
	font-size: .9375rem;
	line-height: 1.65;
	margin: .5rem 0 0;
}
.blog-page__layout { display: grid; gap: 2.5rem; align-items: start; }
.blog-page__layout--sidebar { grid-template-columns: minmax(0, 1fr) 17.5rem; }

/* ── Shop ── */
.shop-page { padding: 2rem 0 3rem; }
.shop-page__title { font-size: 1.5rem; margin-bottom: .5rem; }
.shop-page__header .term-description { color: var(--muted); font-size: .9375rem; }
.shop-page__layout--sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 17.5rem; gap: 2.5rem; align-items: start; }
.shop-page__toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; font-size: .8125rem; color: var(--dim); }
.shop-page__toolbar select {
	background: transparent; border: 0; border-bottom: 1px solid var(--border-hairline);
	color: var(--text); border-radius: 0; padding: .3rem 0;
	font-family: var(--font-nav); font-size: .8125rem;
}

/* product grid rules moved above */

/* ── Buttons ── */
.btn {
	display: inline-flex; align-items: center; padding: .55rem 1.1rem;
	font-family: inherit; font-size: .875rem; font-weight: 500;
	border-radius: var(--radius); border: 1px solid transparent; cursor: pointer; text-decoration: none;
}
.btn--primary { background: var(--accent); color: #fff; }
.btn--primary:hover { opacity: .9; color: #fff; text-decoration: none; }
.btn--text { padding: 0; color: var(--accent); background: none; border: 0; font-weight: 500; }
.btn--text:hover { text-decoration: underline; }

.home-cta { padding: 2rem 0; }
.home-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.home-cta__text h2 { font-size: 1.1rem; margin-bottom: .2rem; }
.home-cta__text p { color: var(--muted); margin: 0; font-size: .9rem; }

/* ── Sidebar (borderless, editorial) ── */
.sidebar {
	font-family: var(--font-ui);
}
.sidebar__widgets {
	display: flex;
	flex-direction: column;
	gap: 2.75rem;
}
.sidebar .ad-slot {
	padding: 0;
	margin-bottom: .5rem;
}
.widget {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
}
.widget-title {
	font-family: var(--font-read);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: -.02em;
	text-transform: none;
	color: var(--text);
	margin: 0 0 1.1rem;
	padding: 0;
	border: 0;
	position: relative;
}
.widget-title::after {
	content: '';
	display: block;
	width: 2.25rem;
	height: 2px;
	margin-top: .55rem;
	background: linear-gradient(90deg, var(--gold), color-mix(in srgb, var(--accent) 48%, transparent), transparent);
	transition: width .4s cubic-bezier(.22, 1, .36, 1);
}
.widget:hover .widget-title::after { width: 4rem; }
.widget p,
.widget .textwidget {
	font-size: .9rem;
	line-height: 1.75;
	color: var(--muted);
	margin: 0 0 1rem;
}
.widget p:last-child,
.widget .textwidget:last-child { margin-bottom: 0; }
.widget ul { list-style: none; margin: 0; padding: 0; }
.widget li {
	padding: 0;
	font-size: .875rem;
	line-height: 1.55;
	border: 0;
}
.widget li + li { margin-top: .7rem; }
.widget ul a {
	position: relative;
	display: inline;
	color: var(--muted);
	text-decoration: none;
	background-image: linear-gradient(var(--accent), var(--accent));
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: 0 100%;
	transition: color .2s ease, background-size .3s cubic-bezier(.22, 1, .36, 1), transform .25s cubic-bezier(.22, 1, .36, 1);
}
.widget ul a:hover {
	color: var(--text);
	background-size: 100% 1px;
	transform: translateX(3px);
	text-decoration: none;
}
.widget .children {
	margin: .45rem 0 0;
	padding: 0 0 0 1rem;
	border-left: 1px solid rgba(236, 239, 243, .08);
}
.widget .children li + li { margin-top: .45rem; }
.widget .post-date,
.widget .rss-date {
	display: block;
	margin-top: .25rem;
	font-size: .75rem;
	color: var(--dim);
	letter-spacing: .01em;
}
.widget_search .search-form,
.widget_product_search form {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	align-items: stretch;
}
.widget_search label,
.widget_product_search label {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.widget_search .search-field,
.widget_product_search .search-field {
	width: 100%;
	padding: .45rem 0;
	font-family: var(--font-ui);
	font-size: .875rem;
	color: var(--text);
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--border-hairline);
	border-radius: 0;
	transition: border-color .25s ease;
}
.widget_search .search-field::placeholder,
.widget_product_search .search-field::placeholder { color: var(--dim); }
.widget_search .search-field:focus,
.widget_product_search .search-field:focus {
	outline: none;
	border-bottom-color: var(--accent);
	box-shadow: none;
}
.widget_search .search-submit,
.widget_product_search button {
	align-self: flex-start;
	padding: 0;
	font-family: var(--font-nav);
	font-size: .6875rem; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--accent);
	background: none;
	border: 0;
	cursor: pointer;
	transition: color .2s ease, letter-spacing .2s ease, transform .2s ease;
}
.widget_search .search-submit:hover,
.widget_product_search button:hover {
	color: var(--gold);
	background: none;
	border: 0;
	letter-spacing: .12em;
	transform: translateX(2px);
}
.widget_tag_cloud .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .65rem;
	line-height: 1.5;
}
.widget_tag_cloud .tagcloud a {
	padding: 0;
	font-size: .8125rem !important;
	color: var(--dim);
	background: none;
	border: 0;
	border-radius: 0;
	transition: color .2s ease, transform .2s ease;
}
.widget_tag_cloud .tagcloud a:hover {
	color: var(--accent);
	background: none;
	border: 0;
	transform: translateY(-1px);
}
.widget_calendar table {
	width: 100%;
	font-size: .8125rem;
	border-collapse: collapse;
}
.widget_calendar th,
.widget_calendar td {
	padding: .4rem .15rem;
	text-align: center;
	color: var(--muted);
	border: 0;
}
.widget_calendar caption {
	margin-bottom: .75rem;
	font-family: var(--font-nav);
	font-size: .8125rem;
	font-weight: 600;
	color: var(--text);
}
.widget_calendar tbody td a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.65rem;
	min-height: 1.65rem;
	font-weight: 600;
	color: var(--text);
	border-radius: 999px;
	transition: color .2s ease, background .2s ease;
}
.widget_calendar tbody td a:hover {
	color: var(--accent);
	background: color-mix(in srgb, var(--accent) 12%, transparent);
	text-decoration: none;
}
.widget #today {
	color: var(--gold);
	font-weight: 700;
}
.sidebar .widget.reveal {
	opacity: 0;
	transform: translateY(.75rem);
	transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
}
.sidebar .widget.reveal.is-visible {
	opacity: 1;
	transform: none;
}
.widget a { color: var(--muted); text-decoration: none; transition: color .2s ease; }
.widget a:hover { color: var(--accent); text-decoration: none; }
.widget p a,
.widget .textwidget a {
	background-image: linear-gradient(var(--accent), var(--accent));
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: 0 100%;
	transition: color .2s ease, background-size .3s cubic-bezier(.22, 1, .36, 1);
}
.widget p a:hover,
.widget .textwidget a:hover {
	color: var(--text);
	background-size: 100% 1px;
}

/* ── Ads ── */
.ad-slot { display: flex; justify-content: center; padding: .75rem; overflow: hidden; }
.ad-slot--incontent { margin: 2rem 0; padding: 1.25rem 0; }

/* ── Footer ── */
.site-footer { padding: 2rem 0 1rem; margin-top: auto; border-top: 1px solid var(--border-hairline); }
.site-footer__inner { display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.site-footer__tagline { font-size: .8125rem; color: var(--dim); margin: .35rem 0 0; }
.footer-nav__menu { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.footer-nav__menu a { font-size: .8125rem; color: var(--muted); text-decoration: none; transition: color .15s ease; }
.footer-nav__menu a:hover { color: var(--accent); }
.site-footer__bottom { padding-top: 1rem; text-align: center; font-size: .75rem; color: var(--dim); }
.site-footer__bottom p { margin: 0; }
.site-footer__credit { margin-top: .4rem !important; }
.site-footer__credit a { color: var(--dim); text-decoration: none; }
.site-footer__credit a:hover { color: var(--text); text-decoration: underline; }

/* ── Comments (borderless, editorial) ── */
.comments-area { font-family: var(--font-ui); }
.comments-title,
.comment-reply-title {
	font-family: var(--font-read);
	font-size: 1.25rem; font-weight: 600; margin: 0 0 1.5rem;
	letter-spacing: -.02em;
}
.comment-list { list-style: none; margin: 0 0 2.5rem; padding: 0; }
.comment-list .children {
	list-style: none; margin: .5rem 0 0; padding: 0 0 0 1.5rem;
	border-left: 2px solid var(--border);
}
.comment { padding: 0; margin: 0; }
.comment__body {
	display: flex; gap: 1rem; padding: 1.35rem 0;
	background: transparent; border: 0; border-radius: 0;
	border-bottom: 1px solid var(--border-hairline);
}
.comment-list > .comment:last-child > .comment__body { border-bottom: 0; }
.comment__avatar { flex-shrink: 0; }
.comment__avatar img {
	border-radius: 50%; display: block;
	box-shadow: 0 0 0 2px var(--border-hairline);
}
.comment__main { flex: 1; min-width: 0; }
.comment__header {
	display: flex; flex-wrap: wrap; align-items: baseline;
	gap: .35rem .75rem; margin-bottom: .55rem;
}
.comment__author {
	font-style: normal; font-weight: 600; font-size: .9rem;
	letter-spacing: -.01em;
}
.comment__author a { color: var(--text); text-decoration: none; }
.comment__author a:hover { color: var(--accent); }
.comment__date {
	font-size: .75rem; color: var(--dim);
	padding: .15rem .5rem; border-radius: 999px;
	background: rgba(255,255,255,.04);
}
.comment__awaiting { font-size: .8125rem; color: var(--gold); margin: 0 0 .5rem; }
.comment__content {
	font-family: var(--font-read);
	font-size: 1rem; line-height: 1.75; color: var(--muted);
}
.comment__content p:last-child { margin-bottom: 0; }
.comment__footer { margin-top: .65rem; }
.comment-reply-link {
	font-size: .75rem; font-weight: 600; letter-spacing: .03em;
	text-transform: uppercase; color: var(--accent); text-decoration: none;
}
.comment-reply-link:hover { text-decoration: underline; }

.comment-respond-wrap {
	padding: 2rem 0 0;
	background: transparent; border: 0; border-radius: 0;
}
.comment-form { margin: 0; }
.comment-form .comment-form-field { margin: 0 0 1.35rem; }
.comment-form label {
	display: block; margin-bottom: .4rem;
	font-size: .6875rem; font-weight: 600;
	letter-spacing: .08em; text-transform: uppercase;
	color: var(--dim);
}
.comment-form .required { color: var(--gold); font-weight: 400; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%; background: transparent;
	border: 0; border-bottom: 1px solid var(--border-hairline);
	border-radius: 0; padding: .7rem 0;
	font-family: var(--font-ui); font-size: .9375rem; color: var(--text);
	transition: border-color .2s ease;
}
.comment-form input::placeholder,
.comment-form textarea::placeholder { color: var(--dim); opacity: .8; }
.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-bottom-color: var(--accent);
	box-shadow: none;
}
.comment-form textarea {
	min-height: 7rem; resize: vertical; line-height: 1.65;
	font-family: var(--font-read); font-size: 1rem;
}
.comment-form .comment-form-author,
.comment-form .comment-form-email,
.comment-form .comment-form-url { display: grid; gap: .35rem; }
@media (min-width: 640px) {
	.comment-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 1.5rem;
	}
	.comment-form .comment-form-comment,
	.comment-form .comment-form-antispam,
	.comment-form .comment-form-cookies-consent,
	.comment-form .form-submit,
	.comment-form .comment-notes,
	.comment-form .logged-in-as {
		grid-column: 1 / -1;
	}
}
.comment-form .form-submit { margin: .5rem 0 0; }
.comment-form__submit,
.comment-form input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 10rem; padding: .7rem 1.5rem !important;
	font-family: var(--font-nav); font-size: .8125rem !important;
	font-weight: 600 !important; letter-spacing: .04em;
	text-transform: uppercase;
	background: transparent !important; color: var(--text) !important;
	border: 1px solid var(--border-hairline) !important; border-radius: 999px !important;
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.comment-form__submit:hover,
.comment-form input[type="submit"]:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
	background: transparent !important;
	text-decoration: none;
}
.comment-form .logged-in-as,
.comment-form .comment-notes {
	font-size: .8125rem; color: var(--dim); margin-bottom: 1rem; line-height: 1.5;
}
.comment-form .logged-in-as a { color: var(--accent); }
.comment-form .comment-form-cookies-consent {
	display: flex; align-items: flex-start; gap: .55rem;
	font-size: .8125rem; color: var(--dim); line-height: 1.5;
}
.comment-form .comment-form-cookies-consent input {
	width: auto; margin-top: .15rem; accent-color: var(--accent);
}

.comment-antispam-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.comment-form-antispam input[type="number"] {
	width: 100%;
	max-width: 8rem;
	padding: .65rem .75rem;
	font-family: var(--font-ui);
	font-size: 1rem;
	color: var(--text);
	background: var(--bg-2);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}

.comment-form-antispam input[type="number"]:focus {
	outline: none;
	border-color: color-mix(in srgb, var(--accent) 65%, var(--border));
}

/* ── Pagination ── */
.nav-links, .woocommerce-pagination ul { display: flex; gap: .25rem; flex-wrap: wrap; justify-content: center; list-style: none; margin: 2rem 0 0; padding: 0; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 .4rem; font-size: .8125rem; color: var(--muted); text-decoration: none; border: 1px solid var(--border); border-radius: var(--radius); }
.page-numbers.current, .page-numbers:hover { background: var(--bg-2); color: var(--text); }

.error-404 { text-align: center; padding: 4rem 1rem; }
.back-to-top {
	position: fixed; bottom: 1rem; right: 1rem; z-index: 90;
	width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
	background: color-mix(in srgb, var(--bg-2) 90%, transparent);
	color: var(--text); border: 0;
	border-radius: 999px; cursor: pointer;
	box-shadow: 0 4px 20px rgba(0,0,0,.25);
}

/* Read Meter progress bar — bottom, flat */
.progress-container-top,
.progress-container-bottom,
#bsf_rt_progress_bar_container {
	position: fixed !important;
	top: auto !important;
	bottom: 0 !important;
	left: 0;
	right: 0;
	z-index: 90;
	height: 3px !important;
	background: var(--border) !important;
}
.progress-container-bottom .progress-bar,
.progress-container-top .progress-bar,
#bsf_rt_progress_bar {
	height: 3px !important;
	background-color: var(--accent) !important;
	background-image: none !important;
}
#bsfrt-progress-bar, .bsfrt-progress-bar { height: 3px !important; }

.wpcf7 form input, .wpcf7 form textarea {
	background: var(--bg-2); border: 1px solid var(--border); color: var(--text);
	border-radius: var(--radius); padding: .55rem .75rem; width: 100%;
}
.wpcf7 form input[type="submit"] { width: auto; background: var(--accent); color: #fff; border: 0; }

.breadcrumbs { font-size: .75rem; color: var(--dim); margin-bottom: 1rem; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }

/* ── Responsive ── */
@media (max-width: 1200px) {
	:root { --header-h: 64px; }

	.header-bar {
		gap: .5rem;
	}

	.header-bar__brand {
		flex: 1;
		min-width: 0;
	}

	.header-bar__nav { display: none; }

	.header-bar__actions {
		margin-left: auto;
		justify-content: flex-end;
		flex-wrap: nowrap;
		gap: .15rem;
	}

	.header-bar__pages {
		display: none;
	}

	.header-bar__lang {
		display: none;
	}

	.lang-switcher__toggle {
		min-width: 2.75rem;
		height: 2.75rem;
		padding: 0 .65rem 0 .5rem;
	}

	.header-icon-btn {
		width: 2.75rem;
		height: 2.75rem;
	}

	.header-icon-btn__icon,
	.header-icon-btn svg {
		width: 1.375rem;
		height: 1.375rem;
	}

	.nav-toggle { display: flex; gap: 5px; }

	.nav-toggle__bar {
		width: 22px;
		height: 2px;
	}

	.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.search-panel__inner {
		padding: 1rem 0 1.35rem;
	}

	.search-panel .search-form {
		max-width: none;
		padding: .35rem .35rem .35rem .9rem;
	}

	.search-panel .search-form__input {
		font-size: 1rem;
	}

	.search-panel .search-form__submit {
		width: 2.75rem;
		height: 2.75rem;
	}

	.blog-page__layout--sidebar, .shop-page__layout--sidebar, .article-layout--sidebar { grid-template-columns: 1fr; }
	.article-layout .sidebar,
	.blog-page__sidebar,
	.shop-page__sidebar { position: static; }
	.home-section--books .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.container { width: min(100% - 1.25rem, 68rem); }

	.post-grid, .blog-page__grid { grid-template-columns: 1fr; gap: 1.25rem; }
	.book-grid, .product-grid, .woocommerce ul.products,
	.home-section--books .product-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
	.hero { min-height: 40vh; }
	.article-nav__grid { grid-template-columns: 1fr; }
	.article-nav-card--next { text-align: left; align-items: flex-start; }
	.article-nav-card--next .article-nav-card__label { justify-content: flex-start; }
	.home-cta__inner { flex-direction: column; text-align: center; }

	/* Blog, categorie, archivi */
	.blog-page__header {
		max-width: none;
		margin-inline: auto;
		text-align: center;
	}

	/* Card post */
	.post-card__body,
	.post-card__top,
	.post-card__title,
	.post-card__excerpt,
	.post-card__footer {
		text-align: center;
	}
	.post-card__top {
		justify-content: center;
	}
	.post-card__footer {
		justify-content: center;
		flex-wrap: wrap;
	}
	.post-card__title::after {
		margin-inline: auto;
	}
	.post-card__more {
		margin-inline: auto;
	}
}
