/*
 * Events Design Kit
 * ---------------------------------------------------------------------------
 * Restyles The Events Calendar to match the host site's brand.
 * Colours and fonts come from CSS custom properties injected by the plugin
 * (see EDK_Assets::css_variables), so nothing brand-specific lives here.
 *
 * SPECIFICITY NOTE
 * Themes commonly style events with an ID in the selector, e.g.
 *   .tribe-events-page-template #container h1 { color: #x !important }
 * A single ID outranks any number of classes, so class-only rules lose no
 * matter how many are stacked or how much !important is used. Everything below
 * is therefore scoped to #edk (the wrapper printed by the plugin template)
 * plus at least two classes, which outranks the common "#id + element" pattern.
 */

/* 1. Shell + vertical rhythm ---------------------------------------------- */

#edk { background: var(--edk-muted); }

#edk .edk-body { background: var(--edk-muted); padding-bottom: 80px; }
#edk .edk-body--archive { padding-top: 48px; }
#edk .edk-body--single { padding-top: 56px; }

#edk .tribe-common .tribe-common-l-container {
	max-width: 1180px !important;
	width: 100% !important;
	padding: 0 24px !important;
	margin: 0 auto !important;
	background: transparent;
}

/* 2. Hero, shared --------------------------------------------------------- */

#edk .edk-hero { background: var(--edk-surface); text-align: center; }

#edk .edk-hero__inner { max-width: 1180px; margin: 0 auto; padding: 110px 24px 56px; }

#edk .edk-hero .edk-eyebrow {
	font-family: var(--edk-font-display) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: var(--edk-accent) !important;
	margin: 0 0 4px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#edk .edk-hero .edk-title {
	font-family: var(--edk-font-display) !important;
	font-size: 80px !important;
	font-weight: 400 !important;
	line-height: 1.04 !important;
	color: var(--edk-primary) !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	text-transform: none !important;
}

#edk .edk-hero .edk-intro {
	font-family: var(--edk-font-body) !important;
	font-size: 13px !important;
	line-height: 1.75 !important;
	color: var(--edk-body) !important;
	max-width: 620px;
	margin: 20px auto 0 !important;
}

#edk .edk-hero .edk-back {
	display: inline-block;
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--edk-accent) !important;
	margin-bottom: 20px;
	text-decoration: none !important;
	border: 0 !important;
}

#edk .edk-hero .edk-back:hover { color: var(--edk-primary) !important; }

/* 3. Single hero: brand panel + poster in its own column ------------------- */

#edk .edk-hero--single { background: var(--edk-primary); text-align: left; }

#edk .edk-hero--single .edk-hero__inner {
	display: flex;
	align-items: center;
	gap: 56px;
	padding: 96px 24px 96px;
}

#edk .edk-hero--single .edk-hero__text { flex: 1 1 auto; min-width: 0; }
#edk .edk-hero--single .edk-hero__media { flex: 0 0 380px; max-width: 380px; }

#edk .edk-hero--single .edk-hero__media img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid rgba(255,255,255,.18);
}

#edk .edk-hero--single .edk-title,
#edk .edk-hero--single h1.edk-title {
	color: #ffffff !important;
	font-size: 62px !important;
	line-height: 1.06 !important;
}

#edk .edk-hero--single .edk-eyebrow { color: var(--edk-accent) !important; }
#edk .edk-hero--single .edk-back { color: rgba(255,255,255,.75) !important; }
#edk .edk-hero--single .edk-back:hover { color: #ffffff !important; }

#edk .edk-hero--single .edk-meta-line {
	font-family: var(--edk-font-ui) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,.85) !important;
	margin: 18px 0 0 !important;
}

#edk .edk-hero--single .edk-price {
	font-family: var(--edk-font-display) !important;
	font-size: 30px !important;
	font-weight: 400 !important;
	color: var(--edk-accent) !important;
	margin: 8px 0 0 !important;
}

#edk .edk-hero .edk-hero__cta { margin: 30px 0 0 !important; }

/* 4. Buttons -------------------------------------------------------------- */

