/*
Theme Name: Communio GeneratePress Child
Theme URI: https://communio.org/
Description: Minimal GeneratePress child theme for Communio.
Author: Communio
Template: generatepress
Version: 0.1.0
Text Domain: communio-generatepress-child
*/

/* Communio journal templates. */
:root {
	--communio-content-width: 760px;
	--communio-border: #ddd8cf;
	--communio-border-light: #ebe7df;
	--communio-text: #292622;
	--communio-heading: #24211d;
	--communio-muted: #625b51;
	--communio-link: #58432f;
	--communio-surface: #fbfaf7;
}

body.single-communio_article #primary,
body.single-communio_issue #primary,
body.single-communio_author #primary,
body.post-type-archive-communio_article #primary,
body.post-type-archive-communio_issue #primary,
body.post-type-archive-communio_author #primary,
body.search #primary {
	max-width: var(--communio-content-width);
	margin-right: auto;
	margin-left: auto;
	padding: 3rem 1.25rem;
}

body.single-communio_article #primary {
	box-sizing: border-box;
	min-width: 0;
}

body.search #right-sidebar,
body.search #left-sidebar,
body.single-communio_article #right-sidebar,
body.single-communio_article #left-sidebar,
body.single-communio_issue #right-sidebar,
body.single-communio_issue #left-sidebar,
body.single-communio_author #right-sidebar,
body.single-communio_author #left-sidebar,
body.post-type-archive-communio_article #right-sidebar,
body.post-type-archive-communio_article #left-sidebar,
body.post-type-archive-communio_issue #right-sidebar,
body.post-type-archive-communio_issue #left-sidebar,
body.post-type-archive-communio_author #right-sidebar,
body.post-type-archive-communio_author #left-sidebar {
	display: none;
}

body.post-type-archive-communio_article .page-header,
body.post-type-archive-communio_issue .page-header,
body.post-type-archive-communio_author .page-header,
body.search .page-header {
	margin-bottom: 2.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--communio-border);
}

body.post-type-archive-communio_article .page-header h1,
body.post-type-archive-communio_issue .page-header h1,
body.post-type-archive-communio_author .page-header h1,
body.search .page-header h1 {
	margin-bottom: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(1.8rem, 4vw, 2.35rem);
	font-weight: 400;
	line-height: 1.18;
	color: var(--communio-heading);
	overflow-wrap: anywhere;
}

:where(body.page) .entry-title {
	font-family: var(--communio-font-display);
}

article.type-communio_article,
article.type-communio_issue,
article.type-communio_author {
	font-family: var(--communio-font-utility);
}

article.type-communio_article,
article.type-communio_issue,
article.type-communio_author {
	margin-bottom: 2.75rem;
	color: var(--communio-text);
}

body.post-type-archive-communio_article article.type-communio_article,
body.post-type-archive-communio_issue article.type-communio_issue,
body.post-type-archive-communio_author article.type-communio_author {
	margin-bottom: 0;
	padding: 1.35rem 0 1.6rem;
	border-bottom: 1px solid var(--communio-border-light);
}

article.type-communio_article .entry-header,
article.type-communio_issue .entry-header,
article.type-communio_author .entry-header {
	margin-bottom: 1.6rem;
}

article.type-communio_article .entry-title,
article.type-communio_issue .entry-title,
article.type-communio_author .entry-title {
	margin-bottom: 0.55rem;
	font-family: var(--communio-font-display);
	font-weight: 400;
	line-height: 1.18;
	color: var(--communio-heading);
	overflow-wrap: anywhere;
}

body.single-communio_article article.type-communio_article .entry-title,
body.single-communio_issue article.type-communio_issue .entry-title,
body.single-communio_author article.type-communio_author .entry-title {
	font-size: clamp(2rem, 5vw, 3rem);
}

body.post-type-archive-communio_article article.type-communio_article .entry-title,
body.post-type-archive-communio_issue article.type-communio_issue .entry-title,
body.post-type-archive-communio_author article.type-communio_author .entry-title {
	font-size: clamp(1.3rem, 2.5vw, 1.6rem);
}

article.type-communio_article .entry-title a,
article.type-communio_issue .entry-title a,
article.type-communio_author .entry-title a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

article.type-communio_article .entry-subtitle {
	max-width: 42rem;
	margin: 0.35rem 0 1rem;
	font-family: var(--communio-font-reading);
	font-size: 1.35rem;
	font-style: italic;
	line-height: 1.35;
	color: #5c554b;
}

article.type-communio_article .entry-meta,
article.type-communio_issue .entry-meta,
article.type-communio_author .entry-meta {
	margin-top: 0.85rem;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--communio-muted);
}

article.type-communio_article .entry-meta p,
article.type-communio_issue .entry-meta,
article.type-communio_author .entry-meta {
	margin-bottom: 0.35rem;
}

article.type-communio_article .entry-meta a,
article.type-communio_issue .entry-meta a,
article.type-communio_author .entry-meta a,
section[aria-labelledby="communio-issue-articles-heading"] a,
section[aria-labelledby="communio-author-articles-heading"] a {
	color: var(--communio-link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

article.type-communio_article .entry-meta a[href$=".pdf"],
article.type-communio_article .entry-meta a[href*=".pdf?"],
article.type-communio_issue .entry-meta a[href$=".pdf"],
article.type-communio_issue .entry-meta a[href*=".pdf?"] {
	display: inline-block;
	margin-top: 0.25rem;
	padding: 0.28rem 0.7rem;
	border: 1px solid #b9aa98;
	border-radius: 2px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--communio-heading);
	background: #fff;
}

article.type-communio_article .entry-content,
article.type-communio_issue .entry-content,
article.type-communio_author .entry-content,
article.type-communio_article .entry-summary,
article.type-communio_issue .entry-summary,
article.type-communio_author .entry-summary {
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.72;
}

body.single-communio_article article.type-communio_article .entry-content {
	font-size: 1.12rem;
}

article.type-communio_article .entry-content > *,
article.type-communio_issue .entry-content > *,
article.type-communio_author .entry-content > * {
	margin-bottom: 1.2rem;
}

article.type-communio_article .entry-summary,
article.type-communio_issue .entry-summary,
article.type-communio_author .entry-summary {
	color: #4d463d;
}

article.type-communio_article .communio-article-summary {
	margin: 1.25rem 0 2rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--communio-border);
	background: var(--communio-surface);
	color: #4d463d;
}

article.type-communio_article .communio-article-summary > :last-child {
	margin-bottom: 0;
}

article.type-communio_article .entry-content .footnotes,
article.type-communio_article .entry-content .wp-block-footnotes,
article.type-communio_article .entry-content ol.footnotes,
article.type-communio_article .entry-content section[role="doc-endnotes"] {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--communio-border);
	font-size: 0.95rem;
	line-height: 1.6;
	color: #4d463d;
}

article.type-communio_issue .post-thumbnail {
	margin: 1.5rem 0 2rem;
}

article.type-communio_issue .post-thumbnail img {
	display: block;
	max-width: 320px;
	height: auto;
	border: 1px solid var(--communio-border);
}

.communio-issue-purchase {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
	margin: 1.75rem 0 2rem;
	padding: 0.9rem 1rem;
	border: 1px solid var(--communio-border-light);
	border-left-color: var(--communio-border);
	background: var(--communio-surface);
	color: var(--communio-text);
}

.communio-issue-purchase__heading {
	margin: 0;
	font-family: var(--communio-font-utility);
	font-size: 1.12rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--communio-heading);
}

.communio-issue-purchase__button {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem 0.65rem;
	font-size: 0.92rem;
	line-height: 1.4;
	color: var(--communio-muted);
}

.communio-issue-purchase .add_to_cart_inline {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem 0.65rem;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent;
}

.communio-issue-purchase .woocommerce-Price-amount {
	font-weight: 600;
	color: var(--communio-text);
}

.communio-issue-purchase a.button,
.communio-issue-purchase a.added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.15rem;
	padding: 0.4rem 0.8rem;
	border: 1px solid #b9aa98;
	border-radius: 2px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	box-shadow: none;
}

.communio-issue-purchase a.button {
	color: #fff;
	background: var(--communio-link);
}

.communio-issue-purchase a.button:hover,
.communio-issue-purchase a.button:focus {
	color: #fff;
	background: var(--communio-heading);
}

.communio-issue-purchase a.added_to_cart {
	color: var(--communio-link);
	background: #fff;
}

section[aria-labelledby="communio-issue-articles-heading"],
section[aria-labelledby="communio-author-articles-heading"] {
	margin-top: 3rem;
	padding-top: 1.75rem;
	border-top: 1px solid var(--communio-border);
}

section[aria-labelledby="communio-issue-articles-heading"] h2,
section[aria-labelledby="communio-author-articles-heading"] h2 {
	margin-bottom: 1.1rem;
	font-family: var(--communio-font-display);
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.25;
	color: var(--communio-heading);
}

body.single-communio_author section[aria-labelledby="communio-author-articles-heading"] form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-size: 0.9rem;
	color: var(--communio-muted);
}

body.single-communio_author section[aria-labelledby="communio-author-articles-heading"] label {
	margin: 0;
	font-weight: 400;
}

body.single-communio_author section[aria-labelledby="communio-author-articles-heading"] select,
body.single-communio_author section[aria-labelledby="communio-author-articles-heading"] button {
	min-height: 2rem;
	padding: 0.25rem 0.55rem;
	border: 1px solid var(--communio-border);
	border-radius: 2px;
	font: inherit;
	line-height: 1.3;
	color: var(--communio-text);
	background: #fff;
}

body.single-communio_author section[aria-labelledby="communio-author-articles-heading"] button {
	color: var(--communio-link);
	background: var(--communio-surface);
}

section[aria-labelledby="communio-issue-articles-heading"] ul,
section[aria-labelledby="communio-author-articles-heading"] ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--communio-border-light);
}

section[aria-labelledby="communio-issue-articles-heading"] li,
section[aria-labelledby="communio-author-articles-heading"] li {
	padding: 1rem 0;
	border-bottom: 1px solid var(--communio-border-light);
}

section[aria-labelledby="communio-issue-articles-heading"] li > a,
section[aria-labelledby="communio-author-articles-heading"] li > a {
	display: inline-block;
	font-family: var(--communio-font-display);
	font-size: 1.08rem;
	line-height: 1.35;
	color: var(--communio-heading);
}

