
/*
 * 10x15 Single Layout
 * One geometry for title, text and media.
 */

/* Neutralize common theme constraints only on single posts. */
body.tx15-single-layout-active .site-content,
body.tx15-single-layout-active #content,
body.tx15-single-layout-active .content-area,
body.tx15-single-layout-active main#main {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.tx15-single-page {
	--tx15-max: 1320px;
	--tx15-sidebar: 320px;
	--tx15-gap: clamp(28px, 3vw, 48px);
	--tx15-pad: clamp(16px, 3vw, 32px);
	--tx15-ink: #10251e;
	--tx15-muted: #66736e;
	--tx15-line: #e5ebe8;
	--tx15-soft: #f5f8f6;
	--tx15-accent: #1f6b4e;

	width: 100%;
	padding: clamp(28px, 5vw, 64px) var(--tx15-pad) 72px;
	box-sizing: border-box;
}

.tx15-single-grid {
	width: min(100%, var(--tx15-max));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--tx15-sidebar);
	gap: var(--tx15-gap);
	align-items: start;
}

.tx15-article {
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 0;
}

.tx15-article-header,
.tx15-featured,
.tx15-entry-content,
.tx15-article-footer,
.tx15-post-nav {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.tx15-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--tx15-muted);
}

.tx15-article-meta a {
	text-decoration: none;
}

.tx15-meta-category {
	color: var(--tx15-accent);
	font-weight: 700;
}

.tx15-meta-dot {
	opacity: .55;
}

