.wcd-configurator {
	width: 100%;
	margin: 0 0 30px;
	color: #1f2937;
}

.wcd-product-title {
	font-size: 22px;
	margin: 0 0 16px;
}

.wcd-columns {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: flex-start;
}

.wcd-col {
	flex: 1 1 300px;
	min-width: 280px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

/* Columns 1 & 3 narrower, middle (price table) column wider.
   flex-basis sets the "natural" share of space; flex-grow/shrink stay
   proportional to it, so the ratio holds as the window is resized —
   min-width (above) still stops any column collapsing too far before
   the responsive breakpoint kicks in and stacks them. */
.wcd-col-params,
.wcd-col-order {
	flex: 1 1 22%;
}

.wcd-col-price {
	flex: 1.6 1 34%;
}

.wcd-col-head {
	background: #f8fafc;
	border-bottom: 1px solid #e5e7eb;
	padding: 12px 16px;
	font-weight: 600;
	font-size: 15px;
}

.wcd-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #6d28d9;
	color: #fff;
	font-size: 13px;
	margin-right: 6px;
}

.wcd-col-body {
	padding: 14px 16px;
}

.wcd-field {
	margin-bottom: 12px;
}

.wcd-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 4px;
}

.wcd-select,
.wcd-input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 14px;
	background: #fff;
}

.wcd-hint {
	display: block;
	color: #6b7280;
	font-size: 12px;
	margin-top: 4px;
}

/* Price table */
.wcd-price-toggle {
	display: flex;
	gap: 16px;
	margin-bottom: 10px;
	font-size: 13px;
}

.wcd-price-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.wcd-price-table th,
.wcd-price-table td {
	border: 1px solid #e5e7eb;
	padding: 8px 10px;
	text-align: center;
}

.wcd-price-table th {
	background: #f8fafc;
	font-weight: 600;
}

.wcd-price-row {
	cursor: pointer;
	transition: background .15s ease;
}

.wcd-price-row:hover {
	background: #f5f3ff;
}

.wcd-price-row.selected {
	background: #ede9fe;
	outline: 2px solid #6d28d9;
	outline-offset: -2px;
}

.wcd-qty-cell {
	font-weight: 600;
}

/* Order column */
.wcd-order-modes {
	margin-bottom: 14px;
}

.wcd-order-label {
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}

.wcd-mode-option {
	display: block;
	font-size: 14px;
	margin-bottom: 4px;
}

.wcd-summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	padding: 5px 0;
	border-bottom: 1px dashed #e5e7eb;
}

.wcd-summary-total {
	margin-top: 14px;
	padding: 14px;
	border: 1px solid #16a34a;
	border-radius: 8px;
	background: #f0fdf4;
	text-align: center;
}

.wcd-summary-total-label {
	font-size: 13px;
	font-weight: 600;
	color: #15803d;
	margin-bottom: 6px;
}

.wcd-summary-total-netto {
	font-size: 22px;
	font-weight: 700;
	color: #14532d;
}

.wcd-summary-total-brutto {
	font-size: 13px;
	color: #4b5563;
}

.wcd-add-to-cart {
	display: block;
	width: 100%;
	margin-top: 16px;
	padding: 12px;
	background: #16a34a;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	text-align: center;
}

.wcd-add-to-cart:hover {
	background: #15803d;
}

.wcd-add-to-cart:disabled {
	background: #9ca3af;
	cursor: not-allowed;
}

.wcd-source {
	margin-top: 10px;
	font-size: 13px;
	text-align: center;
}

.wcd-empty {
	color: #6b7280;
	font-style: italic;
}

@media ( max-width: 782px ) {
	.wcd-columns {
		flex-direction: column;
	}
	.wcd-col {
		flex: 1 1 100%;
	}
}
