.ecommerz-configurator { margin-block: 1.5rem; max-width: 48rem; }
.ecommerz-configurator-stage { position: relative; width: 100%; background: #f4f4f4; overflow: hidden; }
.ecommerz-configurator-stage > [data-configurator-base] { display: block; width: 100%; height: auto; }
.ecommerz-configurator-stage > [data-configurator-motif] { position: absolute; max-width: none; margin: 0; padding: 0; border: 0; height: auto; cursor: move; touch-action: none; user-select: none; transform-origin: center; }
.ecommerz-configurator-stage > [data-configurator-motif]:focus { outline: 2px dashed #176eb0; }
.ecommerz-configurator-resize { position: absolute; z-index: 2; width: 18px; height: 18px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #087db4; box-shadow: 0 0 0 1px #064c6d; cursor: nwse-resize; touch-action: none; transform: translate(-50%, -50%); }
.ecommerz-configurator [data-configurator-layer] { margin-block: 1rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.ecommerz-configurator [data-configurator-layer] label { display: flex; flex-direction: column; }
.ecommerz-configurator [data-placement] { width: 8rem; }
.ecommerz-configurator .ecommerz-configurator-message.is-error { color: #a11; }

.ecommerz-configurator-region { position: absolute; border: 2px dashed #087db4; background: #087db411; box-sizing: border-box; pointer-events: none; }
.ecommerz-configurator-region > span { background: #fff; font-size: .75rem; }
.ecommerz-configurator [data-configurator-view] { margin-block: 1.5rem; }
