.stampmaker-online-stamp-editor .smo-text-hotspot-layer { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.stampmaker-online-stamp-editor .smo-text-hotspot-layer[hidden],.stampmaker-online-stamp-editor .smo-text-hotspot[hidden] { display: none !important; }
.stampmaker-online-stamp-editor button.smo-text-hotspot { position: absolute; display: grid; place-items: center; width: 28px; height: 28px; min-width: 28px; min-height: 28px; padding: 4px; margin: 0; transform: translate(-50%,-50%); border: 1px solid #b8caff; border-radius: 50%; background: #ffffffec; color: #244ee9; box-shadow: 0 2px 7px #193d8926; cursor: pointer; pointer-events: auto; touch-action: manipulation; }
.stampmaker-online-stamp-editor button.smo-text-hotspot:hover { border-color: #315efb; background: #eaf0ff; color: #123bbf; }
.stampmaker-online-stamp-editor button.smo-text-hotspot:focus-visible { outline: 3px solid #8daaff; outline-offset: 2px; border-color: #315efb; }
.stampmaker-online-stamp-editor .smo-text-hotspot svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.smo-hotspot-text-dialog { box-sizing: border-box; width: min(450px,calc(100vw - 28px)); max-width: none; max-height: calc(100dvh - 28px); padding: 0; margin: auto; overflow: auto; border: 1px solid #d8e3f7; border-radius: 20px; background: #fff; color: #183252; box-shadow: 0 24px 80px #102e5740; font: 13px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align: start; }
.smo-hotspot-text-dialog::backdrop { background: #10234570; backdrop-filter: blur(4px); }
.smo-hotspot-text-dialog * { box-sizing: border-box; min-width: 0; }
.smo-hotspot-text-dialog [hidden] { display: none !important; }
.smo-hotspot-text-dialog form { margin: 0; padding: 22px; }
.smo-hotspot-text-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.smo-hotspot-text-dialog h2 { margin: 0; padding: 0; color: #183252; font: 800 21px/1.3 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing: -.3px; }
.smo-hotspot-text-dialog button { min-height: 39px; padding: 9px 15px; margin: 0; border: 1px solid #d4dff3; border-radius: 10px; background: #fff; color: #35537a; font: 700 12px/1.35 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow: none; cursor: pointer; text-transform: none; letter-spacing: normal; }
.smo-hotspot-text-dialog .smo-hotspot-close { flex: 0 0 31px; width: 31px; height: 31px; min-height: 31px; padding: 0; border: 0; background: #f1f5fc; font-size: 24px; font-weight: 400; }
.smo-hotspot-position { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 10px 13px; border: 1px solid #dbe5fc; border-radius: 12px; background: #f4f7ff; }
.smo-hotspot-position > span { flex: 0 0 48px; width: 48px; height: 48px; }
.smo-hotspot-position svg { display: block; width: 48px; height: 48px; }
.smo-hotspot-position strong { font-size: 12px; line-height: 1.45; }
.smo-hotspot-text-dialog .smo-hotspot-image { display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-height: 48px; margin-bottom: 16px; padding: 12px 14px; border-color: #cbd9fc; background: #f1f5ff; color: #244ee9; text-align: start; }
.smo-hotspot-text-dialog .smo-hotspot-image:hover { border-color: #8baaff; background: #eaf1ff; }
.smo-hotspot-image .smo-tool-icon { display: inline-flex; flex: 0 0 21px; width: 21px; height: 21px; }
.smo-hotspot-image svg { display: block; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.smo-hotspot-text-dialog label { display: grid; gap: 7px; color: #58718f; font-size: 11px; font-weight: 650; }
.smo-hotspot-text-dialog textarea { display: block; width: 100%; min-height: 104px; max-height: 280px; margin: 0; padding: 11px 12px; border: 1px solid #cbdaf3; border-radius: 10px; background: #fff; color: #183252; resize: vertical; font: 14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow: none; }
.smo-hotspot-text-dialog .smo-hotspot-note { padding: 0; margin: 8px 0 0; color: #8293aa; font-size: 11px; line-height: 1.5; }
.smo-hotspot-text-dialog .smo-hotspot-error { margin: 10px 0 0; color: #c63150; font-size: 12px; }
.smo-hotspot-text-dialog footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; padding: 0; }
.smo-hotspot-text-dialog .smo-hotspot-add { border-color: #315efb; background: #315efb; color: #fff; }
.smo-hotspot-text-dialog .smo-hotspot-add:hover { background: #244ee9; border-color: #244ee9; }
.smo-hotspot-text-dialog button:focus-visible,.smo-hotspot-text-dialog textarea:focus-visible { outline: 3px solid #8daaff; outline-offset: 2px; }
@media (pointer:coarse) { .stampmaker-online-stamp-editor button.smo-text-hotspot { width: 32px; height: 32px; min-width: 32px; min-height: 32px; padding: 6px; } }
