#product-modal .virtual-try-on{position:absolute;inset:0;z-index:8;background:#fff;display:flex;flex-direction:column;align-items:center;padding:18px;gap:12px;overflow-y:auto;overscroll-behavior:contain}
#product-modal .virtual-try-on>*{flex-shrink:0}
#product-modal .virtual-try-on-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}
#product-modal .virtual-try-on-head h2{font-size:20px;margin:0;color:var(--dark)}
#product-modal .virtual-try-on-close{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#f1f7f5;color:var(--dark);font-size:28px;cursor:pointer;flex:none}
#product-modal .virtual-try-on-canvas{display:block;width:min(100%,74vh,800px);height:auto;max-width:100%;max-height:min(74vh,800px);flex:0 0 auto;object-fit:contain;background:#edf5f2;border:1px solid #d4e7e3;border-radius:12px;min-height:0;aspect-ratio:1 / 1}
#product-modal .virtual-try-on-status{font-size:13px;min-height:20px;margin:0;text-align:center;color:var(--dark)}
#product-modal .virtual-try-on-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
#product-modal .virtual-try-on-actions .button{min-height:44px;cursor:pointer}
#product-modal .virtual-try-on-base[aria-pressed="true"]{background:#e3faff;border-color:#00a9ca;color:#005b70}
#product-modal .virtual-try-on-fit{width:100%;max-width:660px;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;padding:10px 14px;border:1px solid #cde3dd;border-radius:10px;background:#f7fbf9}
#product-modal .virtual-try-on-fit legend{padding:0 6px;font-size:13px;font-weight:600;color:var(--dark)}
#product-modal .virtual-try-on-fit-control{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:var(--dark)}
#product-modal .virtual-try-on-fit-control input{width:100%;margin:0;accent-color:#008a7c}
#product-modal .virtual-try-on-fit-reset{grid-column:1/-1;justify-self:center;font-size:12px;min-height:34px}
#product-modal .virtual-try-on-center{grid-column:1/-1;justify-self:center;font-size:12px}
#product-modal .virtual-try-on-center[aria-pressed="true"]{background:#e3faff;border-color:#00a9ca;color:#005b70}
#product-modal .virtual-try-on-center-analysis{grid-column:1/-1;margin:0;color:#48645b;font-size:12px;line-height:1.5}
@media(max-width:600px){#product-modal .virtual-try-on-fit{grid-template-columns:1fr;gap:12px}}
#product-modal .virtual-try-on-tip{max-width:600px;text-align:center;margin:0;color:#627a73;font-size:12px;line-height:1.55}
#product-modal .virtual-try-on-upload{display:inline-flex;align-items:center;justify-content:center}
#product-modal .virtual-try-on-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#product-modal .virtual-try-on-upload:focus-within{outline:2px solid var(--dark);outline-offset:2px}
#product-modal .product-try-on-trigger{border:1px solid #008a7c}
@media(max-width:600px){#product-modal .virtual-try-on{padding:12px;gap:10px}#product-modal .virtual-try-on-canvas{width:min(100%,70vh);max-height:70vh;min-height:0}#product-modal .virtual-try-on-actions{width:100%}#product-modal .virtual-try-on-actions .button{flex:1}}
#product-modal .virtual-try-on-video-source{position:absolute;top:0;left:0;width:2px;height:2px;opacity:0;pointer-events:none}
#product-modal .virtual-try-on-diagnostics{max-width:620px;width:100%;padding:8px 12px;border:1px solid #e1c8b9;border-radius:8px;background:#fff8f5;color:#874b33;font-size:12px}
#product-modal .virtual-try-on-diagnostics[hidden]{display:none}
#product-modal .virtual-try-on-diagnostics summary{cursor:pointer;font-weight:600}
#product-modal .virtual-try-on-diagnostics code{display:block;margin-top:8px;white-space:normal;overflow-wrap:anywhere;font-size:11px;line-height:1.5}


#product-modal .virtual-try-on-actions{padding:6px 0;width:100%}
#product-modal .virtual-try-on-actions .button{min-width:150px}
#product-modal .virtual-try-on-guides{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;max-width:660px;padding:12px;border:1px solid #dce8e2;border-radius:9px;background:#f7faf8}
#product-modal .virtual-try-on-guides-label{font-size:11px;font-weight:600;color:#5e796a;margin-right:5px}
#product-modal .virtual-try-on-guides .button{font-size:11px;min-height:36px;padding:7px 10px}
#product-modal .virtual-try-on-points[aria-pressed="true"]{background:#fff8d8;border-color:#d0b756;color:#655010}
@media(max-width:600px){#product-modal .virtual-try-on-guides-label{width:100%;text-align:center}#product-modal .virtual-try-on-actions .button{min-width:0}#product-modal .virtual-try-on-guides .button{flex:1}}

/* Keep source actions aligned even when the admin gives labels a column layout. */
#product-modal .virtual-try-on-actions{max-width:660px;align-items:center;gap:8px;padding:0}
#product-modal .virtual-try-on-actions .button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:1 1 150px;min-height:42px;height:42px;margin:0;padding:9px 14px;line-height:1.2;font-size:13px;white-space:nowrap;border-radius:8px}
#product-modal .virtual-try-on-actions [hidden]{display:none!important}
#product-modal .virtual-try-on-actions .button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
#product-modal .virtual-try-on-fit-details{width:100%;max-width:660px;border:1px solid #e4e4e7;border-radius:9px;background:#fafafa}
#product-modal .virtual-try-on-fit-details>summary{padding:12px 14px;font-size:12px;font-weight:600;cursor:pointer;color:#52525b}
#product-modal .virtual-try-on-fit-details:not([open])>.virtual-try-on-fit{display:none}
#product-modal .virtual-try-on-fit-details>.virtual-try-on-fit{width:auto;margin:0 12px 12px}
@media(max-width:600px){#product-modal .virtual-try-on-actions .button{flex-basis:calc(50% - 8px);min-width:0}#product-modal .virtual-try-on-actions .button:last-child:not([hidden]){flex-grow:1}}

#product-modal .virtual-try-on-temples[aria-pressed="true"]{background:#fff3e3;border-color:#e5a04b;color:#7c4610}

#product-modal .virtual-try-on-tilt-analysis{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5;color:#52525b}

/* Editor calibration: watch the face while adjusting the adjacent controls. */
#product-modal .virtual-try-on-workbench{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start;width:100%;max-width:1180px}
#product-modal .virtual-try-on-preview{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px}
#product-modal .virtual-try-on-preview .virtual-try-on-canvas{width:min(100%,calc(100vh - 150px),800px);width:min(100%,calc(100dvh - 150px),800px);max-height:none}
#product-modal .virtual-try-on-controls{display:flex;flex-direction:column;gap:12px;min-width:0;position:sticky;top:0;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 4px 2px}
#product-modal .virtual-try-on-controls .virtual-try-on-actions .button{flex-basis:calc(50% - 8px);min-width:0;font-size:12px;padding:8px}
#product-modal .virtual-try-on-controls .virtual-try-on-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;box-sizing:border-box}
#product-modal .virtual-try-on-controls .virtual-try-on-guides-label{grid-column:1/-1;margin:0 0 3px;text-align:left}
#product-modal .virtual-try-on-controls .virtual-try-on-guides .button{white-space:normal;line-height:1.3;text-align:center;font-size:11px;padding:7px;min-width:0}
#product-modal .virtual-try-on-controls .virtual-try-on-fit{grid-template-columns:1fr;gap:14px;margin:0 10px 12px;padding:10px}
#product-modal .virtual-try-on-controls .virtual-try-on-fit-control{margin:0;gap:8px}
#product-modal .virtual-try-on-controls .virtual-try-on-fit-control input{padding:0;box-shadow:none}
#product-modal .virtual-try-on-controls .virtual-try-on-fit-reset,#product-modal .virtual-try-on-controls .virtual-try-on-center{width:100%;white-space:normal;padding:8px}
@media(max-width:850px){#product-modal .virtual-try-on-workbench{grid-template-columns:1fr;max-width:660px;gap:14px}#product-modal .virtual-try-on-controls{position:static;max-height:none;overflow:visible;padding:0}#product-modal .virtual-try-on-preview .virtual-try-on-canvas{width:min(100%,68vh);width:min(100%,68dvh)}#product-modal .virtual-try-on-controls .virtual-try-on-fit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#product-modal .virtual-try-on-controls .virtual-try-on-fit{grid-template-columns:1fr}}

#product-modal .virtual-try-on-nose-analysis{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5;color:#52525b}
#product-modal .virtual-try-on-nose[aria-pressed="true"]{background:#f4f4f5;border-color:#a1a1aa;color:#27272a}

#product-modal .virtual-try-on-calibration-help{grid-column:1/-1;font-size:11px;line-height:1.5;color:#71717a;margin:0}
#product-modal .virtual-try-on-nose-guide[aria-pressed="true"]{background:#fff1fb;border-color:#d189bf;color:#753c69}
