.tys-page .tys-product-photo{display:block;width:100%;height:auto;max-height:100%;overflow:hidden}
.tys-page .stage .tys-product-photo{width:100%;height:100%;object-fit:contain}
.tys-page .thumb .tys-product-photo{height:100%;object-fit:cover}
.tys-page .tys-variant-option .tys-product-photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.tys-page .oimg .tys-product-photo{width:100%;height:100%}
.tys-page .repeat>.tys-product-photo{width:100px;flex-shrink:0}
.tys-page .rev>.tys-product-photo{width:120px;margin:16px 0;border-radius:12px}
.tys-page .tys-review-source{font-size:12px;line-height:1.6;margin:12px 0;color:var(--ink-2)}
.tys-personalisation-card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:22px 0;background:var(--cream-2)}
.tys-personalisation-card [data-personalisation-summary]{font-size:14px;overflow-wrap:anywhere}
.tys-page .tys-mug-dialog{color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:28px;width:min(880px,calc(100% - 32px));max-width:880px;max-height:90dvh;overflow:auto;font-family:var(--sans)}
.tys-mug-dialog::backdrop{background:rgba(25,19,15,.65);backdrop-filter:blur(4px)}
.tys-mug-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}
.tys-page .tys-mug-dialog-head button{font-size:22px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.tys-mug-editor{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.tys-mug-preview{position:relative;border-radius:18px;overflow:hidden;background:#f4e8dc;aspect-ratio:1}
.tys-mug-preview .tys-product-photo{width:100%;height:100%}
.tys-mug-print{position:absolute;left:22%;top:46%;width:49%;height:25%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#eee;pointer-events:none;text-align:center;line-height:1.1;text-shadow:0 1px 2px #0005;font-family:Georgia,serif}
.tys-mug-print [data-mug-name]{font-size:clamp(10px,2vw,18px);max-width:100%;overflow-wrap:anywhere}
.tys-mug-print [data-mug-initial]{font-size:clamp(34px,7vw,76px);line-height:.8;opacity:.8;margin-bottom:8px}
.tys-mug-print [data-mug-logo-preview]{width:clamp(34px,7vw,76px);height:clamp(34px,7vw,76px);object-fit:contain;display:block;margin-bottom:8px}
.tys-mug-print[data-light]{color:#505052;text-shadow:none}
.tys-mug-controls label{display:block;font-weight:700;margin:14px 0 6px}
.tys-mug-controls label:first-child{margin-top:0}
.tys-mug-controls input,.tys-mug-controls select{width:100%;min-width:0;padding:12px;border:1px solid #b4a799;border-radius:9px;background:#fff;color:#231d19;font:inherit;font-size:16px}
.tys-mug-controls small,.tys-page .tys-mug-preview-note{font-size:12px;color:var(--ink-2);line-height:1.5;margin-top:10px;display:block}
.tys-page .tys-mug-check{font-size:13px;margin-top:18px}
.tys-page .tys-mug-error{color:#8b2520;margin-top:14px}
.tys-page .tys-mug-cancel{display:block;margin:12px auto;text-decoration:underline;padding:6px 12px}
.tys-mug-controls input:focus-visible,.tys-mug-controls select:focus-visible,.tys-mug-dialog button:focus-visible{outline:3px solid #725944;outline-offset:3px}
@media(max-width:600px){.tys-page .tys-mug-dialog{padding:18px;border-radius:18px;max-height:94dvh}.tys-mug-editor{grid-template-columns:1fr;gap:16px}.tys-mug-preview{width:min(100%,240px);margin:auto}.tys-mug-dialog-head{margin-bottom:14px}.tys-mug-print [data-mug-name]{font-size:13px}.tys-mug-print [data-mug-initial]{font-size:44px}}
@media(prefers-reduced-motion:reduce){.tys-mug-dialog *{scroll-behavior:auto}}
