/* Product media only: preserve image layouts and show the entire video frame. */
.canonical-main:has(video:not([hidden])),
.product-gallery-frame:has(video:not([hidden])) {
  height:auto!important; min-height:0!important; max-height:none!important;
  aspect-ratio:auto!important; overflow:visible!important;
}
.canonical-main .sr-video-frame,
.product-gallery-frame .sr-video-frame {
  position:relative!important; display:flex!important; align-items:center; justify-content:center;
  width:100%!important; height:auto!important; max-height:none!important;
  aspect-ratio:auto!important; overflow:visible!important; background:#050505;
}
.canonical-main video,
.product-gallery-frame video {
  position:static!important; display:block!important; width:100%!important;
  height:min(70svh,700px)!important; min-height:0!important; max-height:none!important;
  aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important;
  margin:0!important; transform:none!important;
}
.checkout-photo-viewport:has(video:not([hidden])) {
  height:min(60svh,560px)!important; min-height:0!important; aspect-ratio:auto!important; overflow:visible!important;
}
.checkout-photo-viewport>.sr-video-frame,
.product-lightbox .sr-video-frame {
  display:flex!important; align-items:center; justify-content:center;
  width:100%!important; height:100%!important; overflow:visible!important;
}
.checkout-photo-viewport video,
.product-lightbox video {
  position:static!important; width:100%!important; height:100%!important;
  min-height:0!important; object-fit:contain!important; object-position:center!important;
  transform:none!important;
}
.product-lightbox .sr-video-frame {height:80svh!important;width:min(92vw,900px)!important}
.canonical-main video[hidden],.product-gallery-frame video[hidden],
.checkout-photo-viewport video[hidden],.product-lightbox video[hidden],
.sr-video-frame[hidden] {display:none!important}
@media(pointer:coarse) {
  #vipInvitation.vip-invitation {
    position:fixed; z-index:80; left:12px; right:64px; bottom:max(12px,env(safe-area-inset-bottom));
    display:flex; flex-wrap:wrap; gap:6px; align-items:center; justify-content:center;
    width:auto; margin:0; padding:10px 12px; border:1px solid #ffffff50;
    border-radius:12px; background:#101010f5; color:#fff; box-shadow:0 4px 20px #0004;
  }
  #vipInvitation p {flex:1 0 100%;margin:0;text-align:center;font-size:13px}
  #vipInvitation button {min-height:40px;padding:8px 10px;font-size:13px}
}
