/* =========================================================================
   Single event page (tribe-events/single-event.php)
   Hero: title, facts and actions beside the photo. Body: description
   beside a venue card. Colors come from the tokens in css/style.css, so
   dark mode needs no overrides here. No card borders (house rule).
   ========================================================================= */

/* The Events Calendar caps its page wrapper at 1048px (by ID); use the site width. */
.single-tribe_events #tribe-events-pg-template {
	max-width: calc(var(--wp--style--global--wide-size, 1200px) + 40px);
}

.umbc-event {
	--umbc-event-gap: clamp(24px, 4vw, 56px);
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
	padding: 0 0 48px;
	color: var(--umbc-text);
}

/* ── Back link ─────────────────────────────────────────────────────────── */
.umbc-event .umbc-event__back {
	margin: 0 0 24px;
	font-size: 15px;
}

.umbc-event .umbc-event__back a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--umbc-link);
	font-weight: 700;
	text-decoration: none;
}

.umbc-event .umbc-event__back a:hover,
.umbc-event .umbc-event__back a:focus-visible {
	color: var(--umbc-link-hover);
	text-decoration: underline;
}

/* ── Hero ──────────────────────────────────────────────────────────────── */
.umbc-event__hero {
	display: grid;
	gap: var(--umbc-event-gap);
	align-items: center;
	margin-bottom: var(--umbc-event-gap);
}

@media (min-width: 960px) {
	.umbc-event__hero {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	}

	.umbc-event__hero--no-image {
		grid-template-columns: minmax(0, 1fr);
		max-width: 760px;
	}
}

