/* Post title sizing for single posts (Poppins) */
	.tpal-single-shell .wp-block-post-title.tpa-post-title {
		max-width: 46rem;
		margin: 0.55em 0 0.35em;
		font-size: clamp(2.25rem, 2.3vw + 1.5rem, 3rem);
		line-height: 1.08;
		letter-spacing: -0.02em;
		font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	}

	/* Article body stays Source Serif 4 */
	.tpal-single-shell .wp-block-post-content {
		font-family: 'Source Serif 4', ui-serif, Georgia, 'Times New Roman', serif;
	}

	/* Strapline + comments chrome in Poppins */
	.tpa-post-strapline,
	.tpa-comments {
		font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	}

	.tpa-comments :where(a, button, input, textarea) {
		font-family: inherit;
	}

	/* Strapline root */
	.tpa-post-strapline {
		margin: 1.5em 0 2.1em;
		padding: 0.35em 0 0.2em;
		font-size: 0.9rem;
		color: #4b5563;
	}

	.tpa-post-strapline :where(a, button) {
		font-family: inherit;
	}

	/* Strapline rows */
	.tpa-strapline-row {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	/* Row 1: tags (chips) */
	.tpa-strapline-row--top {
		justify-content: flex-start;
		margin-bottom: 0.35rem;
	}

	/* Row 2: meta + actions */
	.tpa-strapline-row--bottom {
		justify-content: space-between;
		flex-wrap: wrap;
		row-gap: 0.45rem;
	}

	/* Meta (date + comments) */
	.tpa-strapline-meta {
		display: inline-flex;
		align-items: center;
		gap: 1.2em;
		flex-wrap: wrap;
	}

	.tpa-strapline-item {
		display: inline-flex;
		align-items: center;
		gap: 0.4em;
		color: inherit;
		text-decoration: none;
		line-height: 1.2;
	}

	.tpa-strapline-text {
		white-space: nowrap;
	}

	/* Tags row */
	.tpa-strapline-tags {
		display: flex;
		align-items: center;
	}

	.tpa-strapline-chiplist {
		display: inline-flex;
		flex-wrap: wrap;
		gap: 0.35em;
	}

	.tpa-strapline-chip {
		display: inline-flex;
		align-items: center;
		padding: 0.2em 0.9em;
		border-radius: 999px;
		background: rgba(15, 23, 42, 0.06);
		color: inherit;
		text-decoration: none;
		font-size: 0.85em;
		font-weight: 400;
		transition: background 0.18s ease, color 0.18s ease;
		white-space: nowrap;
	}

	.tpa-strapline-chip:hover {
		background: #1133AF;
		color: #ffffff;
	}

	/* Icons (generic) */
	.tpa-strapline-icon {
		width: 1.6rem;
		height: 1.6rem;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: rgba(17, 51, 175, 0.06);
		color: #1133AF;
		flex-shrink: 0;
	}
	.tpa-strapline-icon svg {
		width: 0.95rem;
		height: 0.95rem;
	}

	/* ACTIONS: share + PDF */
	.tpa-strapline-actions {
		margin-left: auto;
		display: inline-flex;
		align-items: center;
		gap: 0.85em;
		flex-shrink: 0;
	}

	.tpa-strapline-share-buttons {
		display: inline-flex;
		gap: 0.35em;
	}

		.tpa-strapline-share-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 1.8rem;
			height: 1.8rem;
			border-radius: 999px;
			border: 1px solid rgba(17, 51, 175, 0.35);
			background: rgba(17, 51, 175, 0.06);
			color: #1133AF;
			text-decoration: none;
			transition: background 0.18s ease, color 0.18s ease, transform 0.08s ease;
		}

	.tpa-strapline-share-btn svg {
		width: 0.95rem;
		height: 0.95rem;
	}

	.tpa-strapline-share-btn .tpa-strapline-icon {
		background: transparent;
		color: inherit;
		width: 1.2rem;
		height: 1.2rem;
	}

	.tpa-strapline-share-btn .tpa-strapline-icon svg {
		width: 100%;
		height: 100%;
	}

		.tpa-strapline-share-btn:hover {
			background: #1133AF;
			border-color: #1133AF;
			color: #ffffff;
			transform: translateY(-1px);
		}

	.tpa-strapline-pdf {
		display: inline-flex;
		align-items: center;
	}

	.tpa-post-strapline .tpal-cta.tpal-cta--secondary {
		display: inline-flex;
		align-items: center;
		border-radius: 999px;
		border: 1px solid rgba(17, 51, 175, 0.35);
		background: transparent;
		color: #1133AF;
		padding: 0.25em 0.95em;
		min-height: 1.8rem;
		font-size: 0.78em;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.06em;
		white-space: nowrap;
		transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
	}

	.tpa-post-strapline .tpal-cta.tpal-cta--secondary:hover {
		background: #1133AF;
		color: #ffffff;
		border-color: #1133AF;
	}

	/* Responsive tweaks for strapline */
	@media (max-width: 900px) {
		.tpa-strapline-row--bottom {
			align-items: flex-start;
		}
		.tpa-strapline-actions {
			margin-left: 0;
		}
	}

	@media (max-width: 600px) {
		.tpa-strapline-row--bottom {
			flex-direction: column;
			align-items: flex-start;
		}
		.tpa-strapline-actions {
			align-self: flex-start;
		}
		.tpal-single-shell .wp-block-post-title.tpa-post-title {
			font-size: clamp(2rem, 5vw, 2.4rem);
		}
	}

	/* COMMENTS tidy-up */
	.tpa-comments {
		margin-top: 3rem;
		padding-top: 2rem;
		border-top: 1px solid rgba(148, 163, 184, 0.35);
	}

	.tpa-comments .wp-block-comments-title {
		margin-bottom: 1.5rem;
	}

	.tpa-comment {
		padding: 1.4rem 0;
		border-bottom: 1px solid rgba(148, 163, 184, 0.25);
	}

	.tpa-comment-inner {
		display: flex;
		gap: 0.9rem;
	}

	.tpa-comment-avatar img {
		border-radius: 999px;
	}

	.tpa-comment-body {
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
	}

	.tpa-comment-header {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.45rem;
	}

	.tpa-comment-date {
		opacity: 0.7;
	}

	.tpa-comment-content {
		margin-top: 0.25rem;
	}

	.tpa-comment-actions {
		margin-top: 0.35rem;
		display: flex;
		gap: 0.75rem;
		font-size: 0.85em;
	}

	@media (max-width: 600px) {
		.tpa-comment-inner {
			align-items: flex-start;
		}
	}