#edk .edk-hero .edk-btn {
	display: inline-block;
	font-family: var(--edk-font-ui) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 16px 26px;
	border-radius: 0;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: .3s ease;
}

#edk .edk-hero .edk-btn--solid {
	background: var(--edk-surface);
	color: var(--edk-primary) !important;
	border-color: var(--edk-surface);
}

#edk .edk-hero .edk-btn--solid:hover {
	background: var(--edk-accent);
	border-color: var(--edk-accent);
	color: #ffffff !important;
}

/* 5. Events bar ----------------------------------------------------------- */

#edk .tribe-events-header,
#edk .tribe-events-c-events-bar {
	background: transparent !important;
	border: 0 !important;
	margin-bottom: 10px !important;
}

#edk .tribe-events .tribe-events-c-events-bar--border {
	border: 1px solid var(--edk-line) !important;
	background: var(--edk-surface) !important;
}

body.edk-hide-search #edk .tribe-events-c-events-bar__search-container,
body.edk-hide-search #edk .tribe-events-c-events-bar__search-button,
body.edk-hide-search #edk button.tribe-events-c-search__button { display: none !important; }

#edk .tribe-events .tribe-events-c-view-selector__list-item-link,
#edk .tribe-events .tribe-events-c-view-selector__list-item-text {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--edk-body) !important;
}

/* The view labels inherit overflow-wrap:anywhere, and the dropdown panel is
   narrow, so each label collapses to its min-content width of one character
   and reads vertically. Keep them on a single line and let the panel size to
   the widest label. */
#edk .tribe-events .tribe-events-c-view-selector__list-item-link {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px;
	width: 100% !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

#edk .tribe-events .tribe-events-c-view-selector__list-item-text {
	white-space: nowrap !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	width: auto !important;
	flex: 0 1 auto !important;
}

#edk .tribe-events .tribe-events-c-view-selector__list-item-icon { flex: 0 0 auto !important; }

#edk .tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text {
	color: var(--edk-primary) !important;
}

#edk .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after {
	background-color: var(--edk-primary) !important;
}

#edk .tribe-events .tribe-events-c-top-bar__today-button,
#edk .tribe-events .tribe-events-c-top-bar__datepicker-button {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--edk-primary) !important;
	border: 1px solid var(--edk-line) !important;
	border-radius: 0 !important;
	background: var(--edk-surface) !important;
	padding: 10px 16px !important;
}

#edk .tribe-events .tribe-events-c-top-bar__today-button:hover {
	background: var(--edk-primary) !important;
	color: #ffffff !important;
	border-color: var(--edk-primary) !important;
}

#edk .tribe-events .tribe-events-c-top-bar__nav-link svg path,
#edk .tribe-events .tribe-events-c-nav__prev svg path,
#edk .tribe-events .tribe-events-c-nav__next svg path {
	stroke: var(--edk-primary) !important;
	fill: var(--edk-primary) !important;
}

/* 6. List view: month separators + event cards ---------------------------- */

#edk .tribe-events .tribe-events-calendar-list__month-separator {
	border: 0 !important;
	margin: 22px 0 20px !important;
}

#edk .tribe-events .tribe-events-calendar-list__month-separator:after { display: none !important; }

#edk .tribe-common .tribe-events-calendar-list__month-separator-text {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	color: var(--edk-primary) !important;
	background: transparent !important;
	padding: 0 !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-row {
	position: relative;
	background: var(--edk-surface);
	border: 1px solid var(--edk-line);
	margin: 0 0 18px !important;
	padding: 0 !important;
	overflow: hidden;
	align-items: stretch !important;
	cursor: pointer;
	transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}

#edk .tribe-events .tribe-events-calendar-list__event-row:hover {
	border-color: var(--edk-accent);
	box-shadow: 0 14px 34px rgba(0,0,0,.10);
	transform: translateY(-2px);
}

#edk .tribe-events .tribe-events-calendar-list__event-date-tag {
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-width: 108px;
	padding: 26px 10px !important;
	background: var(--edk-muted);
	border-right: 1px solid var(--edk-line);
	margin: 0 !important;
	text-align: center !important;
}

