/* Single Live Updates only. Preserve the active theme/faction paints and prose. */
body.single-vs_dispatch .vs-live-update {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: start;
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}
body.single-vs_dispatch .vs-live-update > * {
	grid-column: 1 / -1;
	min-width: 0;
}
body.single-vs_dispatch .vs-live-update > .vs-crumbs {
	margin: 0;
}
body.single-vs_dispatch .vs-live-update > header {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
body.single-vs_dispatch .vs-live-update > header > * {
	flex: 0 0 auto;
	min-width: 0;
	max-width: none;
	margin: 0;
}
body.single-vs_dispatch .vs-live-update > header h1 {
	font-size: var(--vs-update-title-size, clamp(2rem, 3.8vw, 3.2rem)) !important;
	line-height: 1.08;
	overflow-wrap: anywhere;
	text-wrap: balance;
}
body.single-vs_dispatch .vs-live-update > header .vs-detail__lead {
	/* The article below already contains this automatically generated excerpt. */
	display: none;
}
body.single-vs_dispatch .vs-live-update > .vs-live-update__hero {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	height: auto;
	min-height: 0;
	max-height: none;
	margin: 0;
	padding: 0;
	aspect-ratio: auto;
	overflow: hidden;
}
/* Match the public component context to outrank the theme's important panel paints. */
body.single-vs_dispatch .vs-live-update > .vs-live-update__hero,
body.single-vs_dispatch[class*="vs-theme--"] .vs-live-update.vs-detail[data-vs-component="tactical-panel"][data-vs-context="site"] > .vs-live-update__hero.vs-detail__image {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.single-vs_dispatch .vs-live-update > .vs-live-update__hero::before,
body.single-vs_dispatch .vs-live-update > .vs-live-update__hero::after {
	content: none !important;
	display: none !important;
}
body.single-vs_dispatch .vs-live-update > .vs-live-update__hero img {
	display: block;
	position: static;
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: 24rem;
	margin: 0;
	object-fit: contain;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.single-vs_dispatch .vs-live-update > .vs-prose {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-block: 0;
}

@media (min-width: 861px) {
	/* Without an image the header stays full-width, with no empty column. */
	body.single-vs_dispatch .vs-live-update:has(> .vs-live-update__hero) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(1.25rem, 3vw, 2.5rem);
	}
	body.single-vs_dispatch .vs-live-update:has(> .vs-live-update__hero) > header {
		grid-column: 1;
		grid-row: 2;
		align-self: stretch;
		justify-content: flex-start;
		min-height: var(--vs-update-header-min-height, 0px);
	}
	/* Only contain sizing once JS can fit the title; no-JS copy stays readable. */
	body.single-vs_dispatch .vs-live-update[data-vs-title-fit] > header {
		contain: size;
	}
	body.single-vs_dispatch .vs-live-update:has(> .vs-live-update__hero) > header h1 {
		font-size: var(--vs-update-title-size, clamp(2.5rem, 5.5vw, 5.5rem)) !important;
	}
	body.single-vs_dispatch .vs-live-update > .vs-live-update__hero {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
	}
	body.single-vs_dispatch .vs-live-update > .vs-live-update__hero img {
		max-height: none;
	}
}
