/*
 * QBC Service Pages.
 * Fonts and text colour come from the theme. Colours below use the theme's own
 * settings where it publishes them (Avada's global colours), with plain fallbacks.
 */
.qbc-sp-section {
	--qbc-sp-accent: var(--primary_color, #00b5cc);
	--qbc-sp-card: #fff;
	--qbc-sp-line: rgba(37, 69, 89, 0.12);
	--qbc-sp-button-bg: var(--button_gradient_top_color, #c1d82f);
	--qbc-sp-button-text: var(--awb-color8, #3b4560);
	margin: 2em 0 0;
	padding: clamp(1.25em, 3vw, 2em);
	background: var(--qbc-sp-card);
	border: 1px solid var(--qbc-sp-line);
	border-radius: 12px;
}

/* Section heading: icon in the theme's accent colour, then the words. */
.qbc-sp-section .qbc-sp-heading {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0 0 1em;
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.3;
}
.qbc-sp-heading .qbc-sp-icon { width: 1.15em; height: 1.15em; flex: none; color: var(--qbc-sp-accent); }
.qbc-sp-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; flex: none; }

/* Buttons, shaped like the theme's own (pill, small capitals). */
.qbc-sp-section .qbc-sp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85em 1.6em;
	border-radius: 100px;
	background: var(--qbc-sp-button-bg);
	color: var(--qbc-sp-button-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: filter 0.15s ease;
}
.qbc-sp-section .qbc-sp-button:hover,
.qbc-sp-section .qbc-sp-button:focus-visible { filter: brightness(0.93); color: var(--qbc-sp-button-text); }
.qbc-sp-section .qbc-sp-button:focus-visible { outline: 2px solid var(--qbc-sp-accent); outline-offset: 2px; }
.qbc-sp-actions { display: flex; flex-wrap: wrap; gap: 0.6em; margin: 1.25em 0 0; }

/* Sermon */
.qbc-sp-sermon-item + .qbc-sp-sermon-item { margin-top: 2em; padding-top: 2em; border-top: 1px solid var(--qbc-sp-line); }
.qbc-sp-section .qbc-sp-sermon-title { margin: 0 0 0.35em; font-size: clamp(22px, 3vw, 28px); line-height: 1.25; }
.qbc-sp-sermon-title a { text-decoration: none; }
.qbc-sp-sermon-title a:hover { text-decoration: underline; }
.qbc-sp-sermon-meta { display: flex; flex-wrap: wrap; gap: 0.4em 1.5em; margin: 0 0 1.25em; }
.qbc-sp-speaker,
.qbc-sp-passage { display: inline-flex; align-items: center; gap: 0.4em; }
.qbc-sp-sermon-meta .qbc-sp-icon { width: 1.15em; height: 1.15em; color: var(--qbc-sp-accent); }
.qbc-sp-passage a { text-decoration: underline; text-underline-offset: 2px; }

.qbc-sp-video-wrap { position: relative; max-width: 720px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; background: #000; }
.qbc-sp-video { display: block; width: 100%; height: 100%; position: relative; }
.qbc-sp-video img,
.qbc-sp-video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.qbc-sp-play { position: absolute; top: 50%; left: 50%; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 12px; background: rgba(0, 0, 0, 0.7); transition: background 0.15s ease; }
.qbc-sp-video:hover .qbc-sp-play,
.qbc-sp-video:focus-visible .qbc-sp-play { background: #f00; }
.qbc-sp-play::after { content: ""; position: absolute; top: 14px; left: 27px; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }

/* Bulletin: one row, button on the right; it wraps underneath on narrow screens. */
.qbc-sp-bulletin-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75em 1.5em; }
.qbc-sp-bulletin-label { display: flex; align-items: center; gap: 0.6em; margin: 0; }
.qbc-sp-badge {
	display: inline-block;
	padding: 0.2em 0.6em;
	border-radius: 4px;
	background: rgba(37, 69, 89, 0.08);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Announcements: a grid of cards, 1 to 3 per row depending on width. */
.qbc-sp-section .qbc-sp-announcement-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 1.25em;
	list-style: none;
	margin: 0;
	padding: 0;
}
.qbc-sp-section .qbc-sp-announcement { display: flex; flex-direction: column; margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--qbc-sp-line); border-radius: 10px; }
.qbc-sp-announcement-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: rgba(37, 69, 89, 0.06); }
.qbc-sp-section .qbc-sp-announcement-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.qbc-sp-announcement-body { padding: 1em 1.1em 1.2em; }
.qbc-sp-section .qbc-sp-announcement-title { margin: 0 0 0.35em; font-size: 18px; line-height: 1.3; }
.qbc-sp-announcement-title a { text-decoration: none; }
.qbc-sp-announcement-title a:hover { text-decoration: underline; }
.qbc-sp-when { display: flex; align-items: center; gap: 0.4em; margin: 0 0 0.6em; font-size: 0.9em; font-weight: 600; }
.qbc-sp-when .qbc-sp-icon { color: var(--qbc-sp-accent); }
.qbc-sp-summary { font-size: 0.95em; }
.qbc-sp-summary > :last-child { margin-bottom: 0; }
.qbc-sp-section .qbc-sp-resources { list-style: none; margin: 0.75em 0 0; padding: 0; font-size: 0.9em; }
.qbc-sp-resources li { display: flex; align-items: center; gap: 0.4em; margin: 0.25em 0 0; }
.qbc-sp-resources .qbc-sp-icon { color: var(--qbc-sp-accent); }

/*
 * Event pages: the Details / Venue box from The Events Calendar, as one card
 * matching the sections above. Applies to every event, not only services.
 * Avada styles this box with ID selectors (#tribe-events-content, .sidebar), so these
 * rules are anchored on #sidebar / #content as well; "body" keeps them working on
 * a theme without those IDs.
 */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary {
	--qbc-sp-accent: var(--primary_color, #00b5cc);
	--qbc-sp-line: rgba(37, 69, 89, 0.12);
	margin: 0 0 2em;
	padding: clamp(1.25em, 3vw, 1.75em);
	background: var(--awb-color2, #f8f5ee);
	border: 1px solid var(--qbc-sp-line);
	border-radius: 12px;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group + .tribe-events-meta-group {
	margin-top: 1.5em;
	padding-top: 1.5em;
	border-top: 1px solid var(--qbc-sp-line);
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-single-section-title {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0 0 1em;
	padding: 0;
	border: 0;
	font-size: 20px;
	line-height: 1.3;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-single-section-title::before {
	content: "";
	flex: none;
	width: 1.15em;
	height: 1.15em;
	background: var(--qbc-sp-accent);
	-webkit-mask: var(--qbc-sp-mask) center / contain no-repeat;
	mask: var(--qbc-sp-mask) center / contain no-repeat;
}
.single-tribe_events .tribe-events-meta-group-details { --qbc-sp-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.single-tribe_events .tribe-events-meta-group-venue { --qbc-sp-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-list { margin: 0; padding: 0; list-style: none; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-item {
	margin: 0 0 0.9em;
	padding: 0;
	border: 0;
	line-height: 1.45;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-item:last-child { margin-bottom: 0; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-label {
	display: block;
	margin: 0 0 0.15em;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.7;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-value { display: block; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary abbr { text-decoration: none; border: 0; }

/* Venue: name in bold, address below, then "Get directions" as a button matching
   "Add to calendar" (lime, 200px wide; on hover just the lime outline). */
.single-tribe_events .tribe-events-meta-group-venue .tribe-events-meta-item:first-child { font-weight: 600; }
.single-tribe_events .tribe-events-meta-group-venue .tribe-events-address { font-style: normal; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-gmap {
	--qbc-sp-button-bg: var(--button_gradient_top_color, #c1d82f);
	--qbc-sp-button-text: var(--awb-color8, #3b4560);
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	min-width: 200px;
	height: 36px;
	margin-top: 0.75em;
	padding: 9px 20px;
	border: 2px solid var(--qbc-sp-button-bg);
	border-radius: 100px;
	background: var(--qbc-sp-button-bg);
	color: var(--qbc-sp-button-text);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: normal;
	line-height: 14px;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease;
}
/* The theme's map-pin icon in the button's text colour (the theme sets it with a long selector). */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-gmap::before { color: inherit !important; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-gmap:hover,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-gmap:focus-visible {
	background: transparent;
	color: var(--qbc-sp-button-text);
}
/* Label/value pairs some rows use (Events Calendar Pro's Series; Cost, Website or Organizer on
   other events). Avada draws a line under each value; inside the card it is not wanted. */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group dt {
	margin: 0 0 0.15em;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.7;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group dd.tec-events-pro-series-meta-detail--link,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group dd {
	margin: 0 0 0.9em;
	padding: 0;
	border: 0;
	line-height: 1.45;
}
/* The embedded map some events show inside the box. */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-venue-map { margin: 1.25em 0 0; padding: 0; border-radius: 10px; overflow: hidden; }

/* The bulletin as the last part of the Details / Venue box (desktop). */
.single-tribe_events .qbc-sp-meta-bulletin { --qbc-sp-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-bulletin-label { margin: 0 0 0.9em; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-button {
	--qbc-sp-button-bg: var(--button_gradient_top_color, #c1d82f);
	--qbc-sp-button-text: var(--awb-color8, #3b4560);
	display: inline-flex;
	align-items: center;
	padding: 0.85em 1.6em;
	border-radius: 100px;
	background: var(--qbc-sp-button-bg);
	color: var(--qbc-sp-button-text);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-button:hover,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-button:focus-visible { filter: brightness(0.93); color: var(--qbc-sp-button-text); }

/* "Add to calendar", moved under the date and time by event-layout.js. */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-calendar { margin: 1.25em 0 0; padding: 0; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-calendar .tribe-events-c-subscribe-dropdown__container,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-calendar .tribe-events-c-subscribe-dropdown { margin: 0; padding: 0; }

/* Links in the box use the theme's accent colour, in the sidebar and when moved into the page on phones. */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-meta-group a:not(.qbc-sp-button):not(.tribe-events-gmap) { color: var(--qbc-sp-accent); }

/* One bulletin at a time: in the box on desktop, its own section after the Sermon on phones. */
body:has(.qbc-sp-meta-bulletin) .qbc-sp-section.qbc-sp-bulletin { display: none; }
body.qbc-sp-stacked .qbc-sp-section.qbc-sp-bulletin { display: block; }
body.qbc-sp-stacked .qbc-sp-meta-bulletin { display: none; }
/* On phones Avada lays the event column out as a flex row and gives this box a later
   place (order: 2); give it the same place as the sections so it stays above the Sermon. */
body.qbc-sp-stacked :is(#sidebar, #content, body) .tribe-events-event-meta.primary { order: 1; flex: 0 0 100%; width: 100%; margin: 2em 0 0; }

/*
 * Buttons match The Events Calendar's "Add to calendar" button as the theme draws it:
 * 200px wide, lime with a 2px lime border; on hover the fill fades out, leaving the outline
 * (the theme's own buttons, e.g. "Find more events", do the same).
 */
.single-tribe_events :is(#sidebar, #content, body) :is(.qbc-sp-section, .tribe-events-event-meta.primary) .qbc-sp-button {
	box-sizing: border-box;
	justify-content: center;
	min-width: 200px;
	height: 36px;
	padding: 9px 20px;
	border: 2px solid var(--qbc-sp-button-bg);
	border-radius: 100px;
	background: var(--qbc-sp-button-bg);
	color: var(--qbc-sp-button-text);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: normal;
	line-height: 14px;
	filter: none;
	transition: background-color 0.15s ease;
}
.single-tribe_events :is(#sidebar, #content, body) :is(.qbc-sp-section, .tribe-events-event-meta.primary) .qbc-sp-button:hover,
.single-tribe_events :is(#sidebar, #content, body) :is(.qbc-sp-section, .tribe-events-event-meta.primary) .qbc-sp-button:focus-visible {
	background: transparent;
	color: var(--qbc-sp-button-text);
	filter: none;
}

/* Announcement pop-up window (assets/announcement-modal.js). */
.qbc-sp-announcement-media { display: block; }
.qbc-sp-modal {
	--qbc-sp-accent: var(--primary_color, #00b5cc);
	--qbc-sp-line: rgba(37, 69, 89, 0.12);
	--qbc-sp-button-bg: var(--button_gradient_top_color, #c1d82f);
	--qbc-sp-button-text: var(--awb-color8, #3b4560);
	width: min(640px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	margin: auto;
	padding: 0;
	overflow: auto;
	border: 0;
	border-radius: 14px;
	background: #fff;
	color: var(--awb-color8, #3b4560);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
.qbc-sp-modal::backdrop { background: rgba(20, 30, 45, 0.55); }
html.qbc-sp-modal-open { overflow: hidden; }
.qbc-sp-modal-close {
	position: sticky;
	top: 10px;
	float: right;
	z-index: 1;
	width: 36px;
	height: 36px;
	margin: 10px 10px -46px 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #222;
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.qbc-sp-modal-close:focus-visible { outline: 2px solid var(--qbc-sp-accent); outline-offset: 2px; }
.qbc-sp-modal-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.qbc-sp-modal-body { padding: 1.25em 1.5em 1.5em; }
.qbc-sp-modal .qbc-sp-modal-title { margin: 0 0 0.4em; font-size: clamp(20px, 3vw, 26px); line-height: 1.25; }
.qbc-sp-modal-content { margin: 0.75em 0 0; }
.qbc-sp-modal-content > :last-child { margin-bottom: 0; }
.qbc-sp-modal-content img { max-width: 100%; height: auto; }
.qbc-sp-modal .qbc-sp-resources { list-style: none; margin: 1em 0 0; padding: 0; }
.qbc-sp-modal-more { margin: 1.5em 0 0; }
.qbc-sp-modal .qbc-sp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 200px;
	height: 36px;
	padding: 9px 20px;
	border: 2px solid var(--qbc-sp-button-bg);
	border-radius: 100px;
	background: var(--qbc-sp-button-bg);
	color: var(--qbc-sp-button-text);
	font-size: 12px;
	font-weight: 500;
	line-height: 14px;
	text-transform: uppercase;
	text-decoration: none;
}
.qbc-sp-modal .qbc-sp-button:hover,
.qbc-sp-modal .qbc-sp-button:focus-visible { background: transparent; }

/* 0.4.1: Date and time on one row (joined by event-layout.js). */
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-datetime .tribe-events-start-time,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .qbc-sp-datetime .tribe-recurring-event-time { display: inline; }

/* 0.4.1: hide Events Calendar Pro's "Event Series: …" line above the featured image.
   The Series link in the Details box stays. */
.single-tribe_events .tribe-events-series-relationship-single-marker { display: none !important; }

/* 0.4.2: the sidebar stays in view on wide screens (event-layout.js adds the class
   only when the whole sidebar fits in the window). */
.qbc-sp-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: var(--qbc-sp-sticky-top, 24px);
	transition: top 0.2s ease;
}

/* 0.4.4: when the event has no description, the first section sits the same 30px under the
   featured image as the sections sit apart (the image already has a 30px bottom margin). */
.single-tribe_events .tribe-events-single-event-description:not(:has(*)) + .qbc-sp-section { margin-top: 0; }

/*
 * Buttons follow the theme's buttons on a light background ("Find more events", Avada's
 * "underline" hover): the text has a 1px underline; on hover the lime fill fades out to
 * the lime outline and the underline shrinks away to the right, as Avada's does (0.4s).
 * Covers our buttons, "Get directions" and "Add to calendar". The line sits under the
 * text only: our buttons wrap it in .qbc-sp-button-text (event-layout.js does the same for
 * Get directions); Add to calendar's <button> holds only its text.
 */
.single-tribe_events :is(#sidebar, #content, body) :is(.qbc-sp-section, .tribe-events-event-meta.primary, .qbc-sp-modal) :is(.qbc-sp-button, .tribe-events-gmap) { text-decoration: none; transition: background-color 0.2s ease; }
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button { transition: background-color 0.2s ease; }
.qbc-sp-button-text,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button button { position: relative; text-decoration: none; }
.qbc-sp-button-text::after,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button button::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	border-bottom: 1px solid currentColor;
	transform-origin: left;
	transition: transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1);
}
:is(.qbc-sp-button, .tribe-events-gmap):is(:hover, :focus-visible) .qbc-sp-button-text::after,
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button:is(:hover, :focus-within) button::after {
	transform: scaleX(0);
	transform-origin: right;
}
.single-tribe_events :is(#sidebar, #content, body) :is(.qbc-sp-section, .tribe-events-event-meta.primary, .qbc-sp-modal) :is(.qbc-sp-button, .tribe-events-gmap):is(:hover, :focus-visible),
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button:is(:hover, :focus-within),
.single-tribe_events :is(#sidebar, #content, body) .tribe-events-event-meta.primary .tribe-events-c-subscribe-dropdown__button:is(:hover, :focus-within) button {
	background: transparent !important; /* the theme and TEC tint these with long selectors */
	color: var(--awb-color8, #3b4560);
	filter: none;
}

/* 0.4.7: same text rendering as "Add to calendar" (TEC sets antialiased smoothing, which on
   Macs draws text slightly lighter; without it our buttons looked bolder). */
.qbc-sp-button,
.tribe-events-gmap { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* 0.4.8: "This event has passed." on events that have ended: rounded like the side boxes,
   light red, and the theme's boxed close button as a plain x. */
body.qbc-sp-past-event .tribe-events-single .tribe-events-notices {
	margin: 0 0 30px;
	padding: 16px 48px;
	overflow: hidden;
	border: 1px solid rgba(192, 57, 43, 0.28);
	border-radius: 12px;
	background: #fdf0ee;
	color: #8e2a1f;
}
body.qbc-sp-past-event .tribe-events-single .tribe-events-notices :is(.alert-icon, .fusion-alert-content, .fusion-alert-content span, i) { color: #b03a2e; }
body.qbc-sp-past-event .tribe-events-single .tribe-events-notices .close {
	top: 50%;
	right: 12px;
	width: auto;
	height: auto;
	padding: 4px 6px;
	border: 0 !important; /* the theme draws the boxed close button's edges with long selectors */
	background: transparent;
	box-shadow: none;
	color: #b03a2e;
	line-height: 1;
	transform: translateY(-50%);
}
