html.showroom-open { overflow: hidden; }
.showroom-dialog { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#f2f3f0; color:#101418; overflow:hidden; }
.showroom-dialog[open] { display:grid; grid-template-rows:68px minmax(0,1fr); animation:showroom-enter .32s cubic-bezier(.2,.8,.2,1); }
.showroom-dialog::backdrop { background:#101418; }
.showroom-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 28px; border-bottom:1px solid #10141826; background:#f2f3f0; z-index:3; }
.showroom-bar span { font:600 12px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.showroom-close { width:44px; height:44px; border:1px solid #10141840; border-radius:50%; background:transparent; color:#101418; font:300 30px/1 system-ui; cursor:pointer; transition:background .2s,color .2s; }
.showroom-close:hover { background:#101418; color:white; }
.showroom-close:focus-visible { outline:3px solid #ff4d00; outline-offset:3px; }
.showroom-frame { grid-area:2/1; width:100%; height:100%; border:0; opacity:0; transition:opacity .2s; background:#f2f3f0; }
.showroom-loaded .showroom-frame { opacity:1; }
.showroom-loading { grid-area:2/1; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:22px; padding:32px; text-align:center; z-index:1; background:#f2f3f0; }
.showroom-loading p { max-width:560px; font-size:18px; }
.showroom-loaded .showroom-loading { display:none; }
.showroom-spinner { width:42px; height:42px; border:2px solid #10141820; border-top-color:#ff4d00; border-radius:50%; animation:showroom-spin 1s linear infinite; }
.prod-name a { color:inherit; text-decoration:none; }
.prod-name a:hover { color:var(--acc-deep); }
@keyframes showroom-enter { from { opacity:0; transform:translateY(20px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes showroom-spin { to { transform:rotate(360deg); } }
@media(max-width:600px) { .showroom-bar { padding:0 16px; } .showroom-dialog[open] { grid-template-rows:60px minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .showroom-dialog[open],.showroom-spinner { animation:none; } .showroom-frame { transition:none; } }
