.sms-activity-detail-page {
	background: #f7f8fa;
}

.sms-activity-detail-page .page_title {
	display: none;
}

.sms-activity-detail-page .page_content,
.sms-activity-detail-page .content,
.sms-activity-detail-page .cz_content {
	padding-top: 28px;
}

.sms-activity-detail-page main,
.sms-activity-detail-page .page_content > .row,
.sms-activity-detail-page .page_content > .row > .s12 {
	max-width: none;
}

.sms-activity-detail-page .ff-activity-card,
.sms-activity-detail-page .ff-activity-card * {
	box-sizing: border-box;
}

.sms-activity-detail-page .ff-activity-card {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto 45px;
	color: #172033;
}

.sms-activity-detail-page .ff-activity-main-content,
.sms-activity-detail-page .ff-activity-sidebar {
	width: auto;
	max-width: none;
}

.sms-activity-detail-page .sms-native-back-link {
	display: none;
}

.sms-activity-detail-page .ff-activity-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
	min-height: 430px;
	overflow: hidden;
	background: #111827;
	border-radius: 24px;
	box-shadow: 0 16px 45px rgba(17, 24, 39, .15);
}

.sms-activity-detail-page .ff-activity-hero__image {
	position: relative;
	min-height: 430px;
}

.sms-activity-detail-page .ff-activity-hero__image::after {
	position: absolute;
	inset: 0;
	content: '';
	background: linear-gradient(90deg, transparent 46%, rgba(10, 16, 29, .78) 100%);
}

.sms-activity-detail-page .ff-activity-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sms-activity-detail-page .ff-activity-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: flex-end;
	padding: 70px 38px 42px;
	background: linear-gradient(135deg, #111827, #202a43) !important;
}

