.panorama-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:15px 16px;margin:10px 0 18px;background:#e1d8c7;color:#2c2c23;border:1px solid #ded4c0;border-radius:16px;font:inherit;font-size:14px;cursor:pointer;transition:background .15s,transform .15s}.panorama-entry span{font-size:13px;border:1px solid #8f8877;border-radius:20px;padding:4px 8px}.panorama-entry:hover{background:#eee6d8}.panorama-entry:active{transform:scale(.98)}.residence-copy .panorama-entry{max-width:300px;margin-top:24px}
.panorama-dialog{border:1px solid #ffffff25;background:#272820;color:#f4f0e8;border-radius:24px;padding:0;width:min(1200px,calc(100vw - 40px));height:min(900px,calc(100dvh - 40px));max-width:none;max-height:none;overflow:hidden;box-shadow:0 30px 100px #0008}.panorama-dialog[open]{display:flex;flex-direction:column}.panorama-dialog::backdrop{background:#10110de0}.pano-shell{display:flex;flex-direction:column;flex:1;min-height:0;background:#272820;color:#f4f0e8}.panorama-dialog button{min-width:44px;min-height:44px;border-radius:14px;font-family:inherit;color:inherit;cursor:pointer;touch-action:manipulation;transition:background .15s,transform .15s}.panorama-dialog button:active{transform:scale(.96)}.panorama-dialog :focus-visible{outline:2px solid #d9c79c;outline-offset:3px}.pano-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;flex-shrink:0}.pano-header .kicker{font-size:11px;color:#ccc1a7}.pano-header h2{font:30px/1.15 Georgia,serif;margin:6px 0 0}.pano-header>div:last-child{display:flex;gap:8px}.pano-dismiss,.pano-fullscreen{background:#ffffff10;border:0;font-size:25px}.pano-stage{position:relative;flex:1;min-height:140px;background:#171911;overflow:hidden;margin:0 12px;border-radius:16px}.pano-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab}.pano-stage canvas.dragging{cursor:grabbing}.pano-input-plane{opacity:0;z-index:1}.pano-software{pointer-events:none;z-index:0}.pano-caption{position:absolute;left:20px;top:20px;display:flex;align-items:center;gap:10px;pointer-events:none;z-index:2}.pano-caption span,.pano-caption strong{background:#242820c9;border-radius:20px;padding:7px 12px;font-size:13px;font-weight:500;color:#fff}.pano-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#25291fe8;padding:16px 20px;border-radius:16px;width:max-content;max-width:90%;color:#fff;font-size:14px;z-index:3}.pano-message[hidden]{display:none}.pano-retry{display:block;margin:12px auto 0;background:#eee6d8!important;color:#282b22!important;padding:8px 15px;border:0}.pano-retry[hidden]{display:none}.pano-footer{display:flex;justify-content:space-between;gap:18px;padding:15px 24px 10px;flex-shrink:0}.pano-rooms,.pano-controls{display:flex;gap:6px}.pano-rooms button{border:1px solid #ffffff25;background:transparent;padding:10px 18px;font-size:14px}.pano-rooms button[aria-pressed=true]{background:#e1d8c7;color:#292c23}.pano-rooms button.pending{border-color:#d9c79c}.pano-controls button{background:#ffffff0d;width:44px;border:0;font-size:21px}.pano-meta{display:flex;justify-content:space-between;gap:15px;padding:0 24px 16px;flex-shrink:0}.pano-meta p,.pano-meta small{margin:0;font-size:12px;color:#bfbcb0}.pano-opening{padding:28px}.pano-opening button{float:right;background:#ffffff10;border:0}.pano-shell:fullscreen{width:100%;height:100dvh;border-radius:0}html:has(.panorama-dialog[open]){overflow:hidden}.pano-controls button:hover,.pano-dismiss:hover,.pano-fullscreen:hover{background:#ffffff20}.pano-rooms button:hover{border-color:#d9c79c}
@media(max-width:700px){.panorama-dialog{width:100%;height:100dvh;margin:0;border-radius:0;border:0}.pano-header{padding:calc(15px + env(safe-area-inset-top)) 16px 15px;gap:10px}.pano-header h2{font-size:24px}.pano-header .kicker{font-size:10px}.pano-fullscreen{display:none}.pano-stage{margin:0 8px;min-height:120px}.pano-caption{left:12px;top:12px}.pano-footer{flex-direction:column;align-items:center;gap:12px;padding:14px 16px 12px}.pano-rooms{width:100%}.pano-rooms button{flex:1}.pano-controls{gap:10px}.pano-meta{display:block;text-align:center;padding:0 16px calc(15px + env(safe-area-inset-bottom))}.pano-meta p{font-size:12px;margin-bottom:5px}.pano-meta small{font-size:10px}.pano-message{min-width:220px;max-width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.panorama-entry,.panorama-dialog button{transition:none}}

.panorama-dialog.pano-expanded{width:100%;height:100dvh;margin:0;border-radius:0;border:0}