section[aria-labelledby="communio-issue-articles-heading"] li span,
section[aria-labelledby="communio-author-articles-heading"] li span {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--communio-muted);
}

.communio-search-results {
	border-top: 1px solid var(--communio-border-light);
}

.communio-search-result {
	margin: 0;
	padding: 1.35rem 0 1.6rem;
	border-bottom: 1px solid var(--communio-border-light);
	color: var(--communio-text);
}

.communio-search-result .entry-header {
	margin-bottom: 0.7rem;
}

.communio-search-result .entry-title {
	margin-bottom: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(1.25rem, 2.5vw, 1.55rem);
	font-weight: 400;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.communio-search-result .entry-title a {
	color: var(--communio-heading);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.communio-search-result .entry-summary {
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
	color: #4d463d;
}

.communio-search-result .entry-summary > :last-child {
	margin-bottom: 0;
}

/* Communio shortcode output. */
.communio-author-index,
.communio-current-issue,
.communio-issue-grid {
	margin: 2rem 0;
	color: var(--communio-text);
	font-family: var(--communio-font-utility);
}

.communio-author-index__group {
	margin-bottom: 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--communio-border-light);
}

.communio-author-index__letter {
	margin: 0 0 0.75rem;
	font-family: var(--communio-font-utility);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.25;
	color: var(--communio-heading);
}

.communio-author-index__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 0.35rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.communio-author-index__item {
	margin: 0;
	line-height: 1.45;
}

.communio-author-index__item a,
.communio-current-issue__link,
.communio-issue-grid__title a {
	color: var(--communio-link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.communio-current-issue {
	padding: 1.25rem 0;
	border-top: 1px solid var(--communio-border-light);
	border-bottom: 1px solid var(--communio-border-light);
}

.communio-current-issue__title,
.communio-issue-grid__title {
	margin: 0 0 0.45rem;
	font-family: var(--communio-font-display);
	font-weight: 400;
	line-height: 1.25;
	color: var(--communio-heading);
	overflow-wrap: anywhere;
}

.communio-current-issue__title {
	font-size: clamp(1.35rem, 2.5vw, 1.7rem);
}

.communio-current-issue__meta {
	margin: 0 0 0.85rem;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--communio-muted);
}

.communio-current-issue__excerpt {
	max-width: 42rem;
	margin: 0 0 1rem;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
	color: #4d463d;
}

.communio-current-issue__excerpt > :last-child {
	margin-bottom: 0;
}

.communio-current-issue__link {
	display: inline-block;
	font-weight: 600;
}

.communio-issue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: 1rem 1.5rem;
}

.communio-issue-grid__item {
	margin: 0;
	padding: 1rem 0;
	border-top: 1px solid var(--communio-border-light);
}

.communio-issue-grid__title {
	font-size: 1.12rem;
}

.paging-navigation,
.post-navigation,
.posts-navigation {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid var(--communio-border-light);
}

@media (max-width: 700px) {
	body.single-communio_article #primary,
	body.single-communio_issue #primary,
	body.single-communio_author #primary,
	body.post-type-archive-communio_article #primary,
	body.post-type-archive-communio_issue #primary,
	body.post-type-archive-communio_author #primary,
	body.search #primary {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	article.type-communio_article .entry-subtitle {
		font-size: 1.18rem;
	}

	body.single-communio_article article.type-communio_article .entry-content,
	article.type-communio_article .entry-content,
	article.type-communio_issue .entry-content,
	article.type-communio_author .entry-content,
	article.type-communio_article .entry-summary,
	article.type-communio_issue .entry-summary,
	article.type-communio_author .entry-summary {
		font-size: 1.0625rem;
		line-height: 1.68;
	}

	.communio-issue-purchase,
	.communio-issue-purchase__button,
	.communio-issue-purchase .add_to_cart_inline {
		align-items: flex-start;
		justify-content: flex-start;
	}
}

/* Communio first polish pass: issue pages and public archive refinement. */

:root {
	--communio-rule-dark: #c9bdad;
	--communio-accent-soft: #f4efe7;
	--communio-accent-warm: #7a5a3a;
	--communio-shadow-soft: 0 10px 28px rgba(41, 38, 34, 0.06);
}

body.single-communio_article #primary,
body.single-communio_issue #primary,
body.single-communio_author #primary,
body.post-type-archive-communio_article #primary,
body.post-type-archive-communio_issue #primary,
body.post-type-archive-communio_author #primary,
body.search #primary {
	padding-top: clamp(2rem, 5vw, 4rem);
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

body.post-type-archive-communio_article .page-header,
body.post-type-archive-communio_issue .page-header,
body.post-type-archive-communio_author .page-header,
body.search .page-header {
	margin-bottom: 2.75rem;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid var(--communio-rule-dark);
}

body.post-type-archive-communio_article article.type-communio_article,
body.post-type-archive-communio_issue article.type-communio_issue,
body.post-type-archive-communio_author article.type-communio_author {
	position: relative;
	padding: 1.75rem 0 1.9rem;
	border-bottom: 1px solid var(--communio-border-light);
}

body.post-type-archive-communio_article article.type-communio_article::before,
body.post-type-archive-communio_issue article.type-communio_issue::before,
body.post-type-archive-communio_author article.type-communio_author::before {
	content: "";
	position: absolute;
	top: 1.75rem;
	left: -1rem;
	width: 3px;
	height: 2.4rem;
	background: var(--communio-border);
	opacity: 0;
	transition: opacity 160ms ease;
}

body.post-type-archive-communio_article article.type-communio_article:hover::before,
body.post-type-archive-communio_issue article.type-communio_issue:hover::before,
body.post-type-archive-communio_author article.type-communio_author:hover::before {
	opacity: 1;
}

body.post-type-archive-communio_article article.type-communio_article .entry-header,
body.post-type-archive-communio_issue article.type-communio_issue .entry-header,
body.post-type-archive-communio_author article.type-communio_author .entry-header {
	margin-bottom: 0.75rem;
}

body.post-type-archive-communio_article article.type-communio_article .entry-summary,
body.post-type-archive-communio_issue article.type-communio_issue .entry-summary,
body.post-type-archive-communio_author article.type-communio_author .entry-summary {
	max-width: 42rem;
	font-size: 1.125rem;
	line-height: 1.65;
	color: #514a41;
}

article.type-communio_article .entry-title a:hover,
article.type-communio_issue .entry-title a:hover,
article.type-communio_author .entry-title a:hover,
section[aria-labelledby="communio-issue-articles-heading"] a:hover,
section[aria-labelledby="communio-author-articles-heading"] a:hover {
	color: var(--communio-accent-warm);
	text-decoration-thickness: 1px;
}

body.single-communio_issue article.type-communio_issue {
	margin-bottom: 3rem;
}

body.single-communio_issue article.type-communio_issue .entry-header {
	margin-bottom: 1.35rem;
	padding-bottom: 1.15rem;
	border-bottom: 1px solid var(--communio-border-light);
}

body.single-communio_issue article.type-communio_issue .entry-meta {
	margin-top: 1rem;
}

article.type-communio_issue .post-thumbnail {
	margin: 2rem 0 2.4rem;
}

article.type-communio_issue .post-thumbnail img {
	max-width: min(340px, 100%);
	padding: 0.45rem;
	border: 1px solid var(--communio-border);
	background: #fff;
	box-shadow: var(--communio-shadow-soft);
}

.communio-issue-purchase {
	margin: 2rem 0 2.35rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--communio-border);
	border-left: 4px solid var(--communio-rule-dark);
	background: linear-gradient(180deg, #fffdf9 0%, var(--communio-surface) 100%);
	box-shadow: var(--communio-shadow-soft);
}

.communio-issue-purchase__heading {
	color: var(--communio-heading);
	font-weight: 400;
	letter-spacing: 0.01em;
}

.communio-issue-purchase__button .button,
.communio-issue-purchase__button button,
.communio-issue-purchase__button .add_to_cart_button {
	border-radius: 0;
	border: 1px solid var(--communio-heading);
	background: var(--communio-heading);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.communio-issue-purchase__button .button:hover,
.communio-issue-purchase__button button:hover,
.communio-issue-purchase__button .add_to_cart_button:hover {
	border-color: var(--communio-accent-warm);
	background: var(--communio-accent-warm);
	color: #fff;
}

section[aria-labelledby="communio-issue-articles-heading"],
section[aria-labelledby="communio-author-articles-heading"] {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--communio-rule-dark);
}

section[aria-labelledby="communio-issue-articles-heading"] h2,
section[aria-labelledby="communio-author-articles-heading"] h2 {
	margin-bottom: 1.25rem;
	font-family: var(--communio-font-display);
	font-size: clamp(1.45rem, 3vw, 1.9rem);
	font-weight: 400;
	line-height: 1.2;
	color: var(--communio-heading);
}

section[aria-labelledby="communio-issue-articles-heading"] ul,
section[aria-labelledby="communio-author-articles-heading"] ul {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

section[aria-labelledby="communio-issue-articles-heading"] li,
section[aria-labelledby="communio-author-articles-heading"] li {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--communio-border-light);
	font-family: var(--communio-font-reading);
	line-height: 1.55;
}

section[aria-labelledby="communio-issue-articles-heading"] li > a,
section[aria-labelledby="communio-author-articles-heading"] li > a {
	display: inline;
	font-size: 1.08rem;
}

section[aria-labelledby="communio-issue-articles-heading"] li > span,
section[aria-labelledby="communio-author-articles-heading"] li > span {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--communio-font-utility);
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--communio-muted);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--communio-accent-warm);
	outline-offset: 3px;
}

@media (max-width: 680px) {
	body.post-type-archive-communio_article article.type-communio_article::before,
	body.post-type-archive-communio_issue article.type-communio_issue::before,
	body.post-type-archive-communio_author article.type-communio_author::before {
		display: none;
	}

	.communio-issue-purchase {
		display: block;
	}

	.communio-issue-purchase__heading {
		margin-bottom: 0.85rem;
	}
}


/* Communio first polish pass: issue pages and public archive refinement. */

:root {
	--communio-rule-dark: #c9bdad;
	--communio-accent-soft: #f4efe7;
	--communio-accent-warm: #7a5a3a;
	--communio-shadow-soft: 0 10px 28px rgba(41, 38, 34, 0.06);
}

