.custom-table-module {
	position: relative;
	width: 100%;
}

.custom-table {
	position: relative;
	width: 100%;
	border: none;
	border-radius: 1.5rem;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0px 12px 40px 0px rgba(37, 99, 235, 0.08);
}

.custom-table-row {
	display: grid;
	grid-template-columns: var(
		--custom-table-template,
		repeat(var(--custom-table-columns, 2), minmax(0, 1fr))
	);
}

.custom-table-cell {
	padding: 1.55rem 1.9rem;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.5rem);
	line-height: 1.25;
	color: var(--text-color, #2f3a37);
	background: #ffffff;
	border-bottom: 1px solid rgba(20, 52, 30, 0.12);
	word-break: break-word;
}

.custom-table-row .custom-table-cell + .custom-table-cell {
	border-left: 1px solid rgba(20, 52, 30, 0.08);
}

.custom-table-head .custom-table-cell {
	background: #5b9d41;
	color: #ffffff;
	font-weight: 700;
	border-bottom: 0;
}

.custom-table-body-row:nth-child(odd) .custom-table-cell {
	background: #f7faf5;
}

.custom-table-body-row:last-child .custom-table-cell {
	border-bottom: 0;
}

.custom-table-cell-bold {
	font-weight: 700;
}

@media (max-width: 992px) {
	.custom-table-cell {
		padding: 1.2rem 1.3rem;
	}
}

@media (max-width: 767px) {
	.custom-table {
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	.custom-table-head {
		display: none;
	}

	.custom-table-body-row {
		display: block;
		background: #ffffff;
		border: 1px solid rgba(20, 52, 30, 0.12);
		border-radius: 0.9rem;
		margin-bottom: 0.9rem;
		overflow: hidden;
	}

	.custom-table-body-row:nth-child(odd) .custom-table-cell,
	.custom-table-body-row:nth-child(even) .custom-table-cell {
		background: #ffffff;
	}

	.custom-table-cell {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
		padding: 0.8rem 0.95rem;
		border-left: 0 !important;
		border-bottom: 1px solid rgba(20, 52, 30, 0.08);
		font-size: 0.95rem;
	}

	.custom-table-body-row .custom-table-cell:last-child {
		border-bottom: 0;
	}

	.custom-table-cell::before {
		content: attr(data-label);
		font-size: 0.8rem;
		font-weight: 700;
		line-height: 1.2;
		color: #5b9d41;
		text-transform: uppercase;
		letter-spacing: 0.02em;
	}
}
