/* PHXDriven Events — RSVP UI + dark event pages (matches the member portal palette). */

/* ---------- RSVP block ---------- */
.phxe-block { display: flex; flex-direction: column; gap: 14px; margin: 14px 0 2px; }
.phxe-faces { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: #9b99a1; font-size: 13px; line-height: 1.3; }
.phxe-stack { display: inline-flex; align-items: center; padding-left: 8px; }
.phxe-stack > a, .phxe-stack > span { display: inline-block; margin-left: -8px; border-radius: 50%; line-height: 0; text-decoration: none !important; }
.phxe-stack img { width: 30px !important; height: 30px !important; max-width: none !important; border-radius: 50% !important; object-fit: cover; border: 2px solid #151318; background: #1d1b21; display: block; margin: 0 !important; }
.phxe-stack > a:hover img { border-color: #fa8932; position: relative; z-index: 1; }
.phxe-stack .phxe-more { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: #2c2a31; border: 2px solid #151318; color: #ececee; font-size: 11px; font-weight: 700; line-height: 1; }
.phxe-label { color: #9b99a1; }
.phxe-faces--single .phxe-stack img, .phxe-faces--single .phxe-stack .phxe-more { width: 38px !important; height: 38px !important; }
.phxe-faces--single .phxe-stack img, .phxe-faces--single .phxe-stack .phxe-more { border-color: #1d1b21; }
.phxe-faces--single .phxe-label { font-size: 15px; color: #ececee; }
.phxe-faces--mini { margin-top: 8px; font-size: 12px; gap: 8px; }
.phxe-faces--mini .phxe-stack img, .phxe-faces--mini .phxe-stack .phxe-more { width: 22px !important; height: 22px !important; border-width: 1.5px; font-size: 9px; }

.phxe-actions, .phxe-rsvp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.phxe-btn {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 6px;
	background: #fa8932 !important; color: #0b090a !important; border: 1px solid #fa8932 !important;
	border-radius: 8px !important; padding: 8px 18px !important; min-height: 0 !important;
	font: 700 14px/1.3 "Raleway", sans-serif !important; letter-spacing: 0 !important; text-transform: none !important;
	cursor: pointer; box-shadow: none !important;
}
.phxe-btn:hover { filter: brightness(1.08); }
.phxe-btn--ghost { background: transparent !important; color: #ececee !important; border-color: #2c2a31 !important; }
.phxe-btn--ghost:hover { border-color: #e5534b !important; color: #e5534b !important; filter: none; }
.phxe-btn:disabled { opacity: .55; cursor: not-allowed; }
.phxe-going { display: inline-flex; align-items: center; gap: 6px; color: #3fb97a; font-weight: 700; font-size: 14px; }
.phxe-msg { color: #e5534b; font-size: 13px; }
.phxe-msg:empty { display: none; }

.phxe-who { flex-basis: 100%; }
.phxe-who summary { cursor: pointer; color: #fa8932; font-size: 13px; font-weight: 600; }
.phxe-who ul { list-style: none !important; margin: 12px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.phxe-who li { margin: 0 !important; }
.phxe-who li a { display: flex; align-items: center; gap: 8px; color: #ececee !important; font-size: 14px; text-decoration: none !important; }
.phxe-who li a:hover span { color: #fa8932; }
.phxe-who li img { width: 28px !important; height: 28px !important; border-radius: 50% !important; object-fit: cover; margin: 0 !important; }

.phxe-single-wrap { background: #1d1b21; border: 1px solid #2c2a31; border-radius: 12px; padding: 16px 18px; margin: 0 0 24px; }
.phxe-single-wrap .phxe-block { margin: 0; }
.phxe-past-head { margin-top: 36px; }
.phxe-feed-date { color: #9b99a1; }

/* ---------- Dark event pages (The Events Calendar + BuddyBoss) ---------- */
body.single-tribe_events,
body.single-tribe_events #page,
body.single-tribe_events #content,
body.single-tribe_events .site-content,
body.single-tribe_events .tribe-events-pg-template { background: #0b090a !important; color: #ececee; }

body.single-tribe_events .tribe-common,
body.single-tribe_events .tribe-events {
	--tec-color-background: #151318;
	--tec-color-background-secondary: #1d1b21;
	--tec-color-text-primary: #ececee;
	--tec-color-text-secondary: #9b99a1;
	--tec-color-text-primary-light: #9b99a1;
	--tec-color-icon-primary: #ececee;
	--tec-color-icon-active: #fa8932;
	--tec-color-accent-primary: #fa8932;
	--tec-color-accent-primary-hover: #fa8932;
	--tec-color-accent-primary-active: #fa8932;
	--tec-color-border-default: #2c2a31;
	--tec-color-border-secondary: #2c2a31;
	--tec-color-border-active: #fa8932;
}

body.single-tribe_events .tribe-events-single { color: #ececee; }
body.single-tribe_events .tribe-events-single h1,
body.single-tribe_events .tribe-events-single h2,
body.single-tribe_events .tribe-events-single h3,
body.single-tribe_events .tribe-events-single h4 { color: #fff !important; }
body.single-tribe_events .tribe-events-single-event-title { font-family: "Righteous", "Raleway", sans-serif !important; font-weight: 400 !important; color: #fff !important; }
body.single-tribe_events .bs-tribe-events-single-heading h2,
body.single-tribe_events .bs-tribe-events-single-heading h2 span,
body.single-tribe_events .tribe-events-schedule,
body.single-tribe_events .tribe-events-schedule * { color: #9b99a1 !important; }
body.single-tribe_events .bs-schedule-short-m { color: #fa8932 !important; }
body.single-tribe_events .bs-schedule-short-d { color: #fff !important; }
body.single-tribe_events .tribe-events-back a { color: #9b99a1 !important; }
body.single-tribe_events .tribe-events-back a:hover { color: #fa8932 !important; }

/* Main card + description */
body.single-tribe_events .tribe-events-single > .tribe_events,
body.single-tribe_events .tribe-events-single > .type-tribe_events {
	background: #151318 !important; border: 1px solid #2c2a31 !important; border-radius: 14px !important; box-shadow: none !important; overflow: hidden;
}
body.single-tribe_events .bs-single-body,
body.single-tribe_events .bs-single-content { background: transparent !important; border-color: #2c2a31 !important; }
body.single-tribe_events .tribe-events-content,
body.single-tribe_events .tribe-events-content p,
body.single-tribe_events .tribe-events-content li { color: #ececee !important; }
body.single-tribe_events .tribe-events-content a { color: #fa8932 !important; }

/* Details / venue panel */
body.single-tribe_events .bs-single-pri-meta,
body.single-tribe_events .tribe-events-event-meta,
body.single-tribe_events .tribe-events-meta-group { background: #1d1b21 !important; border-color: #2c2a31 !important; color: #ececee !important; }
body.single-tribe_events .tribe-events-single-section-title,
body.single-tribe_events .tribe-events-single-section-title::before { color: #fff !important; }
body.single-tribe_events .tribe-events-meta-group svg,
body.single-tribe_events .tribe-events-single-section-title svg { color: #fa8932; fill: currentColor; }
body.single-tribe_events .tribe-events-meta-label,
body.single-tribe_events .tribe-events-event-meta dt { color: #9b99a1 !important; }
body.single-tribe_events .tribe-events-meta-value,
body.single-tribe_events .tribe-events-event-meta dd,
body.single-tribe_events .tribe-events-event-meta address,
body.single-tribe_events .tribe-events-event-meta .tribe-venue,
body.single-tribe_events .tribe-events-event-meta .tribe-venue-location,
body.single-tribe_events .tribe-events-event-meta li { color: #ececee !important; }
body.single-tribe_events .tribe-events-event-meta a { color: #fa8932 !important; }

/* Add to calendar */
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
	background: #0b090a !important; border: 1px solid #2c2a31 !important; border-radius: 8px !important; color: #ececee !important; box-shadow: none !important;
}
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active {
	background: #0b090a !important; border-color: #fa8932 !important; color: #fa8932 !important;
}
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button button { background: transparent !important; color: inherit !important; border: 0 !important; box-shadow: none !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button svg { color: inherit; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button .tribe-common-c-svgicon__svg-fill { fill: currentColor !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__button .tribe-common-c-svgicon__svg-stroke { stroke: currentColor !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__content,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list { background: #151318 !important; border-color: #2c2a31 !important; box-shadow: 0 12px 32px rgba(0, 0, 0, .55) !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item { background: transparent !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item:hover,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item:focus-within { background: #1d1b21 !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link { color: #ececee !important; }
body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item:hover .tribe-events-c-subscribe-dropdown__list-item-link { color: #fa8932 !important; }

/* Prev / next navigation */
body.single-tribe_events #tribe-events-footer,
body.single-tribe_events #tribe-events-header { border-color: #2c2a31 !important; }
body.single-tribe_events .tribe-events-sub-nav a,
body.single-tribe_events .tribe-events-sub-nav a span { color: #9b99a1 !important; }
body.single-tribe_events .tribe-events-sub-nav a:hover,
body.single-tribe_events .tribe-events-sub-nav a:hover span { color: #fa8932 !important; }
body.single-tribe_events .tribe-events-visuallyhidden {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
