/* Photography keeps its natural colour; ambient lighting is an optional preview. */
.photo-frame{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#19140f}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s;filter:none}
.photo-item:hover .photo-frame img{transform:scale(1.045)}
.photo-count{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);background:#17100ee8;border:1px solid #cfa77355;color:#f8e6ca;border-radius:4px;padding:5px 9px;font-size:13px;line-height:1.4}
.furniture-gallery[data-light=night] .photo-frame img{filter:brightness(.72) saturate(.84)}
.furniture-gallery[data-light=day] .photo-frame img{filter:brightness(1.08)}
.photo-item .furniture-caption strong{font-size:27px;margin:10px 0 15px}
.photo-item .furniture-caption>span{font-size:12px;letter-spacing:1.5px}
.photo-item .furniture-caption small{font-size:14px}
#furniture-dialog.photo-dialog{width:min(1200px,calc(100vw - 40px));max-width:none;max-height:calc(100svh - 40px);padding:0;overflow:auto;border:1px solid #cba16666;border-radius:8px;background:#241a13;color:#f8edd8;box-shadow:0 24px 100px #000a}
.photo-dialog::backdrop{background:#090604d9;backdrop-filter:blur(7px)}
.photo-dialog .dialog-top{position:sticky;top:0;z-index:4;background:#241a13;padding:12px 20px;border-bottom:1px solid #cba16633;display:flex;justify-content:space-between;align-items:center}
.photo-dialog .dialog-top>span{font:12px/1.5 monospace;letter-spacing:2px}
.photo-dialog .dialog-top button{width:42px;height:42px;font-size:27px;line-height:1;background:#3b2b20;color:#f8edd8;border:1px solid #d7b88a55;border-radius:4px}
.photo-dialog-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr)}
.photo-workspace{min-width:0;background:#110d0a}
.photo-viewport{height:min(64svh,620px);min-height:320px;position:relative;overflow:hidden;touch-action:none;background:#100d0a;outline-offset:-4px!important}
#photo-transform{position:absolute;inset:0;transform-origin:center;will-change:transform}
#photo-transform img,#photo-transform canvas{position:absolute;width:100%;height:100%;inset:0;display:block;object-fit:contain;pointer-events:none;user-select:none}
.view-kind{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);background:#1b150eea;border:1px solid #d4b48066;border-radius:4px;padding:6px 10px;font-size:14px;line-height:1.5;color:#f8edd8;pointer-events:none}
.view-kind[data-kind=illustration]{color:#f6d49a;background:#332416ed}
#photo-status{position:absolute;bottom:20px;left:20px;right:20px;background:#211811ed;border:1px solid #dcba7855;color:#f8edd8;padding:12px;font-size:16px}
.photo-viewport.is-zoomed{cursor:grab}.photo-viewport.is-dragging{cursor:grabbing}
.photo-viewport.is-video{touch-action:pan-y}.furniture-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#100d0a}.is-video .view-kind{font-size:13px;opacity:.85;pointer-events:none}.video-item .photo-count{background:#a17a3cf2;color:#fff5df;font-size:14px}
.photo-toolbar{padding:12px 14px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #cba16622;min-height:64px}
.photo-toolbar button,.furniture-views button{border:1px solid #d4b48055;border-radius:4px;background:#34261c;color:#ead3b1;padding:9px 12px;font-size:14px;line-height:1.5;min-height:42px}
.photo-toolbar button:disabled{opacity:.38;cursor:default}.photo-toolbar button:hover:not(:disabled),.furniture-views button:hover{background:#614328}
.photo-toolbar output{min-width:48px;text-align:center;color:#ead3b1;font-size:14px}
.photo-toolbar>span{width:100%;font-size:13px;color:#b9a68d;line-height:1.5}
.photo-dialog .dialog-copy{padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.photo-dialog .dialog-copy h2{font-size:36px;letter-spacing:-1px;margin-bottom:16px}
.photo-dialog .dialog-copy p{font-size:16px;line-height:1.65}
.photo-dialog .dialog-copy .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:12px}
.furniture-views{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;width:100%}
.furniture-views button[aria-pressed=true]{background:#d4ae75;color:#21170f;border-color:#f3d39e}
.photo-dialog .view-caption{color:#ead3b1;margin-bottom:16px}
.photo-dialog #interior-note{padding:13px;border-left:2px solid #d4ae75;background:#d4ae750d;font-size:14px;color:#c7b096}
.photo-dialog .dialog-pager{width:100%;margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.photo-dialog .dialog-pager>span{font:14px monospace;color:#c7b096}
.view-reveal #photo-transform{animation:photo-reveal .5s ease-out}
@keyframes photo-reveal{from{opacity:.3;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(max-width:800px){#furniture-dialog.photo-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.photo-dialog-layout{grid-template-columns:1fr}.photo-viewport{height:49svh;min-height:250px}.photo-dialog .dialog-copy{padding:24px}.photo-dialog .dialog-copy h2{font-size:32px}.photo-dialog .dialog-copy p{max-width:640px}.photo-dialog .dialog-pager{max-width:350px}.photo-toolbar>span{width:auto;flex:1 1 200px}.view-kind{top:10px;left:10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.view-reveal #photo-transform{animation:none}.photo-frame img{transition:none}.photo-item:hover .photo-frame img{transform:none}}
.motion-off .view-reveal #photo-transform{animation:none}
