/* ---------- חדר המראות — camera try-on overlay ---------- */
.to{position:fixed;inset:0;z-index:200;display:none;background:var(--em-deep);color:var(--iv);grid-template-columns:minmax(320px,400px) 1fr;grid-template-areas:"panel stage"}
.to.open{display:grid}
.to{grid-template-columns:minmax(320px,400px) minmax(0,1fr)}
.to-stage-wrap{grid-area:stage;min-width:0;position:relative;overflow:hidden;display:grid;place-items:center;background:#06201a}
.to-stage{position:relative;flex:none;transform-origin:center}
.to-stage.mirrored{transform:scaleX(-1)}
.to-stage video,.to-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.to-stage video{object-fit:cover}
.to[data-source="photo"] video,.to:not([data-source="photo"]) .to-photo{display:none}
.to-2d{touch-action:none}
.to.is-manual .to-2d{cursor:move}
.to-guide{position:absolute;inset-block-start:18px;inset-inline:0;display:flex;justify-content:center;pointer-events:none;opacity:0;transition:opacity .4s}
.to-guide span{background:var(--em);color:var(--iv);padding:8px 14px;font-size:.875rem;max-width:min(90%,420px);text-align:center}
.to[data-source="camera"]:not(.has-piece):not(.is-manual) .to-guide{opacity:1}
.to-status{position:absolute;inset:auto 16px 50%;transform:translateY(50%);margin-inline:auto;max-width:440px;background:var(--em);color:var(--iv);padding:20px 22px;font-size:1rem;line-height:1.55;display:none;text-align:start}
.to-status.show{display:block}
.to-status.note{inset-block:auto 20px;transform:none;padding:12px 16px;font-size:.875rem;background:var(--em)}
.to-status small{display:block;color:var(--iv-dim);font-size:.8125rem;margin-block-start:4px}
.to-status.warn{background:var(--iv);color:var(--em)}
.to-inline{display:inline-flex;align-items:center;min-height:40px;margin-block-start:10px;margin-inline-end:6px;padding-inline:12px;background:var(--co);color:var(--em);font-weight:500;font-size:.875rem}
.to-spin{display:inline-block;width:14px;height:14px;margin-inline-end:10px;background:var(--co);transform:rotate(45deg);animation:tospin 1s var(--ease) infinite;vertical-align:-2px}
@keyframes tospin{50%{transform:rotate(225deg) scale(.6)}100%{transform:rotate(405deg)}}
.to-manual{position:absolute;inset-block-end:16px;inset-inline-end:16px;background:var(--em);padding:12px 16px;display:grid;gap:2px;width:min(260px,calc(100% - 32px))}
.to-manual[hidden]{display:none}
.to-manual label{display:grid;grid-template-columns:52px 1fr;align-items:center;font-size:.8125rem;color:var(--iv-dim)}
.to-manual input{accent-color:var(--co);width:100%;min-height:34px}
.to-manual-note{font-size:.8125rem;margin-block-end:4px}
.to:not([data-mode="earrings"]) .to-sep{display:none}
.to-panel{grid-area:panel;min-width:0;display:flex;flex-direction:column;gap:18px;padding:24px 24px 20px;overflow-y:auto;background:var(--em-deep)}
.to-head{position:relative;padding-inline-end:52px}
.to-kicker{font-size:.8125rem;color:var(--co)}
.to-title{font-family:var(--f-display);font-weight:700;font-size:var(--s3);line-height:1.05}
.to-close{position:absolute;inset-block-start:-6px;inset-inline-end:-8px;width:48px;height:48px;display:grid;place-items:center;transition:transform .4s var(--ease)}
.to-close:hover{transform:rotate(90deg)}
.to-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.to-modes button{min-height:48px;background:rgba(246,241,233,.07);font-weight:500;transition:background .25s,color .25s}
.to-modes button[aria-selected="true"]{background:var(--co);color:var(--em)}
.to-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.to-pick{display:grid;gap:6px;text-align:start;padding:6px;background:rgba(246,241,233,.05);transition:background .25s}
.to-pick[aria-selected="true"]{background:var(--iv);color:var(--em)}
.to-pick-img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:100vmax 100vmax 0 0;background:var(--em)}
.to-pick-img img{width:100%;height:100%;object-fit:cover}
.to-pick-3d{display:grid;place-items:center;height:100%;font-family:var(--f-display);font-weight:700;color:var(--co)}
.to-pick-name{font-size:.75rem;line-height:1.3}
.to-empty{color:var(--iv-dim);font-size:.875rem}
.to-now{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.to-now-name{font-family:var(--f-display);font-weight:700;font-size:var(--s1);line-height:1.2}
.to-now-price{font-variant-numeric:tabular-nums;color:var(--co);font-weight:500}
.to-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.to-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding-inline:10px;background:rgba(246,241,233,.07);font-size:.875rem;text-decoration:none;cursor:pointer;transition:background .25s,color .25s;text-align:center}
.to-btn:hover{background:rgba(246,241,233,.16)}
.to-btn[aria-pressed="true"]{background:rgba(246,241,233,.2)}
.to-shoot{grid-column:1 / -1;background:var(--iv);color:var(--em);min-height:54px;font-weight:500;font-size:1rem}
.to-shoot:hover{background:var(--co)}
.to-buy{display:flex;align-items:center;justify-content:center;min-height:54px;background:var(--co);color:var(--em);font-weight:500;text-decoration:none}
.to-buy[hidden]{display:none}
.to-privacy{font-size:.75rem;color:var(--iv-dim);margin-block-start:auto}
.to-shot{position:absolute;inset:0;z-index:5;background:rgba(5,22,18,.92);display:grid;place-items:center;padding:20px}
.to-shot[hidden]{display:none}
.to-shot-inner{display:grid;gap:14px;max-width:min(720px,100%);max-height:100%}
.to-shot img{max-height:70vh;width:auto;max-width:100%;margin-inline:auto}
.to-shot-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px}
@media (max-width:899px){
  .to{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"stage" "panel"}
  .to-panel{gap:10px;padding:12px 12px calc(12px + env(safe-area-inset-bottom));overflow:visible}
  .to-head{position:static;padding:0}
  .to-kicker,.to-title,.to-privacy,.to-now{display:none}
  .to-close{position:fixed;inset-block-start:10px;inset-inline-end:10px;z-index:6;background:var(--em-deep)}
  .to-picks{display:flex;overflow-x:auto;scrollbar-width:none;gap:6px;scroll-snap-type:x mandatory}
  .to-pick{flex:none;width:76px;scroll-snap-align:start}
  .to-pick-name{display:none}
  .to-actions{display:flex;overflow-x:auto;scrollbar-width:none}
  .to-actions .to-btn{flex:none;padding-inline:14px}
  .to-shoot{order:-1;min-width:150px}
  .to-modes button{min-height:44px}
  .to-buy{min-height:48px}
  .to-manual{inset-block-end:8px;inset-inline-end:8px;width:190px;padding:6px 10px}
  .to-manual-note{display:none}
  .to-manual input{min-height:28px}
  .to-status.note{inset-block-end:auto;inset-block-start:66px}
  .to-guide{inset-block-start:68px}
}
