.sgvg-tool {
	max-width: 1000px;
	margin: 0 auto;
	font-family: inherit;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px;
	background: #fff;
}

.sgvg-tool h3 {
	margin: 0 0 10px;
	font-size: 1.05em;
}

.sgvg-step {
	margin-bottom: 18px;
}

.sgvg-step-size label {
	display: inline-block;
	margin-right: 20px;
	font-size: 0.9em;
}

.sgvg-step-size input {
	width: 80px;
	margin-left: 6px;
}

.sgvg-placement-status {
	margin: 8px 0;
	font-size: 0.9em;
	color: #2e7d32;
}

.sgvg-workspace {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.sgvg-canvas-wrap {
	position: relative;
	flex: 1 1 500px;
	min-height: 200px;
	background: #f5f5f5;
	border: 1px dashed #ccc;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sgvg-canvas {
	max-width: 100%;
}

/* Fabric geeft zijn kliklaag dezelfde oorspronkelijke class als het zichtbare
 * canvas. Verberg daarom uitsluitend het onderste canvas vóór de upload, niet
 * de .upper-canvas waarop Fabric alle muis- en aanraakinteractie opvangt. */
.sgvg-canvas:not(.upper-canvas) {
	display: none;
}

.sgvg-canvas.upper-canvas {
	display: block;
}

.sgvg-placeholder {
	color: #888;
	font-size: 0.9em;
	padding: 40px;
	text-align: center;
}

.sgvg-sidebar {
	flex: 0 0 240px;
}

.sgvg-category-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.sgvg-category-tab {
	background: #f0f0f0;
	color: #333;
	border: 1px solid #ddd;
	border-radius: 20px;
	padding: 5px 12px;
	font-size: 0.78em;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.sgvg-category-tab:hover {
	border-color: #a5d6a7;
}

.sgvg-category-tab.is-active {
	background: #2e7d32;
	border-color: #2e7d32;
	color: #fff;
}

.sgvg-category-active-label {
	font-size: 0.85em;
	font-weight: 600;
	color: #2e7d32;
	margin: 0 0 8px;
}

.sgvg-variants {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.sgvg-variant-thumb {
	width: 100px;
	cursor: pointer;
	border: 2px solid transparent;
	border-radius: 6px;
	padding: 4px;
	text-align: center;
	transition: border-color 0.15s ease;
}

.sgvg-variant-thumb:hover {
	border-color: #a5d6a7;
}

.sgvg-variant-thumb.is-active {
	border-color: #2e7d32;
}

.sgvg-variant-thumb img {
	width: 100%;
	height: 70px;
	object-fit: contain;
	display: block;
}

.sgvg-variant-thumb span {
	display: block;
	font-size: 0.75em;
	margin-top: 4px;
	color: #444;
}

.sgvg-hint {
	font-size: 0.85em;
	color: #666;
}

.sgvg-btn {
	background: #2e7d32;
	color: #fff;
	border: none;
	border-radius: 5px;
	padding: 10px 18px;
	font-size: 0.95em;
	cursor: pointer;
	width: 100%;
}

.sgvg-btn:hover {
	background: #256428;
}
