.demo-photo-lightbox {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 4rem 1rem 1rem;
  border: 0;
  background: #19141f;
  color: #fff;
  box-sizing: border-box;
}

.demo-photo-lightbox[open] {
  display: grid;
  place-items: center;
}

.demo-photo-lightbox::backdrop { background: rgba(0, 0, 0, .88); }

.demo-photo-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100dvh - 5rem);
  object-fit: contain;
}

.demo-photo-lightbox button {
  position: absolute;
  top: max(.8rem, env(safe-area-inset-top));
  right: max(.8rem, env(safe-area-inset-right));
  z-index: 1;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 50%;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font: 2rem/1 sans-serif;
  cursor: pointer;
}

.demo-photo-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

body.lightbox-open { overflow: hidden; }

#foto-portada:not([hidden]),
#foto-destacada:not([hidden]),
#foto-recuerdo-vestimenta:not([hidden]),
#recuerdo-foto:not([hidden]),
.event-card-media img:not([hidden]),
.location-card img:not([hidden]) { cursor: zoom-in; }