.sms-activity-detail-page .ff-activity-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.sms-activity-detail-page .ff-activity-tag {
	padding: 7px 11px !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 750;
	line-height: 1;
	background: linear-gradient(135deg, #12c7b1, #7040ed) !important;
	border-radius: 999px;
}

.sms-activity-detail-page .ff-activity-title {
	margin: 0 !important;
	color: #fff !important;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 850;
	line-height: 1.08;
	letter-spacing: -.035em;
}

.sms-activity-hero-controls {
	position: absolute;
	z-index: 6;
	top: 18px;
	right: 18px;
	left: 18px;
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	gap: 8px;
}

.sms-activity-hero-controls button {
	display: grid;
	width: 42px;
	height: 42px;
	padding: 0;
	place-items: center;
	color: #fff;
	font-size: 18px;
	background: rgba(15, 23, 42, .68);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	backdrop-filter: blur(8px);
	cursor: pointer;
}

.sms-activity-hero-controls button.is-active {
	background: #7040ed;
}

.sms-activity-owner-badge {
	position: absolute;
	z-index: 5;
	top: 75px;
	right: 24px;
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	font-size: 21px;
	background: linear-gradient(135deg, #13cbb4, #7040ed);
	border: 2px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
}

.sms-activity-owner-badge.is-partner {
	background: linear-gradient(135deg, #ffba35, #ff7131);
}

.sms-activity-detail-page .sms-activity-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 18px 42px 14px;
}

.sms-activity-detail-page .sms-activity-summary .ff-activity-meta-item {
	display: flex;
	min-width: 0;
	min-height: 95px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 15px;
	text-align: center;
	background: #fff;
	border: 1px solid #e6e9ef;
	border-radius: 16px;
}

.sms-activity-detail-page .ff-activity-meta-label {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #8a94a6;
	font-size: 12px;
	font-weight: 600;
}

.sms-activity-detail-page .ff-activity-icon svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.sms-activity-detail-page .ff-activity-meta-item strong {
	color: #202a3d;
	font-size: 15px;
	line-height: 1.3;
}

.sms-activity-attendance-summary {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 10px 20px;
	margin: 0 42px;
	padding: 4px 4px 13px;
}

.sms-activity-attendance-summary__avatars {
	display: flex;
	align-items: center;
}

.sms-activity-attendance-summary__avatars img,
.sms-activity-attendance-summary__avatars > span {
	display: grid;
	width: 36px;
	height: 36px;
	margin-left: -8px;
	place-items: center;
	overflow: hidden;
	font-size: 15px;
	object-fit: cover;
	background: #eef0f5;
	border: 2px solid #fff;
	border-radius: 50%;
}

.sms-activity-attendance-summary__avatars > :first-child {
	margin-left: 0;
}

.sms-activity-attendance-summary__numbers {
	text-align: right;
}

.sms-activity-attendance-summary__numbers strong,
.sms-activity-attendance-summary__numbers small {
	display: block;
}

.sms-activity-attendance-summary__numbers strong {
	font-size: 14px;
}

.sms-activity-attendance-summary__numbers small {
	margin-top: 2px;
	color: #09ad7d;
	font-size: 12px;
}

.sms-activity-attendance-summary__progress {
	grid-column: 1 / -1;
	height: 5px;
	overflow: hidden;
	background: #e9ecf1;
	border-radius: 999px;
}

.sms-activity-attendance-summary__progress span {
	display: block;
	height: 100%;
	min-width: 4px;
	background: linear-gradient(90deg, #0bcbb3, #7040ed);
	border-radius: inherit;
}

.sms-activity-tabs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 42px 18px;
	border-bottom: 1px solid #e4e7ec;
}

.sms-activity-tabs button {
	position: relative;
	min-height: 52px;
	padding: 0 12px;
	color: #9299a8;
	font: 750 14px/1 inherit;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.sms-activity-tabs button::after {
	position: absolute;
	right: 28%;
	bottom: -1px;
	left: 28%;
	height: 3px;
	content: '';
	background: transparent;
	border-radius: 999px 999px 0 0;
}

.sms-activity-tabs button.is-active {
	color: #7040ed;
}

.sms-activity-tabs button.is-active::after {
	background: #7040ed;
}

.sms-activity-detail-page .ff-activity-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(290px, .75fr);
	align-items: start;
	gap: 24px;
}

.sms-activity-detail-page .ff-activity-card:not([data-sms-tab="info"]) .ff-activity-layout {
	grid-template-columns: 1fr;
}

.sms-activity-detail-page .ff-activity-card:not([data-sms-tab="info"]) .ff-activity-sidebar {
	display: none;
}

.sms-activity-tab-panel,
.sms-activity-detail-page .ff-activity-panel,
.sms-activity-detail-page .ff-activity-organizer-widget,
.sms-activity-detail-page .ff-activity-attendees-widget,
.sms-activity-detail-page .ff-activity-discussion {
	padding: 24px;
	background: #fff;
	border: 1px solid #e6e9ef;
	border-radius: 18px;
	box-shadow: 0 4px 16px rgba(20, 30, 50, .04);
}

.sms-activity-tab-panel[hidden] {
	display: none !important;
}

.sms-activity-tab-panel--info > h2,
.sms-activity-detail-page .ff-activity-discussion__header h2,
.sms-activity-detail-page .ff-activity-panel-title {
	margin: 0 0 14px;
	color: #182133;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.25;
}

.sms-activity-detail-page .ff-activity-content {
	color: #566176;
	font-size: 15px;
	line-height: 1.75;
}

.sms-activity-detail-page .ff-activity-content > :first-child {
	margin-top: 0;
}

.sms-activity-practical {
	margin-top: 28px;
}

.sms-activity-practical h3 {
	margin: 0 0 14px;
	font-size: 17px;
	font-weight: 800;
}

.sms-activity-practical__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.sms-activity-practical__grid .ff-activity-meta-item {
	padding: 14px;
	background: #f7f8fa;
	border-radius: 13px;
}

.sms-activity-practical__grid .ff-activity-meta-item > * {
	display: block;
	margin-top: 5px;
}

.sms-activity-practical__grid .ff-activity-button {
	color: #7040ed;
	font-size: 13px;
	font-weight: 750;
}

.sms-activity-detail-page .ff-activity-organizer-widget {
	margin-top: 18px;
	padding: 18px;
}

.sms-activity-detail-page .ff-activity-organizer-widget__subtitle {
	display: none;
}

.sms-activity-detail-page .ff-activity-organizer-card {
	display: flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	text-decoration: none;
}

.sms-activity-detail-page .ff-activity-organizer-card__avatar,
.sms-activity-detail-page .ff-activity-organizer-card__avatar img {
	display: block;
	width: 48px;
	height: 48px;
	overflow: hidden;
	object-fit: cover;
	border-radius: 50%;
}

.sms-activity-detail-page .ff-activity-organizer-card__body strong,
.sms-activity-detail-page .ff-activity-organizer-card__body small {
	display: block;
}

.sms-activity-detail-page .ff-activity-sidebar {
	display: grid;
	gap: 18px;
}

.sms-activity-detail-page .ff-activity-location-panel h3 {
	margin: 0 0 6px;
	font-size: 17px;
}

.sms-activity-map {
	position: relative;
	height: 230px;
	overflow: hidden;
	margin: -24px -24px 18px;
	background: #e5e7eb;
	border-radius: 18px 18px 0 0;
}

.sms-activity-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.sms-activity-detail-page .ff-activity-location-panel p {
	color: #737e91;
	font-size: 13px;
	line-height: 1.5;
}

.sms-activity-detail-page .ff-activity-location-panel .ff-activity-button {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
	padding: 0 15px;
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
	background: linear-gradient(135deg, #12c8b2, #7040ed);
	border-radius: 11px;
}

.sms-activity-detail-page .ff-activity-tickets-panel {
	display: none;
}

.sms-activity-detail-page .ff-activity-attendees-widget,
.sms-activity-detail-page .ff-activity-discussion {
	padding: 0;
	border: 0;
	box-shadow: none;
}

.sms-activity-detail-page .ff-activity-attendees-widget__header,
.sms-activity-detail-page .ff-activity-attendees-footer,
.sms-activity-detail-page .ff-activity-discussion__header,
.sms-activity-detail-page .comment-respond {
	padding: 22px;
}

.sms-activity-detail-page .ff-activity-attendees-empty,
.sms-activity-detail-page .ff-activity-discussion__empty,
.sms-activity-detail-page .ff-activity-attendees-list,
.sms-activity-detail-page .comment-list {
	margin: 0;
	padding: 0 22px 22px;
}

.sms-activity-detail-page textarea {
	width: 100%;
	padding: 13px;
	border: 1px solid #dfe3ea;
	border-radius: 12px;
}

.sms-activity-detail-page .ff-activity-button,
.sms-activity-detail-page .ff-activity-comment-submit {
	min-height: 44px;
	padding: 0 18px;
	color: #fff;
	font-weight: 750;
	background: linear-gradient(135deg, #12c8b2, #7040ed);
	border: 0;
	border-radius: 12px;
	cursor: pointer;
}

.sms-activity-sticky-action {
	position: sticky;
	z-index: 50;
	bottom: 18px;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 20px;
	width: min(720px, calc(100% - 30px));
	margin: 24px auto 0;
	padding: 13px 15px;
	background: rgba(255, 255, 255, .95);
	border: 1px solid #e3e6ed;
	border-radius: 17px;
	box-shadow: 0 14px 35px rgba(20, 30, 50, .16);
	backdrop-filter: blur(10px);
}

.sms-activity-sticky-action > div strong,
.sms-activity-sticky-action > div span {
	font-size: 13px;
}

.sms-activity-sticky-action > div i {
	display: block;
	width: 190px;
	height: 4px;
	margin-top: 7px;
	overflow: hidden;
	background: #eaedf2;
	border-radius: 999px;
}

.sms-activity-sticky-action > div i b {
	display: block;
	height: 100%;
	min-width: 4px;
	background: linear-gradient(90deg, #0ccbb3, #7040ed);
}

.sms-activity-sticky-action form {
	margin: 0;
}

.sms-activity-sticky-action .ff-activity-button {
	min-width: 180px;
}

@media (max-width: 820px) {
	.sms-activity-detail-page .page_content,
	.sms-activity-detail-page .content,
	.sms-activity-detail-page .cz_content {
		padding-top: 0;
	}

	.sms-activity-detail-page .ff-activity-card {
		width: 100%;
		margin-bottom: 95px;
	}

	.sms-activity-detail-page .ff-activity-hero {
		display: block;
		min-height: 320px;
		border-radius: 0;
		box-shadow: none;
	}

	.sms-activity-detail-page .ff-activity-hero__image {
		position: absolute;
		inset: 0;
		min-height: 0;
	}

	.sms-activity-detail-page .ff-activity-hero__image::after {
		background: linear-gradient(180deg, rgba(10, 16, 28, .08) 30%, rgba(8, 13, 24, .93) 100%);
	}

	.sms-activity-detail-page .ff-activity-hero__content {
		position: absolute;
		inset: auto 0 0;
		padding: 90px 17px 18px;
		background: transparent !important;
	}

	.sms-activity-detail-page .ff-activity-title {
		font-size: 24px;
	}

	.sms-activity-owner-badge {
		top: auto;
		right: 17px;
		bottom: 68px;
		width: 44px;
		height: 44px;
	}

	.sms-activity-detail-page .sms-activity-summary {
		gap: 7px;
		margin: 12px 12px 10px;
	}

	.sms-activity-detail-page .sms-activity-summary .ff-activity-meta-item {
		min-height: 87px;
		padding: 9px 6px;
		border-radius: 13px;
	}

	.sms-activity-detail-page .ff-activity-meta-item strong {
		font-size: 12px;
	}

	.sms-activity-attendance-summary {
		margin: 0 13px;
	}

	.sms-activity-tabs {
		margin: 0;
	}

	.sms-activity-detail-page .ff-activity-layout {
		display: block;
	}

	.sms-activity-tab-panel,
	.sms-activity-detail-page .ff-activity-panel {
		padding: 20px 16px;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.sms-activity-practical__grid {
		grid-template-columns: 1fr;
	}

	.sms-activity-detail-page .ff-activity-sidebar {
		gap: 0;
	}

	.sms-activity-detail-page .ff-activity-location-panel {
		margin-top: 12px;
		border-radius: 16px;
	}

	.sms-activity-map {
		height: 210px;
		margin: -20px -16px 16px;
		border-radius: 16px 16px 0 0;
	}

	.sms-activity-sticky-action {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		margin: 0;
		padding: 11px 13px calc(11px + env(safe-area-inset-bottom));
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 0;
	}

	body.logged-in.sms-activity-detail-page .sms-activity-sticky-action {
		bottom: calc(68px + env(safe-area-inset-bottom));
		padding-bottom: 11px;
	}

	.sms-activity-sticky-action > div i {
		width: 120px;
	}

	.sms-activity-sticky-action .ff-activity-button {
		min-width: 142px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sms-activity-detail-page * {
		scroll-behavior: auto !important;
	}
}
