.tivity-fcard {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 100%;
	padding-block: var(--Default-Top-Bottom-Padding, 60px);
	box-sizing: border-box;
	font-family: "Instrument Sans", sans-serif;
}

.tivity-fcard__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	width: min(
		100%,
		max(var(--tivity-fcard-heading, 980px), var(--tivity-fcard-intro-copy, 720px))
	);
	max-width: max(var(--tivity-fcard-heading, 980px), var(--tivity-fcard-intro-copy, 720px));
	margin-inline: auto;
	text-align: center;
}

.elementor .tivity-fcard__heading {
	width: min(100%, var(--tivity-fcard-heading, 980px));
	max-width: var(--tivity-fcard-heading, 980px);
	margin: 0;
	color: var(--Dark-Gray, #424a57);
	text-align: center;
}

.elementor .tivity-fcard__intro-copy {
	width: min(100%, var(--tivity-fcard-intro-copy, 720px));
	max-width: var(--tivity-fcard-intro-copy, 720px);
	margin: 0;
	color: #5c6570;
	font-family: "Instrument Sans", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 25px;
	text-align: center;
}

.tivity-fcard__grid {
	display: flex;
	align-items: stretch;
	gap: 20px;
	width: 100%;
}

.tivity-fcard__item {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 28px;
	box-sizing: border-box;
	min-width: 0;
}

.tivity-fcard__media {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 34px;
}

.tivity-fcard__item--mint .tivity-fcard__media {
	background: linear-gradient(258deg, #e8fffd 1.36%, #7adbd4 98.08%);
}

.tivity-fcard__item--purple .tivity-fcard__media {
	background: linear-gradient(90deg, var(--foreverfit-purple, #851f65) 7.74%, #ce99be 97.21%);
}

.tivity-fcard__item--navy .tivity-fcard__media {
	background: var(--dark-teal-gradient, linear-gradient(180deg, #00313e 0%, #1e87a1 100%));
}

.elementor .tivity-fcard__logo {
	position: absolute;
	top: 24px;
	left: 24px;
	z-index: 2;
	display: block;
	width: auto;
	max-width: min(120px, var(--tivity-fcard-logo-max-width, 120px), 100%);
	height: auto;
	object-fit: contain;
	object-position: left top;
}

.elementor .tivity-fcard__photo {
	position: absolute;
	left: 50%;
	z-index: 1;
	display: block;
	width: min(var(--tivity-fcard-photo-width, 100%), 100%);
	max-width: 100%;
	height: auto;
	top: var(--tivity-fcard-photo-top, auto);
	bottom: var(--tivity-fcard-photo-bottom, auto);
	transform: translateX(-50%);
	object-fit: contain;
	object-position: center bottom;
}

.tivity-fcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	padding-inline: 8px;
	text-align: center;
}

.elementor .tivity-fcard__eyebrow {
	margin: 0;
	color: var(--Orange, #ff3600);
	font-family: "Instrument Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.elementor .tivity-fcard__eyebrow sup,
.elementor .tivity-fcard__eyebrow sub {
	font-size: 0.6em;
	line-height: 0;
}

.elementor .tivity-fcard__title {
	width: min(100%, var(--tivity-fcard-title-max, 100%));
	max-width: var(--tivity-fcard-title-max, 100%);
	margin: 0;
	color: var(--Dark-Gray, #424a57);
	font-family: "Instrument Sans", sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
}

.elementor .tivity-fcard__copy {
	width: min(100%, var(--tivity-fcard-copy-max, 100%));
	max-width: var(--tivity-fcard-copy-max, 100%);
	margin: 0;
	color: #5c6570;
	font-family: "Instrument Sans", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 25px;
	text-align: center;
}

@media (min-width: 1025px) {
	.elementor .tivity-fcard__copy {
		min-height: 100px;
	}
}

.elementor a.tivity-fcard__button,
.elementor a.tivity-fcard__button:hover,
.elementor a.tivity-fcard__button:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 210px;
	max-width: calc(100% - 32px);
	margin-top: 8px;
	padding: 10px 28px;
	border: 2px solid var(--Orange, #ff3600);
	border-radius: 999px;
	background: transparent;
	color: var(--Orange, #ff3600);
	font-family: "Instrument Sans", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.elementor a.tivity-fcard__button:is(:hover, :focus-visible, :active) {
	border-color: var(--Dark-Gray, #424a57);
	background-color: var(--Dark-Gray, #424a57);
	color: #fff;
}

@media (max-width: 1024px) {
	.tivity-fcard__grid {
		flex-direction: column;
	}
}

@media (max-width: 767px) {
	.tivity-fcard {
		gap: 40px;
	}

	.tivity-fcard__item {
		gap: 24px;
	}

	.tivity-fcard__media {
		border-radius: 20px;
	}

	.elementor .tivity-fcard__logo {
		top: 16px;
		left: 16px;
	}

	.elementor .tivity-fcard__title {
		font-size: 28px;
	}

	.elementor .tivity-fcard__copy {
		font-size: 16px;
		line-height: 1.4;
	}

	.elementor a.tivity-fcard__button,
	.elementor a.tivity-fcard__button:hover,
	.elementor a.tivity-fcard__button:focus {
		font-size: 18px;
	}
}