/* Weekday and day number are stacked blocks that both stretch to the width of
   the wider one, so a left-aligned single digit sat under the middle of "Sat"
   while a two-digit day filled the box. Centring both keeps every date on the
   same axis whatever its width. */
#edk .tribe-events .tribe-events-calendar-list__event-date-tag-datetime,
#edk .tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
#edk .tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	text-align: center !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-date-tag-datetime span,
#edk .tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--edk-accent) !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-date-tag-datetime span.tribe-events-calendar-list__event-date-tag-daynum,
#edk .tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: var(--edk-font-display) !important;
	font-size: 46px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	color: var(--edk-primary) !important;
	margin: 4px 0 0 !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-wrapper {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
}

#edk .tribe-events .tribe-events-calendar-list__event {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	height: 100%;
}

#edk .tribe-events .tribe-events-calendar-list__event-details {
	flex: 1 1 auto;
	min-width: 0;
	align-self: center !important;
	padding: 30px 34px !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
	flex: 0 0 300px;
	max-width: 300px;
	margin: 0 !important;
	padding: 0 !important;
	align-self: stretch !important;
	overflow: hidden;
	order: 2;
}

#edk .tribe-events .tribe-events-calendar-list__event-featured-image-link,
#edk .tribe-events .tribe-events-calendar-list__event-featured-image {
	display: block;
	height: 100%;
	margin: 0 !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img {
	width: 100%;
	height: 100%;
	min-height: 210px;
	object-fit: cover;
	border-radius: 0 !important;
	display: block;
	transition: transform .5s ease;
}

#edk .tribe-events .tribe-events-calendar-list__event-row:hover .tribe-events-calendar-list__event-featured-image-wrapper img {
	transform: scale(1.04);
}

/* Tag-agnostic on purpose. The Events Calendar renders this heading as an <h4>,
   so an h3-qualified selector matched nothing and the theme's Futura and 3px
   tracking showed through instead. Matching on the class alone survives a change
   of heading level, and two classes beat the theme's "#container h4". */
#edk .tribe-common .tribe-events-calendar-list__event-title,
#edk .tribe-events .tribe-events-calendar-list__event-title {
	font-family: var(--edk-font-display) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	letter-spacing: 1px !important;
	margin: 6px 0 10px !important;
	text-transform: none !important;
}

#edk .tribe-common .tribe-events-calendar-list__event-title-link,
#edk .tribe-common .tribe-common-h6 a.tribe-events-calendar-list__event-title-link {
	font-family: var(--edk-font-display) !important;
	color: var(--edk-primary) !important;
	border: 0 !important;
	text-decoration: none !important;
	font-weight: 400 !important;
	letter-spacing: 1px !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-row:hover .tribe-events-calendar-list__event-title-link {
	color: var(--edk-accent) !important;
}

#edk .tribe-events .tribe-events-calendar-list__event-datetime,
#edk .tribe-events .tribe-events-calendar-list__event-datetime span {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--edk-accent) !important;
}

#edk .tribe-common .tribe-events-calendar-list__event-description,
#edk .tribe-common .tribe-events-calendar-list__event-description p {
	font-family: var(--edk-font-body) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	color: var(--edk-body) !important;
	margin-bottom: 0 !important;
}

#edk .tribe-common .tribe-events-c-small-cta { margin-top: 16px !important; }

#edk .tribe-common .tribe-events-c-small-cta__price {
	display: inline-block;
	font-family: var(--edk-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .1em !important;
	color: #ffffff !important;
	background: var(--edk-primary);
	border: 1px solid var(--edk-primary);
	padding: 7px 14px;
}

/* Outlined button matching the card CTA on the shortcode listing. It stays a
   pseudo-element rather than a real link because the whole row is already
   clickable, and a nested anchor inside a clickable row is a tab-stop that goes
   nowhere new. */
