/* Click-to-enlarge photo viewer for .room-grid galleries. */
.room-grid img[data-pv] { cursor: zoom-in; transition: opacity .15s ease; }
.room-grid img[data-pv]:hover { opacity: .9; }
.room-grid img[data-pv]:focus-visible { outline: 3px solid var(--bur, #8c0727); outline-offset: 3px; }
.pv {
  position: fixed; inset: 0; z-index: 1000;
  display: none; align-items: center; justify-content: center;
  background: rgba(18, 14, 15, .92);
  padding: 56px 72px 64px;
}
.pv.is-open { display: flex; }
.pv-fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.pv-img {
  max-width: min(1400px, 100%); max-height: calc(100vh - 150px);
  width: auto; height: auto; display: block; border-radius: 4px;
  box-shadow: 0 10px 40px rgba(0,0,0,.45); background: #2a2224;
  touch-action: pan-y;
}
.pv-cap { display: none; color: #f3eee6; font-size: 15px; line-height: 1.45; margin-top: 12px; text-align: center; max-width: 760px; }
.pv-count { color: rgba(243,238,230,.75); font-size: 13px; letter-spacing: .04em; margin-top: 4px; }
.pv-btn {
  position: absolute; border: 0; cursor: pointer;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(243,238,230,.14); color: #f3eee6;
  font: 400 28px/48px system-ui, sans-serif; text-align: center; padding: 0;
}
.pv-btn:hover, .pv-btn:focus-visible { background: rgba(243,238,230,.28); outline: none; }
.pv-btn:focus-visible { box-shadow: 0 0 0 3px #f3eee6; }
.pv-close { top: 14px; right: 16px; font-size: 26px; }
.pv-prev { left: 14px; top: 50%; transform: translateY(-50%); }
.pv-next { right: 14px; top: 50%; transform: translateY(-50%); }
body.pv-lock { overflow: hidden; }
@media (max-width: 640px) {
  .pv { padding: 56px 8px 96px; }
  .pv-img { max-height: calc(100vh - 190px); }
  .pv-prev, .pv-next { top: auto; bottom: 18px; transform: none; }
  .pv-prev { left: calc(50% - 60px); }
  .pv-next { right: calc(50% - 60px); }
  .pv-cap { font-size: 14px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) { .room-grid img[data-pv] { transition: none; } }
/* /care/child: five-photo grid (3 over 2) and a single office photo */
@media (min-width: 801px) {
  .room-grid.five { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .room-grid.five figure { grid-column: span 2; }
  .room-grid.five figure:nth-child(n+4) { grid-column: span 3; }
}
.room-single { margin: 16px 0 28px; max-width: 760px; }
.room-single img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: #efe8dc; }

/* Oct 21: room labels under Wheaton office photos */
.room-grid figcaption { margin-top: 6px; font-size: 14px; line-height: 1.35; color: var(--muted); }
