/**
 * Comparison Feature — frontend table
 * Hardened against theme CSS so the grid stays aligned and unbroken.
 */

.elev8-cmp {
	all: initial;
	display: block !important;
	width: 100% !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	font-family: "DM Sans", Inter, system-ui, -apple-system, "Segoe UI", sans-serif !important;
	color: #475569 !important;
	line-height: 1.45 !important;
	-webkit-font-smoothing: antialiased;
	--elev8-cmp-border: #e5e7eb;
	--elev8-cmp-text: #475569;
	--elev8-cmp-heading: #0f172a;
	--elev8-cmp-muted: #94a3b8;
	--elev8-cmp-plan-w: 24.6667%;
}

.elev8-cmp *,
.elev8-cmp *::before,
.elev8-cmp *::after {
	box-sizing: border-box !important;
}

/* Padding-top keeps half the badge visible inside the scrollport (overflow-x clips otherwise). */
.elev8-cmp__scroll {
	display: block !important;
	width: 100% !important;
	overflow-x: auto !important;
	overflow-y: visible !important;
	-webkit-overflow-scrolling: touch;
	padding-top: 0.85rem !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.elev8-cmp__card {
	display: block !important;
	width: 100% !important;
	min-width: 780px !important;
	margin: 0 !important;
	border: 1px solid var(--elev8-cmp-border) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05) !important;
	overflow: visible !important;
}

.elev8-cmp__table {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
	background: transparent !important;
	overflow: visible !important;
}

.elev8-cmp__table thead,
.elev8-cmp__table tbody,
.elev8-cmp__table tr {
	background: transparent !important;
}

.elev8-cmp__table th,
.elev8-cmp__table td {
	margin: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--elev8-cmp-border) !important;
	border-bottom: 1px solid var(--elev8-cmp-border) !important;
	vertical-align: middle !important;
	padding: 1.15rem 1rem !important;
	font-weight: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	background-clip: padding-box !important;
}

.elev8-cmp__table tr > *:last-child {
	border-right: 0 !important;
}

.elev8-cmp__table tbody tr:last-child > * {
	border-bottom: 0 !important;
}

.elev8-cmp__corner {
	width: 26% !important;
	background: #fff !important;
	text-align: left !important;
	padding: 0 !important;
	border-top-left-radius: 17px !important;
}

.elev8-cmp__plan {
	position: relative !important;
	width: var(--elev8-cmp-plan-w) !important;
	text-align: center !important;
	background: var(--elev8-cmp-bg, #f8fafc) !important;
	padding: 0 !important;
	overflow: visible !important;
}

.elev8-cmp__table thead tr > *:last-child {
	border-top-right-radius: 17px !important;
}

.elev8-cmp__table tbody tr:last-child > *:first-child {
	border-bottom-left-radius: 17px !important;
}

.elev8-cmp__table tbody tr:last-child > *:last-child {
	border-bottom-right-radius: 17px !important;
}

.elev8-cmp__plan--badge {
	padding: 0 !important;
}

.elev8-cmp__plan-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35rem !important;
	width: 100% !important;
	padding: 0 !important;
	position: static !important;
}

/* Centered on the card top border: 50% above, 50% below. */
.elev8-cmp__badge {
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	white-space: nowrap !important;
	padding: 0.28rem 0.7rem !important;
	border-radius: 999px !important;
	background: #fde68a !important;
	color: #78350f !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	box-shadow: 0 2px 8px rgba(202, 138, 4, 0.16) !important;
	z-index: 5 !important;
	pointer-events: none !important;
}

.elev8-cmp__plan-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	margin: 0 !important;
	line-height: 0 !important;
	color: var(--elev8-cmp-accent, #2563eb) !important;
}

.elev8-cmp__plan-name {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	color: var(--elev8-cmp-heading) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.2 !important;
}

