/* Registered photographic views of the same simulated home. */
.house-heading{margin-bottom:14px}
.house-heading>div:first-child{padding-right:0}
.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;min-width:0}
.view-switcher,.preview-options{display:flex;align-items:center;gap:4px;min-width:0}
.view-switcher{padding:3px;border:1px solid #cdd5c5;border-radius:9px;background:#e8ecdf}
.preview-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid transparent;border-radius:6px;font:inherit;font-size:14px;line-height:1.4;color:#43573e;background:transparent;white-space:nowrap}
.view-switcher button[aria-pressed=true]{color:#f7f8ee;background:#173c32}
.home-visual #preview-controls{position:absolute;top:10px;right:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid #ffffff50;border-radius:7px;background:#13291fe6;color:#f7f8ee;font:inherit;font-size:14px;line-height:1.4}
.home-visual #preview-controls[aria-pressed=true]{border-color:#ead79b;color:#443613;background:#f2dfa7}
#preview-controls svg{width:19px;height:19px;flex:none}
.preview-toolbar .daylight-controls{position:static;display:flex;align-self:auto;margin:0;padding:3px;gap:0;border-radius:9px;border-color:#cdd5c5;background:#e8ecdf;box-shadow:none}
.preview-toolbar .daylight-controls button{padding:8px}
.preview-toolbar .daylight-controls button[aria-pressed=true]{background:#fffef8;color:#1c3a2b;box-shadow:0 1px 3px #173c3210}
.home-visual{position:relative;width:100%;aspect-ratio:3/2;min-width:0;overflow:hidden;isolation:isolate;border:1px solid #cdd1c7;border-radius:12px;background:#26332e}
.home-visual .preview-view{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;border:0;border-radius:0;overflow:hidden;isolation:isolate}
.home-visual .house-art{top:0}
.home-visual .preview-view>img,.home-visual .house-effects,.interior-effects{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.home-visual .house-dusk{opacity:.16;transition:opacity .65s ease}
.home-visual .house-art[data-daylight=day] .house-dusk{opacity:0}
.exterior-daylight{opacity:0;filter:brightness(1.28) saturate(.88);transition:opacity .65s ease}
.house-art[data-daylight=day] .exterior-daylight{opacity:1}
.room-photo{opacity:0;filter:brightness(1.75) sepia(.2) saturate(1.08);transition:opacity .6s ease}
.room-photo[data-tone=neutral]{filter:brightness(1.8) saturate(.9)}
.room-photo[data-tone=cool]{filter:brightness(1.8) saturate(.65)}
.window-darkness{opacity:.35;transition:opacity .6s ease}
.home-visual .window-light{mix-blend-mode:soft-light;transition:opacity .6s ease,fill .6s ease}
.home-visual .window-bloom{mix-blend-mode:screen;transition:opacity .6s ease,fill .6s ease}
.window-reflection{opacity:.13;mix-blend-mode:screen}
.home-visual .house-blind{opacity:.98}
.outdoor-light{transition:opacity .65s ease}
.outdoor-lit-photo{filter:brightness(1.85) sepia(.22) saturate(1.08);opacity:.8}
.home-visual .house-hotspot{width:44px;height:44px;padding:12px;border:0;background:radial-gradient(circle,#16372beF 0 15px,transparent 16px);color:#fffbea;box-shadow:none;z-index:3}
.home-visual .house-hotspot .control-icon{width:18px;height:18px}
.home-visual .house-hotspot[aria-pressed=true],.home-visual .house-hotspot:hover{background:radial-gradient(circle,#f2d688 0 15px,transparent 16px);color:#443613}
.preview-label{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:6px 10px;border:1px solid #ffffff30;border-radius:6px;background:#13291fd9;color:#fffdf2;font-size:14px;line-height:1.4;pointer-events:none}
.preview-label>span{font-size:12px;color:#e0e6d6;border-left:1px solid #ffffff45;padding-left:10px}
.interior-base{filter:brightness(.38) saturate(.78)}
#interior-daylight{opacity:0;filter:brightness(1.12);transition:opacity .65s ease}
.interior-lit-photo{opacity:0;filter:brightness(1.28) sepia(.2) saturate(1.1);transition:opacity .65s ease}
.interior-lit-photo[data-tone=neutral]{filter:brightness(1.3) saturate(.88)}
.interior-lit-photo[data-tone=cool]{filter:brightness(1.32) saturate(.68)}
#interior-light-wash{mix-blend-mode:soft-light;transition:opacity .65s ease,fill .65s ease}
.indoor-light{mix-blend-mode:screen;transition:opacity .65s ease}
#interior-blind{clip-path:polygon(3.19% 9.47%,26.5% 19.82%,26.5% 56.6%,3.19% 63.2%);transition:clip-path 1.1s cubic-bezier(.25,.65,.3,1);transform-box:view-box}
.camera-readout{position:absolute;left:12px;bottom:12px;margin:0;padding:6px 10px;border:1px solid #ffffff26;border-radius:6px;background:#13291fe6;color:#f7f8ee;font-size:13px;line-height:1.5;pointer-events:none;max-width:calc(100% - 24px)}
.house-credit{max-width:55ch}
.preview-loading{position:absolute;inset:0;z-index:3;display:grid;place-items:center;margin:0;padding:16px;background:#26332e;color:#f7f8ee;font-size:14px;line-height:1.5}
.home-visual .preview-image-error{position:absolute;inset:auto 12px 60px;margin:0;padding:12px;border-radius:8px;background:#f5f5ed;color:#293c31;font-size:14px;line-height:1.5}
/* Fit the frame itself, not just its image: no coloured letterbox margins. */
.demo-workspace .home-visual-slot{grid-column:1;grid-row:3;display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.demo-workspace .home-visual-slot #home-visual{width:var(--view-width,100%);height:var(--view-height,100%);max-width:100%;max-height:100%;grid-column:auto;grid-row:auto;align-self:center;justify-self:center;aspect-ratio:3/2}
.demo-workspace #home-visual .preview-view{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none}
@media(max-width:700px), (max-width:950px) and (max-height:500px) and (pointer:coarse){
 .demo-workspace .home-visual-slot{height:100%}
}
.irrigation-effects{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;color:#d9ece0;opacity:0;transition:opacity .5s ease}
.irrigation-effects[data-running=true]{opacity:.8}
.sprinkler-streams{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.sprinkler-streams path{stroke-dasharray:1 7;opacity:.7;animation:sprinkler-water 1.4s linear infinite;animation-play-state:paused}
.irrigation-effects[data-running=true] .sprinkler-streams path{animation-play-state:running}
.sprinkler-streams:nth-child(2) path{animation-delay:-.45s}
.sprinkler-streams:nth-child(3) path{animation-delay:-.85s}
@keyframes sprinkler-water{to{stroke-dashoffset:-24}}
@media(min-width:701px) and (max-width:1250px){#preview-controls span{display:none}}
@media(prefers-reduced-motion:reduce){.home-visual *{transition:none!important;animation:none!important}}
