/**
 * NorCal NECA - The Events Calendar
 * Single event view
 */

:root {
	--neca-event-primary: var(--e-global-color-primary, #12395b);
	--neca-event-accent: var(--e-global-color-accent, #1478b8);
	--neca-event-text: var(--e-global-color-text, #23272b);
	--neca-event-heading: var(--e-global-color-secondary, #17334a);
	--neca-event-muted: #66727c;
	--neca-event-border: #dfe5e9;
	--neca-event-soft: #f5f7f8;
	--neca-event-max: 1120px;
}

.tribe-events-single {
	max-width: var(--neca-event-max);
	margin: 0 auto;
	padding: 64px 28px 80px;
	font-family: inherit;
	color: var(--neca-event-text);
}

.tribe-events-single .tribe-events-single-event-title {
	font-family: inherit;
	font-size: clamp(38px, 5vw, 64px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -.025em;
	color: var(--neca-event-heading);
	margin-bottom: 18px;
}

.tribe-events-single .tribe-events-schedule {
	background: transparent;
	border: 0;
	margin: 0 0 34px;
	padding: 0;
}

.tribe-events-single .tribe-events-schedule h2,
.tribe-events-single .tribe-events-schedule .tribe-events-cost {
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--neca-event-text);
}

.tribe-events-single .tribe-events-event-image {
	margin: 0 0 42px;
}

.tribe-events-single .tribe-events-event-image img {
	display: block;
	width: 100%;
	height: auto;
}

.tribe-events-single .tribe-events-single-event-description,
.tribe-events-single .tribe-events-content {
	font-family: inherit;
	font-size: 17px;
	line-height: 1.75;
	color: var(--neca-event-text);
}

.tribe-events-single .tribe-events-single-event-description h2,
.tribe-events-single .tribe-events-single-event-description h3,
.tribe-events-single .tribe-events-content h2,
.tribe-events-single .tribe-events-content h3 {
	font-family: inherit;
	font-weight: 700;
	line-height: 1.15;
	color: var(--neca-event-heading);
	margin-top: 1.6em;
	margin-bottom: .65em;
}

.tribe-events-single .tribe-events-single-event-description a,
.tribe-events-single .tribe-events-content a {
	color: var(--neca-event-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.tribe-events-single .tribe-events-single-event-description a:hover,
.tribe-events-single .tribe-events-content a:hover {
	color: var(--neca-event-accent);
}

/* Meta cards */
.tribe-events-single .tribe-events-event-meta {
	background: var(--neca-event-soft);
	border: 0;
	border-top: 1px solid var(--neca-event-border);
	margin: 48px 0 0;
	padding: 34px;
}

.tribe-events-single .tribe-events-meta-group {
	font-family: inherit;
}

.tribe-events-single .tribe-events-single-section-title {
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--neca-event-heading);
	margin-bottom: 18px;
}

.tribe-events-single .tribe-events-event-meta dt {
	font-family: inherit;
	font-weight: 700;
	color: var(--neca-event-text);
}

.tribe-events-single .tribe-events-event-meta dd {
	font-family: inherit;
	color: var(--neca-event-muted);
	line-height: 1.6;
}

.tribe-events-single .tribe-events-event-meta a {
	color: var(--neca-event-primary);
}

.tribe-events-single .tribe-events-event-meta a:hover {
	color: var(--neca-event-accent);
}

/* Map */
.tribe-events-single .tribe-events-venue-map {
	border: 0;
	margin-top: 20px;
}

/* Calendar links / CTA area */
.tribe-events-single .tribe-events-cal-links {
	margin: 34px 0 0;
}

.tribe-events-single .tribe-events-cal-links a {
	display: inline-block;
	background: var(--neca-event-primary);
	border: 1px solid var(--neca-event-primary);
	border-radius: 0;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 8px 8px 0;
	padding: 14px 20px;
	text-decoration: none;
}

.tribe-events-single .tribe-events-cal-links a:hover {
	background: var(--neca-event-accent);
	border-color: var(--neca-event-accent);
	color: #fff;
}

/* Previous / next */
.tribe-events-single .tribe-events-sub-nav {
	border-top: 1px solid var(--neca-event-border);
	margin-top: 54px;
	padding-top: 28px;
}

.tribe-events-single .tribe-events-sub-nav a {
	font-family: inherit;
	font-weight: 700;
	color: var(--neca-event-primary);
}

.tribe-events-single .tribe-events-sub-nav a:hover {
	color: var(--neca-event-accent);
}

/* Back link */
.tribe-events-single .tribe-events-back {
	margin-bottom: 26px;
}

.tribe-events-single .tribe-events-back a {
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .03em;
	color: var(--neca-event-primary);
}

@media (max-width: 767px) {
	.tribe-events-single {
		padding: 38px 20px 56px;
	}

	.tribe-events-single .tribe-events-single-event-title {
		font-size: 38px;
	}

	.tribe-events-single .tribe-events-event-meta {
		margin-top: 36px;
		padding: 24px 20px;
	}

	.tribe-events-single .tribe-events-cal-links a {
		display: block;
		margin-right: 0;
		text-align: center;
	}
}

/* NorCal NECA branded refinement - v1.1 */
:root {
	--neca-event-navy: #03215f;
	--neca-event-cyan: #00abd6;
	--neca-event-cyan-soft: #e9f9fd;
	--neca-event-heading-font: var(--e-global-typography-primary-font-family, inherit);
	--neca-event-body-font: var(--e-global-typography-text-font-family, inherit);
}

.tribe-events-single {
	font-family: var(--neca-event-body-font) !important;
}

.tribe-events-single .tribe-events-single-event-title,
.tribe-events-single .tribe-events-single-section-title {
	font-family: var(--neca-event-heading-font) !important;
	color: var(--neca-event-navy);
}

.tribe-events-single .tribe-events-event-meta {
	background: var(--neca-event-cyan-soft);
	border-top: 6px solid var(--neca-event-cyan);
}

.tribe-events-single .tribe-events-cal-links a {
	background: var(--neca-event-navy);
	border-color: var(--neca-event-navy);
	font-family: var(--neca-event-heading-font) !important;
}

.tribe-events-single .tribe-events-cal-links a:hover {
	background: var(--neca-event-cyan);
	border-color: var(--neca-event-cyan);
}

.tribe-events-single .tribe-events-sub-nav a,
.tribe-events-single .tribe-events-back a,
.tribe-events-single .tribe-events-event-meta a {
	color: var(--neca-event-navy);
}

.tribe-events-single .tribe-events-sub-nav a:hover,
.tribe-events-single .tribe-events-back a:hover,
.tribe-events-single .tribe-events-event-meta a:hover {
	color: var(--neca-event-cyan);
}

/* Single event - card-style branded refinement v1.2 -------------------- */
.tribe-events-single {
	position: relative;
}

.tribe-events-single:before {
	content: '';
	display: block;
	height: 8px;
	background: #00abd6;
	margin: -64px -28px 46px;
}

.tribe-events-single .tribe-events-back {
	margin-bottom: 20px;
}

.tribe-events-single .tribe-events-back a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--neca-event-heading-font) !important;
	font-weight: 700;
	text-decoration: none;
}

.tribe-events-single .tribe-events-single-event-title {
	max-width: 900px;
}

.tribe-events-single .tribe-events-schedule {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	background: #e9f9fd;
	border-left: 6px solid #00abd6;
	margin: 4px 0 38px;
	padding: 16px 20px;
}

.tribe-events-single .tribe-events-schedule h2,
.tribe-events-single .tribe-events-schedule .tribe-events-cost {
	margin: 0;
	color: #03215f;
}

.tribe-events-single .tribe-events-event-image {
	border: 1px solid #d7e1e8;
	box-shadow: 0 14px 34px rgba(3, 33, 95, .10);
	overflow: hidden;
}

.tribe-events-single .tribe-events-single-event-description,
.tribe-events-single .tribe-events-content {
	max-width: 900px;
}

.tribe-events-single .tribe-events-single-event-description > p:first-child,
.tribe-events-single .tribe-events-content > p:first-child {
	font-size: 19px;
	line-height: 1.7;
}

.tribe-events-single .tribe-events-event-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	background: #fff;
	border: 1px solid #d7e1e8;
	border-top: 7px solid #00abd6;
	box-shadow: 0 12px 30px rgba(3, 33, 95, .07);
	padding: 34px;
}

.tribe-events-single .tribe-events-meta-group {
	background: #e9f9fd;
	padding: 24px;
	min-width: 0;
}

.tribe-events-single .tribe-events-meta-group .tribe-events-single-section-title {
	margin-top: 0;
	padding-bottom: 12px;
	border-bottom: 2px solid rgba(0,171,214,.30);
}

.tribe-events-single .tribe-events-venue-map {
	grid-column: 1 / -1;
	background: #fff;
	border: 1px solid #d7e1e8;
	padding: 8px;
	margin: 0;
}

.tribe-events-single .tribe-events-cal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
}

.tribe-events-single .tribe-events-cal-links a {
	margin: 0;
	padding: 15px 22px;
	box-shadow: none;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.tribe-events-single .tribe-events-cal-links a:hover {
	transform: translateY(-1px);
}

.tribe-events-single .tribe-events-sub-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.tribe-events-single .tribe-events-sub-nav li {
	margin: 0;
}

.tribe-events-single .tribe-events-sub-nav li:last-child {
	text-align: right;
}

.tribe-events-single .tribe-events-sub-nav a {
	display: block;
	background: #f5f8fa;
	border-left: 4px solid #00abd6;
	padding: 16px 18px;
	text-decoration: none;
}

.tribe-events-single .tribe-events-sub-nav a:hover {
	background: #e9f9fd;
}

@media (max-width: 767px) {
	.tribe-events-single:before {
		margin: -38px -20px 32px;
		height: 6px;
	}

	.tribe-events-single .tribe-events-schedule {
		display: flex;
		width: 100%;
	}

	.tribe-events-single .tribe-events-event-meta {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 20px;
	}

	.tribe-events-single .tribe-events-meta-group {
		padding: 20px;
	}

	.tribe-events-single .tribe-events-sub-nav {
		grid-template-columns: 1fr;
	}

	.tribe-events-single .tribe-events-sub-nav li:last-child {
		text-align: left;
	}
}
