/* Teez Konfigurátor v0.3 */
.tk-configurator{border:1.5px dashed #B9BEC7;border-radius:14px;padding:20px;margin:16px 0;background:#fff}
.tk-label{display:block;font-weight:600;font-size:13.5px;margin:14px 0 6px}
.tk-label:first-child{margin-top:0}
.tk-req{color:#C4208A}
.tk-hint{font-size:12.5px;color:#6B7280;margin:6px 0 0}
.tk-configurator input[type=text],.tk-configurator input[type=number]{border:2px solid #E4E6EA;border-radius:10px;padding:10px 14px;font-size:15px;width:100%;box-sizing:border-box}
.tk-configurator input[type=text]:focus,.tk-configurator input[type=number]:focus{border-color:#C4208A;outline:none}
.tk-count{display:block;text-align:right;font-size:11.5px;color:#6B7280;margin-top:3px}
/* náhľad */
.tk-preview-stage{background:#20242C;border-radius:12px;padding:26px 18px;text-align:center;position:relative;margin-bottom:14px}
.tk-preview-sticker{display:inline-block;background:transparent;border:2px dashed rgba(255,255,255,.35);border-radius:10px;padding:14px 22px;max-width:100%}
#tk-preview{font-size:clamp(20px,5vw,34px);font-weight:800;color:#fff;letter-spacing:.5px;word-break:break-word}
.tk-preview-note{position:absolute;right:12px;bottom:8px;font-size:10.5px;color:rgba(255,255,255,.55)}
/* fonty */
.tk-fonts{display:flex;flex-wrap:wrap;gap:8px}
.tk-font{border:2px solid #E4E6EA;border-radius:10px;padding:8px 14px;font-size:15px;cursor:pointer;user-select:none}
.tk-font input{position:absolute;opacity:0;pointer-events:none}
.tk-font.is-active{border-color:#C4208A;background:#FBEFF7}
/* farby */
.tk-colors{display:flex;flex-wrap:wrap;gap:8px}
.tk-color{cursor:pointer;position:relative}
.tk-color input{position:absolute;opacity:0;pointer-events:none}
.tk-swatch{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #E4E6EA;box-shadow:inset 0 0 0 2px #fff}
.tk-color.is-active .tk-swatch{border-color:#C4208A;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #FBEFF7}
.tk-color-name{font-size:12.5px;color:#6B7280;margin-top:4px;display:inline-block}
/* slider */
.tk-configurator input[type=range]{width:100%;accent-color:#C4208A;margin:6px 0 2px}
.tk-range-limits{display:flex;justify-content:space-between;font-size:11.5px;color:#6B7280}
/* rozmer print */
.tk-size-row{display:flex;align-items:center;gap:10px}
.tk-size-row input{max-width:110px;text-align:center}
/* crop */
.tk-crop-wrap{margin-top:14px}
.tk-crop-box{max-height:340px;overflow:hidden;border-radius:10px;background:#F5F6F8}
.tk-crop-box img{max-width:100%;display:block}
.tk-dpi{font-size:13px;margin:10px 0;padding:9px 12px;border-radius:8px}
.tk-dpi.ok{background:#F2F8E6;border-left:4px solid #C0D000}
.tk-dpi.bad{background:#FBEAEA;border-left:4px solid #B3261E}
.tk-btn{background:#C4208A;color:#fff;border:0;border-radius:999px;font-weight:700;font-size:14px;padding:11px 22px;cursor:pointer}
.tk-btn:hover{background:#A31871}
.tk-btn--ghost{background:none;border:2px solid #E4E6EA;color:#20242C}
.tk-btn--ghost:hover{border-color:#C4208A;color:#C4208A;background:none}
.tk-crop-done{display:flex;align-items:center;gap:14px;margin-top:14px;background:#F2F8E6;border-radius:10px;padding:10px 14px;font-weight:600;font-size:14px}
.tk-crop-done img{width:56px;height:56px;object-fit:cover;border-radius:8px}
/* cena */
.tk-price-row{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed #B9BEC7;margin-top:16px;padding-top:12px;font-size:14px}
.tk-price-row strong{font-size:21px;letter-spacing:-.4px}

/* v0.3.3 — hidden nesmie prebiť display */
.tk-configurator [hidden],.tk-crop-wrap[hidden],.tk-crop-done[hidden]{display:none!important}

/* v0.4.1 — konfigurátor hore, pod ním jeden riadok: počet + Pridať do košíka */
form.cart:has(.tk-configurator){display:flex!important;flex-wrap:wrap;gap:12px;align-items:stretch}
form.cart:has(.tk-configurator) .tk-configurator{flex:1 1 100%;margin:0}
form.cart:has(.tk-configurator) div.quantity{display:inline-flex!important;margin:0!important;float:none!important;width:auto!important}
form.cart:has(.tk-configurator) div.quantity input.qty{height:100%!important;min-height:52px}
form.cart:has(.tk-configurator) button.single_add_to_cart_button{flex:1 1 auto!important;width:auto!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;min-height:52px}

/* v0.4.0 — vector mód */
.tk-vec-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.tk-vec-grid canvas{width:100%;height:auto;border:1px solid #E4E6EA;border-radius:10px;background:#fff}
.tk-vec-preview{border:1px solid #E4E6EA;border-radius:10px;background:#fff;background-image:linear-gradient(45deg,#F0F1F4 25%,transparent 25%,transparent 75%,#F0F1F4 75%),linear-gradient(45deg,#F0F1F4 25%,transparent 25%,transparent 75%,#F0F1F4 75%);background-size:16px 16px;background-position:0 0,8px 8px;min-height:120px;display:flex;align-items:center;justify-content:center;padding:8px}
.tk-vec-preview svg{max-width:100%;max-height:300px;height:auto}
.tk-check{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;margin-top:8px}
@media(max-width:640px){.tk-vec-grid{grid-template-columns:1fr}}