#edk .tribe-events .tribe-events-calendar-list__event-details:after {
	content: 'View event';
	display: inline-block;
	font-family: var(--edk-font-ui);
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-align: center;
	color: var(--edk-primary);
	background: transparent;
	border: 1px solid var(--edk-primary);
	padding: 12px 20px;
	margin-top: 18px;
	transition: background .3s ease, color .3s ease;
}

#edk .tribe-events .tribe-events-calendar-list__event-row:hover .tribe-events-calendar-list__event-details:after {
	background: var(--edk-primary);
	color: #ffffff;
}

body.edk-active:not(.single) #edk .tribe-events-c-subscribe-dropdown__container { display: none !important; }

/* 7. Month + day views ---------------------------------------------------- */

#edk .tribe-events .tribe-events-calendar-month__day-cell--selected,
#edk .tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
	background: var(--edk-primary) !important;
	color: #ffffff !important;
}

#edk .tribe-events .tribe-events-calendar-month__calendar-event-title-link,
#edk .tribe-events .tribe-events-calendar-day__event-title-link {
	font-family: var(--edk-font-display) !important;
	color: var(--edk-primary) !important;
	border: 0 !important;
}

#edk .tribe-events .tribe-events-calendar-month__calendar-event-datetime,
#edk .tribe-events .tribe-events-calendar-day__event-datetime {
	font-family: var(--edk-font-ui) !important;
	color: var(--edk-accent) !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: 11px !important;
}

#edk .tribe-events .tribe-events-calendar-month__header-column-title {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--edk-primary) !important;
}

/* 8. Pagination ----------------------------------------------------------- */

#edk .tribe-events .tribe-events-c-nav {
	border-top: 1px solid var(--edk-line) !important;
	margin-top: 34px !important;
	padding-top: 26px !important;
}

#edk .tribe-common .tribe-events-c-nav__list-item a,
#edk .tribe-events .tribe-events-c-nav__prev,
#edk .tribe-events .tribe-events-c-nav__next {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--edk-primary) !important;
	border: 0 !important;
	text-decoration: none !important;
}

#edk .tribe-common .tribe-events-c-nav__list-item a:hover { color: var(--edk-accent) !important; }

/* 9. Single event: two column body ---------------------------------------- */
/* The description and details are NOT children of .tribe-events-single; they
 * sit inside the #post-<id> wrapper (class .tribe_events). The grid has to go
 * there or placement is ignored. */

#edk .tribe-events-single {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

/* The Events Calendar ships "overflow: hidden" on this element to contain the
   floats in its own stacked layout. Here it is a grid, so there are no floats to
   contain, but the Add to Calendar panel is absolutely positioned and opens past
   the bottom grid line — the clip cut it off after the first option. Mobile was
   unaffected only because the stacked order puts the panel over content that is
   still inside the box. */
#edk .tribe-events-single > .tribe_events { overflow: visible !important; }

#edk .tribe-events-single .tribe_events {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 28px;
	align-items: start;
}

#edk .tribe-events-single .tribe-events-single-event-title,
#edk .tribe-events-single .tribe-events-back,
#edk .tribe-events-single .tribe-events-schedule,
#edk .tribe-events-single .tribe-events-event-image { display: none !important; }

#edk .tribe_events > .tribe-events-content { grid-column: 1; grid-row: 1; }
#edk .tribe_events > .tribe-events-event-meta { grid-column: 2; grid-row: 1; }

/* Add to calendar spans the full content width beneath both columns. */
#edk .tribe_events > .tribe-events.tribe-common { grid-column: 1 / -1; grid-row: 2; }

/* The Events Calendar draws a rule with .tribe-events-event-meta:before. It is
   a 960px-wide block sitting inside a ~360px column, so it overflows its box
   and runs straight across the description panel beside it. */
#edk .tribe-events-single .tribe-events-event-meta:before {
	display: none !important;
	border: 0 !important;
	content: none !important;
}

#edk .tribe-events-single .tribe-events-event-meta ~ div:not(.tribe-events-event-meta) {
	border-top: 0 !important;
}

#edk .tribe-events-single .tribe-events-content {
	background: var(--edk-surface);
	border: 1px solid var(--edk-line);
	padding: 38px 42px;
	margin: 0 !important;
}

