/* Elementor Feature Table */

.eft {
	--eft-first: 34%;
	--eft-visible: 5;
	--eft-min: 110px;
	--eft-thumb: #c3cbe6;
	--eft-track: transparent;
	--eft-sb-h: 6px;
	--eft-clip-h: 520px;
	--eft-fade: #fff;
	width: 100%;
	max-width: 100%;
}

.eft *,
.eft *::before,
.eft *::after {
	box-sizing: border-box;
}

.eft__shell {
	position: relative;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(31, 45, 90, 0.1);
}

/* ---- Scroll area ---- */
.eft__scroll {
	position: relative;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--eft-thumb) var(--eft-track);
}

.eft__scroll::-webkit-scrollbar {
	height: var(--eft-sb-h);
}

.eft__scroll::-webkit-scrollbar-track {
	background: var(--eft-track);
}

.eft__scroll::-webkit-scrollbar-thumb {
	background: var(--eft-thumb);
	border-radius: 999px;
}

.eft__scroll:focus-visible {
	outline: 2px solid var(--eft-thumb);
	outline-offset: -2px;
}

/* ---- Grid ---- */
.eft__table {
	width: var(--eft-table-w, 100%);
	min-width: 100%;
}

.eft__row {
	display: grid;
	grid-template-columns:
		var(--eft-first-px, var(--eft-first))
		repeat(var(--eft-cols, 1), var(--eft-col-w, minmax(0, 1fr)));
}

.eft__row[hidden] {
	display: none;
}

.eft__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 56px;
	padding: 12px 10px;
	border-bottom: 1px solid #e6e9f2;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

.eft__row--last .eft__cell {
	border-bottom: 0;
}

/* ---- First column ---- */
.eft__cell--first {
	justify-content: flex-start;
	padding-inline: 20px;
	background: #f5f7fb;
	text-align: start;
}

.eft--sticky .eft__cell--first {
	position: sticky;
	inset-inline-start: 0;
	z-index: 3;
}

.eft--sticky.is-scrolled .eft__cell--first {
	box-shadow: 6px 0 10px -6px rgba(31, 45, 90, 0.22);
}

.eft--sticky.is-scrolled[dir="rtl"] .eft__cell--first {
	box-shadow: -6px 0 10px -6px rgba(31, 45, 90, 0.22);
}

/* ---- Header ---- */
.eft__row--head .eft__cell {
	flex-direction: column;
	gap: 2px;
	min-height: 62px;
	border-bottom: 0;
	background: #3d64ff;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.eft__row--head .eft__cell--first {
	align-items: flex-start;
	justify-content: center;
}

.eft__plan-sub {
	font-size: 12px;
	font-weight: 400;
	opacity: 0.85;
}

/* ---- Group / item rows ---- */
.eft__row--group .eft__cell--first {
	color: #3d64ff;
	font-size: 14px;
	font-weight: 700;
}

.eft__row--item .eft__cell--first {
	padding-inline-start: 32px;
	color: #4b5563;
	font-size: 13px;
	font-weight: 400;
}

.eft__toggle,
.eft__toggle:hover,
.eft__toggle:focus,
.eft__toggle:active {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-align: start;
	text-transform: none;
	cursor: pointer;
	appearance: none;
}

.eft__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.eft__chev {
	flex: none;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.2s ease;
}

.eft__toggle[aria-expanded="true"] .eft__chev {
	transform: rotate(180deg);
}

.eft__row--item.is-revealed {
	animation: eft-in 0.18s ease;
}

@keyframes eft-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: none; }
}

/* ---- Body cells ---- */
.eft__cell--body {
	color: #374151;
}

.eft--alt .eft__odd {
	background: #f6f8fc;
}

.eft__text {
	font-size: 13px;
}

.eft__cellin {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ---- Icons ---- */
.eft__icon {
	display: inline-flex;
	font-size: 20px;
	line-height: 1;
}

.eft__icon svg,
.eft__icon i {
	display: block;
	width: 1em;
	height: 1em;
}

.eft__icon i {
	font-size: 1em;
	line-height: 1;
}

.eft__icon--default svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.eft__icon:not(.eft__icon--default) svg {
	fill: currentColor;
}

.eft__icon--yes  { color: #1fb26b; }
.eft__icon--no   { color: #e5383b; }
.eft__icon--dash { color: #b6bccb; }

.eft__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---- Limited height + "show table" button ---- */
.eft--clip .eft__clip {
	overflow: hidden;
	transition: max-height 0.45s ease;
}

.eft--clip.is-collapsed .eft__clip {
	max-height: var(--eft-clip-h);
}

.eft__fade {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 4;
	height: 170px;
	background: linear-gradient(to bottom, transparent, var(--eft-fade));
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.eft--clip.is-collapsed .eft__fade {
	opacity: 1;
}

.eft__more-wrap {
	display: flex;
	justify-content: center;
	padding-block: 24px;
}

.eft--clip.is-collapsed .eft__more-wrap {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 6;
}

.eft__more,
.eft__more:hover,
.eft__more:focus {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	border: 0;
	background-color: #3d64ff;
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.eft__more:hover,
.eft__more:focus-visible {
	background-color: #2f52e0;
}

.eft__more:focus-visible {
	outline: 2px solid #3d64ff;
	outline-offset: 3px;
}

.eft__more .eft__chev {
	width: 16px;
	height: 16px;
}

.eft__more[aria-expanded="true"] .eft__chev {
	transform: rotate(180deg);
}

/* Table is shorter than the limit: nothing to clip, no button */
.eft--clip.is-noclip .eft__clip {
	max-height: none !important;
}

.eft--clip.is-noclip .eft__fade,
.eft--clip.is-noclip .eft__more-wrap {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.eft--clip .eft__clip,
	.eft__fade { transition: none; }
	.eft__chev { transition: none; }
	.eft__row--item.is-revealed { animation: none; }
}