body.single-communio_article #primary,
body.single-communio_issue #primary,
body.single-communio_author #primary,
body.post-type-archive-communio_article #primary,
body.post-type-archive-communio_issue #primary,
body.post-type-archive-communio_author #primary,
body.search #primary {
	padding-top: clamp(2rem, 5vw, 4rem);
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

body.post-type-archive-communio_article .page-header,
body.post-type-archive-communio_issue .page-header,
body.post-type-archive-communio_author .page-header,
body.search .page-header {
	margin-bottom: 2.75rem;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid var(--communio-rule-dark);
}

body.post-type-archive-communio_article article.type-communio_article,
body.post-type-archive-communio_issue article.type-communio_issue,
body.post-type-archive-communio_author article.type-communio_author {
	position: relative;
	padding: 1.75rem 0 1.9rem;
	border-bottom: 1px solid var(--communio-border-light);
}

body.post-type-archive-communio_article article.type-communio_article::before,
body.post-type-archive-communio_issue article.type-communio_issue::before,
body.post-type-archive-communio_author article.type-communio_author::before {
	content: "";
	position: absolute;
	top: 1.75rem;
	left: -1rem;
	width: 3px;
	height: 2.4rem;
	background: var(--communio-border);
	opacity: 0;
	transition: opacity 160ms ease;
}

body.post-type-archive-communio_article article.type-communio_article:hover::before,
body.post-type-archive-communio_issue article.type-communio_issue:hover::before,
body.post-type-archive-communio_author article.type-communio_author:hover::before {
	opacity: 1;
}

body.post-type-archive-communio_article article.type-communio_article .entry-header,
body.post-type-archive-communio_issue article.type-communio_issue .entry-header,
body.post-type-archive-communio_author article.type-communio_author .entry-header {
	margin-bottom: 0.75rem;
}

body.post-type-archive-communio_article article.type-communio_article .entry-summary,
body.post-type-archive-communio_issue article.type-communio_issue .entry-summary,
body.post-type-archive-communio_author article.type-communio_author .entry-summary {
	max-width: 42rem;
	font-size: 1.125rem;
	line-height: 1.65;
	color: #514a41;
}

article.type-communio_article .entry-title a:hover,
article.type-communio_issue .entry-title a:hover,
article.type-communio_author .entry-title a:hover,
section[aria-labelledby="communio-issue-articles-heading"] a:hover,
section[aria-labelledby="communio-author-articles-heading"] a:hover {
	color: var(--communio-accent-warm);
	text-decoration-thickness: 1px;
}

body.single-communio_issue article.type-communio_issue {
	margin-bottom: 3rem;
}

body.single-communio_issue article.type-communio_issue .entry-header {
	margin-bottom: 1.35rem;
	padding-bottom: 1.15rem;
	border-bottom: 1px solid var(--communio-border-light);
}

body.single-communio_issue article.type-communio_issue .entry-meta {
	margin-top: 1rem;
}

article.type-communio_issue .post-thumbnail {
	margin: 2rem 0 2.4rem;
}

article.type-communio_issue .post-thumbnail img {
	max-width: min(340px, 100%);
	padding: 0.45rem;
	border: 1px solid var(--communio-border);
	background: #fff;
	box-shadow: var(--communio-shadow-soft);
}

.communio-issue-purchase {
	margin: 2rem 0 2.35rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--communio-border);
	border-left: 4px solid var(--communio-rule-dark);
	background: linear-gradient(180deg, #fffdf9 0%, var(--communio-surface) 100%);
	box-shadow: var(--communio-shadow-soft);
}

.communio-issue-purchase__heading {
	color: var(--communio-heading);
	font-weight: 400;
	letter-spacing: 0.01em;
}

.communio-issue-purchase__button .button,
.communio-issue-purchase__button button,
.communio-issue-purchase__button .add_to_cart_button {
	border-radius: 0;
	border: 1px solid var(--communio-heading);
	background: var(--communio-heading);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.communio-issue-purchase__button .button:hover,
.communio-issue-purchase__button button:hover,
.communio-issue-purchase__button .add_to_cart_button:hover {
	border-color: var(--communio-accent-warm);
	background: var(--communio-accent-warm);
	color: #fff;
}

section[aria-labelledby="communio-issue-articles-heading"],
section[aria-labelledby="communio-author-articles-heading"] {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--communio-rule-dark);
}

section[aria-labelledby="communio-issue-articles-heading"] h2,
section[aria-labelledby="communio-author-articles-heading"] h2 {
	margin-bottom: 1.25rem;
	font-family: var(--communio-font-display);
	font-size: clamp(1.45rem, 3vw, 1.9rem);
	font-weight: 400;
	line-height: 1.2;
	color: var(--communio-heading);
}

section[aria-labelledby="communio-issue-articles-heading"] ul,
section[aria-labelledby="communio-author-articles-heading"] ul {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

section[aria-labelledby="communio-issue-articles-heading"] li,
section[aria-labelledby="communio-author-articles-heading"] li {
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--communio-border-light);
	font-family: var(--communio-font-reading);
	line-height: 1.55;
}

section[aria-labelledby="communio-issue-articles-heading"] li > a,
section[aria-labelledby="communio-author-articles-heading"] li > a {
	display: inline;
	font-size: 1.08rem;
}

section[aria-labelledby="communio-issue-articles-heading"] li > span,
section[aria-labelledby="communio-author-articles-heading"] li > span {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--communio-font-utility);
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--communio-muted);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--communio-accent-warm);
	outline-offset: 3px;
}

@media (max-width: 680px) {
	body.post-type-archive-communio_article article.type-communio_article::before,
	body.post-type-archive-communio_issue article.type-communio_issue::before,
	body.post-type-archive-communio_author article.type-communio_author::before {
		display: none;
	}

	.communio-issue-purchase {
		display: block;
	}

	.communio-issue-purchase__heading {
		margin-bottom: 0.85rem;
	}
}


/* Article-level topic browsing */
body.page-id-0 .communio-topic-index,
.communio-topic-index {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}

.communio-topic-index-intro {
	max-width: 760px;
	color: #555;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
}