#edk .tribe-events-single .tribe-events-content p {
	font-family: var(--edk-font-body) !important;
	font-size: 15px !important;
	line-height: 1.85 !important;
	color: var(--edk-body) !important;
	margin-bottom: 18px !important;
}

#edk .tribe-events-single .tribe-events-content h2,
#edk .tribe-events-single .tribe-events-content h3,
#edk .tribe-events-single .tribe-events-content h4 {
	font-family: var(--edk-font-display) !important;
	font-weight: 400 !important;
	color: var(--edk-primary) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

#edk .tribe-events-single .tribe-events-content a {
	color: var(--edk-accent) !important;
	text-decoration: underline !important;
	font-family: var(--edk-font-body) !important;
}

/* Details panel. TEC 6.x uses ul.tribe-events-meta-list with span labels,
 * not a definition list. */

#edk .tribe-events-single .tribe-events-event-meta {
	background: var(--edk-surface) !important;
	border: 1px solid var(--edk-line) !important;
	margin: 0 !important;
	padding: 30px 32px !important;
	font-family: var(--edk-font-body) !important;
}

#edk .tribe-events-event-meta .tribe-events-meta-group {
	width: 100% !important;
	padding: 0 !important;
	float: none !important;
}

#edk .tribe-events-event-meta .tribe-events-single-section-title {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
	color: var(--edk-accent) !important;
	margin: 0 0 18px !important;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--edk-line);
}

#edk .tribe-events-event-meta .tribe-events-meta-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#edk .tribe-events-meta-list .tribe-events-meta-item {
	list-style: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 15px !important;
}

#edk .tribe-events-meta-list .tribe-events-meta-item:last-child { margin-bottom: 0 !important; }

#edk .tribe-events-event-meta .tribe-events-meta-label {
	display: block !important;
	font-family: var(--edk-font-ui) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	color: var(--edk-accent) !important;
	margin: 0 0 4px !important;
}

#edk .tribe-events-event-meta .tribe-events-meta-value,
#edk .tribe-events-event-meta .tribe-events-meta-value abbr,
#edk .tribe-events-event-meta .tribe-events-meta-value div {
	display: block !important;
	font-family: var(--edk-font-body) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--edk-body) !important;
	border: 0 !important;
	text-decoration: none !important;
	margin: 0 !important;
}

#edk .tribe-events-event-meta .tribe-events-meta-value a {
	color: var(--edk-accent) !important;
	word-break: break-word;
	text-decoration: none !important;
	border: 0 !important;
}

#edk .tribe-events-event-meta .tribe-events-meta-value a:hover { text-decoration: underline !important; }

/* 10. Add to calendar / subscribe ----------------------------------------- */

#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__container {
	display: block !important;
	text-align: left !important;
	margin: 0 !important;
}

#edk .tribe-events-single .tribe-events-c-subscribe-dropdown,
#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__button {
	width: 100%;
	margin-top: 0 !important;
}

#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--edk-primary) !important;
	border: 1px solid var(--edk-primary) !important;
	border-radius: 0 !important;
	padding: 17px 22px !important;
	transition: .3s ease;
}

#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__button:hover,
#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__button:focus,
#edk .tribe-events-single .tribe-events-c-subscribe-dropdown__button--active {
	background: var(--edk-accent) !important;
	border-color: var(--edk-accent) !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text {
	font-family: var(--edk-font-ui) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	border: 0 !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon path,
#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button svg path {
	stroke: #ffffff !important;
	fill: #ffffff !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list {
	border: 1px solid var(--edk-line) !important;
	border-radius: 0 !important;
	background: var(--edk-surface) !important;
	padding: 6px 0 !important;
	box-shadow: 0 14px 34px rgba(0,0,0,.10) !important;
	list-style: none !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item-link,
#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a {
	display: block;
	font-family: var(--edk-font-ui) !important;
	font-size: 12px !important;
	letter-spacing: .06em !important;
	color: var(--edk-primary) !important;
	background: transparent !important;
	padding: 11px 18px !important;
	border: 0 !important;
	text-decoration: none !important;
	transition: .2s ease;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item:hover,
#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item--active {
	background: var(--edk-muted) !important;
}

