/* ════════════════════════════════════════════════════════════════════
   Online viewing room (prototype) — #/viewing-room
   A dark, quiet room: one work per screen, shown whole, with a closer look,
   a true-scale wall view and a way to enquire. Light on motion and weight.
   ════════════════════════════════════════════════════════════════════ */
#page-viewing-room { position: relative; background: #0B0A08; color: #FCF8EE; min-height: 100vh; }
.vr, .vr-ov { --vr-ink: #0B0A08; --vr-wall: #14120F; --vr-dim: rgba(252,248,238,.55); --vr-faint: rgba(252,248,238,.28); }

.vr-flag {
  position: absolute; top: 76px; left: 50%; transform: translateX(-50%); z-index: 40;
  font: 400 9.5px/1 'DM Mono', monospace; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); background: rgba(11,10,8,.85); border: .5px solid rgba(241,187,26,.35);
  padding: 7px 14px; border-radius: 20px; backdrop-filter: blur(6px);
}

/* Opening */
.vr-open { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 120px 8vw 80px; position: relative; }
.vr-eyebrow { font: 400 10px/1 'DM Mono', monospace; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); margin-bottom: 28px; }
.vr-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; font-size: clamp(54px, 9vw, 132px); line-height: .95; letter-spacing: -.01em; }
.vr-title em { font-style: italic; color: var(--sky); }
.vr-sub { margin-top: 28px; max-width: 520px; font-size: 15px; line-height: 1.75; color: var(--vr-dim); font-weight: 300; }
.vr-meta { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 10px 28px; font: 400 10px/1.4 'DM Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--vr-faint); }
.vr-meta b { color: var(--vr-dim); font-weight: 400; }
.vr-cue { position: absolute; bottom: 36px; left: 8vw; font: 400 9.5px/1 'DM Mono', monospace; letter-spacing: .22em; text-transform: uppercase; color: var(--vr-faint); display: flex; align-items: center; gap: 12px; }
.vr-cue::after { content: ''; width: 1px; height: 36px; background: linear-gradient(var(--vr-faint), transparent); animation: vrCue 2.4s ease-in-out infinite; }
@keyframes vrCue { 0%,100% { transform: translateY(0); opacity: .4 } 50% { transform: translateY(8px); opacity: 1 } }

/* One work per screen */
.vr-work { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); align-items: center; gap: 6vw; padding: 96px 8vw; position: relative; }
.vr-work:nth-of-type(even) { background: var(--vr-wall); }
.vr-stage { position: relative; display: flex; justify-content: center; align-items: center; min-height: 70vh; }
.vr-stage::before { /* gallery light pooling on the wall */
  content: ''; position: absolute; inset: -10% -6%; pointer-events: none;
  background: radial-gradient(ellipse 60% 55% at 50% 42%, rgba(252,248,238,.07), transparent 70%);
}
.vr-art { position: relative; max-width: 100%; max-height: 74vh; width: auto; height: auto; display: block; cursor: zoom-in;
  box-shadow: 0 40px 80px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.4); background: #1c1a16; }
.vr-info { max-width: 440px; }
.vr-num { font: 400 10px/1 'DM Mono', monospace; letter-spacing: .22em; color: var(--vr-faint); margin-bottom: 22px; }
.vr-name { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 300; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.05; }
.vr-facts { margin-top: 14px; font: 400 10.5px/1.7 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--vr-faint); }
.vr-desc { margin-top: 22px; font-size: 14.5px; line-height: 1.8; color: var(--vr-dim); font-weight: 300; }
.vr-price { margin-top: 26px; font-family: 'Cormorant Garamond', serif; font-size: 26px; color: var(--cream); }
.vr-price small { display: block; margin-top: 4px; font: 400 10px/1.5 'DM Mono', monospace; letter-spacing: .08em; color: var(--vr-faint); }
.vr-actions { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; }
.vr-btn { height: 42px; padding: 0 18px; display: inline-flex; align-items: center; gap: 8px; border-radius: 3px; cursor: pointer; text-decoration: none;
  font: 500 11px/1 'DM Sans', sans-serif; letter-spacing: .04em; border: .5px solid rgba(252,248,238,.28); color: var(--cream); background: transparent; transition: background .2s, border-color .2s; }
.vr-btn:hover { border-color: rgba(252,248,238,.7); background: rgba(252,248,238,.05); }
.vr-btn.primary { background: var(--cream); color: var(--ink); border-color: var(--cream); }
.vr-btn.primary:hover { background: #fff; }

/* Reveal on scroll (respects reduced motion) */
.vr-reveal { opacity: 0; transform: translateY(26px) scale(.985); transition: opacity 1.1s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.vr-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .vr-reveal { opacity: 1; transform: none; transition: none; } .vr-cue::after { animation: none; } }

/* Closing */
.vr-close { min-height: 70vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 96px 8vw; border-top: .5px solid rgba(252,248,238,.08); }
.vr-close .vr-title { font-size: clamp(40px, 6vw, 84px); }

/* Overlays: closer look and wall view */
.vr-ov { position: fixed; inset: 0; z-index: 1200; background: rgba(8,7,6,.97); display: none; }
.vr-ov.open { display: block; }
.vr-ov-bar { position: absolute; top: 0; left: 0; right: 0; height: 60px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; z-index: 2;
  font: 400 10px/1 'DM Mono', monospace; letter-spacing: .18em; text-transform: uppercase; color: var(--vr-dim); background: linear-gradient(rgba(8,7,6,.9), transparent); }
.vr-ov-x { width: 40px; height: 40px; border-radius: 50%; border: .5px solid rgba(252,248,238,.3); background: transparent; color: var(--cream); font-size: 18px; cursor: pointer; }
.vr-zoom { position: absolute; inset: 0; background-repeat: no-repeat; background-size: 260%; cursor: grab; touch-action: none; }
.vr-zoom-hint { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); background: rgba(8,7,6,.7); padding: 8px 14px; border-radius: 20px; white-space: nowrap; font: 400 10px/1 'DM Mono', monospace; letter-spacing: .16em; text-transform: uppercase; color: var(--vr-faint); }

.vr-wallview { position: absolute; inset: 60px 0 0; display: flex; align-items: center; justify-content: center; padding: 24px; }
.vr-wallbox { position: relative; background: linear-gradient(#EFEAE0, #E6DFD2 88%, #CFC6B5 88%, #C7BDAA); box-shadow: inset 0 -1px 0 rgba(0,0,0,.08); }
.vr-wall-art { position: absolute; box-shadow: 0 12px 26px rgba(0,0,0,.28); background-size: cover; background-position: center; }
.vr-wall-person { position: absolute; color: rgba(10,9,6,.55); }
.vr-wall-note { position: absolute; left: 0; right: 0; bottom: -34px; text-align: center; font: 400 10px/1.4 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--vr-dim); }

@media (max-width: 900px) {
  .vr-flag { top: 68px; }
  .vr-open { padding: 110px 20px 80px; }
  .vr-cue { left: 20px; }
  .vr-work { grid-template-columns: 1fr; gap: 28px; padding: 72px 20px 64px; min-height: auto; }
  .vr-stage { min-height: 0; }
  .vr-art { max-height: 62vh; }
  .vr-info { max-width: none; }
  .vr-close { padding: 72px 20px; }
}
