/* A dedicated, unobstructed viewer. All tools live in closed disclosures. */
body[data-page=visit]{height:100dvh;overflow:hidden}
body[data-page=visit] #main{min-height:0;padding:0}
#interior-tour{height:calc(100dvh - 102px);min-height:0;overflow:hidden;background:var(--bg-deep);color:var(--text);position:relative;isolation:isolate}
#interior-tour .tour-shell{height:100%;min-height:0;display:flex;flex-direction:column}
#interior-tour .tour-header{height:auto;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 20px;background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:10;flex:0 0 auto}
#interior-tour .tour-brand{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap}
#interior-tour .tour-brand h1{font-size:var(--text-ui);line-height:1.6;font-weight:500;letter-spacing:0;margin:0}
#interior-tour .tour-floor-pill{font-size:var(--text-caption);color:var(--muted);padding:0;margin:0;border:0;display:inline;white-space:nowrap}
#interior-tour .tour-toolbar{display:flex;align-items:center;gap:5px;flex-shrink:0}
#interior-tour .tour-menu{position:static;min-width:0}
#interior-tour .tour-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:7px 12px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--panel);font-size:var(--text-small);white-space:nowrap;cursor:pointer;user-select:none}
#interior-tour .tour-menu>summary::-webkit-details-marker{display:none}
#interior-tour .tour-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#interior-tour .tour-menu[open]>summary{border-color:var(--accent);color:var(--accent)}
#interior-tour .tour-menu-arrow{display:inline-block;transition:transform .15s}
#interior-tour .tour-menu[open] .tour-menu-arrow{transform:rotate(180deg)}
#interior-tour .tour-menu-panel{position:absolute;inset-inline-end:16px;top:calc(100% + 8px);width:min(340px,calc(100% - 32px));max-height:min(68dvh,calc(var(--tour-stage-height,600px) - 20px));overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:12px;z-index:20;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 40px var(--shadow-color);scrollbar-width:thin;text-align:start}
#interior-tour .tour-menu-panel>*{flex-shrink:0}
#interior-tour .tour-menu-label,#interior-tour .tour-search-label{font-size:var(--text-caption);font-weight:500;color:var(--muted);margin:0;display:block;line-height:1.7}
#interior-tour .tour-menu-panel button{min-height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:9px 12px;font-size:var(--text-small);text-align:start;box-shadow:none;line-height:1.65}
#interior-tour .tour-menu-panel button:hover{border-color:var(--accent)}
#interior-tour .tour-menu-panel button.active,#interior-tour .tour-menu-panel button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 15%,var(--panel));color:var(--accent);border-color:var(--accent)}
#interior-tour .tour-access-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;border:0}
#interior-tour .tour-access-nav button{display:flex;align-items:center;justify-content:flex-start;min-width:0;white-space:normal}
#interior-tour .tour-floor-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}
#interior-tour .tour-floor-nav button{display:flex;align-items:center;gap:8px;padding:8px;min-width:0}
#interior-tour .tour-floor-nav .level{font-family:Arial,sans-serif;font-size:var(--text-caption);min-width:21px;direction:ltr}
#interior-tour .tour-floor-nav b{font-size:var(--text-small);font-weight:400;white-space:normal}
#interior-tour .tour-floor-nav small{display:none}
#interior-tour .tour-viewpoints{position:static;display:grid;grid-template-columns:1fr;max-width:none;gap:6px;margin:0;padding-top:12px;border-top:1px solid var(--line)}
#interior-tour .tour-tabs{display:grid;gap:6px;height:auto;min-height:0;padding:0;border:0;background:none}
#interior-tour .tour-tabs button{display:block;min-height:44px;padding:10px 12px;font-size:var(--text-small)}
#interior-tour .tour-tabs button:after{display:none}
#interior-tour .tour-photo-peek{position:static;display:block;direction:inherit;padding:10px 12px;backdrop-filter:none}
#interior-tour .tour-minimap{position:static;width:100%;padding:12px;pointer-events:auto;transform:none;backdrop-filter:none;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px}
#interior-tour .tour-minimap>span{display:block;font-size:var(--text-caption);margin-bottom:8px}
#interior-tour .tour-minimap svg{width:100%;height:auto;max-height:185px;display:block}
#interior-tour .tour-controls{position:static;inset:auto;display:flex;justify-content:center;align-items:flex-end;gap:14px;transform:none;margin:0;padding:0}
#interior-tour .tour-direction-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:4px}
#interior-tour .tour-direction-pad button,#interior-tour .tour-look-pad button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;font:21px Arial,sans-serif;padding:0;text-align:center;touch-action:none}
#interior-tour .tour-look-pad{display:flex;gap:4px}
#interior-tour .tour-zoom-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#interior-tour .tour-walk-hint{position:static;inset:auto;transform:none;white-space:normal;width:auto;max-width:none;font-size:var(--text-caption);line-height:1.9;margin:0;padding:0;background:none;color:var(--muted)}
#interior-tour .tour-connector{position:static;inset:auto;max-width:none;padding:12px;margin:0;background:var(--panel);color:var(--text);border:1px solid var(--accent);box-shadow:none;border-radius:6px}
#interior-tour .tour-connector>span{font-size:var(--text-caption);color:var(--accent);display:block;margin-bottom:8px}
#interior-tour .tour-connector>div{display:grid;gap:6px}
#interior-tour .tour-connector button{width:100%}
#interior-tour .tour-search{margin:0;min-width:0;display:flex;align-items:center;gap:8px;background:var(--panel);padding:8px 10px;border:1px solid var(--line);border-radius:6px}
#interior-tour .tour-search input{min-width:0;width:100%;font-size:16px;color:var(--text);background:none;border:0;line-height:1.7}
#interior-tour .tour-search svg{width:18px;height:18px}
#interior-tour .tour-all-floors{display:flex;align-items:center;gap:8px;font-size:var(--text-caption);color:var(--muted);margin:0}
#interior-tour .tour-all-floors span{max-width:none}
#interior-tour .tour-all-floors input{width:18px;height:18px;accent-color:var(--accent)}
#interior-tour .tour-results-heading{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-caption);margin:0;padding:12px 0 0;border-top:1px solid var(--line);color:var(--muted)}
#interior-tour .tour-results{display:flex;flex-direction:column;max-height:none;overflow:visible;gap:6px}
#interior-tour .tour-result{width:100%;min-width:0;display:flex;align-items:center;gap:10px}
#interior-tour .tour-result b{font-size:var(--text-small);font-weight:500}
#interior-tour .tour-result small{font-size:var(--text-caption);line-height:1.8}
#interior-tour .tour-selected{position:static;inset:auto;width:100%;max-width:none;transform:none;padding:12px;margin:0;background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:none;border-radius:6px}
#interior-tour .tour-empty,#interior-tour .tour-demo-note{font-size:var(--text-caption);line-height:1.9;color:var(--muted);padding:0;margin:0;display:block}
#interior-tour .tour-precision-note{display:block;background:none;border:0;padding:12px 0 0;margin:0;border-top:1px solid var(--line);font-size:var(--text-caption);color:var(--muted);line-height:1.9}
#interior-tour .tour-precision-note p{margin:0 0 6px}
#interior-tour .tour-exit{display:block;width:100%}
#interior-tour .tour-body{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
#interior-tour .tour-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;position:relative}
#interior-tour .tour-walk{position:relative;display:block;flex:1;min-height:0;overflow:hidden;background:var(--bg-deep)}
#interior-tour #interior-canvas{position:absolute;inset:0;outline-offset:-3px}
#interior-tour #interior-canvas canvas{width:100%;height:100%;display:block;touch-action:none}
#interior-tour .tour-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:3;background:var(--bg);color:var(--text);padding:24px;text-align:center}
#interior-tour .tour-loading button{min-height:44px;padding:8px 12px;border:1px solid var(--line);color:var(--text);margin:8px}
#interior-tour .tour-media,#interior-tour .tour-plan{flex:1;min-height:0;overflow:auto;padding:24px;background:var(--bg-deep);color:var(--text)}
#interior-tour .tour-media-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:18px}
#interior-tour .tour-media h2,#interior-tour .tour-plan h2{font-size:var(--text-body);font-weight:500;margin:0 0 8px}
#interior-tour .tour-media-stage{height:calc(var(--tour-stage-height,600px) - 190px);min-height:180px;display:flex;align-items:center;justify-content:center;background:var(--panel);overflow:hidden}
#interior-tour .tour-media-stage video,#interior-tour .tour-media-stage img{width:100%;height:100%;object-fit:contain}
#interior-tour .tour-media-caption{display:flex;justify-content:space-between;align-items:center;margin:12px 0}
#interior-tour .tour-media-caption>div:last-child{display:flex;gap:8px}
#interior-tour .tour-media-caption .icon-button{width:44px;height:44px}
#interior-tour .tour-media-thumbs{display:flex;overflow:auto;gap:9px;padding:4px 0 12px}
#interior-tour .tour-media-thumbs button{flex:0 0 auto;padding:4px;text-align:start;border:1px solid transparent}
#interior-tour .tour-media-thumbs button.active{border-color:var(--accent)}
#interior-tour .tour-media-thumbs img{display:block;width:72px;height:64px;object-fit:cover}
#interior-tour .tour-media-thumbs span{font-size:var(--text-caption)}
#interior-tour .tour-plan-image{margin-top:16px;padding:0;background:var(--palette-paper);overflow:auto}
#interior-tour .tour-plan-image img{display:block;width:100%;min-width:0;height:auto;object-fit:contain;max-height:none}
#interior-tour .tour-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#interior-tour:fullscreen,#interior-tour.tour-expanded{height:100dvh!important;width:100%;background:var(--bg)}
#interior-tour.tour-expanded{position:fixed;inset:0;z-index:100}
#interior-tour[data-mode=exterior] .tour-controls{position:static;bottom:auto}
#interior-tour[data-mode=exterior] #tour-reset{width:44px;height:44px}
#interior-tour[data-mode=exterior] .tour-direction-pad,#interior-tour[data-mode=exterior] [data-turn]{display:none}
.home-model-settings{position:absolute;bottom:55px;inset-inline-end:18px;z-index:5;direction:rtl}
.home-model-settings>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 13px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:6px;font-size:var(--text-caption);cursor:pointer}
.home-model-settings>summary::-webkit-details-marker{display:none}
.home-model-settings>summary:after{content:'⌄';color:var(--accent)}
.home-model-settings .model-controls{position:absolute;bottom:calc(100% + 8px);inset-inline-end:0;left:auto;transform:none;max-width:min(310px,85vw);white-space:normal;display:flex;flex-direction:column;align-items:stretch;padding:7px;border-radius:7px;background:var(--panel);border:1px solid var(--line)}
.home-model-settings .model-control{min-height:44px;justify-content:flex-start}
@media(max-width:900px){#interior-tour{height:calc(100dvh - 85px)}#interior-tour .tour-header{padding:7px 12px;gap:10px}#interior-tour .tour-menu>summary{gap:7px;padding-inline:10px}}
@media(max-width:650px){
 #interior-tour{height:calc(100dvh - 80px)}
 #interior-tour .tour-header{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;min-height:0}
 #interior-tour .tour-brand{min-height:36px;padding:5px 12px;justify-content:space-between;gap:6px}
 #interior-tour .tour-brand h1{font-size:var(--text-small)}
 #interior-tour .tour-floor-pill{font-size:var(--text-caption);display:inline}
 #interior-tour .tour-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px 8px 7px}
 #interior-tour .tour-menu>summary{font-size:var(--text-caption);min-height:44px;padding:6px 5px;gap:5px}
 #interior-tour .tour-menu-panel{inset-inline:8px;width:auto;max-height:min(66dvh,calc(var(--tour-stage-height,600px) - 16px));padding:14px;top:calc(100% + 5px)}
 #interior-tour .tour-media,#interior-tour .tour-plan{padding:16px}
 #interior-tour .tour-media-stage{height:calc(var(--tour-stage-height,600px) - 210px);min-height:140px}
 .home-model-settings{bottom:52px;inset-inline-end:10px}
}
@media(prefers-reduced-motion:reduce){#interior-tour .tour-menu-arrow{transition:none}}