.communio-topic-card {
	display: block;
	padding: 1.1rem 1.2rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 4px;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.communio-topic-card:hover,
.communio-topic-card:focus {
	color: inherit;
	text-decoration: none;
	transform: translateY(-1px);
	border-color: rgba(0, 0, 0, 0.28);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.communio-topic-card__name {
	display: block;
	font-family: var(--communio-font-utility);
	font-size: 1.25rem;
	line-height: 1.25;
}

.communio-topic-card__count {
	display: block;
	margin-top: 0.45rem;
	font-size: 0.9rem;
	color: #666;
}

.communio-topic-archive {
	max-width: 980px;
	margin: 0 auto;
	padding: 3rem 1.5rem;
}

.communio-topic-archive__header {
	margin-bottom: 2.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	padding-bottom: 1.5rem;
}

.communio-topic-archive__kicker {
	margin-bottom: 0.35rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.78rem;
	color: #777;
}

.communio-topic-results {
	display: grid;
	gap: 1.5rem;
}

.communio-topic-result {
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-topic-result__title {
	margin-bottom: 0.45rem;
	font-family: var(--communio-font-display);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.2;
}

.communio-topic-result__title a {
	color: inherit;
	text-decoration: none;
}

.communio-topic-result__title a:hover,
.communio-topic-result__title a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

.communio-topic-result__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	margin-bottom: 0.75rem;
	color: #666;
	font-size: 0.95rem;
}

.communio-topic-result__meta span:not(:last-child)::after {
	content: "·";
	margin-left: 0.75rem;
	color: #aaa;
}

.communio-topic-result__meta a {
	color: inherit;
	text-decoration: none;
}

.communio-topic-result__meta a:hover,
.communio-topic-result__meta a:focus {
	text-decoration: underline;
}

.communio-topic-result__summary {
	max-width: 760px;
	color: #333;
}

.communio-topic-pagination {
	margin-top: 2rem;
}

/* Topic archives should read as elegant article-result pages, not issue landing pages. */
.communio-article-results-page .communio-topic-archive__header {
	background: #faf8f4;
	border: 1px solid rgba(0, 0, 0, 0.08);
	padding: clamp(1.5rem, 4vw, 2.4rem);
}

.communio-article-results-page .communio-topic-archive__kicker {
	color: #8a5a2b;
	font-weight: 700;
}

.communio-article-results-page .communio-topic-archive__lede {
	max-width: 720px;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
	color: #444;
}

.communio-topic-archive__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	margin-top: 1.15rem;
	font-size: 0.92rem;
	color: #555;
}

.communio-topic-archive__summary-label,
.communio-topic-result__type,
.communio-topic-related-issue__label {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.72rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-topic-archive__summary-divider {
	color: #aaa;
}

.communio-topic-related-issue {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	margin-top: 1.35rem;
	padding: 1rem 1.1rem;
	background: #fff;
	border-left: 4px solid #8a5a2b;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.communio-topic-related-issue p {
	margin-bottom: 0.25rem;
}

.communio-topic-related-issue a {
	flex: 0 0 auto;
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.communio-topic-related-issue a:hover,
.communio-topic-related-issue a:focus {
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.communio-article-results-page .communio-topic-results {
	gap: 0;
	background: #fff;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-article-results-page .communio-topic-result {
	position: relative;
	padding: 1.45rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-topic-result__type {
	margin-bottom: 0.35rem;
	color: #777;
}

.communio-article-results-page .communio-topic-result__title {
	margin-bottom: 0.4rem;
}

.communio-article-results-page .communio-topic-result__meta {
	margin-bottom: 0.65rem;
}

@media (max-width: 700px) {
	.communio-topic-related-issue {
		display: block;
	}

	.communio-topic-related-issue a {
		display: inline-block;
		margin-top: 0.4rem;
	}
}

/* Refine spacing inside topic article-result cards. */
.communio-article-results-page .communio-topic-results {
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-bottom: 0;
}

.communio-article-results-page .communio-topic-result {
	padding: clamp(1.6rem, 3vw, 2.25rem) clamp(1.5rem, 4vw, 2.5rem);
}

.communio-article-results-page .communio-topic-result__type {
	margin-bottom: 0.55rem;
}

.communio-article-results-page .communio-topic-result__title {
	max-width: 920px;
}

.communio-article-results-page .communio-topic-result__summary {
	max-width: 820px;
}

@media (max-width: 700px) {
	.communio-article-results-page .communio-topic-result {
		padding: 1.35rem 1.15rem;
	}
}

/* Canonical browse pages: /issues/ and /authors/ */
.communio-browse-page {
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 3.5rem) 1.5rem;
}

.communio-browse-header {
	margin-bottom: 2rem;
	padding: clamp(1.5rem, 4vw, 2.4rem);
	background: #faf8f4;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.communio-browse-header__kicker {
	margin-bottom: 0.4rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-browse-header h1 {
	margin-bottom: 0.45rem;
	font-family: var(--communio-font-display);
	font-size: clamp(2.2rem, 5vw, 4rem);
	line-height: 1.05;
}

.communio-browse-header p:last-child {
	max-width: 720px;
	margin-bottom: 0;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
	color: #444;
}

/* Browse by Issue */
.communio-issue-browser .communio-issue-grid__search {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.communio-issue-browser .communio-issue-grid__search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background: #fff;
}

.communio-issue-browser .communio-issue-grid__search button {
	padding: 0.75rem 1rem;
	border: 1px solid #1f2b3a;
	background: #1f2b3a;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.communio-issue-browser .communio-issue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.communio-issue-browser .communio-issue-grid__item {
	padding: 1.15rem 1.2rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.communio-issue-browser .communio-issue-grid__item:hover {
	transform: translateY(-1px);
	border-color: rgba(0, 0, 0, 0.24);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.communio-issue-browser .communio-issue-grid__title {
	display: block;
	color: inherit;
	font-family: var(--communio-font-display);
	font-size: 1.18rem;
	line-height: 1.25;
	text-decoration: none;
}

.communio-issue-browser .communio-issue-grid__title:hover,
.communio-issue-browser .communio-issue-grid__title:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

.communio-issue-browser .communio-issue-grid__meta {
	margin-top: 0.45rem;
	color: #666;
	font-size: 0.92rem;
}

/* Browse by Author */
.communio-author-browser .communio-author-index {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
}

.communio-author-browser .communio-author-index__section,
.communio-author-browser .communio-author-index__group {
	padding: 1.1rem 1.2rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.09);
}

.communio-author-browser .communio-author-index h2,
.communio-author-browser .communio-author-index__letter {
	margin: 0 0 0.7rem;
	color: #8a5a2b;
	font-family: var(--communio-font-utility);
	font-size: 1.35rem;
	line-height: 1;
}

.communio-author-browser .communio-author-index__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.communio-author-browser .communio-author-index__list li {
	margin: 0 0 0.35rem;
}

.communio-author-browser .communio-author-index__list a {
	color: inherit;
	text-decoration: none;
}

.communio-author-browser .communio-author-index__list a:hover,
.communio-author-browser .communio-author-index__list a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

@media (max-width: 700px) {
	.communio-issue-browser .communio-issue-grid__search {
		display: block;
	}

	.communio-issue-browser .communio-issue-grid__search input[type="search"],
	.communio-issue-browser .communio-issue-grid__search button {
		width: 100%;
	}

	.communio-issue-browser .communio-issue-grid__search button {
		margin-top: 0.5rem;
	}
}

/* Themed Browse by Issue cards */
.communio-issue-search {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1.6rem;
}

.communio-issue-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background: #fff;
}

.communio-issue-search button {
	padding: 0.75rem 1rem;
	border: 1px solid #1f2b3a;
	background: #1f2b3a;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.communio-issue-search-summary {
	margin: -0.65rem 0 1.4rem;
	color: #555;
}

.communio-issue-search-summary a {
	margin-left: 0.5rem;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

.communio-themed-issue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
}

.communio-issue-card {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.communio-issue-card:hover {
	transform: translateY(-1px);
	border-color: rgba(0, 0, 0, 0.24);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
}

.communio-issue-card a {
	display: block;
	min-height: 9rem;
	padding: 1.15rem 1.2rem;
	color: inherit;
	text-decoration: none;
}

.communio-issue-card__label {
	display: block;
	margin-bottom: 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.72rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-issue-card__title {
	display: block;
	font-family: var(--communio-font-display);
	font-size: 1.35rem;
	line-height: 1.18;
}

.communio-issue-card__meta {
	display: block;
	margin-top: 0.75rem;
	color: #666;
	font-size: 0.92rem;
}

.communio-issue-card a:hover .communio-issue-card__title,
.communio-issue-card a:focus .communio-issue-card__title {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

/* Compact Browse by Author index */
.communio-author-browser .communio-author-index {
	display: block;
}

.communio-author-browser .communio-author-index__section,
.communio-author-browser .communio-author-index__group {
	padding: 1rem 0;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-author-browser .communio-author-index h2,
.communio-author-browser .communio-author-index__letter {
	margin: 0 0 0.65rem;
	color: #8a5a2b;
	font-family: var(--communio-font-utility);
	font-size: 1.45rem;
	line-height: 1;
}

.communio-author-browser .communio-author-index__list {
	columns: 4 180px;
	column-gap: 2.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.communio-author-browser .communio-author-index__list li,
.communio-author-browser .communio-author-index__item {
	break-inside: avoid;
	margin: 0 0 0.32rem;
	line-height: 1.3;
}

.communio-author-browser .communio-author-index__list a {
	color: inherit;
	text-decoration: none;
}

.communio-author-browser .communio-author-index__list a:hover,
.communio-author-browser .communio-author-index__list a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.16em;
}

@media (max-width: 700px) {
	.communio-issue-search {
		display: block;
	}

	.communio-issue-search input[type="search"],
	.communio-issue-search button {
		width: 100%;
	}

	.communio-issue-search button {
		margin-top: 0.5rem;
	}

	.communio-author-browser .communio-author-index__list {
		columns: 2 150px;
	}
}

/* Global Communio header system */
body.communio-global-header-enabled .site-header,
body.communio-global-header-enabled #site-navigation,
body.communio-global-header-enabled #mobile-header {
	display: none !important;
}

.communio-global-header {
	position: relative;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	font-family: var(--communio-font-utility);
}

/* 1200px structural frame with 40px desktop gutters, matching the homepage 1120px visible-content frame. */
.communio-global-header__inner {
	box-sizing: border-box;
	width: min(75rem, 100%);
	max-width: none;
	margin: 0 auto;
	padding: 1.05rem 2.5rem;
}

.communio-global-header__brand {
	display: inline-block;
	flex: 0 0 auto;
	color: #16283f;
	text-decoration: none;
	line-height: 1;
}

.communio-global-header__brand:hover,
.communio-global-header__brand:focus {
	color: #16283f;
	text-decoration: none;
}

.communio-global-header__brand-title {
	display: block;
	font-family: var(--communio-font-display);
	font-size: clamp(2rem, 3.4vw, 3.25rem);
	line-height: 0.9;
	letter-spacing: 0.12em;
}

.communio-global-header__brand-subtitle {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.72rem;
	line-height: 1;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #2f3b4d;
}

.communio-global-header__navigation {
	min-width: 0;
}

.communio-global-header__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 1rem;
	font-size: 0.92rem;
}

.communio-global-header__mobile-menu {
	display: none;
}

.communio-global-header__nav--wide {
	align-items: baseline;
}

.communio-global-header__link {
	color: #1f2b3a;
	text-decoration: none;
	white-space: nowrap;
}

.communio-global-header__link:hover,
.communio-global-header__link:focus {
	color: #1f2b3a;
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.18em;
}

.communio-global-header__link--submissions {
	font-weight: 600;
	color: #8a5a2b;
}

.communio-global-header__link--submissions:hover,
.communio-global-header__link--submissions:focus {
	color: #8a5a2b;
}

.communio-global-header__link--cta {
	margin-left: 0.2rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.78rem;
	font-weight: 700;
}

.communio-global-header__checkout-label {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #386333;
}

.communio-global-header--checkout .communio-global-header__inner {
	padding-top: 0.95rem;
	padding-bottom: 0.95rem;
}

.communio-global-header--checkout .communio-global-header__brand-title {
	font-size: clamp(1.65rem, 2.6vw, 2.45rem);
}

.communio-global-header--checkout .communio-global-header__brand-subtitle {
	font-size: 0.65rem;
}

.communio-global-header--checkout .communio-global-header__nav {
	gap: 0.9rem;
	font-size: 0.86rem;
}

@media (min-width: 1025px) {
	.communio-global-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: clamp(1.25rem, 2vw, 2rem);
	}

	.communio-global-header__navigation {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		justify-content: flex-end;
		gap: clamp(0.8rem, 1.4vw, 1.35rem);
	}

	.communio-global-header__nav--wide {
		gap: clamp(0.58rem, 1.05vw, 1rem);
	}
}

@media (min-width: 721px) and (max-width: 1024px) {
	.communio-global-header__inner {
		padding: 0.9rem 1.5rem 1rem;
	}

	.communio-global-header__brand-subtitle {
		font-size: 0.6rem;
		letter-spacing: 0.1em;
	}

	.communio-global-header__navigation {
		display: flex;
		align-items: center;
		gap: 0.8rem;
		margin-top: 0.8rem;
	}

	.communio-global-header__nav--wide {
		flex: 1 1 auto;
		justify-content: flex-start;
		gap: clamp(0.48rem, 1.35vw, 0.85rem);
		font-size: clamp(0.76rem, 1.45vw, 0.86rem);
	}

	.communio-global-header__link--cta {
		margin-left: 0;
		font-size: 0.7rem;
	}
}

@media (max-width: 720px) {
	.communio-global-header__inner {
		position: relative;
		padding: 0.72rem 1rem 0.78rem;
	}

	.communio-global-header__brand {
		max-width: calc(100% - 5.5rem);
	}

	.communio-global-header__brand-title {
		font-size: 1.85rem;
		letter-spacing: 0.1em;
	}

	.communio-global-header__brand-subtitle {
		margin-top: 0.25rem;
		font-size: 0.6rem;
		letter-spacing: 0.05em;
	}

	.communio-global-header__navigation {
		display: block;
	}

	.communio-global-header__nav--wide {
		display: none;
	}

	.communio-global-header__mobile-menu {
		display: block;
	}

	.communio-global-header__mobile-menu:not([open]) > .communio-global-header__nav--mobile {
		display: none;
	}

	.communio-global-header__menu-summary {
		position: absolute;
		top: 0.62rem;
		right: 1rem;
		box-sizing: border-box;
		min-height: 2.75rem;
		padding: 0.65rem 0.75rem;
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		cursor: pointer;
		list-style: none;
		color: #1f2b3a;
		font-size: 0.82rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.communio-global-header__menu-summary::-webkit-details-marker {
		display: none;
	}

	.communio-global-header__menu-indicator {
		position: relative;
		width: 0.75rem;
		height: 0.75rem;
	}

	.communio-global-header__menu-indicator::before,
	.communio-global-header__menu-indicator::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		background: currentColor;
		transform: translateY(-50%);
	}

	.communio-global-header__menu-indicator::after {
		transform: translateY(-50%) rotate(90deg);
	}

	.communio-global-header__mobile-menu[open] .communio-global-header__menu-indicator::after {
		transform: translateY(-50%) rotate(0);
	}

	.communio-global-header__nav--mobile {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
		margin-top: 0.75rem;
		padding-top: 0.35rem;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		font-size: 0.9rem;
	}

	.communio-global-header__nav--mobile .communio-global-header__link {
		padding: 0.72rem 0;
	}

	.communio-global-header__nav--mobile .communio-global-header__link--cta {
		margin-left: 0;
		font-size: 0.78rem;
	}

	.communio-global-header__checkout-label {
		margin-top: 0.65rem;
	}

	.communio-global-header--checkout .communio-global-header__brand-title {
		font-size: 1.75rem;
	}

	.communio-global-header--checkout .communio-global-header__nav {
		font-size: 0.9rem;
	}
}

/* Header search should read as a real navigation item, not an empty search query icon. */
.communio-global-header__link--search-text {
	color: #1f2b3a;
	text-decoration: none;
	white-space: nowrap;
}

/* Checkout status label: make it visually distinct from navigation links. */
.communio-global-header__checkout-label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.6rem;
	border: 1px solid rgba(56, 99, 51, 0.28);
	border-radius: 999px;
	background: rgba(56, 99, 51, 0.06);
	color: #386333;
	pointer-events: none;
}

.communio-global-header__checkout-label::before {
	content: "✓";
	font-size: 0.8em;
}

/* Communio search page */
.communio-search-page {
	max-width: 760px;
	margin-top: 1.5rem;
}

.communio-search-page__label {
	display: block;
	margin-bottom: 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-search-page__controls {
	display: flex;
	gap: 0.5rem;
}

.communio-search-page__controls input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.85rem 0.95rem;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background: #fff;
}

.communio-search-page__controls button {
	padding: 0.85rem 1.1rem;
	border: 1px solid #1f2b3a;
	background: #1f2b3a;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

@media (max-width: 600px) {
	.communio-search-page__controls {
		display: block;
	}

	.communio-search-page__controls input[type="search"],
	.communio-search-page__controls button {
		width: 100%;
	}

	.communio-search-page__controls button {
		margin-top: 0.5rem;
	}
}

/* Communio WooCommerce polish */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
	font-size: 1rem;
}

.woocommerce-cart .inside-article,
.woocommerce-checkout .inside-article,
.woocommerce-account .inside-article {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-account h1.entry-title,
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-account h1 {
	font-family: var(--communio-font-utility);
	color: #1f2b3a;
}

.woocommerce table.shop_table {
	border-color: rgba(0, 0, 0, 0.14);
	border-radius: 0;
}

.woocommerce table.shop_table th {
	background: #faf8f4;
	color: #1f2b3a;
	font-weight: 700;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	border-color: rgba(0, 0, 0, 0.12);
}

.woocommerce table.shop_table a {
	color: #1f2b3a;
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	background: #faf8f4;
	border-top-color: #386333 !important;
	color: #1f2b3a;
	box-shadow: none;
	outline: none !important;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
	color: #386333;
}

.woocommerce .woocommerce-error {
	border-top-color: #8a5a2b !important;
}

.woocommerce .woocommerce-error::before {
	color: #8a5a2b;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	border-radius: 0 !important;
	background: #2f6637 !important;
	color: #fff !important;
	border: 1px solid #2f6637 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #1f2b3a !important;
	border-color: #1f2b3a !important;
	color: #fff !important;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
	background: #e7e2da !important;
	border-color: #e7e2da !important;
	color: #777 !important;
	opacity: 1 !important;
}

.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
	border-radius: 0;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background: #fff;
	color: #1f2b3a;
	box-shadow: none;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.12);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-family: var(--communio-font-utility);
	color: #1f2b3a;
}

.woocommerce-cart .product-remove a.remove {
	color: #8a2d2d !important;
}

.woocommerce-cart .product-remove a.remove:hover {
	background: #8a2d2d !important;
	color: #fff !important;
}

/* Header cart link */
.communio-global-header__link--cart {
	font-weight: 700;
}

/* Keep branded express-payment buttons intact, but space them cleanly. */
.woocommerce .wc-stripe-payment-request-button-separator,
.woocommerce .wc-stripe-payment-request-wrapper,
.woocommerce .express-payment-methods {
	margin-top: 0.75rem;
}

/* Checkout/cart spacing refinement */
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

.woocommerce-checkout .inside-article,
.woocommerce-cart .inside-article {
	padding: clamp(1.75rem, 4vw, 3rem) !important;
}

.woocommerce-checkout .entry-header,
.woocommerce-cart .entry-header {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.woocommerce-checkout .entry-title,
.woocommerce-cart .entry-title {
	margin-bottom: 0;
}

/* Keep checkout content from hugging the card edge. */
.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout,
.woocommerce-cart .entry-content > .wp-block-woocommerce-cart {
	margin-top: 1rem;
}

/* Express checkout containment. Keep wallet-brand buttons intact, but reduce the generic WooCommerce feel around them. */
.woocommerce-checkout .wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment__content,
.woocommerce-cart .wc-block-components-express-payment,
.woocommerce-cart .wc-block-components-express-payment__content {
	background: #faf8f4;
	border-color: rgba(0, 0, 0, 0.12);
}

.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-order-summary__title,
.woocommerce-cart .wc-block-cart__totals-title {
	color: #1f2b3a;
}

/* Homepage and global cart links */
.communio-home-cart-link,
.communio-global-header__link--cart {
	font-weight: 700;
}

.communio-home-cart-link {
	color: inherit;
	text-decoration: none;
}

.communio-home-cart-link:hover,
.communio-home-cart-link:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.18em;
}

/* Slightly soften WooCommerce block outlines without removing clarity. */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
.woocommerce-cart .wc-block-components-text-input input {
	border-color: rgba(0, 0, 0, 0.22) !important;
	border-radius: 0 !important;
}

.woocommerce-checkout .wc-block-components-button,
.woocommerce-cart .wc-block-components-button {
	border-radius: 0 !important;
}

/* Canonical global footer shell */
.site-footer {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	background: var(--communio-color-navy);
}

.communio-global-footer {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	background: var(--communio-color-navy);
	color: var(--communio-color-footer-muted);
	font-family: var(--communio-font-utility);
	text-align: left;
}

.communio-global-footer__motto-band {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: clamp(1.5rem, 2.5vw, 2rem) clamp(1.5rem, 4vw, 3rem);
}

.communio-global-footer__motto-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	box-sizing: border-box;
	width: 100%;
	max-width: var(--communio-measure-utility);
	margin: 0 auto;
}

.communio-global-footer__motto {
	flex: 0 1 auto;
	margin: 0;
	font-family: var(--communio-font-utility);
	font-size: clamp(0.82rem, 1.2vw, 0.9rem);
	font-style: normal;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--communio-color-accent-muted);
}

.communio-global-footer__motto-rule {
	flex: 1 1 7rem;
	box-sizing: border-box;
	width: auto;
	max-width: 8.5rem;
	height: 0;
	border-top: 1px solid var(--communio-color-accent-rule-medium);
}

.communio-global-footer__utility {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0 clamp(1.25rem, 4vw, 3rem) clamp(0.9rem, 1.4vw, 1.15rem);
}

.communio-global-footer__utility-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(1rem, 2.5vw, 2rem);
	box-sizing: border-box;
	width: 100%;
	max-width: var(--communio-measure-utility);
	margin: 0 auto;
	padding-top: clamp(0.9rem, 1.4vw, 1.15rem);
	border-top: 1px solid var(--communio-color-accent-rule-subtle);
}

.communio-global-footer__copyright {
	justify-self: start;
	margin: 0;
	font-family: var(--communio-font-utility);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.4;
	white-space: nowrap;
	color: var(--communio-color-footer-muted);
}

.communio-footer-navigation {
	justify-self: center;
	min-width: 0;
	margin: 0;
	font-family: var(--communio-font-utility);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.055em;
	color: var(--communio-color-footer-muted);
}

.communio-footer-navigation__items {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.communio-footer-navigation .wp-block-navigation-item {
	margin: 0;
	padding: 0;
}

.communio-footer-navigation .wp-block-navigation-item__content {
	padding: 0.15rem 0;
	color: inherit;
	text-decoration: none;
}

.communio-footer-navigation .wp-block-navigation-item__content:hover,
.communio-footer-navigation .wp-block-navigation-item__content:focus {
	color: var(--communio-color-accent-bright);
	text-decoration: none;
}

.communio-footer-navigation .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--communio-color-accent-bright);
	outline-offset: 3px;
}

