/* 2UFi Comparison Table */

.twoUfi-ct {
	--twoUfi-ct-navy: #091C30;
	--twoUfi-ct-mint: #25d495;
	--twoUfi-ct-feat-bg: #F2FBF7;
	--twoUfi-ct-pos-bg: #26D495;
	--twoUfi-ct-neg-bg: #FF6B7A;
	--twoUfi-ct-neu-bg: #E8EAEE;
	--twoUfi-ct-neu-text: #5d6b85;
	--twoUfi-ct-border: rgba(9, 28, 48, 0.06);
	--twoUfi-ct-cols: 5;
	position: relative;
	font-family: 'Inter', sans-serif;
	border-radius: 16px;
	overflow: hidden;
	background: var(--ast-global-color-7);
	border: 1px solid var(--twoUfi-ct-border);
}

/* Horizontal scroll wrapper */
.twoUfi-ct__scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.twoUfi-ct__grid {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) repeat(calc(var(--twoUfi-ct-cols) - 1), minmax(200px, 1fr));
	min-width: 1024px;
}

/* === Headers === */

.twoUfi-ct__h {
	background: var(--twoUfi-ct-navy);
	color: var(--ast-global-color-7);
	padding: 28px 24px;
}

.twoUfi-ct__h.is-featured {
	padding: 24px;
}

.twoUfi-ct__corner {
	display: flex;
	align-items: center;
}

.twoUfi-ct__brand {
	font-size: 16px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.75);
	letter-spacing: 0.5px;
}

.twoUfi-ct__col-h {
	border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.twoUfi-ct__eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.4px;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 8px;
	text-transform: uppercase;
}

.twoUfi-ct__badge {
	display: inline-block;
	background: var(--twoUfi-ct-mint);
	color: var(--twoUfi-ct-navy);
	font-size: 12px;
	font-weight: 700;
	padding: 2px 12px;
	border-radius: 999px;
	margin-bottom: 8px;
}

.twoUfi-ct__col-title {
	font-family: 'Inter', sans-serif;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
	color: var(--ast-global-color-7);
}

/* === Row labels (first column body) === */

.twoUfi-ct__row-label {
	background: var(--ast-global-color-7);
	padding: 22px 24px;
	border-top: 1px solid var(--twoUfi-ct-border);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.twoUfi-ct__row-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--twoUfi-ct-navy);
	line-height: 1.3;
}

.twoUfi-ct__row-subtitle {
	font-size: 12px;
	font-weight: 500;
	color: rgba(9, 28, 48, 0.5);
	margin-top: 4px;
	line-height: 1.6em;
}

/* === Data cells === */

.twoUfi-ct__cell {
	background: var(--ast-global-color-7);
	padding: 20px 20px;
	border-top: 1px solid var(--twoUfi-ct-border);
	border-left: 1px solid var(--twoUfi-ct-border);
}

.twoUfi-ct__cell.is-featured {
	background: var(--twoUfi-ct-feat-bg);
}

.twoUfi-ct__cell-top {
	display: flex;
	gap: 10px;
	margin-bottom: 6px;
}

/* === With Icon Cell === */

.twoUfi-ct__icon {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.twoUfi-ct__icon--positive {
	background: var(--twoUfi-ct-pos-bg);
	color: var(--ast-global-color-7);
}

.twoUfi-ct__icon--negative {
	background: var(--twoUfi-ct-neg-bg);
	color: var(--ast-global-color-7);
}

.twoUfi-ct__icon--neutral {
	background: var(--twoUfi-ct-neu-bg);
	color: var(--twoUfi-ct-neu-text);
}

.twoUfi-ct__value {
	font-size: 15px;
	font-weight: 700;
	color: var(--twoUfi-ct-navy);
	line-height: 1.3;
}

.twoUfi-ct__cell-desc {
	font-size: 12px;
	font-weight: 500;
	color: rgba(9, 28, 48, 0.55);
	line-height: 1.45;
	margin-top: 4px;
	padding-left: 32px;
}

/* === No Icon Cell === */

.twoUfi-ct__cell.no-icon .twoUfi-ct__cell-top {
	gap: 0;
}

.twoUfi-ct__icon.twoUfi-ct__icon--no-icon {
	display: none;
}

.twoUfi-ct__cell.no-icon .twoUfi-ct__cell-desc {
    padding-left: 0;
}

/* === Mobile swipe hint (hidden on desktop) === */

.twoUfi-ct__hint {
	display: none;
}

/* === Mobile === */

@media (max-width: 768px) {
	.twoUfi-ct__grid {
		min-width: 760px;
	}

	.twoUfi-ct__h,
	.twoUfi-ct__row-label,
	.twoUfi-ct__cell {
		padding: 18px 16px;
	}

	.twoUfi-ct__col-title {
		font-size: 16px;
	}

	.twoUfi-ct__value {
		font-size: 14px;
	}

	.twoUfi-ct__row-title {
		font-size: 14px;
	}

	.twoUfi-ct__cell-desc {
		font-size: 12px;
		padding-left: 0;
	}

	.twoUfi-ct__badge {
		font-size: 10px;
	}

	/* Swipe hint pill */
	.twoUfi-ct__hint {
		display: flex;
		align-items: center;
		gap: 10px;
		position: absolute;
		top: 25%;
		left: 50%;
		/* Initial hidden state (off to the left) */
		transform: translate(calc(-50% - 40px), -50%) scale(0.94);
		opacity: 0;
		background: rgba(54, 119, 215, 0.92);
		color: var(--ast-global-color-7);
		padding: 12px 18px;
		border-radius: 999px;
		font-size: 13px;
		font-weight: 600;
		font-family: 'Inter', sans-serif;
		letter-spacing: 0.2px;
		box-shadow: 0 12px 36px rgba(9, 28, 48, 0.35);
		pointer-events: none;
		z-index: 10;
		white-space: nowrap;
	}

	/* When visible: entrance once, then swipe loop forever */
	.twoUfi-ct__hint[data-visible="true"] {
		animation:
			twoUfi-ct-hint-enter 0.55s cubic-bezier(0.34, 1.4, 0.64, 1) forwards,
			twoUfi-ct-hint-swipe 1.5s ease-in-out 1s infinite;
	}

	/* Entrance: slide in from the left */
	@keyframes twoUfi-ct-hint-enter {
		0% {
			opacity: 0;
			transform: translate(calc(-50% - 40px), -50%) scale(0.94);
		}
		100% {
			opacity: 1;
			transform: translate(-50%, -50%) scale(1);
		}
	}

	/* Loop: pill demonstrates a swipe gesture */
	@keyframes twoUfi-ct-hint-swipe {
		0%, 18% {
			opacity: 1;
			transform: translate(-50%, -50%) scale(1);
		}
		55% {
			opacity: 1;
			transform: translate(calc(-50% + 35px), -50%) scale(1);
		}
		70% {
			opacity: 0;
			transform: translate(calc(-50% + 60px), -50%) scale(1);
		}
		71% {
			opacity: 0;
			transform: translate(calc(-50% - 35px), -50%) scale(1);
		}
		100% {
			opacity: 1;
			transform: translate(-50%, -50%) scale(1);
		}
	}

	.twoUfi-ct__hint-arrow {
		display: inline-flex;
	}
}

@media (max-width: 480px) {
	.twoUfi-ct__badge {
		font-size: 9px;
	}
}

@media (max-width: 375px) {
	.twoUfi-ct__badge {
		font-size: 8px;
	}
}