/* Scoped to the collection rail and its native dialog. No external libraries. */
.imr,.imr-dialog { --imr-bg:#f6f5f1; --imr-ink:#111; --imr-muted:#696963; --imr-line:#d8d7d1; box-sizing:border-box; color:var(--imr-ink); font-family:"DM Sans",Arial,sans-serif; }
.imr *,.imr-dialog * { box-sizing:border-box; }
.imr { clear:both; width:100%; margin:0 0 48px; background:var(--imr-bg); border:1px solid var(--imr-line); isolation:isolate; }
.imr-heading { padding:38px 24px 0; text-align:center; }
.imr .imr-kicker { margin:0 0 12px; color:var(--imr-muted); font-size:10px; letter-spacing:.18em; line-height:1.5; }
.imr .imr-heading h2 { margin:0; color:var(--imr-ink); font:600 clamp(26px,4vw,48px)/1.08 "Space Grotesk",Arial,sans-serif; letter-spacing:-.045em; }
.imr .imr-hint { margin:14px 0 0; color:var(--imr-muted); font-size:12px; }
.imr-track { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#aaa transparent; padding:0 24px; }
.imr-rack { position:relative; display:flex; align-items:flex-start; justify-content:center; gap:0; width:max-content; min-width:100%; height:420px; padding:52px 70px 28px; }
.imr-rack::before { content:""; position:absolute; z-index:-1; top:56px; right:8px; left:8px; height:4px; border:1px solid #999a96; border-radius:4px; background:linear-gradient(#eee,#a6a8a4,#eee); box-shadow:0 2px 3px #00000012; }
.imr-rack::after { content:""; position:absolute; pointer-events:none; left:8px; right:8px; top:50px; height:16px; border-left:3px solid #9a9c97; border-right:3px solid #9a9c97; }
.imr .imr-card { position:relative; display:block; flex:0 0 120px; width:120px; height:340px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--imr-ink); text-decoration:none; -webkit-tap-highlight-color:transparent; }
.imr .imr-card.is-active { z-index:2; }
.imr-garment { pointer-events:none; display:flex; flex-direction:column; align-items:center; position:absolute; top:0; left:50%; width:240px; height:300px; transform:translateX(-50%) perspective(850px) rotateY(-65deg); transform-origin:50% 4%; transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .35s; filter:drop-shadow(8px 14px 8px #00000015); }
.imr .is-active .imr-garment { transform:translateX(-50%) perspective(850px) rotateY(0); filter:drop-shadow(5px 13px 8px #00000019); }
.imr-hanger { flex:none; display:block; width:64%; height:42px; color:#43443f; overflow:visible; }
.imr .imr-garment img { display:block; width:100%; height:266px; min-height:0; margin:-6px 0 0; padding:0; border:0; border-radius:0; object-fit:contain; object-position:50% 0; }
.imr .imr-card-title { pointer-events:none; position:absolute; top:312px; left:50%; width:220px; opacity:0; transform:translate(-50%,4px); transition:opacity .2s,transform .2s; text-align:center; font:500 11px/1.4 "Space Grotesk",Arial,sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.imr .is-active .imr-card-title { opacity:1; transform:translate(-50%,0); }
.imr-foot { display:flex; justify-content:space-between; align-items:center; gap:14px; border-top:1px solid var(--imr-line); margin:0 24px; padding:17px 0; color:var(--imr-muted); font-size:9px; letter-spacing:.1em; line-height:1.5; }
.imr-foot span:nth-child(2) { color:var(--imr-ink); }
.imr-card:focus-visible,.imr-dialog button:focus-visible,.imr-dialog a:focus-visible { outline:2px solid #111; outline-offset:5px; }
.imr-dialog:not([open]) { display:none; }
.imr-dialog[open] { display:block; }
.imr-dialog { position:fixed; inset:0; width:min(680px,calc(100vw - 32px)); max-width:none; height:fit-content; max-height:calc(100dvh - 32px); padding:0 24px 24px; margin:auto; border:1px solid var(--imr-line); border-radius:0; overflow:auto; background:var(--imr-bg); box-shadow:0 24px 100px #0003; }
.imr-dialog::backdrop { background:#eeeee9d9; backdrop-filter:blur(7px); }
.imr-dialog button { appearance:none; min-width:40px; min-height:40px; margin:0; padding:8px 14px; border:1px solid var(--imr-line); border-radius:0; background:transparent; color:var(--imr-ink); box-shadow:none; cursor:pointer; font:500 12px/1.2 "DM Sans",Arial,sans-serif; text-transform:none; letter-spacing:normal; }
.imr-dialog button:hover { background:#e8e7e1; color:#111; }
.imr-dialog button:disabled { opacity:.4; cursor:default; }
.imr-dialog button[aria-pressed=true] { color:#fff; background:#111; border-color:#111; }
.imr-dialog-top { display:flex; justify-content:space-between; align-items:center; padding:14px 0 4px; }
.imr-dialog-top span { color:var(--imr-muted); font-size:10px; letter-spacing:.12em; }
.imr-dialog .imr-dialog-top button { border:0; font-size:28px; padding:0; }
.imr-stage { display:flex; justify-content:center; position:relative; height:min(42dvh,360px); min-height:200px; margin:0 0 8px; perspective:1000px; touch-action:pan-y; }
.imr-turner { position:relative; width:72%; max-width:310px; height:100%; transform-style:preserve-3d; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.imr-turner.is-back { transform:rotateY(180deg); }
.imr-turner.is-changing { transition:none; }
.imr-face { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.imr-back { transform:rotateY(180deg); }
.imr-dialog .imr-face img { display:block; width:100%; height:calc(100% - 35px); margin:-5px 0 0; border:0; border-radius:0; object-fit:contain; object-position:50% 0; filter:drop-shadow(5px 10px 8px #00000017); }
.imr-stage .imr-prev,.imr-stage .imr-next { position:absolute; top:45%; z-index:2; width:42px; padding:0; border-radius:50%; font-size:18px; }
.imr-prev { left:0; }
.imr-next { right:0; }
.imr-details { text-align:center; }
.imr-dialog .imr-details h3 { margin:0 0 8px; color:var(--imr-ink); font:600 clamp(18px,3vw,24px)/1.2 "Space Grotesk",Arial,sans-serif; letter-spacing:-.02em; text-transform:uppercase; }
.imr-price { font-size:13px; margin-bottom:15px; }
.imr-price del { opacity:.5; margin-right:6px; }
.imr-price ins { background:transparent; text-decoration:none; }
.imr-sides,.imr-colors { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:0 0 12px; }
.imr-sides button { min-width:70px; }
.imr-colors button { min-height:38px; }
.imr-dialog .imr-shop { display:inline-flex; justify-content:center; align-items:center; min-height:46px; min-width:220px; max-width:100%; margin:4px 0 0; padding:14px 22px; color:#fff; background:#111; border:1px solid #111; text-decoration:none; font-size:11px; letter-spacing:.08em; line-height:1.4; }
.imr-dialog .imr-shop:hover { background:#30302c; color:#fff; }
.imr-dialog .imr-note { margin:12px 0 0; color:var(--imr-muted); font-size:10px; line-height:1.5; }
.imr-status { margin:0 0 8px; color:var(--imr-muted); font-size:11px; line-height:1.5; }
.imr-status:empty { display:none; }
.imr-dialog [hidden] { display:none!important; }
@media(max-width:600px) {
  .imr-heading { padding:28px 16px 0; }
  .imr-track { padding:0 12px; scroll-snap-type:x mandatory; }
  .imr-rack { justify-content:flex-start; height:360px; padding:40px 12px 20px; }
  .imr-rack::before { top:44px; }
  .imr-rack::after { top:38px; }
  .imr .imr-card,.imr .imr-card.is-active { flex-basis:176px; width:176px; height:280px; scroll-snap-align:center; }
  .imr-garment,.imr .is-active .imr-garment { width:176px; height:250px; transform:translateX(-50%) perspective(850px) rotateY(-12deg); }
  .imr .imr-garment img { height:218px; }
  .imr .imr-card-title,.imr .is-active .imr-card-title { top:260px; left:0; width:100%; opacity:1; transform:none; font-size:10px; }
  .imr-foot { margin:0 16px; font-size:8px; }
  .imr-foot span:last-child { display:none; }
  .imr-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:0 16px 20px; }
  .imr-stage { height:min(38dvh,300px); }
}
@media(prefers-reduced-motion:reduce) {
  .imr *,.imr-dialog * { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
