/* JEIKO — controles de texto e modo de produto. Complementa o CSS existente. */
.add-text-button{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;margin:12px 0;border:1px solid var(--accent-action);border-radius:12px;color:var(--accent-action);background:#fff;cursor:pointer;font:850 14px Nunito,Arial,sans-serif}
.add-text-button:disabled{opacity:.5;cursor:not-allowed}
.text-panel{min-width:0;margin:16px 0 8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfaf7}
.text-panel legend{padding:0 5px;font-size:14px;font-weight:900;color:var(--ink)}
.text-panel label,.text-color-dialog label{display:block;min-width:0;font-size:13px;font-weight:800;color:var(--ink)}
.text-panel textarea,.text-panel input,.text-panel select,.text-color-dialog input{box-sizing:border-box;max-width:100%;min-width:0;border:1px solid #c9cbc7;border-radius:9px;background:#fff;color:var(--ink);font:400 16px Nunito,Arial,sans-serif;padding:9px;min-height:44px}
.text-panel textarea{display:block;width:100%;margin:6px 0 12px;resize:vertical;scroll-margin:180px 0 150px;line-height:1.4}
.text-font-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.text-alignment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px}
.text-panel .text-alignment button{padding:8px 4px;font-size:13px}
.text-panel .text-alignment button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.text-font-row select{display:block;width:100%;margin-top:5px}
.text-size-row{display:grid;grid-template-columns:48px minmax(60px,1fr) 48px;gap:6px;margin-top:5px}
.text-size-row input{text-align:center;width:100%}
.text-panel button,.text-color-dialog button{min-height:44px;padding:8px;border:1px solid #c9cbc7;border-radius:9px;background:#fff;color:var(--ink);font:800 14px Nunito,Arial,sans-serif;cursor:pointer}
.text-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.text-panel .text-delete{margin-left:auto;color:#91382d;border-color:#eccbc5;background:#fff4f1}
.text-color-button{display:flex;align-items:center;gap:8px}
.text-color-button span{height:22px;width:22px;border:1px solid #a2a2a2;border-radius:5px}
.text-panel small,.text-font-notice{display:block;color:#596675;font-size:12px;line-height:1.5}
.text-font-notice{padding:8px 0}
.text-layer-thumbnail{display:grid;place-items:center;height:48px;width:48px;border-radius:8px;background:#f4f1eb;font:800 24px Nunito,Arial,sans-serif}
.text-color-dialog{box-sizing:border-box;width:min(100% - 20px,390px);max-height:calc(100dvh - 20px);overflow-y:auto;margin:auto auto 10px;padding:18px;border:1px solid #d8d4cc;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 16px 60px #1b243044;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}
.text-color-dialog::backdrop{background:#1b243077}
.text-color-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}
.text-color-heading h3{margin:0;font-size:20px}
.text-color-field{height:clamp(100px,28dvh,200px);position:relative;border-radius:10px;touch-action:none;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent);cursor:crosshair}
.text-color-field span{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #1b2430;pointer-events:none}
.text-hue-label{margin-top:16px}
.text-color-dialog .text-hue{display:block;width:100%;min-height:44px;padding:0;border:0;accent-color:var(--accent-action);background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}
.text-color-dialog .text-hue{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}
.text-hue::-webkit-slider-runnable-track{height:14px;border-radius:7px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}
.text-hue::-moz-range-track{height:14px;border-radius:7px;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}
.text-hue::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-5px;border:2px solid #fff;border-radius:50%;background:#1b2430;box-shadow:0 0 0 1px #7c858f}
.text-hue::-moz-range-thumb{width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#1b2430;box-shadow:0 0 0 1px #7c858f}
.text-color-values{display:flex;align-items:end;gap:12px;margin-top:10px}
.text-color-values label{flex:1}
.text-color-values input{width:100%;display:block;margin-top:5px}
.text-color-swatch{display:block;width:50px;height:44px;border-radius:9px;border:1px solid #c9cbc7;flex:none}
.text-rgb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.text-rgb input{width:100%;display:block;margin-top:5px}
.text-panel :focus-visible,.text-color-dialog :focus-visible,.add-text-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.product-automatic .product-panel{display:none!important}
.product-automatic .mobile-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-error{box-sizing:border-box;max-width:600px;margin:10dvh auto;padding:28px;font:400 16px/1.5 Nunito,Arial,sans-serif;color:#1b2430}
.product-error img{width:190px;max-width:100%;margin-bottom:24px}
.product-error h1{font-size:28px;line-height:1.2}
.product-error a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;margin-top:12px;border-radius:12px;background:#d94f00;color:white;text-decoration:none;font-weight:850}
.studio-exporting .editor-scroll-content,.studio-exporting .product-panel,.studio-exporting .reset-button{pointer-events:none}
@media(min-width:500px){.text-font-row{grid-template-columns:minmax(0,1fr) minmax(150px,1fr)}}
@media(min-width:821px){.text-color-dialog{margin:auto}.text-layer-thumbnail{height:32px;width:32px}.text-font-row{grid-template-columns:minmax(0,1fr)}.product-automatic .studio-layout{grid-template-columns:minmax(0,1fr) 370px}.add-text-button{margin:8px 0}}
@media(min-width:821px) and (max-width:980px){.product-automatic .studio-layout{grid-template-columns:1fr}.product-automatic .preview-panel{min-height:500px}}
@media(max-width:820px){.text-panel{scroll-margin-top:145px}.text-panel input,.text-panel select,.text-panel textarea{font-size:16px}.text-color-dialog input{font-size:16px}}
@media(max-height:520px){.text-color-dialog{padding:12px;max-height:calc(100dvh - 10px);margin:auto}.text-color-field{height:100px}.text-color-heading{margin-bottom:8px}.text-hue-label,.text-rgb{margin-top:6px}}