#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item-link:hover,
#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item-link:focus,
#edk .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list-item a:hover {
	color: var(--edk-accent) !important;
	background: var(--edk-muted) !important;
}

/* Prev / next event nav. The rule goes on the footer wrapper only — the list is
   its child, so styling both drew two identical dividers 53px apart. */
#edk .tribe-events-single #tribe-events-footer {
	border-top: 1px solid var(--edk-line);
	margin-top: 28px;
	padding: 24px 0 0;
}

#edk .tribe-events-single .tribe-events-sub-nav {
	border-top: 0;
	margin-top: 0;
	padding: 0;
	list-style: none;
}

#edk .tribe-events-single .tribe-events-sub-nav a,
#edk .tribe-events-single #tribe-events-footer a {
	font-family: var(--edk-font-ui) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--edk-primary) !important;
	text-decoration: none !important;
	border: 0 !important;
}

#edk .tribe-events-single .tribe-events-sub-nav a:hover { color: var(--edk-accent) !important; }

/* 10b. More upcoming events, below a single event -------------------------- */

#edk .edk-more {
	max-width: 1180px;
	margin: 0 auto;
	padding: 60px 24px 0;
}

#edk .edk-more__head {
	border-top: 1px solid var(--edk-line);
	padding-top: 44px;
	margin-bottom: 26px;
}

#edk .edk-more .edk-more__title {
	font-family: var(--edk-font-display) !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	letter-spacing: 1px !important;
	color: var(--edk-primary) !important;
	margin: 2px 0 0 !important;
	text-transform: none !important;
}

#edk .edk-more__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

#edk .edk-more .edk-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--edk-surface);
	border: 1px solid var(--edk-line);
	text-decoration: none !important;
	overflow: hidden;
	transition: border-color .3s ease, box-shadow .3s ease;
}

#edk .edk-more .edk-card:hover {
	border-color: var(--edk-accent);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .09);
}

#edk .edk-more .edk-card__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--edk-muted);
	background-size: cover;
	background-position: center center;
	transition: transform .5s ease;
}

#edk .edk-more .edk-card:hover .edk-card__media { transform: scale(1.04); }

#edk .edk-more .edk-card__date {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 84px;
	background: var(--edk-primary);
	padding: 14px 16px 12px;
	text-align: center;
	z-index: 2;
}

#edk .edk-more .edk-card__date b {
	display: block;
	font-family: var(--edk-font-display);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	margin-bottom: 5px;
}

#edk .edk-more .edk-card__date i {
	display: block;
	font-family: var(--edk-font-ui);
	font-size: 10px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--edk-accent);
}

#edk .edk-more .edk-card__body {
	display: block;
	padding: 22px 22px 24px;
}

#edk .edk-more .edk-card__title {
	display: block;
	font-family: var(--edk-font-display);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 1px;
	color: var(--edk-primary);
}

#edk .edk-more .edk-card:hover .edk-card__title { color: var(--edk-accent); }

#edk .edk-more .edk-card__cost {
	display: inline-block;
	font-family: var(--edk-font-ui);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--edk-primary);
	background: var(--edk-muted);
	border: 1px solid var(--edk-line);
	padding: 6px 12px;
	margin-top: 12px;
}

/* 11. Responsive ---------------------------------------------------------- */

@media (max-width: 1100px) {
	#edk .edk-hero--single .edk-hero__media { flex-basis: 300px; max-width: 300px; }
	#edk .edk-hero--single .edk-title { font-size: 48px !important; }
	#edk .tribe-events-single .tribe_events { grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 1024px) {
	#edk .edk-hero .edk-title { font-size: 54px !important; }
	#edk .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { flex-basis: 230px; max-width: 230px; }
}

@media (max-width: 1100px) {
	#edk .edk-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	#edk .tribe-events-single .tribe_events { grid-template-columns: 1fr; gap: 20px; }
	#edk .tribe_events > .tribe-events-event-meta { grid-column: 1; grid-row: 1; }
	#edk .tribe_events > .tribe-events.tribe-common { grid-column: 1; grid-row: 2; }
	#edk .tribe_events > .tribe-events-content { grid-column: 1; grid-row: 3; }
}

