.kbf-meblebest-native-variations,
.kbf-meblebest-native-fpf,
form.variations_form > .fpf-fields,
form.cart > .fpf-fields { display: none !important; }

.kbf-meblebest-configurator {
	--kbf-accent: #c57a43;
	--kbf-border: #ded8d1;
	--kbf-soft: #f8f5f1;
	margin: 22px 0;
	font-size: 15px;
}
.kbf-meblebest-configurator h3 { margin: 0 0 18px; font-size: 24px; }
.kbf-meblebest-step { border: 0; margin: 0 0 22px; padding: 0; }
.kbf-meblebest-step legend,
.kbf-meblebest-step h4 { display: block; width: 100%; margin: 0 0 10px; font-size: 16px; font-weight: 700; }
.kbf-meblebest-cards,
.kbf-meblebest-image-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.kbf-meblebest-card,
.kbf-meblebest-image-option { cursor: pointer; margin: 0; }
.kbf-meblebest-card input,
.kbf-meblebest-image-option input { position: absolute; opacity: 0; pointer-events: none; }
.kbf-meblebest-card > span,
.kbf-meblebest-image-option > span {
	display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 11px;
	border: 1px solid var(--kbf-border); border-radius: 8px; background: #fff;
}
.kbf-meblebest-card span span { display: block; }
.kbf-meblebest-card strong,
.kbf-meblebest-card small { display: block; }
.kbf-meblebest-card small { margin-top: 3px; color: #68635f; }
.kbf-meblebest-card input:checked + span,
.kbf-meblebest-image-option input:checked + span { border-color: var(--kbf-accent); box-shadow: 0 0 0 2px rgba(197,122,67,.16); }
.kbf-meblebest-card input:focus-visible + span,
.kbf-meblebest-image-option input:focus-visible + span,
.kbf-meblebest-swatch:focus-visible { outline: 3px solid rgba(197,122,67,.45); outline-offset: 2px; }
.kbf-meblebest-image-option img { width: 54px; height: 54px; object-fit: cover; border-radius: 6px; }
.kbf-meblebest-image-option strong,
.kbf-meblebest-image-option small { display: block; }
.kbf-meblebest-image-option small { margin-top: 3px; color: #68635f; }
.kbf-meblebest-text-option > span { min-height: 52px; }
.kbf-meblebest-tools { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-bottom: 12px; }
.kbf-meblebest-tools select,
.kbf-meblebest-tools input { width: 100%; min-height: 44px; border: 1px solid var(--kbf-border); border-radius: 6px; }
.kbf-meblebest-swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.kbf-meblebest-swatch { padding: 7px; border: 1px solid var(--kbf-border); border-radius: 8px; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.kbf-meblebest-swatch[aria-pressed="true"] { border-color: var(--kbf-accent); box-shadow: 0 0 0 2px rgba(197,122,67,.16); }
.kbf-meblebest-swatch img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 5px; }
.kbf-meblebest-swatch span { display: block; margin-top: 7px; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.kbf-meblebest-selected,
.kbf-meblebest-empty,
.kbf-meblebest-hint { margin: 10px 0 0; color: #67615c; }
.kbf-meblebest-total { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 24px 0 14px; padding: 14px 16px; border-radius: 8px; background: var(--kbf-soft); }
.kbf-meblebest-total strong { font-size: 21px; }
.kbf-meblebest-errors { color: #b42318; font-weight: 600; }

@media (max-width: 680px) {
	.kbf-meblebest-cards,
	.kbf-meblebest-image-options,
	.kbf-meblebest-tools { grid-template-columns: 1fr; }
	.kbf-meblebest-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
