/* Isometric parcelhouse. All scene rules are scoped to prevent theme SVG collisions. */
.qh-house{--ph-bg:#102b3e;--ph-line:#3b586b;--ph-muted:#c3d3de;background:var(--ph-bg);color:#f5f8fa;padding:78px 0 64px;scroll-margin-top:24px}
.qh-house,.qh-house *{box-sizing:border-box}.qh-house [hidden]{display:none!important}
.qh-house-inner{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}
.qh-house-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}
.qh-house .qh-house-heading h2{font-size:clamp(38px,4vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0;color:#fff}
.qh-house-heading>p{max-width:430px;margin:0;font-size:19px;line-height:1.7;color:var(--ph-muted);text-wrap:pretty}
.qh-house button,.qh-house select{font:inherit;touch-action:manipulation}
.qh-house button{cursor:pointer}.qh-house button:focus-visible,.qh-house select:focus-visible,.qh-house a:focus-visible{outline:3px solid #a4d9ff;outline-offset:4px}
.qh-house button:disabled{opacity:.45;cursor:default}
.ph-tools{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.qh-house-controls{display:flex;gap:7px;flex-wrap:wrap}
.qh-house-controls button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;background:transparent;color:#e6eff5;border:1px solid #587082;border-radius:3px;font-size:16px;line-height:1.35;font-weight:600}
.qh-house-controls button:hover{border-color:#bbd7e8;background:#27465c}
.qh-house-controls button[aria-pressed=true]{background:#ecf3f7;border-color:#ecf3f7;color:#102b3e}
.ph-dot{height:9px;width:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.ph-dot-water{background:#42a4dc}.ph-dot-heat{background:#eea24e}.ph-dot-drain{background:#4ebc96}
.ph-fault-action{display:flex;gap:12px;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;background:#f6cf99;color:#392713;border:1px solid #f6cf99;border-radius:3px;font-size:16px;line-height:1.35;font-weight:600}
.ph-fault-action:hover{background:#ffe0b7}.qh-house .ph-fault-action svg,.qh-house .ph-fault-pin svg,.qh-house-status svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.ph-model{background:#132f42;border:1px solid #3a5567;border-radius:6px;overflow:hidden}
.ph-model-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 23px;border-bottom:1px solid #355063;font-size:16px;line-height:1.5;color:#d3e0e8}
.ph-room-choice{display:flex;align-items:center;gap:14px;font-size:16px}
.ph-room-choice select{min-height:44px;max-width:230px;background:#f0f5f8;color:#163247;border:0;border-radius:3px;padding:9px 34px 9px 12px;font-size:16px}
.ph-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:1.65;max-height:740px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#244356 0%,#132f42 65%);touch-action:pan-y}
.ph-scene[data-house-scene]{width:100%;height:100%;position:absolute;inset:0}
.ph-scene[data-house-scene]>svg{display:block;width:100%;height:100%;stroke:none;fill:none;overflow:hidden}
.qh-house [data-plan-system]{transition:opacity .3s}
.qh-house[data-house-area=water] [data-plan-system]:not([data-plan-system=water]),.qh-house[data-house-area=heat] [data-plan-system]:not([data-plan-system=heat]),.qh-house[data-house-area=sanitary] [data-plan-system]:not([data-plan-system=sanitary]){opacity:.08}
.qh-house[data-house-area=overview] [data-plan-system]{opacity:.78}
.qh-house [data-plan-trace]{opacity:0;pointer-events:none}
.qh-house .ph-route-animation{pointer-events:none;stroke-linecap:round;opacity:.7}
.ph-room-hotspots{position:absolute;inset:0;pointer-events:none}
.ph-room-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-height:40px;padding:8px 12px;max-width:180px;background:#102a3eeb;color:#f2f8fc;border:1px solid #718b9b;border-radius:3px;font-size:16px;font-weight:500;line-height:1.3;box-shadow:0 2px 12px #05141d25;white-space:nowrap}
.ph-room-pin:hover,.ph-room-pin[aria-pressed=true]{background:#edf5f9;color:#163247;border-color:#fff}
.ph-fault-pin{position:absolute;transform:translate(-50%,-100%);display:flex;gap:7px;align-items:center;min-height:44px;min-width:44px;padding:10px 12px;background:#f7ca8e;color:#402913;border:2px solid #fff0d6;border-radius:4px;font-weight:600;font-size:16px;box-shadow:0 2px 16px #10233444;z-index:2}
.ph-fault-pin::after{content:'';position:absolute;width:9px;height:9px;background:#f7ca8e;bottom:-6px;left:calc(50% - 5px);transform:rotate(45deg);border-right:2px solid #fff0d6;border-bottom:2px solid #fff0d6}
.ph-fault-pin:hover{background:#ffe0b5}
.ph-tour-caption{position:absolute;top:18px;left:20px;right:20px;max-width:530px;display:flex;gap:14px;align-items:center;background:#0c2439ef;border:1px solid #7c9aad;border-radius:4px;padding:14px 18px;z-index:3;pointer-events:none}
.ph-tour-caption>span{color:#f8cf93;white-space:nowrap;font-size:16px}.ph-tour-caption strong{font-weight:500;font-size:18px;line-height:1.45;color:#fff}
.ph-zoom{display:flex;position:absolute;right:20px;bottom:18px;background:#0c243aeb;border:1px solid #69869a;border-radius:4px;z-index:4}
.ph-zoom button{border:0;background:transparent;color:#fff;min-width:44px;min-height:44px;padding:9px 14px;font-size:16px}
.ph-zoom button:first-child,.ph-zoom button:last-child{font-size:23px}
.ph-zoom button+button{border-left:1px solid #587389}.ph-zoom button:hover{background:#335269}
.ph-model-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:15px 22px;border-top:1px solid #355063}
.ph-legend{display:flex;flex-wrap:wrap;gap:10px 22px;color:#d4e1e9;font-size:16px;line-height:1.5}
.ph-legend span{display:flex;gap:9px;align-items:center}.ph-legend i{height:4px;width:20px;border-radius:1px;display:block;flex-shrink:0}
.ph-cold{background:#5ebbe9}.ph-hot{background:#ed859b}.ph-heating{background:#efb267}.ph-drain{background:#71cbaa}
.ph-motion{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;white-space:nowrap;background:transparent;border:1px solid #658092;border-radius:3px;color:#e2edf4;padding:9px 13px;font-size:16px}
.ph-motion:hover{background:#2a4a60}
.qh-house-caption{margin:17px 0 0;color:#bdcfdc;font-size:16px;line-height:1.6;max-width:850px}
.ph-detail-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;margin-top:40px;align-items:start}
.qh-house-panel{margin:0 0 35px}.qh-house .qh-house-panel h3,.qh-house .ph-room-card h3{font-size:clamp(28px,2.6vw,37px);font-weight:500;letter-spacing:-.035em;line-height:1.23;margin:0 0 18px;color:#fff}
.qh-house-panel>p:not(.qh-house-status),.ph-room-card p{font-size:18px;line-height:1.7;color:var(--ph-muted);margin:0 0 22px;text-wrap:pretty}
.qh-house-status{display:flex;align-items:center;gap:9px;font-size:16px;line-height:1.5;margin:0 0 18px;font-weight:600}
.qh-house-status-warning{color:#ffd197}.qh-house-status-ok{color:#ade4c8}
.ph-inventory{list-style:none;padding:0;margin:24px 0;display:grid;gap:0}
.ph-inventory li{display:grid;grid-template-columns:155px 1fr;gap:18px;border-top:1px solid #3c576a;padding:17px 0;font-size:17px;line-height:1.65}
.ph-inventory strong{color:#f2f8fc;font-weight:600}.ph-inventory span{color:var(--ph-muted)}
.qh-house-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;color:#fff;font-size:17px;font-weight:600;line-height:1.6;text-decoration:underline;text-underline-offset:5px}
.qh-house-link:hover{color:#a9dfff}
.ph-room-card{padding:28px 30px;background:#1a384d;border:1px solid #4a6679;border-radius:4px}
.ph-room-card ul{padding:0;list-style:none;margin:0 0 20px;display:grid;gap:9px}
.ph-room-card li{display:flex;gap:10px;font-size:17px;line-height:1.6;color:#e1ebf1}.ph-room-card li::before{content:'•';color:#9acbdf}
.ph-room-list{font-size:17px;line-height:1.9;color:#d7e4ed;border-top:1px solid #4a6679;padding-top:18px}
.qh-house-finding-photo{margin:22px 0 0}.qh-house-finding-photo img{display:block;width:100%;height:190px;object-fit:cover;border-radius:3px}
.qh-house-finding-photo figcaption{font-size:16px;line-height:1.55;color:#bbd0dd;margin-top:9px}
@media(max-width:1100px){.ph-room-hotspots{display:none}.ph-tools{align-items:stretch}.ph-fault-action{flex:1;max-width:310px}.ph-detail-layout{gap:32px}.ph-model-footer{align-items:flex-start}.ph-legend{gap:9px 18px}.ph-inventory li{grid-template-columns:130px 1fr}.ph-room-pin{padding:7px 9px;font-size:16px;min-height:44px}}
@media(max-width:800px){.qh-house{padding-block:52px}.qh-house-inner{width:calc(100% - 48px)}.qh-house-heading{display:block;margin-bottom:26px}.qh-house-heading>p{max-width:560px;font-size:18px;margin-top:20px}.ph-detail-layout{grid-template-columns:1fr;gap:12px;margin-top:30px}.ph-room-card{padding:24px}.ph-room-hotspots{display:none}.ph-stage{aspect-ratio:1.2}.ph-model-bar{padding:14px 16px;align-items:flex-start;flex-direction:column;gap:12px}.ph-room-choice{width:100%;justify-content:space-between}.ph-room-choice select{max-width:none;flex:1;margin-left:10px}.ph-model-footer{flex-direction:column;gap:17px;padding:17px}.ph-legend{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px}.ph-motion{align-self:flex-end}.ph-fault-pin span{display:none}.ph-fault-pin{padding:9px}.ph-tools{gap:12px}.ph-fault-action{max-width:none;flex:none}.ph-tour-caption{left:12px;right:12px;top:12px;padding:12px;gap:10px}.ph-tour-caption strong{font-size:17px}.ph-zoom{right:12px;bottom:12px}}
@media(max-width:520px){.qh-house-inner{width:calc(100% - 32px)}.qh-house .qh-house-heading h2{font-size:38px}.qh-house-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}.qh-house-controls button{padding:12px 9px;min-height:48px;font-size:16px}.ph-tools{display:block}.ph-fault-action{width:100%;margin-top:12px;min-height:50px}.ph-stage{aspect-ratio:.94}.ph-legend{font-size:16px;gap:11px 8px}.ph-legend i{width:14px}.ph-legend span{gap:7px;align-items:flex-start}.ph-legend i{margin-top:10px}.ph-inventory li{grid-template-columns:1fr;gap:3px;padding:15px 0}.qh-house .qh-house-panel h3,.qh-house .ph-room-card h3{font-size:29px}.qh-house-panel>p:not(.qh-house-status),.ph-room-card p{font-size:17px}.ph-room-card{padding:22px 20px}.qh-house-finding-photo img{height:185px}.ph-tour-caption{display:block}.ph-tour-caption>span{display:block;margin-bottom:5px}.ph-tour-caption strong{font-size:16px}.ph-model-bar>span{font-size:16px}.ph-room-choice{display:block}.ph-room-choice select{display:block;width:100%;margin:7px 0 0}.ph-motion{width:100%}.ph-zoom button{padding-inline:11px}}
@media(max-width:350px){.qh-house .qh-house-heading h2{font-size:34px}.qh-house-controls button{font-size:16px;gap:6px}.ph-legend{grid-template-columns:1fr 1fr}.ph-model-footer{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.qh-house *, .qh-house *::before,.qh-house *::after{animation:none!important;transition:none!important}}