@media (max-width: 767px) {
	#edk .edk-more { padding: 40px 20px 0; }
	#edk .edk-more__head { padding-top: 32px; }
	#edk .edk-more .edk-more__title { font-size: 26px !important; }
	#edk .edk-more__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
	#edk .edk-hero__inner { padding: 124px 20px 44px; }
	#edk .edk-hero--single .edk-hero__inner { display: block; padding: 116px 20px 56px; }
	#edk .edk-hero--single .edk-hero__media { max-width: 100%; margin-top: 30px; }

	#edk .edk-hero .edk-title { font-size: 38px !important; }
	#edk .edk-hero--single .edk-title { font-size: 34px !important; }
	#edk .edk-hero .edk-eyebrow { font-size: 18px !important; }
	#edk .edk-hero--single .edk-price { font-size: 26px !important; }
	#edk .edk-body--archive { padding-top: 30px; }

	#edk .tribe-events .tribe-events-calendar-list__event-row { display: block !important; }

	/* The article carries tribe-common-g-row--gutters, i.e. margin: 0 -21px, and
	   its columns pad that back in. The image column has no padding, so it hangs
	   21px past the left edge of the card while the text keeps its inset — the
	   card looks like it has lost its left padding. Cancel the gutters and give
	   every column the same full width. */
	#edk .tribe-events .tribe-events-calendar-list__event,
	#edk .tribe-events .tribe-events-calendar-list__event.tribe-common-g-row--gutters {
		display: block !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	#edk .tribe-events .tribe-events-calendar-list__event-wrapper,
	#edk .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
		width: 100% !important;
		max-width: none;
		flex-basis: auto;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Square, matching the cards used elsewhere on the site. */
	#edk .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1 / 1;
		min-height: 0;
		object-position: center;
	}

	/* The date tag is a fixed-width side column on desktop; on mobile it becomes
	   a bar across the top of the card, so the width has to be released too. */
	#edk .tribe-events .tribe-events-calendar-list__event-date-tag {
		flex-direction: row !important;
		justify-content: flex-start;
		gap: 10px;
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		border-right: 0;
		border-bottom: 1px solid var(--edk-line);
		padding: 12px 20px !important;
		align-items: center;
	}

	#edk .tribe-events .tribe-events-calendar-list__event-date-tag-datetime span.tribe-events-calendar-list__event-date-tag-daynum,
	#edk .tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
		font-size: 26px !important;
		margin: 0 !important;
	}

	#edk .tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
		display: flex !important;
		flex-direction: row !important;
		align-items: baseline;
		gap: 8px;
		width: auto !important;
	}

	#edk .tribe-events .tribe-events-calendar-list__event-details {
		width: 100% !important;
		padding: 22px 20px !important;
	}

	/* The dropdown panel is right-aligned to the toggle, so let it grow left. */
	#edk .tribe-events .tribe-events-c-view-selector__content {
		width: auto !important;
		min-width: 160px !important;
		left: auto !important;
		right: 0 !important;
	}

	#edk .tribe-events .tribe-events-c-view-selector__list,
	#edk .tribe-events .tribe-events-c-view-selector__list-item { width: 100% !important; }

	#edk .tribe-events .tribe-events-c-view-selector__list-item-link { padding: 10px 16px !important; }

	#edk .tribe-common .tribe-events-calendar-list__event-title { font-size: 22px !important; }

	/* Full width button, as on the shortcode cards. */
	#edk .tribe-events .tribe-events-calendar-list__event-details:after {
		display: block;
		width: 100%;
		padding: 15px 20px;
	}

	#edk .tribe-events-single .tribe-events-content,
	#edk .tribe-events-single .tribe-events-event-meta { padding: 26px 22px !important; }

	#edk .tribe-common .tribe-events-calendar-list__event-description {
		display: block !important;
		visibility: visible !important;
	}
}
