.room-photo-row { display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-bottom:1px solid var(--border-strong); }
.room-photo-copy { min-width:0; flex:1; }
.room-photo-title { margin:0; color:var(--t-head); font:600 16px/1.5 var(--font-body); }
.room-photo-note { margin:6px 0 0; color:var(--t-body); font:400 14px/1.5 var(--font-body); white-space:pre-wrap; overflow-wrap:anywhere; }
.room-photo-button { flex:0 0 148px; width:148px; padding:0; overflow:hidden; border:1px solid var(--border-strong); border-radius:8px; background:var(--bg); color:var(--t-head); cursor:pointer; }
.room-photo-thumb { display:block; width:100%; height:100px; object-fit:cover; }
.room-photo-thumb[hidden] { display:none; }
.room-photo-status { display:block; padding:10px; font:400 14px/1.5 var(--font-body); color:var(--t-body); }
.room-photo-button:disabled { cursor:wait; }
.room-photo-button:focus-visible, .room-photo-viewer .btn:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.room-photo-viewer { width:min(1000px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:20px; border:1px solid var(--border-strong); border-radius:12px; background:#0a0a0a; color:var(--t-head); }
.room-photo-viewer::backdrop { background:rgba(0,0,0,.8); }
.room-photo-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.room-photo-toolbar h2 { flex:1; }
.room-photo-toolbar .btn { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; font:600 14px var(--font-body); text-transform:none; letter-spacing:normal; }
.room-photo-full { display:block; width:100%; max-height:calc(100dvh - 210px); object-fit:contain; }
@media(max-width:480px) { .room-photo-button { flex-basis:120px; width:120px; } .room-photo-thumb { height:88px; } .room-photo-row { gap:12px; } .room-photo-viewer { padding:14px; } .room-photo-toolbar h2 { flex-basis:100%; } }
