/* Open House event page. */

/* stats overlay on the main image */
.hd-ev-imgwrap { position: relative; display: block; overflow: visible !important; }
.hd-ev-stats {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	z-index: 3;
	pointer-events: none;
}
.hd-ev-stat { pointer-events: auto; }
.hd-ev-stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	font-size: 13.5px;
	font-weight: 700;
	background: transparent;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 20px;
	padding: 5px 12px;
	text-shadow: 0 1px 4px rgba(10, 20, 26, 0.75), 0 1px 2px rgba(10, 20, 26, 0.6);
	cursor: default;
	transition: backdrop-filter 0.2s ease, border-color 0.2s ease;
}
.hd-ev-stat:hover {
	backdrop-filter: blur(9px);
	-webkit-backdrop-filter: blur(9px);
	border-color: rgba(255, 255, 255, 0.7);
}
.hd-ev-stat svg { flex: 0 0 auto; opacity: 0.9; }

/* contact-agent modal reuses .hd-oh-overlay/.hd-oh-modal base (loaded on property
   pages only), so restate the essentials here */
.hd-ohc-overlay {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.hd-ohc-overlay[hidden] { display: none !important; }
.hd-ohc-modal {
	position: relative;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 80px rgba(10, 20, 26, 0.45);
	width: min(560px, 100%);
	max-height: 92vh;
	overflow: auto;
	padding: 26px 28px 28px;
}
.hd-ohc-modal .hd-oh-close {
	position: absolute;
	top: 10px;
	right: 14px;
	border: 0;
	background: none;
	font-size: 30px;
	line-height: 1;
	color: #7a878d;
	cursor: pointer;
	z-index: 2;
}
.hd-ohc-modal .es-request-form { border-radius: 10px; }

/* full-width map band */
.hd-ev-map .fusion-google-map,
.hd-ev-map iframe { width: 100% !important; }

/* details grid columns breathing room */
.fusion-tb-published .fusion-builder-column-inner { min-width: 0; }

/* venue / details / organizer: full-width band, three-across grid
   (they ship as a stacked narrow sidebar in the demo layout) */
.single-tribe_events .fusion-builder-column-47 {
	flex: 1 1 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}
.single-tribe_events .fusion-builder-column-47 > .fusion-column-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 10px 30px;
}
.single-tribe_events .fusion-builder-column-47 > .fusion-column-wrapper > * {
	flex: 0 0 calc(33.33% - 20px) !important;
	min-width: 230px;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
@media (max-width: 800px) {
	.single-tribe_events .fusion-builder-column-47 > .fusion-column-wrapper > * {
		flex: 1 1 100% !important;
	}
}
.single-tribe_events .fusion-builder-column-47 .fusion_builder_column_inner {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.hd-ev-map__frame {
	width: 100%;
	height: 380px;
	border: 0;
	border-radius: 10px;
	display: block;
}

/* bottom-pinned, evenly spaced action buttons */
.hd-ev-btncol {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.hd-ev-btnrow {
	margin-top: auto;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	padding-top: 16px;
}
.hd-ev-btnrow .fusion-button-wrapper { margin: 0 !important; }

/* CTA buttons pinned to the bottom of their column, evenly distributed */
.hd-ev-cta-row { align-items: stretch !important; }
.fusion-layout-column.hd-ev-cta-col > .fusion-column-wrapper {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	height: 100%;
}
.hd-ev-cta {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	width: 100%;
	margin-top: auto;
	padding-top: 16px;
}
.hd-ev-cta .fusion-button-wrapper { margin: 0 !important; }

/* category pills above the description */
.hd-ev-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 4px; }
.hd-ev-cat {
	display: inline-block;
	padding: 5px 13px;
	border-radius: 6px;
	background: rgba(22, 173, 208, 0.10);
	border: 1px solid rgba(22, 173, 208, 0.45);
	color: #0d7d99;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}
.hd-ev-cat:hover { background: #16add0; color: #fff; }

/* back link: orange pill below the CTA buttons, 10px off the column bottom */
.hd-ev-btnrow, .hd-ev-cta { order: 98; }
.hd-ev-back { order: 99; margin: 14px 0 0 !important; text-align: center; }
.fusion-layout-column.hd-ev-cta-col > .fusion-column-wrapper { padding-bottom: 0 !important; }
.fusion-layout-column.hd-ev-leftcol > .fusion-column-wrapper {
	display: flex !important;
	flex-flow: column !important;
	height: 100%;
	padding-bottom: 10px !important;
}
.hd-ev-bottomrow { margin-top: auto !important; margin-bottom: 0 !important; }
.hd-ev-bottomrow .fusion-builder-row-inner { margin-bottom: 0 !important; }
a.hd-ev-back,
a.hd-ev-back.fusion-button,
.hd-ev-back a,
.hd-ev-back a.fusion-button {
	display: inline-block;
	padding: 6px 15px !important;
	border-radius: 6px !important;
	background: rgba(252, 201, 67, 0.16) !important;
	border: 1px solid rgba(252, 201, 67, 0.80) !important;
	color: #9c7a00 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.3px;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.18s ease, color 0.18s ease;
}
a.hd-ev-back:hover,
a.hd-ev-back.fusion-button:hover,
.hd-ev-back a:hover,
.hd-ev-back a.fusion-button:hover {
	background: #fcc943 !important;
	color: #1f2933 !important;
}
.hd-ev-back .fusion-button-text, a.hd-ev-back .fusion-button-text { color: inherit !important; }

/* address -> map link: blue at rest, theme yellow on hover */
.hd-ev-addr { text-decoration: none; border-bottom: 1px dashed currentColor; color: #16add0 !important; transition: color 0.18s ease; }
.hd-ev-addr:hover { color: rgb(252, 201, 67) !important; }
html { scroll-behavior: smooth; }
#hd-ev-map { scroll-margin-top: 110px; }

/* venue / details / organizer on one row */
.hd-ev-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; }
.hd-ev-3col__item { width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; flex: none !important; }
.hd-ev-3col__item > div { width: 100% !important; }
@media (max-width: 900px) { .hd-ev-3col { grid-template-columns: 1fr; } }

/* the venue/details/organizer host column spans the full row */
.fusion-layout-column.hd-ev-3col-host {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
}

/* halve the container padding above the hoisted title */
.single-tribe_events .fusion-fullwidth:has(.hd-ev-head) { padding-top: 36px !important; }

/* hoisted title block above the intro columns */
.hd-ev-head { width: 100%; flex: 0 0 100%; max-width: 100%; margin: 0 0 26px; text-align: center; }
.hd-ev-head .fusion-title { margin: 0 !important; }
.hd-ev-head h1 {
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
	margin: 0;
}
.hd-ev-head h1::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 4px;
	width: 100%;
	border-radius: 2px;
	background: linear-gradient(90deg, #16add0, #5fd3ea);
	transform: scaleX(0);
	transform-origin: center center;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.hd-ev-head--in h1::after { transform: scaleX(1); }
.hd-ev-head h3, .hd-ev-head h4 { margin: 14px 0 0; font-weight: 500; color: #4a5b66; text-align: center !important; }
.hd-ev-head .fusion-title { justify-content: center !important; }