.tx15-article-title {
	max-width: none !important;
	margin: 0 0 18px !important;
	color: var(--tx15-ink);
	font-size: clamp(36px, 5vw, 68px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	font-weight: 800;
	text-wrap: balance;
}

.tx15-article-lead {
	max-width: none !important;
	margin: 0 0 28px !important;
	color: #586760;
	font-size: clamp(19px, 2vw, 25px);
	line-height: 1.45;
}

.tx15-featured {
	margin-top: 28px;
	margin-bottom: clamp(30px, 4vw, 48px);
	overflow: hidden;
	border-radius: 18px;
	background: var(--tx15-soft);
}

.tx15-featured img,
.tx15-entry-content img,
.tx15-entry-content figure,
.tx15-entry-content .wp-block-image {
	width: 100%;
	max-width: 100% !important;
	height: auto;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

.tx15-featured img {
	display: block;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tx15-entry-content {
	color: #21312b;
	font-size: clamp(18px, 1.5vw, 20px);
	line-height: 1.72;
}

.tx15-entry-content > * {
	max-width: none !important;
}

.tx15-entry-content p,
.tx15-entry-content ul,
.tx15-entry-content ol,
.tx15-entry-content table,
.tx15-entry-content blockquote,
.tx15-entry-content figure {
	margin-top: 0;
	margin-bottom: 1.35em;
}

.tx15-entry-content h2 {
	margin: 2.1em 0 .7em;
	color: var(--tx15-ink);
	font-size: clamp(28px, 3.3vw, 42px);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.tx15-entry-content h3 {
	margin: 1.7em 0 .6em;
	color: var(--tx15-ink);
	font-size: clamp(22px, 2.5vw, 30px);
	line-height: 1.2;
}

.tx15-entry-content a {
	color: var(--tx15-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.tx15-entry-content figure figcaption {
	margin-top: 9px;
	color: var(--tx15-muted);
	font-size: 14px;
	line-height: 1.45;
	text-align: left;
}

.tx15-entry-content blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 18px 24px;
	border-left: 4px solid var(--tx15-accent);
	background: var(--tx15-soft);
	border-radius: 0 10px 10px 0;
}

.tx15-entry-content table {
	width: 100%;
	border-collapse: collapse;
}

.tx15-entry-content th,
.tx15-entry-content td {
	padding: 12px 14px;
	border: 1px solid var(--tx15-line);
	text-align: left;
	vertical-align: top;
}

/* Sidebar */
.tx15-sidebar {
	min-width: 0;
}

.tx15-sidebar-sticky {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 22px;
}

.admin-bar .tx15-sidebar-sticky {
	top: 56px;
}

.tx15-widget {
	padding: 22px;
	border: 1px solid var(--tx15-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 4px 24px rgba(16, 37, 30, .045);
}

.tx15-widget-title {
	margin: 0 0 15px !important;
	color: var(--tx15-ink);
	font-size: 19px !important;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.tx15-widget-list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.tx15-widget-list li {
	padding: 12px 0;
	border-bottom: 1px solid var(--tx15-line);
}

.tx15-widget-list li:first-child {
	padding-top: 0;
}

.tx15-widget-list li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.tx15-widget-list a {
	display: block;
	color: #20322b;
	font-size: 15.5px;
	line-height: 1.38;
	font-weight: 650;
	text-decoration: none;
}

.tx15-widget-list a:hover {
	color: var(--tx15-accent);
}

.tx15-widget-list time {
	display: block;
	margin-top: 5px;
	color: #8b9691;
	font-size: 12px;
}

.tx15-widget-list-compact li {
	padding: 10px 0;
}

.tx15-category-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tx15-category-cloud a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--tx15-soft);
	color: #284039;
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
}

.tx15-category-cloud a:hover {
	background: #e8f2ed;
	color: var(--tx15-accent);
}

.tx15-category-cloud small {
	color: #84918b;
	font-size: 11px;
}

/* Footer/navigation */
.tx15-article-footer {
	margin-top: 44px;
	padding-top: 24px;
	border-top: 1px solid var(--tx15-line);
}

.tx15-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tx15-tags a {
	padding: 7px 11px;
	border-radius: 999px;
	background: var(--tx15-soft);
	color: #385149;
	font-size: 13px;
	text-decoration: none;
}

.tx15-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 30px;
	padding-top: 25px;
	border-top: 1px solid var(--tx15-line);
}

.tx15-post-nav a {
	color: var(--tx15-ink);
	font-size: 14px;
	line-height: 1.4;
	font-weight: 700;
	text-decoration: none;
}

.tx15-post-nav-next {
	text-align: right;
}

/* Tablet: sidebar becomes slightly narrower. */
@media (max-width: 1120px) {
	.tx15-single-page {
		--tx15-sidebar: 270px;
		--tx15-gap: 28px;
	}

	.tx15-article-title {
		font-size: clamp(34px, 5vw, 54px);
	}
}

/* Mobile/tablet: sidebar moves below article. */
@media (max-width: 860px) {
	.tx15-single-page {
		padding-top: 26px;
		padding-bottom: 52px;
	}

	.tx15-single-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 42px;
	}

	.tx15-sidebar-sticky {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tx15-sidebar-sticky .tx15-widget:last-child {
		grid-column: 1 / -1;
	}

	.tx15-featured {
		border-radius: 14px;
	}

	.tx15-entry-content {
		font-size: 18px;
	}
}

@media (max-width: 560px) {
	.tx15-single-page {
		--tx15-pad: 16px;
	}

	.tx15-article-title {
		font-size: clamp(34px, 10vw, 44px);
		letter-spacing: -0.03em;
	}

	.tx15-article-lead {
		font-size: 19px;
	}

	.tx15-sidebar-sticky {
		grid-template-columns: 1fr;
	}

	.tx15-sidebar-sticky .tx15-widget:last-child {
		grid-column: auto;
	}

	.tx15-widget {
		padding: 18px;
	}

	.tx15-post-nav {
		grid-template-columns: 1fr;
	}

	.tx15-post-nav-next {
		text-align: left;
	}
}


/* Article reactions */
.tx15-reactions {
	margin-top: clamp(40px, 6vw, 64px);
	padding: clamp(22px, 3vw, 30px);
	border: 1px solid var(--tx15-line);
	border-radius: 18px;
	background: linear-gradient(180deg, #fbfdfc 0%, #f5f8f6 100%);
}

.tx15-reactions-head {
	margin-bottom: 18px;
	text-align: center;
}

.tx15-reactions-head h2 {
	margin: 0 0 6px !important;
	color: var(--tx15-ink);
	font-size: clamp(22px, 2.6vw, 30px) !important;
	line-height: 1.15;
}

.tx15-reactions-head p {
	margin: 0;
	color: var(--tx15-muted);
	font-size: 14px;
}

.tx15-reaction-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.tx15-reaction-button {
	appearance: none;
	display: grid;
	grid-template-rows: auto auto auto;
	justify-items: center;
	gap: 5px;
	min-width: 0;
	padding: 12px 6px 10px;
	border: 1px solid transparent;
	border-radius: 14px;
	background: transparent;
	color: var(--tx15-ink);
	font: inherit;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.tx15-reaction-button:hover:not(:disabled),
.tx15-reaction-button:focus-visible:not(:disabled) {
	border-color: #d6e4dd;
	background: #fff;
	box-shadow: 0 6px 24px rgba(16, 37, 30, .07);
	transform: translateY(-2px);
	outline: none;
}

.tx15-reaction-button.is-selected {
	border-color: #a9cbbb;
	background: #fff;
	box-shadow: 0 6px 24px rgba(31, 107, 78, .10);
}

.tx15-reaction-button:disabled {
	cursor: default;
	opacity: .58;
}

.tx15-reaction-button.is-selected:disabled {
	opacity: 1;
}

.tx15-reaction-emoji {
	font-size: clamp(30px, 4vw, 40px);
	line-height: 1;
	filter: saturate(.95);
}

.tx15-reaction-label {
	min-height: 2.4em;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #3d4c47;
	font-size: 12px;
	line-height: 1.2;
	text-align: center;
}

.tx15-reaction-count {
	min-width: 26px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #e7eeea;
	color: #4d5d57;
	font-size: 12px;
	line-height: 1.35;
	font-variant-numeric: tabular-nums;
}

.tx15-reaction-button.is-selected .tx15-reaction-count {
	background: #dcece4;
	color: var(--tx15-accent);
	font-weight: 700;
}

.tx15-reaction-message {
	min-height: 1.45em;
	margin: 14px 0 0 !important;
	color: var(--tx15-accent);
	font-size: 13px;
	text-align: center;
}

.tx15-reaction-message.is-error {
	color: #a5382c;
}

@media (max-width: 560px) {
	.tx15-reactions {
		padding: 18px 10px 16px;
		border-radius: 14px;
	}

	.tx15-reaction-grid {
		gap: 3px;
	}

	.tx15-reaction-button {
		padding: 10px 2px 8px;
		border-radius: 10px;
	}

	.tx15-reaction-emoji {
		font-size: 29px;
	}

	.tx15-reaction-label {
		font-size: 10px;
	}

	.tx15-reaction-count {
		min-width: 23px;
		padding: 2px 6px;
		font-size: 11px;
	}
}


/* Views + Now reading */
.tx15-view-counter{font-variant-numeric:tabular-nums}.tx15-now-reading-loading,.tx15-now-reading-empty{color:var(--tx15-muted,#66736e);font-size:13px;line-height:1.4}.tx15-now-reading-items{list-style:none;margin:0!important;padding:0!important}.tx15-now-reading-items li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--tx15-line,#e5ebe8)}.tx15-now-reading-items li:first-child{padding-top:0}.tx15-now-reading-items li:last-child{padding-bottom:0;border-bottom:0}.tx15-now-reading-rank{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#eaf2ee;color:var(--tx15-accent,#1f6b4e);font-size:12px;font-weight:800}.tx15-now-reading-copy a{display:block;color:#20322b;font-size:15px;line-height:1.35;font-weight:700;text-decoration:none}.tx15-now-reading-copy a:hover{color:var(--tx15-accent,#1f6b4e)}.tx15-now-reading-copy small{display:block;margin-top:4px;color:#8b9691;font-size:11px}.tx15-now-reading-home{width:min(100%,1320px);margin:24px auto 34px;padding:20px 22px;border:1px solid #e5ebe8;border-radius:16px;background:#fff;box-sizing:border-box}.tx15-now-reading-home .tx15-widget-title{margin-bottom:14px!important;font-size:20px!important}.tx15-now-reading-home .tx15-now-reading-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.tx15-now-reading-home .tx15-now-reading-items li{grid-template-columns:28px minmax(0,1fr);padding:0 16px;border-bottom:0;border-right:1px solid #e5ebe8}.tx15-now-reading-home .tx15-now-reading-items li:first-child{padding-left:0}.tx15-now-reading-home .tx15-now-reading-items li:last-child{padding-right:0;border-right:0}@media(max-width:980px){.tx15-now-reading-home .tx15-now-reading-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.tx15-now-reading-home .tx15-now-reading-items li{padding:0;border-right:0;border-bottom:1px solid #e5ebe8;padding-bottom:12px}}@media(max-width:560px){.tx15-now-reading-home{margin:18px 16px 26px;width:auto;padding:16px}.tx15-now-reading-home .tx15-now-reading-items{grid-template-columns:1fr;gap:0}.tx15-now-reading-home .tx15-now-reading-items li{padding:10px 0}}
