.block-software-features-table {
	--features-table-border-width-small: 1px;
	--features-table-border-width-big: 2px;
	--features-table-border-color: #000;
	--features-table-spacer-width: 8px;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 1rem;
	overflow: visible;
	max-width: calc(100vw - 40px);
	text-align: center;
	font-size: 10px;
}

.block-software-features-table > * {
	flex-basis: 100%;
}

.block-software-features-table thead tr:first-child th:not(:first-child):not([data-cell-type="spacer"]) {
	z-index: 999;
	position: sticky;
	top: -1px;
	background: white;
	border-bottom: 0px;
}

.block-software-features-table thead tr:first-child th:not(:first-child):after {
	content: '';
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: var(--features-table-border-width-big);
	background: var(--features-table-border-color);
}

.block-software-features-table thead tr:first-child th:first-child {
	border-left: var(--features-table-border-width-big) solid white;
	border-bottom: 0px;
}

/* .block-software-features-table tbody tr:first-child td {
	z-index: 999;
	position: sticky;
	top: 25px;
	background: white;
} */

@media (min-width: 768px) {

	.block-software-features-table {
		--features-table-spacer-width: 12px;
		font-size: 16px;
	}

	.block-software-features-table td[data-cell-type="section"] {
		font-size: 2em;
	}

	.admin-bar .block-software-features-table thead tr:first-child th:not(:first-child):not([data-cell-type="spacer"]) {
		top: 31px;
	}


}

@media (min-width: 992px) {

	.block-software-features-table {
		--features-table-spacer-width: 20px;
		max-width: none;
	}

}

.block-software-features-table table {
	width: 100%;
	border-collapse: collapse;
}

.block-software-features-table tr {
	border: 0px;
}

.block-software-features-table th {
	border-bottom-width: 0px;
	text-align: center;
}

.block-software-features-table th,
.block-software-features-table td {
	padding: 0.125em 0.25em;
	font-size: 0.875em;
}

.block-software-features-table td {
	vertical-align: middle;
}

.block-software-features-table th:not([data-cell-type="spacer"]),
.block-software-features-table td:not([data-cell-type="spacer"]) {
	border: var(--features-table-border-width-small) solid var(--features-table-border-color);
	border-top-width: 0px;
	border-left-width: 0px;
}

.block-software-features-table th:not([data-cell-type="spacer"]) {
	border-top-width: var(--features-table-border-width-big);
	border-bottom-width: var(--features-table-border-width-big);
}

.block-software-features-table td[data-cell-type="boolean"] {
	text-align: center;
}

.block-software-features-table th:first-child,
.block-software-features-table td:first-child,
.block-software-features-table td[data-column="section"],
.block-software-features-table th[data-cell-type="spacer"] + *:not([data-cell-type="spacer"])
.block-software-features-table td[data-cell-type="spacer"] + *:not([data-cell-type="spacer"]) {
	border-left-width: var(--features-table-border-width-small);
}

.block-software-features-table [data-cell-type="spacer"] {
	min-width: var(--features-table-spacer-width);
	border-left: var(--features-table-border-width-big) solid var(--features-table-border-color);
}

.block-software-features-table [data-cell-type="spacer"] + *:not([data-cell-type="spacer"]) {
	border-left-width: var(--features-table-border-width-big);
}

.block-software-features-table th[data-cell-type="section"] {
	border-left-width: 0px;
	border-top-width: 0px;
}

.block-software-features-table th[data-cell-type="section"] + *:not([data-cell-type="spacer"]) {
	border-left-width: var(--features-table-border-width-big);
}

.block-software-features-table tr:last-child td {
	border-bottom-width: var(--features-table-border-width-big);
}

.block-software-features-table th:last-child,
.block-software-features-table td:last-child {
	border-right-width: var(--features-table-border-width-big);
}

.block-software-features-table td[data-column="part-number"]:empty {
	border-right-width: 0px;
}

.block-software-features-table td[data-column="part-number"] .button-product-quote {
	padding-bottom: 0px;
}

.block-software-features-table td[data-column="part-number"] .button-product-quote .button {
	padding: 6px 12px;
	font-size: 0.75em;
}

.block-software-features-table td[data-column="part-number"] .loader {
	margin: 14px;
}

.block-software-features-table td[data-column="part-number"] > * {
	display: inline-block;
	margin-left: 8px;
}

.block-software-features-table tbody tr.has-no-versions td[data-column^="version-"]:not(:last-child) {
	border-right-width: 0px;
}

.block-software-features-table td[data-cell-type="section"] {
	padding: 0.5em 0.125em;
	width: 2em;
	text-align: center;
	font-size: 1.25em;
	font-weight: bold;
	border-width: var(--features-table-border-width-big);
}

.block-software-features-table td[data-cell-type="section"] > * {
	white-space: nowrap;
	transform: scale(-1);
	writing-mode: vertical-rl;
}

.block-software-features-table td[data-cell-type="standard"],
.block-software-features-table td[data-cell-type="currency"] {
	text-align: right;
}

.block-software-features-table td[data-cell-type="currency"] {
	font-family: monospace;
}

.block-software-features-table tbody tr[data-p="0"]:not(:first-child) td {
	border-top-width: 2px;
}

.block-software-features-table tbody tr:hover td {
	background: #e3e3e3;
}

.block-software-features-table tbody tr td .highlights {
	margin-left: 0.5em;
	display: inline-flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}

.block-software-features-table tbody tr td .highlights span {
	padding: 0.375em 0.25em;
	border-radius: 0.125em;
	font-size: 0.75em;
	line-height: 1;
	font-family: monospace;
	font-weight: bold;
	text-transform: uppercase;
}

.block-software-features-table-outline {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
}

.block-software-features-table-outline > * {
	padding: 0.25em 0.375em;
}

.block-software-features-table-outline > *:hover {
	color: currentColor;
}

.block-software-features-table-key {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	text-transform: uppercase;
	font-size: 0.75em;
}

.block-software-features-table-key > * {
	padding: 0.25em 0.5em;
	font-weight: 500;
}

.block-software-features-table-key > *:first-child {
	flex-basis: 100%;
}

@media (min-width: 768px) {

	.block-software-features-table-key > *:first-child {
		flex-basis: auto;
	}

}
