/**
 * Charta 2.3.4 — archive/list and reading-page refinement.
 * Loaded after enterprise-ui.css so older database-saved templates inherit it.
 */

:root {
	--charta-reading-width: 820px;
	--charta-list-cover-width: 36%;
	--charta-list-text-width: 64%;
	--charta-list-card-gap: clamp(1.15rem, 2vw, 1.65rem);
	--charta-list-card-padding: clamp(1rem, 1.8vw, 1.35rem);
}

body.charta-content-width-760 { --charta-reading-width: 760px; }
body.charta-content-width-820 { --charta-reading-width: 820px; }
body.charta-content-width-880 { --charta-reading-width: 880px; }
body.charta-cover-width-32 { --charta-list-cover-width: 32%; --charta-list-text-width: 68%; }
body.charta-cover-width-36 { --charta-list-cover-width: 36%; --charta-list-text-width: 64%; }
body.charta-cover-width-40 { --charta-list-cover-width: 40%; --charta-list-text-width: 60%; }
body.charta-list-density-compact {
	--charta-list-card-gap: 1rem;
	--charta-list-card-padding: 1rem;
}

/* --------------------------------------------------------------------------
 * Shared page shell
 * -------------------------------------------------------------------------- */
body:is(.blog, .archive, .search, .single, .page):not(.charta-enterprise-home-enabled) .site-content.wp-block-group {
	padding-top: clamp(1.5rem, 2.8vw, 2.35rem) !important;
	padding-bottom: clamp(2.2rem, 4vw, 3.5rem) !important;
}

body:is(.blog, .archive, .search, .single, .page):not(.charta-enterprise-home-enabled) .site-content > .wp-block-columns {
	gap: clamp(1.35rem, 2.2vw, 2rem) !important;
}

/* --------------------------------------------------------------------------
 * Archive, category, tag and search headings
 * -------------------------------------------------------------------------- */
.archive .archive-intro,
.search .search-intro,
.search .post-wrapper > .wp-block-group > .wp-block-group:first-child {
	position: relative;
	margin-bottom: 1rem !important;
	padding: 1.25rem 1.45rem !important;
	border: 1px solid #dce4ed !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 5px 18px rgba(15, 35, 58, .045) !important;
	overflow: hidden;
}

.archive .archive-intro::before,
.search .search-intro::before,
.search .post-wrapper > .wp-block-group > .wp-block-group:first-child::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 3px;
	background: var(--charta-enterprise-blue, #2563eb);
}

.archive .archive-intro h1,
.search .search-intro h1,
.search .post-wrapper > .wp-block-group > .wp-block-group:first-child h1 {
	margin: 0 !important;
	font-size: clamp(1.35rem, 2vw, 1.7rem) !important;
	font-weight: 750;
	line-height: 1.35;
	letter-spacing: -.015em;
}

.archive .archive-intro .wp-block-term-description {
	margin-top: .55rem;
	color: #667386;
	font-size: .94rem;
	line-height: 1.75;
}

.search .wp-block-search {
	margin-top: .9rem;
}

.search .wp-block-search__inside-wrapper {
	padding: 4px !important;
	border: 1px solid #d7e0e9 !important;
	border-radius: 9px !important;
	background: #f8fafc;
}