.communio-global-footer__social {
	display: flex;
	justify-self: end;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 17px;
	color: var(--communio-color-footer-muted);
}

.communio-global-footer__social li {
	margin: 0;
	padding: 0;
}

.communio-global-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.2em;
	color: inherit;
	text-decoration: none;
}

.communio-global-footer__social svg {
	display: block;
	width: 1em;
	height: 1em;
}

.communio-global-footer__social a:hover,
.communio-global-footer__social a:focus {
	color: var(--communio-color-accent-bright);
}

.communio-global-footer__social a:focus-visible {
	outline: 2px solid var(--communio-color-accent-bright);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.communio-global-footer__utility-row {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 1rem 1.5rem;
	}

	.communio-global-footer__copyright {
		flex: 0 1 auto;
	}

	.communio-footer-navigation {
		flex: 1 1 26rem;
	}

	.communio-global-footer__social {
		flex: 0 0 auto;
	}
}

@media (max-width: 760px) {
	.communio-global-footer__motto-band {
		padding: 1.5rem 1.25rem;
	}

	.communio-global-footer__motto-row {
		gap: clamp(0.75rem, 3vw, 1.25rem);
	}

	.communio-global-footer__motto {
		letter-spacing: 0.15em;
	}

	.communio-global-footer__motto-rule {
		flex-basis: 3rem;
		max-width: 5rem;
	}
}

