/* Dynamic event data inside the UHY Elementor single-event template. */
/* The shortcode starts inside the hero, then its host is moved below the hero
   by a small progressive-enhancement script. This keeps the Elementor template
   editable while preserving a full-width sticky facts bar on public pages. */
#uhy-event-details.uhy-event-template__factsbar-host {
	display: block !important;
	position: sticky;
	top: 0;
	z-index: 30;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--uhy-event-facts-background, #003d26) !important;
	color: var(--uhy-event-facts-text, #fff) !important;
	box-shadow: 0 8px 22px rgba(0, 35, 21, .16);
	isolation: isolate;
	/* The source Elementor widget may carry an entrance animation. Once it has
	 * become a full-width sticky bar, that animation causes a transient shift
	 * and can create horizontal overflow on tablet widths. */
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}

body.admin-bar #uhy-event-details.uhy-event-template__factsbar-host { top: 32px; }
#uhy-event-details.uhy-event-template__factsbar-host .elementor-widget-container { width: 100%; margin: 0 !important; padding: 0 !important; }
.uhy-event-template__factsbar { width: 100%; color: inherit; font-family: var(--e-global-typography-text-font-family, mundial, sans-serif); }
.uhy-event-template__factsbar-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); width: min(calc(100% - 120px), var(--uhy-event-content-width, 1140px)); margin: 0 auto; }
.uhy-event-template__fact { display: grid; align-content: center; gap: 5px; min-width: 0; min-height: 82px; padding: 17px clamp(15px, 2vw, 28px); border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent); color: inherit; font-style: normal; }
.uhy-event-template__fact:first-child { border-left: 0; }
.uhy-event-template__fact > span { color: color-mix(in srgb, currentColor 66%, transparent); font-size: .68rem; font-weight: 800; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; }
.uhy-event-template__fact > strong { overflow-wrap: anywhere; color: inherit; font-size: .98rem; font-weight: 700; line-height: 1.35; }
.uhy-event-template__fact--date { display: flex; align-items: center; gap: 12px; padding-left: 0; }
.uhy-event-template__fact--date > strong { flex: 0 0 auto; color: var(--uhy-event-date, var(--e-global-color-accent, #78d74f)); font-family: var(--e-global-typography-primary-font-family, mundial, sans-serif); font-size: clamp(2.65rem, 4vw, 4rem); font-weight: 800; letter-spacing: -.06em; line-height: .8; }
.uhy-event-template__fact--date > span { display: grid; gap: 4px; color: inherit; font-size: .95rem; font-weight: 800; line-height: 1; text-transform: lowercase; }
.uhy-event-template__fact--date b { font: inherit; }
.uhy-event-template__fact--date small { color: color-mix(in srgb, currentColor 64%, transparent); font-size: .72rem; font-weight: 700; line-height: 1.2; text-transform: lowercase; }

.uhy-event-template__description { font-family: var(--e-global-typography-text-font-family, mundial, sans-serif); }
.uhy-event-template__description :is(p, ul, ol, li, blockquote, figcaption, td, th), .uhy-event-template__registration, .uhy-event-template__registration-copy { font-family: var(--e-global-typography-text-font-family, mundial, sans-serif); }
.uhy-event-template__description :is(h1, h2, h3, h4, h5, h6), .uhy-event-template__registration :is(h2, h3) { font-family: var(--e-global-typography-primary-font-family, mundial, sans-serif); }
.uhy-event-template__description > :first-child { margin-top: 0; }
.uhy-event-template__description > :last-child { margin-bottom: 0; }
.uhy-event-template__registration { width: 100%; margin-top: clamp(28px, 4vw, 52px); }
.uhy-event-template__registration h2 { margin: 0 0 14px; }
.uhy-event-template__registration .elementor-heading-title { color: var(--uhy-mt-accent, var(--e-global-color-primary, currentColor)); font-family: var(--e-global-typography-primary-font-family, mundial, sans-serif); font-size: 2rem; font-weight: var(--e-global-typography-primary-font-weight, 600); line-height: 1.2; }
.uhy-event-template__registration-copy { margin: 0 0 24px; }
.uhy-event-template__embed { overflow: hidden; max-width: 100%; background: #fff; }
.uhy-event-template__embed iframe { display: block; width: 100%; max-width: 100%; border: 0; }
/* The Elementor wrapper remains static, while this shortcode is dynamic. */
#uhy-event-registration:not(:has(.uhy-event-template__registration)) { display: none; }
@media (max-width: 767px) {
	body.admin-bar #uhy-event-details.uhy-event-template__factsbar-host { top: 46px; }
	.uhy-event-template__factsbar-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
	.uhy-event-template__fact:nth-child(odd) { border-left: 0; }
	.uhy-event-template__fact { min-height: 76px; padding: 15px 20px; }
	.uhy-event-template__fact--date { padding-left: 15px; }
}

@media (max-width: 480px) {
	.uhy-event-template__factsbar-inner { grid-template-columns: minmax(0, 1fr); }
	.uhy-event-template__fact { min-height: 0; padding: 14px 24px; border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-left: 0; }
	.uhy-event-template__fact--date { padding-left: 15px; }
	.uhy-event-template__fact:first-child { border-top: 0; }
}
