.cms-table-element {
	width: 100%;
}

.cms-table-element .content {
	width: 100%;
}

.cms-table-heading {
	margin-bottom: clamp(16px, 2.5vw, 30px);
}

.cms-table-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid rgba(15, 23, 42, .12);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
	-webkit-overflow-scrolling: touch;
}

.cms-table-scroll:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.cms-table {
	width: 100%;
	min-width: max(100%, calc(var(--cms-table-columns, 1) * 9rem));
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-variant-numeric: tabular-nums;
}

.cms-table th,
.cms-table td {
	padding: clamp(12px, 1.6vw, 18px) clamp(14px, 2vw, 24px);
	border: 0;
	border-bottom: 1px solid rgba(15, 23, 42, .09);
	text-align: left;
	vertical-align: top;
	white-space: pre-line;
}

.cms-table th {
	font-weight: 700;
}

.cms-table thead th {
	background: rgba(15, 23, 42, .06);
	color: #17212b;
}

.cms-table tbody th[scope="row"] {
	background: rgba(15, 23, 42, .035);
	color: #17212b;
}

.cms-table tbody tr:nth-child(even) td {
	background: rgba(15, 23, 42, .018);
}

.cms-table tr:last-child > * {
	border-bottom: 0;
}

@media (max-width: 700px) {
	.cms-table-scroll {
		border-radius: 10px;
	}

	.cms-table th,
	.cms-table td {
		padding: 11px 13px;
		font-size: .94rem;
	}
}