@media (max-width: 600px) {
	.communio-global-footer__utility {
		padding: 0 1.25rem 1.2rem;
	}

	.communio-global-footer__utility-row {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.8rem;
		padding-top: 1.2rem;
		text-align: center;
	}

	.communio-global-footer__copyright,
	.communio-footer-navigation,
	.communio-global-footer__social {
		flex: 0 1 auto;
		justify-self: center;
	}

	.communio-footer-navigation {
		width: 100%;
	}

	.communio-footer-navigation__items {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 0.55rem 1rem;
	}

	.communio-global-footer__social {
		justify-content: center;
	}
}

@media (max-width: 520px) {
	.communio-global-footer__motto-band {
		padding: 1.35rem 1.25rem;
	}

	.communio-global-footer__motto-row {
		gap: 0;
	}

	.communio-global-footer__motto {
		white-space: normal;
	}

	.communio-global-footer__motto-rule {
		display: none;
	}
}

/* Polished single article pages */
.communio-single-article-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 2rem);
}

.communio-single-article {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	font-family: var(--communio-font-utility);
}

.communio-single-article__header {
	padding: clamp(1.75rem, 4vw, 3rem);
	background: #faf8f4;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.communio-single-article__kicker {
	margin: 0 0 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-single-article__title {
	max-width: 960px;
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(2.1rem, 5vw, 4.4rem);
	line-height: 1.05;
	color: #1f2b3a;
}

.communio-single-article__subtitle {
	max-width: 820px;
	margin: 1rem 0 0;
	font-family: var(--communio-font-reading);
	font-size: clamp(1.2rem, 2.4vw, 1.65rem);
	font-style: italic;
	line-height: 1.25;
	color: #555;
}

.communio-single-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	margin-top: 1.2rem;
	color: #555;
	font-size: 0.98rem;
}

.communio-single-article__meta span:not(:last-child)::after {
	content: "·";
	margin-left: 0.75rem;
	color: #9a9a9a;
}

.communio-single-article__meta a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-article__topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1.1rem;
}

.communio-single-article__topics a {
	display: inline-block;
	padding: 0.32rem 0.55rem;
	border: 1px solid rgba(56, 99, 51, 0.22);
	background: rgba(56, 99, 51, 0.055);
	color: #386333;
	font-size: 0.82rem;
	line-height: 1;
	text-decoration: none;
}

.communio-single-article__topics a:hover,
.communio-single-article__topics a:focus {
	background: rgba(56, 99, 51, 0.1);
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.14em;
}

.communio-single-article__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: clamp(1.5rem, 4vw, 3rem);
	padding: clamp(1.75rem, 4vw, 3rem);
}

.communio-single-article__content {
	min-width: 0;
	max-width: 780px;
}

.communio-single-article__summary {
	margin-bottom: 1.75rem;
	padding: 1.1rem 1.25rem;
	border-left: 4px solid #8a6a32;
	background: #fbfaf7;
	font-family: var(--communio-font-reading);
	font-size: 1.15rem;
	line-height: 1.45;
	color: #1f2b3a;
}

.communio-single-article__summary p:last-child {
	margin-bottom: 0;
}

.communio-single-article__content .entry-content {
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.72;
	color: #222;
}

.communio-single-article__content .entry-content > * {
	max-width: 780px;
}

.communio-single-article__content .entry-content p {
	margin-bottom: 1.15rem;
}

.communio-single-article__access {
	order: 2;
	align-self: start;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.11);
}

.communio-single-article__access h2 {
	margin: 0 0 0.6rem;
	font-family: var(--communio-font-utility);
	font-size: 1.35rem;
	line-height: 1.15;
	color: #1f2b3a;
}

.communio-single-article__access p {
	margin-bottom: 1rem;
	color: #555;
	font-size: 0.95rem;
	line-height: 1.45;
}

.communio-single-article__button {
	display: block;
	width: 100%;
	padding: 0.75rem 0.9rem;
	background: #2f6637;
	border: 1px solid #2f6637;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
}

.communio-single-article__button:hover,
.communio-single-article__button:focus {
	background: #1f2b3a;
	border-color: #1f2b3a;
	color: #fff;
}

.communio-single-article__secondary-link {
	display: inline-block;
	margin-top: 0.9rem;
	color: #1f2b3a;
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

@media (max-width: 880px) {
	.communio-single-article__body {
		grid-template-columns: 1fr;
	}

	.communio-single-article__access {
		order: -1;
	}
}

@media (max-width: 600px) {
	.communio-single-article-page {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.communio-single-article__header,
	.communio-single-article__body {
		padding: 1.35rem;
	}

	.communio-single-article__meta {
		display: block;
	}

	.communio-single-article__meta span {
		display: block;
		margin-bottom: 0.35rem;
	}

	.communio-single-article__meta span:not(:last-child)::after {
		content: "";
		margin-left: 0;
	}
}

/* Polished single issue landing pages */
.communio-single-issue-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 2rem);
}

.communio-single-issue {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	font-family: var(--communio-font-utility);
}

.communio-single-issue__hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(1.5rem, 4vw, 3rem);
	padding: clamp(1.75rem, 4vw, 3rem);
	background: #faf8f4;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.communio-single-issue__kicker {
	margin: 0 0 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-single-issue__title {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(3rem, 7vw, 6rem);
	line-height: 0.96;
	color: #1f2b3a;
}

.communio-single-issue__meta {
	margin: 1rem 0 0;
	color: #1f2b3a;
	font-size: 1.05rem;
}

.communio-single-issue__deck {
	max-width: 700px;
	margin: 1.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(138, 106, 50, 0.38);
	font-family: var(--communio-font-reading);
	font-size: 1.3rem;
	font-style: italic;
	line-height: 1.3;
	color: #37465a;
}

.communio-single-issue__hero-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
	margin-top: 1.4rem;
}

.communio-single-issue__hero-links a,
.communio-single-issue__pdf,
.communio-single-issue__article-actions a {
	color: #1f2b3a;
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-issue__purchase {
	align-self: start;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.11);
}

.communio-single-issue__purchase h2 {
	margin: 0 0 0.65rem;
	font-family: var(--communio-font-utility);
	font-size: 1.35rem;
	line-height: 1.15;
	color: #1f2b3a;
}

.communio-single-issue__price {
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #1f2b3a;
}

.communio-single-issue__button,
.communio-single-issue__secondary-button {
	display: block;
	width: 100%;
	padding: 0.75rem 0.9rem;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
}

.communio-single-issue__button {
	background: #2f6637;
	border: 1px solid #2f6637;
	color: #fff;
}

.communio-single-issue__button:hover,
.communio-single-issue__button:focus {
	background: #1f2b3a;
	border-color: #1f2b3a;
	color: #fff;
}

.communio-single-issue__secondary-button {
	margin-top: 0.65rem;
	background: transparent;
	border: 1px solid rgba(47, 102, 55, 0.7);
	color: #1f2b3a;
}

.communio-single-issue__secondary-button:hover,
.communio-single-issue__secondary-button:focus {
	background: rgba(47, 102, 55, 0.08);
	color: #1f2b3a;
}

.communio-single-issue__pdf {
	display: inline-block;
	margin-top: 0.85rem;
}

.communio-single-issue__content {
	padding: clamp(1.75rem, 4vw, 3rem);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.72;
}

.communio-single-issue__toc {
	padding: clamp(1.75rem, 4vw, 3rem);
}

.communio-single-issue__toc-header {
	margin-bottom: 1.4rem;
}

.communio-single-issue__toc h2 {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.05;
	color: #1f2b3a;
}

.communio-single-issue__article-list {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-single-issue__article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	gap: 1.25rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-single-issue__article h3 {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.9rem);
	line-height: 1.15;
	color: #1f2b3a;
}

.communio-single-issue__article h3 a {
	color: inherit;
	text-decoration: none;
}

.communio-single-issue__article h3 a:hover,
.communio-single-issue__article h3 a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-issue__article-author {
	margin: 0.45rem 0 0;
	color: #386333;
	font-family: var(--communio-font-utility);
	font-style: italic;
}

.communio-single-issue__article-author a {
	color: inherit;
	text-decoration: none;
}

.communio-single-issue__article-author a:hover,
.communio-single-issue__article-author a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-issue__article-summary {
	max-width: 760px;
	margin-top: 0.75rem;
	color: #4b5563;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
}

.communio-single-issue__article-summary p:last-child {
	margin-bottom: 0;
}

.communio-single-issue__article-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.92rem;
}