.search .wp-block-search__input {
	min-height: 42px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.search .wp-block-search__button {
	min-width: 44px;
	min-height: 42px;
	margin: 0 !important;
	border-radius: 7px !important;
}

/* --------------------------------------------------------------------------
 * Article list cards
 * -------------------------------------------------------------------------- */
body:is(.blog, .archive, .search) .charta-post-card {
	margin-bottom: 1rem !important;
	padding: var(--charta-list-card-padding) !important;
	border-color: #dfe6ee !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 16px rgba(15, 35, 58, .045) !important;
}

body:is(.blog, .archive, .search) .charta-post-card::before {
	top: 16% !important;
	bottom: 16% !important;
	width: 3px !important;
}

body:is(.blog, .archive, .search) .charta-post-card:hover {
	border-color: #c8d5e2 !important;
	box-shadow: 0 9px 26px rgba(15, 35, 58, .075) !important;
}

body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns {
	gap: var(--charta-list-card-gap) !important;
	align-items: center !important;
}

body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns > .wp-block-column:first-child,
body:is(.blog, .archive, .search) .charta-post-card .charta-post-media {
	flex: 0 0 var(--charta-list-cover-width) !important;
	max-width: var(--charta-list-cover-width) !important;
}

body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns > .wp-block-column:last-child,
body:is(.blog, .archive, .search) .charta-post-card .charta-post-summary {
	flex: 1 1 var(--charta-list-text-width) !important;
	max-width: none !important;
}

body:is(.blog, .archive, .search) .charta-post-card .wp-block-post-featured-image {
	border-radius: 8px !important;
	box-shadow: inset 0 0 0 1px rgba(15, 35, 58, .06);
}

/* Corporate style: keep the image calm rather than zooming on hover. */
body:is(.blog, .archive, .search) .charta-post-card:hover .wp-block-post-featured-image img {
	transform: none !important;
}

body:is(.blog, .archive, .search) .charta-post-card .wp-block-post-title {
	margin-bottom: .5rem !important;
	font-size: clamp(1.12rem, 1.45vw, 1.3rem) !important;
	line-height: 1.42 !important;
	text-wrap: pretty;
}

body:is(.blog, .archive, .search) .charta-post-card .is-style-post-meta {
	gap: .45rem .9rem !important;
	margin-bottom: .55rem !important;
	color: #7a8797 !important;
	font-size: .78rem !important;
}

body:is(.blog, .archive, .search) .charta-post-card .is-style-post-meta strong {
	color: #667487;
	font-weight: 600 !important;
}

body:is(.blog, .archive, .search) .charta-post-card .wp-block-post-excerpt {
	margin-top: .35rem !important;
	color: #536173 !important;
	font-size: .94rem !important;
	line-height: 1.78 !important;
}

body:is(.blog, .archive, .search) .charta-post-card .wp-block-post-excerpt__more-link {
	font-size: .84rem !important;
	letter-spacing: .01em;
}

body.charta-list-density-compact:is(.blog, .archive, .search) .charta-post-card {
	margin-bottom: .8rem !important;
}

body.charta-list-density-compact:is(.blog, .archive, .search) .charta-post-card .wp-block-post-excerpt {
	line-height: 1.68 !important;
}

/* Do not reserve an empty image column for posts without a featured image. */
@supports selector(:has(*)) {
	body:is(.blog, .archive, .search) .charta-post-columns > .wp-block-column:has(> .wp-block-post-featured-image:empty) {
		display: none !important;
	}

	body:is(.blog, .archive, .search) .charta-post-columns:has(.wp-block-post-featured-image:empty) > .wp-block-column:last-child {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

body:is(.blog, .archive, .search) .wp-block-query-pagination {
	justify-content: center !important;
	gap: .35rem !important;
	margin-top: 1.15rem !important;
	padding: .55rem .65rem !important;
	border-radius: 9px !important;
}

body:is(.blog, .archive, .search) .wp-block-query-pagination :where(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	padding: .35rem .7rem;
}

/* --------------------------------------------------------------------------
 * Single article and normal page reading layout
 * -------------------------------------------------------------------------- */
.single .charta-article-card,
.page .charta-article-card,
.single .post-wrapper > .wp-block-group > .wp-block-group:first-child,
.page .post-wrapper > .wp-block-group.has-white-background-color {
	padding: clamp(1.45rem, 3vw, 2.5rem) !important;
	border-radius: 11px !important;
	box-shadow: 0 6px 22px rgba(15, 35, 58, .055) !important;
}

/* Ensure title-first order even when WordPress is still using an old DB-saved page template. */
.page .charta-article-card,
.page .post-wrapper > .wp-block-group.has-white-background-color {
	display: flex;
	flex-direction: column;
}

.page .charta-article-card > *,
.page .post-wrapper > .wp-block-group.has-white-background-color > * {
	order: 5;
}

.page .charta-article-card > .wp-block-post-title,
.page .post-wrapper > .wp-block-group.has-white-background-color > .wp-block-post-title {
	order: 1;
}

.page .charta-article-card > .wp-block-post-featured-image,
.page .post-wrapper > .wp-block-group.has-white-background-color > .wp-block-post-featured-image {
	order: 2;
}

.page .charta-article-card > .wp-block-post-content,
.page .post-wrapper > .wp-block-group.has-white-background-color > .wp-block-post-content {
	order: 3;
}

.single .wp-block-post-title,
.page .wp-block-post-title {
	max-width: 980px;
	margin-right: auto !important;
	margin-bottom: .85rem !important;
	margin-left: auto !important;
	font-size: clamp(1.75rem, 3vw, 2.4rem) !important;
	font-weight: 760 !important;
	line-height: 1.28 !important;
	letter-spacing: -.025em !important;
	text-align: left;
	text-wrap: pretty;
}

.single .is-style-post-meta {
	max-width: 980px;
	margin: 0 auto !important;
	padding: 0 0 1rem !important;
	gap: .5rem 1rem !important;
	border-bottom: 1px solid #e8edf3 !important;
	color: #768396 !important;
	font-size: .82rem !important;
}

.single .is-style-post-meta > .wp-block-group {
	gap: .3rem !important;
}

.single .is-style-post-meta strong {
	color: #5d6b7d;
	font-weight: 650;
}

.single .wp-block-post-featured-image,
.page .wp-block-post-featured-image {
	width: 100%;
	margin: clamp(1.2rem, 2.2vw, 1.75rem) 0 clamp(1.6rem, 2.8vw, 2.25rem) !important;
	aspect-ratio: 16 / 9;
	border-radius: 9px !important;
	background: #eef2f6;
	box-shadow: inset 0 0 0 1px rgba(15, 35, 58, .055);
}

.single .wp-block-post-featured-image img,
.page .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single .wp-block-post-content,
.page .wp-block-post-content {
	font-size: 17px !important;
	line-height: 1.9 !important;
	letter-spacing: .008em;
}

.single .wp-block-post-content > :where(:not(.alignwide):not(.alignfull)),
.page .wp-block-post-content > :where(:not(.alignwide):not(.alignfull)) {
	width: min(100%, var(--charta-reading-width));
	margin-right: auto;
	margin-left: auto;
}

.single .wp-block-post-content > :where(p, ul, ol, blockquote, pre, table, .wp-block-table, .wp-block-group),
.page .wp-block-post-content > :where(p, ul, ol, blockquote, pre, table, .wp-block-table, .wp-block-group) {
	margin-top: 0;
	margin-bottom: 1.25em;
}

.single .wp-block-post-content :where(p, li),
.page .wp-block-post-content :where(p, li) {
	color: #334155;
}

.single .wp-block-post-content :where(ul, ol),
.page .wp-block-post-content :where(ul, ol) {
	padding-left: 1.45em;
}

.single .wp-block-post-content li + li,
.page .wp-block-post-content li + li {
	margin-top: .35em;
}

.single .wp-block-post-content h2,
.page .wp-block-post-content h2 {
	position: relative;
	margin-top: 2.15em !important;
	margin-bottom: .85em !important;
	padding: 0 0 .55rem !important;
	border: 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
	font-size: clamp(1.35rem, 2vw, 1.6rem) !important;
	line-height: 1.42 !important;
}

.single .wp-block-post-content h2::after,
.page .wp-block-post-content h2::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 46px;
	height: 2px;
	background: var(--charta-enterprise-blue, #2563eb);
}

.single .wp-block-post-content h3,
.page .wp-block-post-content h3 {
	margin-top: 1.75em !important;
	margin-bottom: .7em !important;
	font-size: clamp(1.16rem, 1.6vw, 1.32rem) !important;
	line-height: 1.5 !important;
}

.single .wp-block-post-content h4,
.page .wp-block-post-content h4 {
	margin-top: 1.5em !important;
	margin-bottom: .6em !important;
	font-size: 1.08rem !important;
}

.single .wp-block-post-content blockquote,
.page .wp-block-post-content blockquote {
	padding: 1rem 1.2rem !important;
	border-left-width: 3px !important;
	border-radius: 0 8px 8px 0 !important;
	background: #f5f8fc !important;
	color: #445368;
}

.single .wp-block-post-content blockquote > :first-child,
.page .wp-block-post-content blockquote > :first-child {
	margin-top: 0;
}

.single .wp-block-post-content blockquote > :last-child,
.page .wp-block-post-content blockquote > :last-child {
	margin-bottom: 0;
}

.single .wp-block-post-content pre,
.page .wp-block-post-content pre {
	padding: 1.1rem 1.2rem;
	border: 1px solid #dbe3ec;
	border-radius: 8px;
	background: #0f1d2b;
	color: #e6edf5;
	overflow: auto;
}

.single .wp-block-post-content :not(pre) > code,
.page .wp-block-post-content :not(pre) > code {
	padding: .15em .38em;
	border: 1px solid #e1e7ee;
	border-radius: 4px;
	background: #f4f6f8;
	color: #b4233a;
	font-size: .9em;
}

.single .wp-block-post-content table,
.page .wp-block-post-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .94em;
}

.single .wp-block-post-content :where(th, td),
.page .wp-block-post-content :where(th, td) {
	padding: .7rem .8rem;
	border: 1px solid #dfe6ee;
	text-align: left;
}

.single .wp-block-post-content th,
.page .wp-block-post-content th {
	background: #f3f6f9;
	font-weight: 700;
}

.single .wp-block-post-content figure,
.page .wp-block-post-content figure {
	margin-top: 1.5rem;
	margin-bottom: 1.7rem;
}

.single .wp-block-post-content figcaption,
.page .wp-block-post-content figcaption {
	margin-top: .55rem;
	color: #7a8797;
	font-size: .82rem;
	line-height: 1.6;
	text-align: center;
}

.single .wp-block-post-content hr,
.page .wp-block-post-content hr {
	margin-top: 2rem;
	margin-bottom: 2rem;
	background: #e1e7ee;
}

.single .post-navigation {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .8rem !important;
	padding: .9rem !important;
	border-radius: 10px !important;
}

.single .post-navigation > * {
	min-width: 0;
}

.single .post-navigation a {
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: .75rem .9rem;
	border: 1px solid #e0e7ef;
	border-radius: 8px;
	background: #f8fafc;
	color: #334155 !important;
	font-size: .9rem;
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none !important;
}

.single .post-navigation a:hover,
.single .post-navigation a:focus {
	border-color: #bdd0e4;
	background: #f1f6fb;
	color: var(--charta-enterprise-blue-dark, #174ea6) !important;
}

.single .wp-block-post-comments {
	padding: clamp(1.1rem, 2.4vw, 1.65rem) !important;
	border-radius: 10px !important;
}

/* Keep the reading sidebar useful without visually competing with the article. */
@media (min-width: 921px) {
	.single .sidebar,
	.page:not(.charta-enterprise-home-enabled) .sidebar {
		position: sticky;
		top: 96px;
	}
}

/* --------------------------------------------------------------------------
 * Responsive reading and list layout
 * -------------------------------------------------------------------------- */
@media (max-width: 920px) {
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns > .wp-block-column:first-child,
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-media {
		flex-basis: 34% !important;
		max-width: 34% !important;
	}

	.single .wp-block-post-content,
	.page .wp-block-post-content {
		font-size: 16.5px !important;
	}
}

@media (max-width: 760px) {
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns {
		gap: .9rem !important;
	}

	body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns > .wp-block-column:first-child,
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-columns > .wp-block-column:last-child,
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-media,
	body:is(.blog, .archive, .search) .charta-post-card .charta-post-summary {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}

	body:is(.blog, .archive, .search) .charta-post-card .wp-block-post-title {
		font-size: 1.12rem !important;
	}

	.single .charta-article-card,
	.page .charta-article-card,
	.single .post-wrapper > .wp-block-group > .wp-block-group:first-child,
	.page .post-wrapper > .wp-block-group.has-white-background-color {
		padding: 1.15rem !important;
	}

	.single .wp-block-post-title,
	.page .wp-block-post-title {
		font-size: clamp(1.55rem, 7vw, 1.95rem) !important;
		line-height: 1.34 !important;
	}

	.single .is-style-post-meta {
		gap: .4rem .75rem !important;
	}

	.single .wp-block-post-featured-image,
	.page .wp-block-post-featured-image {
		margin-top: 1rem !important;
		margin-bottom: 1.35rem !important;
		border-radius: 7px !important;
	}

	.single .wp-block-post-content,
	.page .wp-block-post-content {
		font-size: 16px !important;
		line-height: 1.86 !important;
	}

	.single .post-navigation {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	body:is(.blog, .archive, .search, .single, .page):not(.charta-enterprise-home-enabled) .site-content.wp-block-group {
		padding-right: .7rem !important;
		padding-left: .7rem !important;
	}

	.archive .archive-intro,
	.search .search-intro,
	.search .post-wrapper > .wp-block-group > .wp-block-group:first-child {
		padding: 1rem 1.05rem !important;
	}

	body:is(.blog, .archive, .search) .charta-post-card {
		padding: .82rem !important;
		border-radius: 8px !important;
	}

	.single .charta-article-card,
	.page .charta-article-card,
	.single .post-wrapper > .wp-block-group > .wp-block-group:first-child,
	.page .post-wrapper > .wp-block-group.has-white-background-color {
		padding: 1rem !important;
		border-radius: 8px !important;
	}

	.single .wp-block-post-content h2,
	.page .wp-block-post-content h2 {
		font-size: 1.3rem !important;
	}
}
