/* =============================================================
   Tusker refresh — News templates (tsk-single.php, tsk-archive.php)
   Appended to the end of astra-child/style.css.
   All rules scoped under .tsk-refresh.tsk-post / .tsk-archive so
   they only fire when the news templates are rendering.
   ============================================================= */

/* ------ Single-post layout ------------------------------------ */

.tsk-refresh.tsk-post .tsk-post-article {
	max-width: none;
}

.tsk-refresh.tsk-post .tsk-post-hero {
	text-align: left;
}
.tsk-refresh.tsk-post .tsk-post-hero h1 {
	max-width: 22ch;
	font-size: clamp(32px, 4.5vw, 56px);
}
.tsk-refresh.tsk-post .tsk-post-hero .tsk-kicker a {
	color: inherit;
	border-bottom: 1px solid transparent;
}
.tsk-refresh.tsk-post .tsk-post-hero .tsk-kicker a:hover {
	color: var(--brass);
	border-bottom-color: var(--brass);
}
.tsk-refresh.tsk-post .tsk-post-hero .tsk-kicker-sep {
	color: var(--text-muted);
	margin: 0 4px;
}
.tsk-refresh.tsk-post .tsk-post-hero-img {
	margin: var(--s-10) 0 0;
	border: 1px solid var(--brass-line);
	overflow: hidden;
	max-width: 1100px;
}
.tsk-refresh.tsk-post .tsk-post-hero-img img {
	width: 100%;
	height: auto;
	display: block;
}

/* Body prose inherits .tsk-prose but we add mild content typography
   for WP-generated tags Gareth uses inside posts (blockquote, img, hr) */
.tsk-refresh.tsk-post .tsk-post-body > * {
	max-width: 680px;
	margin-inline: auto;
}
.tsk-refresh.tsk-post .tsk-post-body p,
.tsk-refresh.tsk-post .tsk-post-body ul,
.tsk-refresh.tsk-post .tsk-post-body ol {
	font-size: var(--text-lg);
	line-height: 1.7;
	color: var(--text-secondary);
	margin: 0 auto var(--s-6);
}
.tsk-refresh.tsk-post .tsk-post-body h2 {
	font-size: var(--text-2x);
	margin: var(--s-12) auto var(--s-4);
	letter-spacing: -0.01em;
}
.tsk-refresh.tsk-post .tsk-post-body h3 {
	font-size: var(--text-xl);
	margin: var(--s-8) auto var(--s-3);
}
.tsk-refresh.tsk-post .tsk-post-body a {
	border-bottom: 1px solid var(--brass-line);
}
.tsk-refresh.tsk-post .tsk-post-body a:hover {
	border-bottom-color: var(--brass);
}
.tsk-refresh.tsk-post .tsk-post-body blockquote {
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--text-xl);
	line-height: 1.45;
	color: var(--text-primary);
	border-left: 2px solid var(--brass);
	padding: var(--s-3) var(--s-6);
	margin: var(--s-8) auto;
	max-width: 680px;
}
.tsk-refresh.tsk-post .tsk-post-body img {
	margin: var(--s-8) auto;
	max-width: 900px;
	width: 100%;
	height: auto;
	border: 1px solid var(--mist);
}
.tsk-refresh.tsk-post .tsk-post-body hr {
	max-width: 680px;
	margin: var(--s-10) auto;
	border: 0;
	height: 1px;
	background: var(--brass-line);
}
.tsk-refresh.tsk-post .tsk-post-body figcaption {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--text-muted);
	margin-top: var(--s-3);
	text-align: center;
}

.tsk-refresh.tsk-post .tsk-post-footer {
	padding-top: var(--s-8);
}
.tsk-refresh.tsk-post .tsk-post-byline {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--text-muted);
	margin: var(--s-5) 0 var(--s-4);
}
.tsk-refresh.tsk-post .tsk-post-back a {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brass);
}

/* Related posts tail */
.tsk-refresh.tsk-post .tsk-related {
	border-top: 1px solid var(--mist);
}

/* ------ Archive / category index ------------------------------ */

.tsk-refresh.tsk-archive .tsk-page-hero h1 {
	max-width: 18ch;
}
.tsk-refresh.tsk-archive .tsk-page-hero .tsk-lede {
	color: var(--text-secondary);
	max-width: 62ch;
}

/* Three-up post grid, collapses 2/1 */
.tsk-refresh .tsk-post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid var(--mist);
}
.tsk-refresh .tsk-post-card {
	padding: var(--s-8) var(--s-6) var(--s-10);
	border-right: 1px solid var(--mist);
	border-bottom: 1px solid var(--mist);
	display: flex;
	flex-direction: column;
	background: transparent;
	transition: background var(--dur-base) var(--ease-standard);
}
.tsk-refresh .tsk-post-card:nth-child(3n) { border-right: 0; }
.tsk-refresh .tsk-post-card:hover { background: var(--brass-soft); }

.tsk-refresh .tsk-post-card-meta {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--text-muted);
	margin: 0 0 var(--s-4);
}
.tsk-refresh .tsk-post-card-cat { color: var(--brass); }
.tsk-refresh .tsk-post-card-sep { margin: 0 6px; color: var(--mist); }

.tsk-refresh .tsk-post-card-title {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	line-height: 1.25;
	letter-spacing: -0.005em;
	margin: 0 0 var(--s-4);
}
.tsk-refresh .tsk-post-card-title a {
	color: var(--text-primary);
	text-decoration: none;
}
.tsk-refresh .tsk-post-card-title a:hover { color: var(--brass); }

.tsk-refresh .tsk-post-card-excerpt {
	font-size: var(--text-sm);
	line-height: 1.65;
	color: var(--text-secondary);
	margin: 0 0 var(--s-5);
	flex: 1;
}

.tsk-refresh .tsk-post-card-more a {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--brass);
}

@media (max-width: 960px) {
	.tsk-refresh .tsk-post-grid { grid-template-columns: repeat(2, 1fr); }
	.tsk-refresh .tsk-post-card:nth-child(3n) { border-right: 1px solid var(--mist); }
	.tsk-refresh .tsk-post-card:nth-child(2n) { border-right: 0; }
}
@media (max-width: 560px) {
	.tsk-refresh .tsk-post-grid { grid-template-columns: 1fr; }
	.tsk-refresh .tsk-post-card { border-right: 0 !important; }
}

/* Pagination (archive foot) */
.tsk-refresh .tsk-pagination {
	margin-top: var(--s-10);
	display: flex;
	flex-wrap: wrap;
	gap: var(--s-3);
	justify-content: center;
}
.tsk-refresh .tsk-pagination a,
.tsk-refresh .tsk-pagination span.current {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 10px 14px;
	border: 1px solid var(--mist);
	color: var(--text-secondary);
	text-decoration: none;
	min-width: 40px;
	text-align: center;
}
.tsk-refresh .tsk-pagination span.current {
	background: var(--charcoal);
	color: var(--text-on-dark);
	border-color: var(--charcoal);
}
.tsk-refresh .tsk-pagination a:hover {
	border-color: var(--brass);
	color: var(--brass);
}

/* ------ Admin-only preview banner ------------------------------ */

.tsk-admin-preview-banner {
	background: #111;
	color: #fff;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	padding: 8px 16px;
	position: sticky;
	top: 32px; /* sit under WP admin bar */
	z-index: 1000;
	border-bottom: 1px solid #AE7D37;
}
.tsk-admin-preview-banner strong { color: #AE7D37; }
