.itlu-single {
	display: grid;
	gap: 2rem;
}

.itlu-single .itlu-single__meta,
.itlu-page__meta {
	display: grid;
	gap: var(--itlu-space-1);
	margin-block-end: var(--itlu-space-6);
	padding: var(--itlu-space-6);
	border: 1px solid var(--itlu-color-border);
	border-radius: var(--itlu-card-radius);
	color: var(--itlu-color-text);
	background: var(--itlu-color-surface-alt);
	font-size: var(--itlu-font-size-small);
	overflow-wrap: anywhere;
}

.itlu-single__meta p {
	margin: 0;
}

.itlu-single__meta a {
	color: var(--itlu-color-heading);
	text-decoration: none;
}

.itlu-single__meta a:hover {
	color: var(--itlu-color-link-hover);
	text-decoration: underline;
}

.single-post .itlu-single__meta,
.itlu-page__meta {
	margin-block-start: var(--itlu-space-6);
}

.itlu-page__meta .itlu-single__actions {
	margin-block-start: 0;
}

.itlu-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--itlu-space-3);
	margin-block-start: var(--itlu-space-4);
}

.itlu-single__actions > :is(a, button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--itlu-space-2);
	min-block-size: 44px;
	padding: var(--itlu-space-2) var(--itlu-space-4);
	border: 1px solid var(--itlu-color-primary);
	border-radius: var(--itlu-card-radius);
	color: var(--itlu-color-primary-contrast);
	background: var(--itlu-color-primary);
	font: inherit;
	font-weight: var(--itlu-font-weight-heading);
	text-decoration: none;
	cursor: pointer;
}

.itlu-single__actions > :is(a, button):hover {
	color: var(--itlu-color-primary-contrast);
	background: var(--itlu-color-link-hover);
	text-decoration: none;
}

.itlu-single__actions > [hidden] {
	display: none;
}

.itlu-single__actions .itlu-icon {
	inline-size: 1.25rem;
	block-size: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.itlu-single__share {
	margin-block-start: var(--itlu-space-4);
}

.itlu-single__share-row,
.itlu-single__share-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--itlu-space-2);
}

.itlu-single__share-row {
	column-gap: var(--itlu-space-4);
}

.itlu-single__share-buttons > :is(a, button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	padding: 0;
	border: 1px solid var(--itlu-color-border);
	border-radius: 50%;
	color: var(--itlu-color-text);
	background: #fff;
	cursor: pointer;
}

.itlu-single__share-buttons > :is(a, button):hover {
	border-color: var(--itlu-color-primary);
	color: var(--itlu-color-primary);
	text-decoration: none;
}

.itlu-single__share-buttons > [hidden],
.itlu-single__share-url[hidden] {
	display: none;
}

.itlu-single__share-buttons .itlu-icon {
	inline-size: 20px;
	block-size: 20px;
	fill: currentColor;
	stroke: none;
}

.itlu-single__share-status {
	display: block;
}

.itlu-single__share-status:not(:empty),
.itlu-single__share-url {
	margin-block-start: var(--itlu-space-3);
}

.itlu-single__share-url {
	inline-size: 100%;
	min-inline-size: 0;
}

.itlu-single__related {
	margin-block-start: var(--itlu-space-8);
	padding-block-start: var(--itlu-space-6);
	border-block-start: 1px solid var(--itlu-color-border);
}

.itlu-single__related > h2 {
	margin-block: 0 var(--itlu-space-5);
}

.itlu-single__related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--itlu-space-4);
}

.itlu-single__related .itlu-post-card {
	padding: 0;
}

.itlu-single__related .itlu-post-card__content {
	padding: var(--itlu-space-5);
}

.itlu-single__related .itlu-post-card__excerpt {
	margin-block-start: var(--itlu-space-3);
	font-size: var(--itlu-font-size-small);
}

.itlu-single__related time {
	color: var(--itlu-color-text-muted);
	font-size: var(--itlu-font-size-small);
}

.itlu-single__related .itlu-post-card__title {
	font-size: var(--itlu-font-size-h4);
}

.itlu-single--narrow .itlu-entry {
	inline-size: min(100%, var(--itlu-width-reading));
	margin-inline: auto;
}

.itlu-single--hero .itlu-entry__hero {
	inline-size: min(var(--itlu-width-wide), calc(100vw - (2 * var(--itlu-container-gutter))));
	margin-inline: calc((100% - min(var(--itlu-width-wide), calc(100vw - (2 * var(--itlu-container-gutter))))) / 2);
	margin-block-end: clamp(1.5rem, 4vw, 3rem);
	background: var(--itlu-color-surface-alt);
}

.itlu-single--hero .itlu-entry__hero.has-media {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
}

.itlu-single--hero .itlu-entry__hero-intro {
	align-self: center;
	min-inline-size: 0;
	padding: clamp(1rem, 3vw, 2rem);
}

.itlu-single--hero .itlu-entry__hero-intro .itlu-page-header {
	padding: 0;
}

.itlu-single--hero .itlu-entry__hero-intro h1 {
	overflow-wrap: anywhere;
}

.itlu-entry__media--hero img {
	inline-size: 100%;
	block-size: 100%;
	min-block-size: clamp(18rem, 45vw, 34rem);
	object-fit: cover;
}

@media (max-width: 48rem) {

	.itlu-single__related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.itlu-single--hero .itlu-entry__hero.has-media {
		grid-template-columns: 1fr;
	}

	.itlu-single--hero .itlu-entry__media--hero img {
		min-block-size: 14rem;
		max-block-size: 50vh;
	}
}

@media (max-width: 36rem) {

	.itlu-single__related-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media print {

	:is(.single-post, .page:not(.home)) :is(.itlu-header, .itlu-footer, .itlu-sidebar, .itlu-single__related, .itlu-single__actions, .itlu-single__share, .itlu-page__meta, .post-navigation) {
		display: none !important;
	}

	:is(.single-post, .page:not(.home)) .itlu-content-columns.itlu-sidebar-layout {
		display: block;
	}

	:is(.single-post, .page:not(.home)) .itlu-entry {
		break-inside: auto;
	}

	:is(.single-post, .page:not(.home)) .itlu-page-header {
		color: #000;
		background: #fff;
	}

	.single-post .itlu-single__meta {
		break-inside: avoid;
	}
}
