/* TL Flip Card for Elementor */

.tlfc-card {
	--tlfc-angle: 180deg;
	position: relative;
	width: 100%;
	perspective: 1200px;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}
.tlfc-card.tlfc-reverse { --tlfc-angle: -180deg; }
.tlfc-card:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

/* Rotating wrapper: both faces share one grid cell, so the height equals the taller face */
.tlfc-inner {
	display: grid;
	position: relative;
	width: 100%;
	transform-style: preserve-3d;
	transition: transform .8s cubic-bezier(.4, .2, .2, 1);
}

.tlfc-face {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* Back face is pre-rotated */
.tlfc-flip-x .tlfc-back { transform: rotateY(var(--tlfc-angle)); }
.tlfc-flip-y .tlfc-back { transform: rotateX(var(--tlfc-angle)); }

/* Flipped state (click / tap / keyboard / editor preview) */
.tlfc-flip-x.is-flipped .tlfc-inner { transform: rotateY(var(--tlfc-angle)); }
.tlfc-flip-y.is-flipped .tlfc-inner { transform: rotateX(var(--tlfc-angle)); }

/* Hover (devices with a mouse only) */
@media (hover: hover) {
	.tlfc-trigger-hover.tlfc-flip-x:hover .tlfc-inner { transform: rotateY(var(--tlfc-angle)); }
	.tlfc-trigger-hover.tlfc-flip-y:hover .tlfc-inner { transform: rotateX(var(--tlfc-angle)); }
	.tlfc-trigger-hover:hover .tlfc-back  { pointer-events: auto; }
	.tlfc-trigger-hover:hover .tlfc-front { pointer-events: none; }
}

/* Only the visible face receives clicks */
.tlfc-back { pointer-events: none; }
.tlfc-card.is-flipped .tlfc-back  { pointer-events: auto; }
.tlfc-card.is-flipped .tlfc-front { pointer-events: none; }

/* ---------- Content ---------- */
.tlfc-media { display: flex; }
.tlfc-media img { display: block; max-width: 100%; }
.tlfc-icon-wrap { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.tlfc-icon-wrap svg { width: 1em; height: 1em; fill: currentColor; }

.tlfc-number {
	margin: 0 0 14px;
	line-height: 1;
}
.tlfc-title {
	margin: 0 0 12px;
	padding: 0;
	font-family: Georgia, "Times New Roman", serif;
}
.tlfc-desc { margin: 0; }
.tlfc-desc p { margin: 0 0 .6em; font: inherit; color: inherit; }
.tlfc-desc p:last-child { margin-bottom: 0; }

/* Button / link */
.tlfc-btn-wrap { margin-top: 18px; }
.tlfc-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 5px;
	border-bottom: 2px solid #5f7448;
	text-decoration: none;
	cursor: pointer;
	transition: color .25s ease, border-color .25s ease;
}
.tlfc-btn:hover, .tlfc-btn:focus { text-decoration: none; }
.tlfc-btn-icon { transition: transform .25s ease; }
.tlfc-btn:hover .tlfc-btn-icon { transform: translateX(4px); }

/* Key outcomes */
.tlfc-outcomes-wrap { margin-top: 18px; }
.tlfc-outcomes-title { margin: 0 0 12px; }
.tlfc-outcomes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tlfc-outcomes li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tlfc-outcomes li::before { content: none; }
.tlfc-outcomes .tlfc-icon-wrap { flex: 0 0 auto; }

@media (prefers-reduced-motion: reduce) {
	.tlfc-inner { transition-duration: .01s !important; }
}