.elev8-cmp__plan-price {
	display: inline-flex !important;
	align-items: baseline !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 0.08rem !important;
	margin: 0 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var(--elev8-cmp-heading) !important;
	line-height: 1.3 !important;
}

.elev8-cmp__price,
.elev8-cmp__period {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elev8-cmp__period {
	font-weight: 600 !important;
	color: #64748b !important;
	font-size: 0.92em !important;
}

.elev8-cmp__feature {
	width: 26% !important;
	text-align: left !important;
	background: #fff !important;
	color: var(--elev8-cmp-heading) !important;
	padding-left: 1.2rem !important;
	padding-right: 1rem !important;
}

.elev8-cmp__feature-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
	width: 100% !important;
	min-width: 0 !important;
}

.elev8-cmp__feature-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 26px !important;
	height: 26px !important;
	margin: 0 !important;
	line-height: 0 !important;
}

.elev8-cmp__feature-name {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var(--elev8-cmp-heading) !important;
	line-height: 1.35 !important;
	word-break: break-word !important;
}

.elev8-cmp__cell {
	text-align: center !important;
	background: var(--elev8-cmp-bg, #f8fafc) !important;
	color: #334155 !important;
	font-size: 0.92rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.elev8-cmp__cell-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 1.5rem !important;
	margin: 0 auto !important;
}

.elev8-cmp__dash {
	display: inline-block !important;
	color: var(--elev8-cmp-muted) !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.elev8-cmp__included {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	max-width: 100% !important;
	font-size: 0.92rem !important;
	font-weight: 400 !important;
	color: #334155 !important;
	line-height: 1.45 !important;
}

.elev8-cmp__check {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	color: #277dff !important;
	line-height: 0 !important;
}

.elev8-cmp__check svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
}

.elev8-cmp__included-text,
.elev8-cmp__text {
	display: inline-block !important;
	max-width: 14.5rem !important;
	margin: 0 !important;
	font-size: 0.92rem !important;
	font-weight: 400 !important;
	color: #334155 !important;
	line-height: 1.45 !important;
	word-break: break-word !important;
}

.elev8-cmp__text strong {
	font-weight: 400 !important;
	color: #334155 !important;
}

.elev8-cmp-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 0 !important;
}

.elev8-cmp-icon svg,
.elev8-cmp-icon img {
	display: block !important;
	max-width: 100% !important;
	height: auto !important;
}

.elev8-cmp-icon--lg svg {
	width: 32px !important;
	height: 32px !important;
}

.elev8-cmp-icon--lg img {
	width: 32px !important;
	height: 32px !important;
	object-fit: contain !important;
}

.elev8-cmp-icon--sm svg {
	width: 26px !important;
	height: 26px !important;
}

.elev8-cmp-icon--sm img {
	width: 26px !important;
	height: 26px !important;
	object-fit: contain !important;
}

.elev8-cmp__empty {
	text-align: center !important;
	padding: 2rem 1rem !important;
	color: var(--elev8-cmp-muted) !important;
	background: #fff !important;
}

@media (max-width: 767px) {
	.elev8-cmp__scroll {
		padding-top: 0.9rem !important;
	}

	.elev8-cmp__card {
		min-width: 700px !important;
		border-radius: 14px !important;
	}

	.elev8-cmp__table th,
	.elev8-cmp__table td {
		padding: 1rem 0.8rem !important;
	}

	.elev8-cmp__corner,
	.elev8-cmp__feature {
		width: 34% !important;
		position: sticky !important;
		left: 0 !important;
		z-index: 2 !important;
		background: #fff !important;
		box-shadow: 4px 0 12px rgba(15, 23, 42, 0.04) !important;
	}

	.elev8-cmp__feature {
		z-index: 1 !important;
	}

	.elev8-cmp__plan-name {
		font-size: 1.05rem !important;
	}

	.elev8-cmp__feature-name,
	.elev8-cmp__text,
	.elev8-cmp__included-text {
		font-size: 0.86rem !important;
	}
}
