.kbf-werxal-native-variant {
	display: none !important;
}

.kbf-werxal-configurator {
	margin: 18px 0;
	padding: 16px;
	border: 1px solid #d7dee8;
	background: #fff;
}

.kbf-werxal-configurator h3 {
	margin: 0 0 12px;
	font-size: 18px;
	line-height: 1.25;
}

.kbf-werxal-step {
	margin: 0 0 14px;
}

.kbf-werxal-step legend {
	margin-bottom: 8px;
	font-weight: 700;
}

.kbf-werxal-groups {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.kbf-werxal-sides {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.kbf-werxal-side {
	display: block;
	cursor: pointer;
}

.kbf-werxal-side input {
	position: absolute;
	opacity: 0;
}

.kbf-werxal-side span {
	display: grid;
	grid-template-columns: minmax(0, 150px) 1fr;
	align-items: center;
	gap: 12px;
	min-height: 96px;
	padding: 8px;
	border: 1px solid #c9d2df;
	background: #f7f9fb;
}

.kbf-werxal-side img {
	display: block;
	width: 100%;
	max-height: 120px;
	object-fit: contain;
	background: #fff;
}

.kbf-werxal-side input:focus-visible + span,
.kbf-werxal-side input:checked + span {
	border-color: #111827;
	box-shadow: inset 0 0 0 1px #111827;
	background: #fff;
}

.kbf-werxal-group {
	display: block;
	cursor: pointer;
}

.kbf-werxal-group input {
	position: absolute;
	opacity: 0;
}

.kbf-werxal-group span {
	display: block;
	min-height: 56px;
	padding: 10px 12px;
	border: 1px solid #c9d2df;
	background: #f7f9fb;
	font-size: 14px;
	line-height: 1.25;
}

.kbf-werxal-group input:focus-visible + span,
.kbf-werxal-group input:checked + span {
	border-color: #111827;
	box-shadow: inset 0 0 0 1px #111827;
	background: #fff;
}

.kbf-werxal-tools {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 8px;
	margin-bottom: 10px;
}

.kbf-werxal-tools input,
.kbf-werxal-tools select {
	width: 100%;
	min-height: 40px;
}

.kbf-werxal-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 8px;
	max-height: 430px;
	overflow: auto;
	padding: 2px;
}

.kbf-werxal-swatch {
	appearance: none;
	border: 1px solid #d3d9e3;
	background: #fff;
	padding: 6px;
	text-align: left;
	cursor: pointer;
}

.kbf-werxal-swatch[aria-pressed="true"],
.kbf-werxal-swatch:focus-visible {
	border-color: #111827;
	box-shadow: inset 0 0 0 1px #111827;
}

.kbf-werxal-swatch img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #f3f4f6;
	margin-bottom: 5px;
}

.kbf-werxal-swatch span {
	display: block;
	font-size: 12px;
	line-height: 1.2;
}

.kbf-werxal-selected {
	margin: 8px 0 0;
	font-weight: 600;
}

.kbf-werxal-empty,
.kbf-werxal-error {
	margin: 8px 0;
	color: #6b7280;
}

.kbf-werxal-error {
	color: #b91c1c;
}

@media (max-width: 640px) {
	.kbf-werxal-groups,
	.kbf-werxal-sides,
	.kbf-werxal-tools {
		grid-template-columns: 1fr;
	}

	.kbf-werxal-grid {
		grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
		max-height: 360px;
	}
}
