/* =========================================================
   DREAMSPIRE — RESIDENT PHOTO LIGHTBOX
   ========================================================= */

#ds-luxury-dreamers .ds-luxury-resident-media{
  cursor:zoom-in !important;
}

#ds-luxury-dreamers .ds-luxury-resident-media::after{
  content:"↗";

  position:absolute;
  right:14px;
  bottom:14px;

  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;

  background:rgba(20,30,43,.46);
  color:#fff;

  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);

  font-size:15px;

  pointer-events:none;
}


/* FULLSCREEN VIEW */

#ds-resident-photo-lightbox{
  position:fixed;
  inset:0;

  z-index:50000;

  display:none;
  align-items:center;
  justify-content:center;

  padding:
    max(22px,env(safe-area-inset-top))
    18px
    max(22px,env(safe-area-inset-bottom));

  background:rgba(10,16,24,.93);

  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}

#ds-resident-photo-lightbox.is-open{
  display:flex;
}

#ds-resident-photo-lightbox img{
  display:block;

  width:auto;
  height:auto;

  max-width:min(1100px,96vw);
  max-height:90dvh;

  object-fit:contain;

  border-radius:18px;

  box-shadow:
    0 28px 80px rgba(0,0,0,.38);
}

#ds-resident-photo-lightbox-close{
  position:fixed;

  top:max(18px,env(safe-area-inset-top));
  right:18px;

  width:46px;
  height:46px;

  display:grid;
  place-items:center;

  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;

  background:rgba(255,255,255,.12);
  color:#fff;

  font-family:system-ui,sans-serif;
  font-size:24px;
  font-weight:400;

  cursor:pointer;

  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

body.ds-photo-lightbox-open{
  overflow:hidden !important;
}


@media(max-width:720px){

  #ds-resident-photo-lightbox{
    padding-left:10px;
    padding-right:10px;
  }

  #ds-resident-photo-lightbox img{
    max-width:100%;
    max-height:88dvh;

    border-radius:14px;
  }

}
