/* m3d thin — poster until ready, transparent product */
.m3d-item{margin:0;position:relative}
/* v2 layer */
.m3d-item--above-all{z-index:40;isolation:isolate}
.m3d-item--under-text{z-index:0}
.m3d-stage,.m3-stage{
  --m3d-h:440px;--m3-h:440px;
  position:relative;width:100%;height:var(--m3d-h,var(--m3-h,440px));
  background:transparent;border:0;overflow:visible;
}
/* Poster ghost under canvas until is-ready */
.m3d-poster,.m3-poster{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  z-index:4;pointer-events:none;opacity:1;transition:opacity .4s ease,visibility .4s ease;
  background:transparent!important;
}
.m3d-poster-empty{display:block;background:transparent}
.m3d-viewer,babylon-viewer.m3d-viewer,.m3-viewer{
  position:relative;z-index:2;display:block;width:100%!important;height:100%!important;
  opacity:0;transition:opacity .4s ease;background:transparent!important;
}
.m3d-viewer.is-ready,babylon-viewer.m3d-viewer.is-ready,.m3-viewer.is-ready{opacity:1;z-index:3}
/* R5 · prefer CE part over shadow injection */
babylon-viewer::part(tool-bar),babylon-viewer::part(animation-timeline){display:none!important;height:0!important;overflow:hidden!important}
/* U2 poster law: default .m3d-viewer{opacity:0} until .is-ready (no U1 force-show) */
.m3d-stage.is-live:has(.m3d-viewer.is-ready) .m3d-poster,
.m3d-stage.is-live:has(babylon-viewer.is-ready) .m3d-poster,
.m3d-stage:has(.m3d-viewer.is-ready) .m3d-poster,
.m3d-stage:has(babylon-viewer.is-ready) .m3d-poster,
.m3-stage.is-live:has(.m3-viewer.is-ready) .m3-poster,
.m3-stage:has(.m3-viewer.is-ready) .m3-poster{opacity:0;visibility:hidden;z-index:1}
.m3d-item.m3d-fadein .m3d-stage{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1)}
.m3d-item.m3d-fadein.is-in .m3d-stage{opacity:1}
@media (prefers-reduced-motion: reduce){
  .m3d-viewer,babylon-viewer.m3d-viewer{display:none!important}
  .m3d-poster,.m3-poster{opacity:1!important;visibility:visible!important}
  .m3d-item.m3d-fadein .m3d-stage{opacity:1!important;transition:none!important}
}
