/* Scoped text controls; product, artwork and checkout retain their own engines. */
.design-text-editor{border:1px solid #deded6;border-radius:12px;background:#fff;padding:14px;margin:16px 0}
.design-text-editor[hidden],.design-text-editor [hidden]{display:none!important}
.design-text-add{width:100%;min-height:44px;background:#fff;color:#171717;border:1px solid #aaa;border-radius:8px;font:inherit;font-weight:650}
.design-text-controls h3{font-size:18px;margin:0 0 12px}
.design-text-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;margin:10px 0}
.design-text-controls input[type=text],.design-text-controls select{width:100%;min-height:44px;padding:10px;border:1px solid #aaa;border-radius:7px;background:#fff;color:#171717;font:inherit;box-sizing:border-box}
.design-text-options{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:12px}
.design-text-controls input[type=color]{width:100%;min-height:44px;padding:4px;border:1px solid #aaa;border-radius:7px;background:#fff;box-sizing:border-box}
.design-text-controls input[type=range]{width:100%;min-height:44px;margin:0;accent-color:#171717}
.design-text-size-value{font-size:12px;color:#62625a;align-self:flex-end;margin-top:-9px}
.design-text-position{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.design-text-position button{min-height:44px;padding:8px;border:1px solid #bbb;border-radius:7px;background:#fff;color:#171717;font:inherit;font-size:13px}
.design-text-position button:last-child{color:#7c2920}
.design-text-hint,.design-text-status{font-size:12px;line-height:1.5;color:#62625a;margin:8px 0 0}
.design-text-status:empty{display:none}.design-text-status[data-tone=warning]{color:#794b00}.design-text-status[data-tone=error]{color:#9c271b}
.design-text-editor [aria-invalid=true]{border-color:#a52a1c!important}
.design-text-editor :focus-visible{outline:3px solid #16879b;outline-offset:3px}
.design-text-editor button:disabled,.design-text-editor input:disabled,.design-text-editor select:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:700px){.design-text-editor{padding:12px;margin:12px 0}.design-text-options{grid-template-columns:minmax(0,1fr) 70px}.design-text-position button{font-size:12px}}
