.sbc-app { max-width: 1200px; width: 100%; margin: 32px auto 0; clear: both; box-sizing: border-box; }
.sbc-step h3 { margin-bottom: 12px; }

.sbc-size-select {
	font-size: 15px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px;
	max-width: 360px; width: 100%; background: #fff;
}

.sbc-template-grid { display: flex; flex-wrap: wrap; gap: 16px; }
.sbc-template-thumb {
	width: 220px; cursor: pointer; border: 2px solid transparent; border-radius: 6px;
	padding: 6px; text-align: center;
}
.sbc-template-thumb:hover { border-color: #2271b1; }
.sbc-template-thumb img { width: 100%; display: block; border-radius: 4px; }
.sbc-template-thumb span { display: block; margin-top: 6px; font-size: 13px; }

.sbc-builder-layout { display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start; }
.sbc-canvas-holder { flex: 1 1 500px; }
.sbc-canvas-holder canvas { max-width: 100%; border: 1px solid #ddd; }

.sbc-controls { flex: 1 1 380px; max-width: 460px; min-width: 320px; display: flex; flex-direction: column; gap: 26px; }
.sbc-control label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 13px; }
.sbc-control input[type="text"] { width: 100%; padding: 8px; box-sizing: border-box; }

.sbc-control-row { display: flex; gap: 20px; }
.sbc-control-row .sbc-control { flex: 1 1 0; min-width: 0; }

.sbc-text-sub-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.sbc-sub-label { font-size: 12px; color: #555; }
.sbc-font-select { flex: 1 1 110px; padding: 5px; }
.sbc-text-sub-row input[type="range"] { flex: 1 1 90px; }
.sbc-size-number { width: 55px; padding: 5px; }

.sbc-fit-status { font-size: 12px; margin-top: 6px; font-weight: 600; }
.sbc-fit-status.sbc-fit-ok { color: #00a32a; }
.sbc-fit-status.sbc-fit-bad { color: #d63638; }

.sbc-bg-color-control {
	background: #f7f7f7; border-radius: 6px; padding: 10px 12px;
}
.sbc-bg-color-control label { margin-bottom: 6px; }
.sbc-color-picker { width: 40px; height: 32px; padding: 0; border: 1px solid #ccc; cursor: pointer; border-radius: 4px; }

.sbc-add-to-cart { margin-top: 20px; }
.sbc-adding-msg { margin-left: 10px; }
