.vto-trigger{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;background:#fff;color:#242424;border:1px solid #e6e6e6;border-radius:999px;margin:12px 0;font:500 16px/1.4 system-ui;cursor:pointer;box-shadow:0 2px 6px #00000005}.vto-trigger svg{width:25px;height:25px;fill:currentColor;overflow:visible}.vto-trigger:hover{background:#f5f5f5}.vto-trigger[hidden],.vto-dialog [hidden],[data-vto] shopify-account[hidden]{display:none!important}
.vto-dialog{box-sizing:border-box;border:0;border-radius:28px;width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:28px 32px;color:#323232;background:#fff;box-shadow:0 24px 80px #0003;font:16px/1.5 system-ui;overscroll-behavior:contain}.vto-dialog::backdrop{background:#0008}.vto-dialog *{box-sizing:border-box}.vto-dialog header,.vto-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.vto-dialog h2{font-size:25px;line-height:1.3;font-weight:550;margin:0}.vto-dialog h2:focus{outline:none}.vto-dialog p{margin:16px 0}.vto-dialog button,.vto-dialog a{touch-action:manipulation}.vto-dialog button{cursor:pointer;border:1px solid #e0e0e0;border-radius:999px;background:#fff;color:#323232;padding:12px 20px;font:500 16px/1.4 system-ui;margin:6px 8px 6px 0}.vto-dialog button:hover{background:#f2f2f2}.vto-dialog button:disabled{opacity:.45;cursor:not-allowed}.vto-dialog button.vto-primary{display:block;width:100%;background:#30312f;border-color:#30312f;color:white;margin:20px 0 10px}.vto-dialog button[data-close]{display:grid;place-items:center;flex-shrink:0;border:0;border-radius:15px;background:#f3f3f3;width:44px;height:44px;padding:0;margin:0;font-size:27px;font-weight:300}.vto-dialog a{color:inherit;text-underline-offset:4px}.vto-dialog img{max-width:100%;max-height:300px;object-fit:contain;display:block;margin:12px auto}.vto-dialog img.vto-result{max-height:52dvh;width:100%;background:#fafaf9;border-radius:16px}.vto-dialog img.vto-hero{max-height:42dvh}.vto-dialog label{display:block;margin:16px 0 8px}.vto-dialog input[type=date],.vto-dialog select{display:block;width:100%;min-height:54px;padding:12px 16px;border:1px solid #d8d8d8;border-radius:14px;font:inherit;background:#fff;color:#323232;margin-top:8px}.vto-dialog input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin:3px 10px 0 0;accent-color:#30312f}.vto-dialog label.vto-consent{display:flex;align-items:flex-start;font-size:14px}.vto-dialog [data-message]:not(:empty){padding:12px 16px;background:#f3f5f3;border-radius:12px}.vto-notice{white-space:pre-wrap;background:#f7f7f7;padding:14px;max-height:220px;overflow:auto}.vto-dialog details{font-size:14px}.vto-dialog summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.vto-dialog .vto-dropzone{display:block;width:100%;min-height:160px;border:2px dashed #d6d6d6;border-radius:24px;background:#fcfcfc;margin:16px 0;font-size:20px}.vto-dialog .vto-dropzone.is-dragging{border-color:#333;background:#eee}.vto-photo-preview:empty{display:none}.vto-photo-preview img,.vto-photo-preview video{display:block;max-width:100%;max-height:32dvh;border-radius:16px;margin:auto}.vto-subtitle,.vto-fit-note{font-size:13px;color:#767676}.vto-product-title{font-size:20px;text-align:center;font-weight:550}.vto-progress{list-style:none;padding:0;display:grid;gap:12px;margin:24px 0}.vto-progress li{display:flex;align-items:center;gap:16px;padding:20px;border-radius:18px;background:#f7f7f7;font-size:18px}.vto-progress li[data-state=waiting]{color:#929292}.vto-progress-mark{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:1px solid #ddd;font-size:18px}.vto-progress [data-state=done] .vto-progress-mark{color:#218458;border-color:#218458}.vto-progress [data-state=active] .vto-progress-mark{border:3px solid #dedede;border-right-color:#333;animation:vto-spin 1s linear infinite}.vto-dialog shopify-account{display:block;margin:24px 0;--shopify-account-signed-in-avatar-size:44px}.vto-dialog shopify-account::part(signed-out-avatar){width:auto;height:auto;border-radius:999px;background:#30312f;color:#fff;padding:14px 24px}.vto-dialog shopify-account:not(:defined){display:none}.vto-login-fallback{display:inline-block;margin:12px 0}.vto-looks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vto-looks article{border:1px solid #e7e7e7;border-radius:16px;padding:12px}.vto-dialog footer{border-top:1px solid #eee;padding-top:16px;margin-top:24px;font-size:14px}.vto-dialog footer button{font-size:14px;padding:8px 14px}.vto-dialog :focus-visible,.vto-trigger:focus-visible{outline:3px solid #40795c;outline-offset:3px}@keyframes vto-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.vto-progress [data-state=active] .vto-progress-mark{animation:none}}@media(max-width:480px){.vto-dialog{padding:20px;border-radius:22px}.vto-dialog h2{font-size:22px}.vto-progress li{font-size:16px;padding:16px}.vto-dialog .vto-dropzone{min-height:120px}.vto-looks{grid-template-columns:1fr}.vto-dialog img.vto-result{max-height:43dvh}}

.vto-dialog header{position:sticky;top:0;z-index:2;background:#fff;padding:8px 0}

.vto-camera-stage{position:relative;width:100%;margin:12px auto;background:#171717;border:3px solid #ddd;border-radius:18px;overflow:hidden;transition:border-color .2s}.vto-camera-stage video{display:block;width:100%;height:auto;max-height:none;margin:0;border-radius:0}.vto-body-frame{position:absolute;pointer-events:none;border:2px dashed #fff;border-radius:18px;box-sizing:border-box;transition:left .2s,top .2s,width .2s,height .2s,border-color .2s}.vto-camera-stage[data-ready=true]{border-color:#38dd85}.vto-camera-stage[data-ready=true] .vto-body-frame{border-color:#38dd85;border-style:solid}.vto-countdown:not(:empty){position:absolute;inset:0;display:grid;place-items:center;background:#0003;color:white;font-size:clamp(70px,18vw,130px);font-weight:700;text-shadow:0 2px 10px #0009}.vto-camera-hint{font-weight:600;text-align:center}.vto-camera-instructions{font-size:14px;color:#676767}

.vto-live-modes{display:flex;gap:4px;background:#f2f2f2;padding:4px;border-radius:999px;width:fit-content;margin:12px 0}.vto-live-modes[hidden]{display:none}.vto-live-modes button{border:0;margin:0}.vto-live-modes button[aria-pressed=true]{background:#30312f;color:#fff}.vto-live-video{display:block;width:100%;max-height:55dvh;object-fit:contain;background:#171717;border-radius:16px;margin:16px 0}.vto-dialog details p{white-space:pre-wrap}

.vto-live-stage{position:relative}.vto-live-rectangle{position:absolute;inset:8% 10%;border:3px dashed white;border-radius:16px;pointer-events:none;box-shadow:0 0 0 2px #2226}.vto-live-counter{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:#1b1b1be6;color:white;padding:8px 20px;border-radius:999px;font-size:30px;font-weight:700;pointer-events:none}.vto-live-stage[data-phase=recording] .vto-live-counter{background:#a71919}.vto-live-stage [hidden]{display:none}

/* Live camera remains the main element, including before stream metadata arrives. */
.vto-dialog[data-step=live]{width:min(1440px,96vw);max-width:96vw;max-height:96dvh;padding:20px 28px}
.vto-dialog[data-step=live] [data-content]{text-align:center}
.vto-dialog[data-step=live] .vto-live-stage{width:100%;height:62dvh;min-height:280px;max-height:760px;margin:8px auto 20px;background:#171717;border-radius:18px;overflow:hidden}
.vto-dialog[data-step=live] .vto-live-video{width:100%;height:100%;max-height:none;margin:0;object-fit:contain}
.vto-dialog[data-step=live] [data-content]>p,.vto-dialog[data-step=live] [data-content]>label,.vto-dialog[data-step=live] details{max-width:1000px;margin:14px auto;text-align:center}
.vto-dialog[data-step=live] [data-content]>label{display:block}
@media(max-width:600px){.vto-dialog[data-step=live]{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0;padding:12px}.vto-dialog[data-step=live] .vto-live-stage{height:56dvh;min-height:240px}.vto-dialog[data-step=live] h2{font-size:21px}}
