/*
 * Single event page (single-event_post.php, template-parts/event/*).
 * SKELETON (2026-10-27): plain, readable layout from the site tokens until
 * the user sends the design. Header and description in a narrow column,
 * registration in a band box below.
 */

/* Header: back link, title, subtitle, facts. */

.hf-event-header
{
	padding-block: var(--hf-space-section-block) var(--hf-space-l);
}

.hf-event-header__back
{
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	margin-bottom: var(--hf-space-m);
	color: var(--hf-color-text);
	font-size: var(--hf-text-control);
	text-decoration: none;
}

.hf-event-header__back:hover
{
	color: var(--hf-color-heading);
	text-decoration: underline;
	text-decoration-color: var(--hf-color-primary);
	text-underline-offset: 0.3em;
}

.hf-event-header__back-icon
{
	flex: none;
	width: 1.15em;
	height: 1.15em;
}

.hf-event-header__title
{
	margin: 0;
	font-size: var(--hf-text-page-title);
	text-wrap: balance;
}

.hf-event-header__subtitle
{
	margin: var(--hf-space-xs) 0 0;
	color: var(--hf-color-heading);
	font-size: var(--hf-text-xl);
	line-height: 1.3;
}

.hf-event-header__past
{
	display: inline-block;
	margin: var(--hf-space-m) 0 0;
	padding: var(--hf-space-xs) var(--hf-space-s);
	border-radius: var(--hf-radius-s);
	background: var(--hf-color-band-strong);
	color: var(--hf-color-heading);
	font-size: var(--hf-text-control);
}

.hf-event-header__facts
{
	display: flex;
	flex-wrap: wrap;
	gap: var(--hf-space-s) var(--hf-space-l);
	margin: var(--hf-space-l) 0 0;
	font-size: var(--hf-text-control);
}

.hf-event-header__fact dt
{
	color: var(--hf-color-text);
	font-size: var(--hf-text-s);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.hf-event-header__fact dd
{
	margin: var(--hf-space-2xs) 0 0;
	color: var(--hf-color-heading);
}

.hf-event-header__status--last
{
	color: var(--hf-color-primary);
}

.hf-event-header__status--closed
{
	color: var(--hf-color-error);
}

/* Description in a reading column. */

.hf-event-body__inner
{
	max-width: 48rem;
}

.hf-event-body__image
{
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: var(--hf-space-l);
	border-radius: var(--hf-radius-m);
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.hf-event-body__content,
.hf-event-body__excerpt
{
	font-size: var(--hf-text-l);
	line-height: var(--hf-leading-text);
}

.hf-event-body__excerpt
{
	margin: 0;
}

.hf-event-body__pending
{
	margin: var(--hf-space-m) 0 0;
	color: var(--hf-color-text);
	font-size: var(--hf-text-control);
	font-style: italic;
}

/* Registration box. */

.hf-event-registration
{
	padding-block: var(--hf-space-l) var(--hf-space-section-block);
}

.hf-event-registration__box
{
	max-width: 48rem;
	padding: var(--hf-space-l);
	border-radius: var(--hf-radius-m);
	background: var(--hf-color-band);
}

.hf-event-registration__title
{
	margin: 0 0 var(--hf-space-xs);
	font-size: var(--hf-text-h2-s);
}

.hf-event-registration__text
{
	margin: 0 0 var(--hf-space-m);
	font-size: var(--hf-text-l);
}

.hf-event-registration--closed .hf-event-registration__text
{
	color: var(--hf-color-error);
}

.hf-event-registration__actions
{
	display: flex;
	flex-wrap: wrap;
	gap: var(--hf-space-s);
}

@media (max-width: 40em)
{
	.hf-event-registration__box
	{
		padding: var(--hf-space-m) var(--hf-space-s);
	}

	.hf-event-registration__actions .hf-button
	{
		width: 100%;
	}
}
