.sms-activity-filters,
.sms-activity-filters * {
	box-sizing: border-box;
}

body.sms-infinite-scroll-ready .facetwp-pager,
body.sms-infinite-scroll-ready .facetwp-load-more,
body.sms-infinite-scroll-ready .facetwp-type-pager {
	display: none !important;
}

.sms-activities-infinite {
	display: flex;
	min-height: 88px;
	align-items: center;
	justify-content: center;
	gap: 11px;
	padding: 24px 16px;
	color: #7b8496;
	font-size: 14px;
	font-weight: 650;
	text-align: center;
}

.sms-activities-infinite__spinner {
	display: inline-block;
	width: 22px;
	height: 22px;
	border: 3px solid #e3e7ee;
	border-top-color: #6f3cf0;
	border-radius: 50%;
	opacity: 0;
}

.sms-activities-infinite.is-loading .sms-activities-infinite__spinner {
	opacity: 1;
	animation: sms-infinite-spin .75s linear infinite;
}

.sms-activities-infinite.is-complete {
	min-height: 72px;
	color: #98a2b3;
}

.sms-activities-infinite.is-complete::before {
	content: '✓';
	display: grid;
	width: 25px;
	height: 25px;
	place-items: center;
	color: #fff;
	font-size: 13px;
	background: linear-gradient(135deg, #10c9b5, #7040ed);
	border-radius: 50%;
}

.sms-activities-infinite.is-complete .sms-activities-infinite__spinner {
	display: none;
}

.sms-activities-infinite button {
	padding: 10px 16px;
	color: #fff;
	font: 750 13px/1 inherit;
	background: linear-gradient(135deg, #10c9b5, #7040ed);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

@keyframes sms-infinite-spin {
	to { transform: rotate(360deg); }
}

.sms-activities-create-fab {
	--sms-create-action-size: 52px;
	--sms-create-action-edge: max(28px, env(safe-area-inset-right, 0px));
	position: fixed;
	z-index: 9990;
	left: 50%;
	bottom: max(28px, env(safe-area-inset-bottom, 0px));
	display: flex;
	width: auto;
	min-width: 202px;
	height: var(--sms-create-action-size);
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 21px;
	border: 1px solid rgba(255, 255, 255, .58);
	border-radius: 999px;
	background: linear-gradient(145deg, #12c9b5 0%, #398bdc 52%, #7137ef 100%);
	box-shadow: 0 14px 34px rgba(57, 66, 188, .32), 0 3px 9px rgba(23, 32, 51, .16);
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none !important;
	transform: translateX(-50%);
	transition: left .3s ease, width .3s ease, min-width .3s ease, padding .3s ease, transform .3s ease, box-shadow .2s ease;
}

.sms-activities-create-fab.is-compact {
	left: calc(100% - var(--sms-create-action-edge) - var(--sms-create-action-size));
	width: var(--sms-create-action-size);
	min-width: var(--sms-create-action-size);
	gap: 0;
	padding: 0;
	transform: none;
}

.sms-activities-create-fab:hover,
.sms-activities-create-fab:focus-visible {
	transform: translateX(-50%) translateY(-3px) scale(1.02);
	box-shadow: 0 18px 40px rgba(57, 66, 188, .38), 0 4px 10px rgba(23, 32, 51, .18);
}

.sms-activities-create-fab.is-compact:hover,
.sms-activities-create-fab.is-compact:focus-visible {
	transform: translateY(-3px) scale(1.03);
}

.sms-activities-create-fab:focus-visible {
	outline: 3px solid rgba(113, 55, 239, .24);
	outline-offset: 4px;
}

.sms-activities-create-fab svg {
	width: 23px;
	height: 23px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2.8;
}

.sms-activities-create-fab__label {
	max-width: 190px;
	overflow: hidden;
	opacity: 1;
	white-space: nowrap;
	transition: max-width .25s ease, opacity .18s ease;
}

.sms-activities-create-fab.is-compact .sms-activities-create-fab__label {
	max-width: 0;
	opacity: 0;
}

.sms-activities-create-fab__tooltip {
	position: absolute;
	top: 50%;
	right: calc(100% + 13px);
	width: max-content;
	max-width: min(230px, calc(100vw - 110px));
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 10px;
	background: #172033;
	box-shadow: 0 8px 22px rgba(23, 32, 51, .2);
	color: #fff;
	font-size: 12px;
	font-weight: 750;
	line-height: 1.25;
	opacity: 0;
	pointer-events: none;
	transform: translate(7px, -50%);
	transition: opacity .16s ease, transform .16s ease;
}

.sms-activities-create-fab__tooltip::after {
	position: absolute;
	top: 50%;
	left: 100%;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-left-color: #172033;
	content: '';
	transform: translateY(-50%);
}

.sms-activities-create-fab.is-compact:hover .sms-activities-create-fab__tooltip,
.sms-activities-create-fab.is-compact:focus-visible .sms-activities-create-fab__tooltip {
	opacity: 1;
	transform: translate(0, -50%);
}

@media (max-width: 767px) {
	.sms-activities-create-fab {
		--sms-create-action-size: 48px;
		--sms-create-action-edge: max(16px, env(safe-area-inset-right, 0px));
		bottom: calc(86px + env(safe-area-inset-bottom, 0px));
		min-width: 196px;
		padding: 0 18px;
		font-size: 14px;
	}

	.sms-activities-create-fab.is-compact {
		min-width: var(--sms-create-action-size);
		padding: 0;
	}

	.sms-activities-create-fab svg {
		width: 22px;
		height: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sms-activities-create-fab,
	.sms-activities-create-fab__label,
	.sms-activities-create-fab__tooltip {
		transition: none;
	}
}

.sms-activity-filters {
	position: relative;
	z-index: 20;
	width: 100%;
	margin: 0 0 28px;
	color: #172033;
}

.sms-activity-filters.is-open {
	z-index: 99999;
}

.sms-activity-filters__main {
	display: block;
}

.sms-activity-filters__location {
	position: relative;
	min-width: 0;
}

.sms-activity-filters__pin {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 17px;
	transform: translateY(-50%);
	pointer-events: none;
}

.sms-activity-filters .facetwp-facet {
	margin: 0;
}

.sms-activity-filters__location .facetwp-type-proximity {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 112px;
	gap: 10px;
}

.sms-activity-filters__location .facetwp-input-wrap {
	display: block;
	width: 100%;
}

.sms-activity-filters__location .facetwp-location,
.sms-activity-filters__location .facetwp-radius {
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 16px;
	color: #263248;
	font: 500 15px/1.2 inherit;
	background: #fff;
	border: 1px solid #dfe3ea;
	border-radius: 14px;
	box-shadow: 0 3px 12px rgba(23, 32, 51, .04);
}

.sms-activity-filters__location .facetwp-location {
	padding-left: 48px;
}

.sms-activity-filters__location .facetwp-icon {
	display: none;
}

.sms-activity-filters__categories {
	display: flex;
	overflow: hidden;
	align-items: flex-start;
	gap: 10px;
	margin-top: 13px;
}

.sms-activity-filters__category-source {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}

.sms-activity-filters__chips {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	gap: 9px;
	overflow-x: auto;
	padding: 1px 1px 8px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.sms-activity-filters__chips::-webkit-scrollbar {
	display: none;
}

.sms-activity-filter-chip {
	display: inline-flex;
	flex: 0 0 auto;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0 17px;
	color: #657084;
	font: 700 13px/1 inherit;
	background: #fff;
	border: 1px solid #e1e5eb;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none !important;
	white-space: nowrap;
}

.sms-activity-filter-chip.is-active {
	color: #fff;
	background: linear-gradient(135deg, #16c7b3, #7040ed);
	border-color: transparent;
	box-shadow: 0 5px 13px rgba(92, 62, 220, .18);
}

.sms-activity-filter-chip--party {
	color: #6540d8;
	border-color: #d9cffb;
}

.sms-activity-filter-chip--party:hover,
.sms-activity-filter-chip--party:focus-visible {
	color: #5732cb;
	border-color: #bba8f7;
}

.sms-activity-filter-chip--party.is-active {
	color: #fff;
	background: linear-gradient(135deg, #17c7b5, #3c91df 52%, #7040ed);
	border-color: transparent;
}

@media (max-width: 768px) {
	.sms-activity-filters {
		margin-bottom: 22px;
	}

	.sms-activity-filters__main {
		gap: 9px;
	}

	.sms-activity-filters__location .facetwp-type-proximity {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 96px;
		gap: 9px;
	}

	.sms-activity-filters__location .facetwp-location,
	.sms-activity-filters__location .facetwp-radius {
		height: 50px;
	}

	.sms-activity-filters__chips {
		margin-right: -16px;
	}

	.sms-activity-filters__categories {
		align-items: stretch;
		flex-direction: column;
	}

	.sms-activity-filter-chip {
		min-height: 38px;
		padding: 0 15px;
	}

}
body:not(.logged-in) .facetwp-template .sms-event-card__attendance,
body:not(.logged-in) .facetwp-template .sms-event-card__progress {
	display: none !important;
}