@media (max-width: 820px) {
	.communio-single-issue__hero,
	.communio-single-issue__article {
		grid-template-columns: 1fr;
	}

	.communio-single-issue__article-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (max-width: 600px) {
	.communio-single-issue-page {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.communio-single-issue__hero,
	.communio-single-issue__content,
	.communio-single-issue__toc {
		padding: 1.35rem;
	}
}

/* Responsive issue page layout: respond to container width, not only viewport width. */
body.single-communio_issue #primary.communio-single-issue-page {
	width: 100%;
	max-width: min(1240px, calc(100vw - 2rem));
	box-sizing: border-box;
}

body.single-communio_issue .communio-single-issue {
	container-type: inline-size;
}

body.single-communio_issue .communio-single-issue__hero {
	grid-template-columns: minmax(420px, 1fr) minmax(280px, 320px);
	align-items: start;
}

body.single-communio_issue .communio-single-issue__title {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	font-size: clamp(3rem, 6vw, 5.5rem);
}

body.single-communio_issue .communio-single-issue__article {
	grid-template-columns: minmax(0, 1fr) minmax(120px, 150px);
}

/* Container-query version: works even when zoom/content constraints make the card narrow. */
@container (max-width: 900px) {
	body.single-communio_issue .communio-single-issue__hero {
		grid-template-columns: 1fr;
	}

	body.single-communio_issue .communio-single-issue__purchase {
		max-width: 420px;
	}

	body.single-communio_issue .communio-single-issue__title {
		font-size: clamp(2.75rem, 13cqw, 4.5rem);
	}

	body.single-communio_issue .communio-single-issue__article {
		grid-template-columns: 1fr;
	}

	body.single-communio_issue .communio-single-issue__article-actions {
		flex-direction: row;
		flex-wrap: wrap;
		margin-top: 0.25rem;
	}
}

@container (max-width: 620px) {
	body.single-communio_issue .communio-single-issue__hero,
	body.single-communio_issue .communio-single-issue__toc,
	body.single-communio_issue .communio-single-issue__content {
		padding: 1.35rem;
	}

	body.single-communio_issue .communio-single-issue__title {
		font-size: clamp(2.4rem, 15cqw, 3.4rem);
		line-height: 1.02;
	}

	body.single-communio_issue .communio-single-issue__hero-links {
		display: block;
	}

	body.single-communio_issue .communio-single-issue__hero-links a {
		display: block;
		margin-top: 0.45rem;
	}

	body.single-communio_issue .communio-single-issue__purchase {
		max-width: none;
	}
}

/* Viewport fallback for older browsers without container queries. */
@media (max-width: 980px) {
	body.single-communio_issue .communio-single-issue__hero {
		grid-template-columns: 1fr;
	}

	body.single-communio_issue .communio-single-issue__article {
		grid-template-columns: 1fr;
	}

	body.single-communio_issue .communio-single-issue__article-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

/* Wider author index */
body.post-type-archive-communio_author #primary.communio-author-browser {
	width: 100%;
	max-width: min(1240px, calc(100vw - 2rem));
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
	box-sizing: border-box;
	background: var(--communio-site-reading, #fbfaf7);
	color: var(--communio-site-reading-text, #292622);
}

body.post-type-archive-communio_author .communio-author-browser .communio-browse-header {
	max-width: 920px;
}

body.post-type-archive-communio_author
	.communio-author-browser
	.communio-browse-header h1 {
	color: var(--communio-site-reading-heading, #102b3a);
}

body.post-type-archive-communio_author
	.communio-author-browser
	.communio-author-index {
	color: var(--communio-site-reading-text, #292622);
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index {
	max-width: none;
	margin-top: 2rem;
	display: block;
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index__section,
body.post-type-archive-communio_author .communio-author-browser .communio-author-index__group {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	gap: clamp(1rem, 3vw, 2rem);
	padding: 1.35rem 0;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
	background: transparent;
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index h2,
body.post-type-archive-communio_author .communio-author-browser .communio-author-index__letter {
	margin: 0;
	color: #8a5a2b;
	font-family: var(--communio-font-utility);
	font-size: 1.6rem;
	line-height: 1;
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index__list {
	margin: 0;
	padding: 0;
	list-style: none;
	column-width: 210px;
	column-gap: clamp(1.5rem, 4vw, 3rem);
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index__list li,
body.post-type-archive-communio_author .communio-author-browser .communio-author-index__item {
	break-inside: avoid;
	margin: 0 0 0.42rem;
	padding: 0;
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index__list a {
	color: #1f2b3a;
	text-decoration: none;
}

body.post-type-archive-communio_author .communio-author-browser .communio-author-index__list a:hover,
body.post-type-archive-communio_author .communio-author-browser .communio-author-index__list a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

/* Polished single author pages */
.communio-single-author-page {
	width: 100%;
	max-width: min(1180px, calc(100vw - 2rem));
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
	box-sizing: border-box;
}

.communio-single-author {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	font-family: var(--communio-font-utility);
}

.communio-single-author__hero {
	padding: clamp(1.75rem, 4vw, 3rem);
	background: #faf8f4;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.communio-single-author__kicker {
	margin: 0 0 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.78rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-single-author__title {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(2.8rem, 6vw, 5.4rem);
	line-height: 0.98;
	color: #1f2b3a;
}

.communio-single-author__affiliation {
	max-width: 760px;
	margin: 1rem 0 0;
	color: #4b5563;
	font-size: 1.05rem;
}

.communio-single-author__sort-name {
	margin: 0.75rem 0 0;
	color: #666;
	font-size: 0.95rem;
}

.communio-single-author__bio {
	max-width: 820px;
	padding: clamp(1.75rem, 4vw, 3rem);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
	color: #222;
}

.communio-single-author__articles {
	padding: clamp(1.75rem, 4vw, 3rem);
}

.communio-single-author__articles-header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 1.35rem;
}

.communio-single-author__articles h2 {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 1.05;
	color: #1f2b3a;
}

.communio-single-author__sort {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
}

.communio-single-author__sort label {
	text-transform: uppercase;
	letter-spacing: 0.11em;
	font-size: 0.72rem;
	font-weight: 700;
	color: #8a5a2b;
}

.communio-single-author__sort select {
	max-width: 220px;
	padding: 0.55rem 0.7rem;
	border-radius: 0;
	border: 1px solid rgba(0, 0, 0, 0.18);
	background: #fff;
}

.communio-single-author__article-list {
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-single-author__article {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 150px;
	gap: 1.25rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.communio-single-author__article h3 {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.9rem);
	line-height: 1.15;
	color: #1f2b3a;
}

.communio-single-author__article h3 a {
	color: inherit;
	text-decoration: none;
}

.communio-single-author__article h3 a:hover,
.communio-single-author__article h3 a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-author__article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.65rem;
	margin: 0.55rem 0 0;
	color: #555;
	font-size: 0.94rem;
}

.communio-single-author__article-meta a {
	color: #386333;
	text-decoration: none;
}

.communio-single-author__article-meta a:hover,
.communio-single-author__article-meta a:focus {
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-author__article-meta span:not(:last-child)::after {
	content: "·";
	margin-left: 0.65rem;
	color: #999;
}

.communio-single-author__article-summary {
	max-width: 760px;
	margin-top: 0.75rem;
	color: #4b5563;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.65;
}

.communio-single-author__article-summary p:last-child {
	margin-bottom: 0;
}

.communio-single-author__article-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	font-size: 0.92rem;
}

.communio-single-author__article-actions a {
	color: #1f2b3a;
	text-decoration: underline;
	text-decoration-thickness: 0.055em;
	text-underline-offset: 0.16em;
}

.communio-single-author__empty {
	margin: 1rem 0 0;
	color: #555;
}

@media (max-width: 860px) {
	.communio-single-author__articles-header {
		display: block;
	}

	.communio-single-author__sort {
		margin-top: 1rem;
	}

	.communio-single-author__article {
		grid-template-columns: 1fr;
	}

	.communio-single-author__article-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

@media (max-width: 640px) {
	body.post-type-archive-communio_author .communio-author-browser .communio-author-index__section,
	body.post-type-archive-communio_author .communio-author-browser .communio-author-index__group {
		grid-template-columns: 1fr;
		gap: 0.8rem;
	}

	.communio-single-author__hero,
	.communio-single-author__bio,
	.communio-single-author__articles {
		padding: 1.35rem;
	}

	.communio-single-author__article-meta {
		display: block;
	}

	.communio-single-author__article-meta span {
		display: block;
		margin-top: 0.25rem;
	}

	.communio-single-author__article-meta span:not(:last-child)::after {
		content: "";
		margin-left: 0;
	}
}

/* Strong single-author width override: align author pages with issue/article site frame. */
body.single-communio_author #primary.communio-single-author-page {
	width: 100% !important;
	max-width: min(1240px, calc(100vw - 2rem)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 3vw, 2rem) !important;
	padding-right: clamp(1rem, 3vw, 2rem) !important;
	box-sizing: border-box;
}

body.single-communio_author .communio-single-author {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

body.single-communio_author .communio-single-author__hero,
body.single-communio_author .communio-single-author__bio,
body.single-communio_author .communio-single-author__articles {
	width: 100%;
	box-sizing: border-box;
}

body.single-communio_author .communio-single-author__bio {
	max-width: none;
}

body.single-communio_author .communio-single-author__bio > * {
	max-width: 860px;
}

body.single-communio_author .communio-single-author__article {
	grid-template-columns: minmax(0, 1fr) minmax(130px, 160px);
}

body.single-communio_author .communio-single-author__article-summary {
	max-width: 860px;
}

/* Give the bibliography header room to breathe on desktop. */
body.single-communio_author .communio-single-author__articles-header {
	align-items: center;
}

/* Container-query behavior for narrower author-page cards. */
body.single-communio_author .communio-single-author {
	container-type: inline-size;
}

@container (max-width: 860px) {
	body.single-communio_author .communio-single-author__articles-header {
		display: block;
	}

	body.single-communio_author .communio-single-author__sort {
		margin-top: 1rem;
	}

	body.single-communio_author .communio-single-author__article {
		grid-template-columns: 1fr;
	}

	body.single-communio_author .communio-single-author__article-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

/* Search results refinement: editorial cards */
body.search #primary.communio-search-main {
	width: 100%;
	max-width: min(1120px, calc(100vw - 2rem));
	margin: clamp(1.5rem, 4vw, 3rem) auto;
	padding: 0;
}

.communio-search-hero,
.communio-search-empty {
	background: #fff;
	border: 1px solid rgba(30, 28, 24, 0.12);
	border-left: 5px solid #7a1f1f;
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(24, 20, 17, 0.08);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	margin-bottom: 1.25rem;
	font-family: var(--communio-font-utility);
}

.communio-search-hero__kicker,
.communio-search-result__type {
	margin: 0 0 0.55rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.72rem;
	font-weight: 700;
	color: #7a1f1f;
}

.communio-search-hero h1 {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(2rem, 5vw, 3.2rem);
	line-height: 1.05;
	color: #211b18;
}

.communio-search-hero__summary {
	max-width: 720px;
	margin: 0.75rem 0 0;
	color: #5d5650;
	font-family: var(--communio-font-reading);
	font-size: 1.125rem;
	line-height: 1.6;
}

.communio-search-form {
	display: flex;
	gap: 0.75rem;
	margin-top: 1.35rem;
}

.communio-search-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: 1px solid rgba(30, 28, 24, 0.18);
	border-radius: 999px;
	background: #fbfaf8;
	padding: 0.85rem 1rem;
	font-size: 1rem;
}

.communio-search-form button,
.communio-search-result__action {
	border: 0;
	border-radius: 999px;
	background: #211b18;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	padding: 0.85rem 1.15rem;
	white-space: nowrap;
}

.communio-search-results {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
	font-family: var(--communio-font-utility);
}

.communio-search-result {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: start;
	background: #fff;
	border: 1px solid rgba(30, 28, 24, 0.1);
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(24, 20, 17, 0.06);
	padding: clamp(1.15rem, 3vw, 1.6rem);
}

.communio-search-result .entry-header {
	margin: 0;
}

.communio-search-result .entry-title {
	margin: 0;
	font-family: var(--communio-font-display);
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	line-height: 1.16;
}

.communio-search-result .entry-title a {
	color: #211b18;
	text-decoration: none;
}

.communio-search-result .entry-title a:hover,
.communio-search-result .entry-title a:focus {
	color: #7a1f1f;
	text-decoration: underline;
	text-decoration-thickness: 0.06em;
	text-underline-offset: 0.15em;
}

.communio-search-result__meta {
	margin: 0.5rem 0 0;
	color: #6f675f;
	font-size: 0.95rem;
	line-height: 1.45;
}

.communio-search-result .entry-summary {
	margin-top: 0.8rem;
	color: #433d38;
	line-height: 1.65;
}

.communio-search-result .entry-summary p {
	margin: 0;
}

.communio-search-result__topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.9rem;
}

.communio-search-result__topics a {
	border: 1px solid rgba(122, 31, 31, 0.2);
	border-radius: 999px;
	color: #7a1f1f;
	background: #fbf7f5;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	padding: 0.4rem 0.65rem;
}

.communio-search-result__action {
	align-self: start;
	font-size: 0.9rem;
}

.communio-search-result__action:hover,
.communio-search-result__action:focus,
.communio-search-form button:hover,
.communio-search-form button:focus {
	background: #7a1f1f;
	color: #fff;
}

@media (max-width: 720px) {
	.communio-search-form,
	.communio-search-result {
		display: block;
	}

	.communio-search-form button {
		width: 100%;
		margin-top: 0.75rem;
	}

	.communio-search-result__action {
		display: inline-block;
		margin-top: 1rem;
	}
}

/* Single article body width refinement: make article text read as the main column. */
body.single-communio_article #primary.communio-single-article-page {
	width: 100%;
	max-width: min(1180px, calc(100vw - 2rem)) !important;
	margin-left: auto;
	margin-right: auto;
}

body.single-communio_article .communio-single-article {
	width: 100%;
	max-width: none;
}

body.single-communio_article .communio-single-article__header,
body.single-communio_article .communio-single-article__body {
	max-width: none;
}

body.single-communio_article .communio-single-article__body {
	display: grid;
	grid-template-columns: minmax(0, 760px) minmax(260px, 320px);
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: start;
	justify-content: center;
}

body.single-communio_article .communio-single-article__content {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	max-width: 760px;
}

body.single-communio_article .communio-single-article__access {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	max-width: 320px;
}

body.single-communio_article .communio-single-article__summary {
	max-width: 640px;
}

body.single-communio_article .communio-single-article__content .entry-content {
	width: 100%;
	max-width: none;
}

body.single-communio_article .communio-single-article__content .entry-content > * {
	max-width: 720px;
	margin-left: 0;
	margin-right: auto;
}

body.single-communio_article .communio-single-article__content .entry-content p {
	text-align: left;
}

@media (max-width: 900px) {
	body.single-communio_article .communio-single-article__body {
		display: block;
	}

	body.single-communio_article .communio-single-article__access {
		max-width: none;
		margin-bottom: 1.5rem;
	}

	body.single-communio_article .communio-single-article__content,
	body.single-communio_article .communio-single-article__content .entry-content > * {
		max-width: none;
	}
}

/* PDF-only article action refinement: no generic article action column when no PDF exists. */
.communio-single-author__article:not(:has(.communio-single-author__article-actions)),
.communio-single-issue__article:not(:has(.communio-single-issue__article-actions)),
.communio-search-result--communio_article:not(:has(.communio-search-result__action)) {
	grid-template-columns: minmax(0, 1fr);
}

.communio-single-author__article-actions a,
.communio-single-issue__article-actions a,
.communio-search-result--communio_article .communio-search-result__action {
	font-weight: 700;
}

/* Article card no-PDF layout refinement */
.communio-single-author__article--no-pdf,
.communio-single-issue__article--no-pdf {
	grid-template-columns: minmax(0, 1fr) !important;
}

.communio-single-author__article--has-pdf,
.communio-single-issue__article--has-pdf {
	grid-template-columns: minmax(0, 1fr) auto;
}

.communio-single-author__article--no-pdf .communio-single-author__article-summary,
.communio-single-issue__article--no-pdf .communio-single-issue__article-summary {
	max-width: 980px;
}

.communio-single-author__article-actions,
.communio-single-issue__article-actions {
	justify-self: end;
	min-width: 3.5rem;
}

.communio-single-author__article-actions a,
.communio-single-issue__article-actions a {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* Issue purchase box alignment refinement */
body.single-communio_issue .communio-single-issue__purchase {
	margin-top: clamp(2.15rem, 3.5vw, 3rem);
}

@container (max-width: 900px) {
	body.single-communio_issue .communio-single-issue__purchase {
		margin-top: 0.25rem;
	}
}

@media (max-width: 980px) {
	body.single-communio_issue .communio-single-issue__purchase {
		margin-top: 0.25rem;
	}
}

/* Issue page added-to-cart action state */
.communio-single-issue__cart-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.communio-single-issue__cart-actions .communio-single-issue__button {
	flex: 1 1 180px;
}

.communio-single-issue__button--added {
	position: relative;
}

.communio-single-issue__view-cart {
	font-weight: 700;
	color: #1f2b3a;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

/* COMMUNIO SUBSCRIBE PAGE LAYOUT */
.communio-subscribe-page {
	max-width: 980px;
}

.communio-subscribe-intro {
	font-size: 1.05rem;
	line-height: 1.65;
	max-width: 860px;
}

.communio-subscribe-section {
	margin-top: 2.5rem;
}

.communio-subscribe-section h2 {
	margin-bottom: 1.25rem;
}

.communio-subscribe-plan {
	border: 1px solid #e3e6e8;
	border-radius: 10px;
	background: #fff;
	padding: 1.25rem;
	margin: 1.25rem 0 1.5rem;
}

.communio-subscribe-plan__title {
	font-size: 1.2rem;
	margin: 0 0 1rem;
}

.communio-subscribe-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.communio-subscribe-options--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: 430px;
}

.communio-subscribe-option {
	border: 1px solid #d9dee2;
	border-radius: 8px;
	padding: 1rem;
	background: #f9faf9;
}

.communio-subscribe-option__title {
	font-size: 1rem;
	margin: 0 0 .35rem;
}

.communio-subscribe-option__note {
	margin: 0 0 .75rem;
	color: #4b5560;
	font-size: .95rem;
	line-height: 1.45;
}

.communio-subscribe-option__price {
	font-size: 1.08rem;
	margin: .5rem 0 .9rem;
}

.communio-subscribe-option__button,
.communio-subscribe-option .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: .25rem;
	background: #286336;
	color: #fff !important;
	border-radius: 0;
	padding: .7rem 1rem;
	font-weight: 700;
	text-decoration: none;
}

.communio-subscribe-option__button:hover,
.communio-subscribe-option .button:hover {
	background: #1f512b;
	color: #fff !important;
	text-decoration: none;
}

.communio-subscribe-option__unavailable {
	margin: .75rem 0 0;
	color: #7a1f1f;
	font-style: italic;
}

.communio-subscribe-footnote {
	margin-top: 2rem;
	font-style: italic;
}

@media (max-width: 720px) {
	.communio-subscribe-options {
		grid-template-columns: 1fr;
	}
}

.communio-subscribe-footnote span {
	display: block;
}

/* Canonical Issue archive heading on the light browse masthead. */
body.post-type-archive-communio_issue
	.communio-issue-browser
	.communio-browse-header h1 {
	color: var(--communio-site-reading-heading, #102b3a);
}

/*
 * Communio WooCommerce account visual integration
 *
 * Keep this layer intentionally shallow. WooCommerce continues to own the
 * account templates, form structure, authentication, registration, and
 * password handling; Communio supplies only page-scoped visual treatment.
 */

body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3 {
	color: var(--communio-color-navy);
	font-family: var(--communio-font-display);
	font-weight: 500;
}

body.woocommerce-account .woocommerce form.login,
body.woocommerce-account .woocommerce form.register,
body.woocommerce-account .woocommerce form.woocommerce-ResetPassword {
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	border: 1px solid var(--communio-color-rule);
	border-radius: 0;
	background: transparent;
}

body.woocommerce-account .woocommerce :is(
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	select,
	textarea
) {
	border-color: var(--communio-color-rule);
	border-radius: 2px;
	background: var(--communio-color-white);
	color: var(--communio-color-ink);
}

body.woocommerce-account .woocommerce :is(
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	select,
	textarea
):focus-visible {
	outline: var(--communio-focus-ring-thickness) solid var(--communio-color-focus);
	outline-offset: var(--communio-focus-ring-offset);
}

body.woocommerce-account .woocommerce :is(
	button.button,
	a.button,
	input.button
) {
	border: 1px solid var(--communio-color-navy, #102b3a) !important;
	border-radius: 0;
	background: var(--communio-color-navy, #102b3a) !important;
	color: var(--communio-color-white, #fff) !important;
	font-family: var(--communio-font-utility);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: var(--communio-tracking-utility);
	text-transform: uppercase;
}

body.woocommerce-account .woocommerce :is(
	button.button,
	a.button,
	input.button
):hover,
body.woocommerce-account .woocommerce :is(
	button.button,
	a.button,
	input.button
):focus-visible {
	border-color: var(--communio-color-editorial-dark, #1f2b3a) !important;
	background: var(--communio-color-editorial-dark, #1f2b3a) !important;
	color: var(--communio-color-white, #fff) !important;
}

body.woocommerce-account .woocommerce :is(
	.woocommerce-LostPassword,
	.woocommerce-privacy-policy-text
) a {
	color: var(--communio-color-editorial-dark);
	text-decoration: underline;
	text-decoration-color: var(--communio-color-editorial-rule);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

body.woocommerce-account .woocommerce :is(
	.woocommerce-LostPassword,
	.woocommerce-privacy-policy-text
) a:hover {
	color: var(--communio-color-navy);
	text-decoration-color: currentColor;
}