.umbc-event .tribe-events-single-event-title {
	margin: 0 0 24px;
	color: var(--umbc-color-heading, var(--umbc-text));
	font-size: clamp(32px, 3.6vw, 46px);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

/* Facts: a soft surface, no border */
.umbc-event__facts {
	display: grid;
	gap: 14px;
	margin: 0 0 24px;
	padding: 22px 24px;
	background: var(--umbc-surface-card-alt);
	border-radius: var(--umbc-radius-lg);
}

.umbc-event__fact {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.umbc-event__fact dt {
	margin: 0;
	line-height: 0;
}

.umbc-event__fact svg {
	width: 22px;
	height: 22px;
	margin-top: 2px;
	fill: var(--umbc-link);
}

.umbc-event__fact dd {
	margin: 0;
	font-size: 18px;
	line-height: 1.45;
	font-weight: 600;
}

.umbc-event__fact dd a {
	color: var(--umbc-link);
}

/* Actions: Register (gold, primary) and Add to calendar */
.umbc-event__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.umbc-event .umbc-event__register {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	min-height: 48px;
	padding: 12px 22px;
	background: var(--umbc-btn-gold);
	color: #1a1a1a;
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
	border-radius: var(--umbc-btn-radius);
	transition: background var(--umbc-transition-fast);
}

.umbc-event .umbc-event__register:hover,
.umbc-event .umbc-event__register:focus-visible {
	background: var(--umbc-btn-gold-hover);
	color: #1a1a1a;
}

.umbc-event__actions .tribe-events-c-subscribe-dropdown__container,
.umbc-event__actions .tribe-events-c-subscribe-dropdown {
	margin: 0;
}

.umbc-event__actions > * {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.umbc-event__actions .tribe-events.tribe-common {
	display: inline-block;
}

.umbc-event__actions .tribe-events-c-subscribe-dropdown__button {
	min-height: 48px;
	margin: 0;
	padding: 12px 18px;
	background: var(--umbc-surface-card-alt);
	border: 0;
	border-radius: var(--umbc-btn-radius);
	font-size: 16px;
}

.umbc-event__actions .tribe-events-c-subscribe-dropdown__button-text {
	color: var(--umbc-text);
	font-weight: 700;
}

/* Photo: never cropped (posters carry text), sits on a soft surface */
.umbc-event__media {
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background: var(--umbc-surface-card-alt);
	border-radius: var(--umbc-radius-lg);
	box-shadow: var(--umbc-shadow-card);
}

.umbc-event__media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: contain;
}

/* On phones the facts and Register come before the photo */
@media (max-width: 959px) {
	.umbc-event__media {
		order: 2;
	}
}

/* ── Body: description beside the venue card ──────────────────────────── */
/* Beats The Events Calendar's flex column (and overflow: hidden, which
   clipped the venue card's shadow) on .tribe-events-single > .tribe_events */
.umbc-event.tribe-events-single > .umbc-event__body {
	display: grid;
	overflow: visible;
	gap: var(--umbc-event-gap);
	align-items: start;
}

@media (min-width: 960px) {
	.umbc-event.tribe-events-single > .umbc-event__body {
		grid-template-columns: minmax(0, 1fr) 360px;
	}

	.umbc-event.tribe-events-single > .umbc-event__body--single {
		grid-template-columns: minmax(0, 1fr);
	}
}

.umbc-event__main {
	min-width: 0;
	max-width: 72ch;
}

/* The Events Calendar colors content text itself (#141827), which vanishes
   in dark mode; use the theme tokens instead. */
.umbc-event .tribe-events-single-event-description,
.umbc-event .tribe-events-single-event-description :is(p, li, h2, h3, h4, strong, em) {
	color: var(--umbc-text);
}

.umbc-event .tribe-events-single-event-description a {
	color: var(--umbc-link);
}

.umbc-event .tribe-events-single-event-description {
	font-size: var(--umbc-font-size-prose, 17px);
	line-height: var(--umbc-line-height-prose, 1.75);
}

.umbc-event .tribe-events-single-event-description > :first-child {
	margin-top: 0;
}

/* Divider lines editors put between paragraphs: give them room */
.umbc-event .tribe-events-single-event-description hr {
	height: 0;
	margin: 32px 0;
	border: 0;
	border-top: 1px solid var(--umbc-border);
	background: none;
}

/* Small inline images (logos) sit beside their text, as before */
.umbc-event .tribe-events-single-event-description img:not(.emoji) {
	max-width: min(400px, 100%);
	height: auto;
	float: left;
	margin: 0 2em 1em 0;
}

.umbc-event .tribe-events-single-event-description::after {
	content: "";
	display: block;
	clear: both;
}

@media (max-width: 768px) {
	.umbc-event .tribe-events-single-event-description img:not(.emoji) {
		float: none;
		margin: 0 0 1em;
	}
}

/* Venue card */
.umbc-event__aside {
	box-sizing: border-box;
	min-width: 0;
	display: grid;
	gap: 24px;
	padding: 28px;
	background: var(--umbc-surface-card);
	border-radius: var(--umbc-radius-lg);
	box-shadow: var(--umbc-shadow-card);
}

.umbc-event__aside .tribe-events-meta-group {
	width: auto;
	float: none;
	margin: 0;
	padding: 0;
}

.umbc-event__aside .tribe-events-single-section-title {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	color: var(--umbc-text-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.umbc-event__aside dl,
.umbc-event__aside dd,
.umbc-event__aside p {
	margin: 0;
}


.umbc-event__aside dd + dt,
.umbc-event__aside dd + dd {
	margin-top: 10px;
}

.umbc-event__aside .tribe-venue {
	font-size: 18px;
	font-weight: 700;
}

.umbc-event__aside .tribe-venue a,
.umbc-event__aside .tribe-events-meta-group a {
	color: var(--umbc-link);
}

.umbc-event__aside dt {
	margin: 0;
	color: var(--umbc-text-muted);
	font-size: 14px;
	font-weight: 600;
}

.umbc-event__aside address {
	font-style: normal;
	line-height: 1.5;
}

.umbc-event__aside abbr {
	text-decoration: none;
}

.umbc-event__aside .tribe-events-venue-map {
	width: 100%;
	float: none;
	margin: 18px 0 0;
	overflow: hidden;
	border-radius: var(--umbc-radius-md);
}

.umbc-event__directions {
	margin-top: 10px !important;
	font-weight: 600;
}

.umbc-event__aside .tribe-events-venue-map iframe {
	display: block;
	border: 0;
}

.umbc-event__aside .tribe-events-venue-map iframe,
.umbc-event__aside .tribe-events-venue-map > div {
	width: 100% !important;
	height: 240px !important;
}

/* ── Previous / next ───────────────────────────────────────────────────── */
.umbc-event #tribe-events-footer {
	margin-top: var(--umbc-event-gap);
	padding-top: 24px;
	border-top: 1px solid var(--umbc-border);
}

.umbc-event #tribe-events-footer .tribe-events-sub-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.umbc-event #tribe-events-footer .tribe-events-sub-nav li {
	float: none;
	max-width: 48%;
	margin: 0;
	padding: 0;
}

.umbc-event #tribe-events-footer .tribe-events-nav-next {
	margin-left: auto;
	text-align: right;
}

@media (max-width: 600px) {
	.umbc-event #tribe-events-footer .tribe-events-sub-nav {
		flex-direction: column;
	}

	.umbc-event #tribe-events-footer .tribe-events-sub-nav li {
		max-width: 100%;
	}
}

.umbc-event.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a {
	color: var(--umbc-link);
	font-weight: 600;
	text-decoration: none;
}

.umbc-event.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a:hover,
.umbc-event.tribe-events-single #tribe-events-footer .tribe-events-sub-nav a:focus-visible {
	color: var(--umbc-link-hover);
	text-decoration: underline;
}
