.wls-configurator{max-width:680px;margin:1rem 0;padding:1rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.wls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem}
.wls-grid label{display:flex;flex-direction:column;gap:.35rem}
.wls-span-2 { grid-column: span 2 / span 2; }
.wls-multiline-toggle-label { flex-direction: row; align-items: center; gap: 0.5em !important; font-weight: 600; }
.wls-preview{margin:1rem 0;padding:.8rem;border:1px dashed #e5e7eb;border-radius:8px;min-height:64px;font-size:28px;line-height:1.2;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-word; white-space: pre-wrap;}
.wls-preview.mirror{transform:scaleX(-1)}
.wls-preview.wls-on-dark{background:#222;color:#fff;border-color:#444}
.wls-height-note{font-size:.95em;opacity:.9;margin-top:.25rem}
.wls-price{margin-top:.5rem;font-weight:600}
@media (max-width:640px){.wls-grid{grid-template-columns:1fr} .wls-span-2 { grid-column: span 1 / span 1; }}
.wls-color-chip{display:inline-block;width:24px;height:24px;border-radius:4px;border:1px solid #ccc;vertical-align: middle;}
#TB_overlay{z-index:100000}
#TB_window{z-index:100001}
.wls-preview.textured { -webkit-background-clip: text; background-clip: text; color: transparent !important; background-size: cover; background-position: center; }
.wls-color-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.wls-color-swatch { padding: 3px; border: 2px solid transparent; border-radius: 50%; cursor: pointer; background-color: #fff; transition: border-color 0.2s; }
.wls-color-swatch.selected { border-color: #007cba; }
.wls-color-swatch:hover { border-color: #ddd; }
.wls-color-swatch-inner { display: block; width: 28px; height: 28px; border-radius: 50%; border: 1px solid rgba(0,0,0,0.1); background-size: cover; background-position: center; }
#wls_selected_color_name { font-weight: 600; }
#wls_colors_table tbody tr, #wls_fonts_table tbody tr { cursor: move; }
.ui-state-highlight { height: 60px; background-color: #f0f8ff; border: 2px dashed #99caff; }