.camera-grid article .camera-open,
.camera-grid.webos-composite .camera-open {
  position: absolute;
  z-index: 3;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.camera-grid.webos-composite { position: relative; }
.camera-grid article .camera-open:focus-visible,
.camera-grid.webos-composite .camera-open:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.camera-grid article.camera-fullscreen,
.camera-grid.webos-composite.camera-fullscreen {
  position: fixed !important;
  z-index: 100 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #020506 !important;
}
.camera-grid article.camera-fullscreen iframe,
.camera-grid.webos-composite.camera-fullscreen video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
}
.camera-fullscreen .camera-open { display: none !important; }
.camera-fullscreen-close {
  position: fixed;
  z-index: 101;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #b9d0dc;
  border-radius: 50%;
  background: #07141de6;
  color: #fff;
  font: 32px/1 Arial, sans-serif;
  cursor: pointer;
}
.camera-fullscreen-close[hidden] { display: none; }
.camera-fullscreen-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
