/* Base-photo bounds: x915, y805, w160, h207 in the unchanged 1536 x 1024 scene.
   Keep this app-owned object below Room's daylight and practical-light layers. */
.room-view .stage .portfolio-floor {
  position:absolute; left:59.5703125%; top:78.61328125%; width:10.4166667%; height:20.21484375%;
  z-index:10; display:block; min-width:44px; min-height:44px; padding:0; margin:0;
  border:0; background:transparent; box-shadow:none; cursor:pointer; touch-action:pan-x pan-y;
  -webkit-tap-highlight-color:transparent;
}
.portfolio-floor::before {
  content:''; position:absolute; left:12%; bottom:0; width:78%; height:4%;
  border-radius:50%; background:#21100785; filter:blur(2px); pointer-events:none;
}
.portfolio-floor > img {
  display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom;
  /* The source has 6% transparent space below the bag. Ground its visible bottom. */
  transform:translateY(6%); pointer-events:none; user-select:none;
  filter:brightness(.86) saturate(.88); transition:filter .18s ease;
}
.portfolio-floor > img[hidden] { display:none; }
/* A 0.12 brightness invitation becomes 0.15, without enlarging the floor object. */
.portfolio-floor:is(:hover,:focus-visible) > img { filter:brightness(1.01) saturate(.93); }
.portfolio-floor:focus-visible { outline:2px solid #ffefb8; outline-offset:4px; border-radius:3px; }
.portfolio-floor-fallback { position:absolute; left:20%; right:20%; bottom:18%; padding:6px; color:#fff1d4; background:#3c271d; font:18px/1.2 Georgia,serif; }
.portfolio-floor-fallback[hidden] { display:none; }
@media(prefers-reduced-motion:reduce) { .portfolio-floor > img { transition:none; } }
