.room-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.room-map-head h3{font:700 clamp(32px,4vw,48px)/1.05 Georgia,serif;margin:8px 0}.room-map-head p{max-width:680px;color:#66716d;margin:0;line-height:1.55}.floor-tabs{display:flex;padding:5px;background:#e7ecea;border-radius:999px;white-space:nowrap}.floor-tab{border:0;background:transparent;color:#41534e;font-weight:700;padding:11px 18px;border-radius:999px;cursor:pointer}.floor-tab.active{background:#176f9b;color:white;box-shadow:0 3px 10px #143e5226}.room-map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:22px;align-items:start}.floor-card,.room-detail{background:#fffdfa;border:1px solid #d9dedb;border-radius:24px;box-shadow:0 12px 34px #16342d0b}.floor-card{padding:16px}.floor-plan{display:none;overflow:hidden;border:1px solid #cbd7d4;border-radius:18px;background:#fff}.floor-plan.active{display:block}.lake-edge{height:74px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;background:linear-gradient(180deg,#238eb8,#68bfd4);overflow:hidden;text-shadow:0 1px 2px #07547788}.lake-edge:after,.lake-edge:before{content:"";position:absolute;left:-5%;right:-5%;border-top:3px solid #d9f6ff;border-radius:50%;opacity:.82}.lake-edge:after{height:22px;bottom:3px}.lake-edge:before{height:17px;bottom:12px;opacity:.42}.lake-edge b{font-size:14px;letter-spacing:.24em}.lake-edge span{font-size:11px;margin-top:4px}.plan-canvas{position:relative;width:100%;background:#fff}.plan-canvas img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.plan-hotspot,.private-hotspot{position:absolute;box-sizing:border-box;border-radius:8px}.plan-hotspot{appearance:none;border:2px solid #1681ad;background:#51b5dc26;color:#0c506b;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #ffffffb3;transition:.16s background,.16s box-shadow,.16s transform}.plan-hotspot.bathroom-hotspot{border-color:#168476;background:#42bcae2b;color:#0c5e55}.plan-hotspot span{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);padding:4px 7px;background:#fffef5e8;border:1px solid currentColor;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 2px 7px #173d3524}.plan-hotspot:hover,.plan-hotspot:focus-visible{outline:none;transform:scale(1.025);background:#51b5dc48;box-shadow:0 0 0 4px #1681ad24,inset 0 0 0 2px #fff}.plan-hotspot.bathroom-hotspot:hover,.plan-hotspot.bathroom-hotspot:focus-visible{background:#42bcae50;box-shadow:0 0 0 4px #16847624,inset 0 0 0 2px #fff}.plan-hotspot.selected{border-width:3px;background:#51b5dc5c;box-shadow:0 0 0 4px #1681ad2e,inset 0 0 0 2px #fff}.plan-hotspot.bathroom-hotspot.selected{background:#42bcae61;box-shadow:0 0 0 4px #1684762e,inset 0 0 0 2px #fff}.private-hotspot{border:2px dashed #9b8568;background:repeating-linear-gradient(135deg,#b9a98d1c,#b9a98d1c 8px,#9d896c2c 8px,#9d896c2c 16px);pointer-events:none}.private-hotspot:after{content:"Owners only";position:absolute;left:50%;bottom:6px;transform:translateX(-50%);padding:4px 7px;background:#fffaf0e8;border:1px solid #9b8568;border-radius:999px;color:#705d44;font-size:10px;font-weight:800;white-space:nowrap}.main-plan .bed2{left:60.7%;top:19.2%;width:16.3%;height:16.5%}.main-plan .bath2{left:58.4%;top:41.1%;width:7.8%;height:15.1%}.main-plan .half-bath{left:2.0%;top:50.9%;width:8.1%;height:7.9%}.main-plan .primary{left:77.1%;top:19.1%;width:17.2%;height:16.6%}.main-plan .primary-bath{left:78.8%;top:41.4%;width:13.5%;height:12.4%}.basement-plan .bed6{left:9.2%;top:23.4%;width:16.6%;height:14.1%}.basement-plan .bath6{left:26.0%;top:23.4%;width:7.6%;height:10.2%}.basement-plan .bed4{left:57.8%;top:19.0%;width:18.9%;height:16.8%}.basement-plan .bed3{left:76.4%;top:18.9%;width:17.0%;height:16.8%}.basement-plan .bath7{left:6.4%;top:39.7%;width:8.0%;height:11.8%}.basement-plan .bath8{left:14.4%;top:39.7%;width:7.2%;height:11.7%}.basement-plan .bed7{left:2.2%;top:50.8%;width:21.3%;height:16.2%}.basement-plan .bath4{left:58.3%;top:47.3%;width:7.2%;height:8.5%}.basement-plan .bed5{left:65.4%;top:41.4%;width:13.8%;height:14.5%}.basement-plan .bath5{left:79.3%;top:41.4%;width:8.2%;height:11.5%}.basement-plan .bath3{left:87.3%;top:35.8%;width:6.2%;height:10.8%}.map-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#66716d;font-size:13px;padding:16px 4px 0}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{width:15px;height:15px;border-radius:4px;background:#51b5dc35;border:2px solid #1681ad}.map-legend i.bath-key{background:#42bcae35;border-color:#168476}.room-detail{padding:26px;position:sticky;top:112px}.room-detail h3{font:700 30px/1.1 Georgia,serif;margin:7px 0 22px;color:#152923}.linen-list{margin:0}.linen-list div{display:flex;justify-content:space-between;gap:16px;padding:15px 2px;border-bottom:1px solid #e2e6e3}.linen-list [hidden],.room-edit [hidden]{display:none!important}.linen-list dt{color:#68736f;font-weight:700}.linen-list dd{text-align:right;margin:0;font-weight:700;color:#1c2d28}.room-edit{border-top:1px solid #dfe4e1;margin-top:24px;padding-top:22px}.room-edit label{display:block;font-weight:700;color:#50605b;margin-top:13px}.room-edit input{width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #ccd4d0;border-radius:11px;padding:12px;background:white;font:inherit}.room-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room-edit .primary-btn{width:100%;margin-top:17px}.room-edit small{display:block;margin-top:9px;color:#176f9b}
@media(max-width:980px){.room-map-layout{grid-template-columns:1fr}.room-detail{position:static}}
@media(max-width:760px){.room-map-head{align-items:stretch;flex-direction:column}.floor-tabs{align-self:stretch}.floor-tab{flex:1}.floor-card{padding:8px;border-radius:18px}.lake-edge{height:62px}.plan-hotspot span,.private-hotspot:after{font-size:9px;padding:3px 5px;bottom:3px}.room-detail{padding:22px;border-radius:18px}.map-legend{gap:11px;font-size:12px}.room-form-row{grid-template-columns:1fr 1fr}}

@media(max-width:760px){#rooms,.room-map-layout,.floor-card,.floor-plan,.plan-canvas{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.floor-card,.floor-plan,.plan-canvas{overflow:hidden}.plan-canvas img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}.plan-overlay-svg{display:block;width:100%;max-width:100%;height:100%}.map-legend{max-width:100%;box-sizing:border-box;overflow:hidden}}

/* Updated basement labels from the final plan set. */
.basement-plan .bed6{left:8.6%;top:22.5%;width:16.2%;height:14.7%}
.basement-plan .lake-lou{left:24.9%;top:22.5%;width:8.1%;height:14.8%}
.basement-plan .bed4{left:58.4%;top:20.3%;width:18.5%;height:14.7%}
.basement-plan .bed3{left:77.3%;top:18.0%;width:18.3%;height:17.1%}
.basement-plan .bath7{left:4.6%;top:39.0%;width:8.7%;height:12.7%;clip-path:polygon(0 0,100% 0,100% 100%,42% 100%,42% 91%,0 91%)}
.basement-plan .bath6{left:13.3%;top:39.6%;width:8.7%;height:12.0%}
.basement-plan .bed7{left:.2%;top:51.1%;width:22.0%;height:16.3%;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 22%,21% 22%,21% 0)}
.basement-plan .bath4{left:58.7%;top:41.0%;width:7.7%;height:15.1%;clip-path:polygon(0 0,100% 0,100% 100%,18% 100%,18% 49%,0 49%)}
.basement-plan .bed5{left:66.3%;top:41.0%;width:14.6%;height:15.4%}
.basement-plan .bath5{left:80.8%;top:41.0%;width:8.2%;height:12.5%}
.basement-plan .bath3{left:88.7%;top:35.3%;width:7.7%;height:14.5%;clip-path:polygon(0 0,68% 0,68% 17%,100% 17%,100% 100%,0 100%)}

/* Trace overlays inside the finished wall lines without altering the plan artwork. */
.main-plan .bed2{left:61.6%;top:20.4%;width:15.5%;height:14.6%}
.main-plan .bath2{left:58.4%;top:40.9%;width:8.3%;height:16%;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%,0 27%,28% 27%)}
.main-plan .half-bath{left:.15%;top:50.9%;width:8.1%;height:8%}
.main-plan .primary{left:77.3%;top:18%;width:18.3%;height:17.4%}
.main-plan .primary-bath{left:79.6%;top:41.1%;width:14%;height:12.8%;clip-path:polygon(0 24%,8% 24%,8% 0,62% 0,62% 24%,100% 24%,100% 100%,0 100%)}
.basement-plan .bed6{left:8.6%;top:22.6%;width:16.2%;height:14.6%}
.basement-plan .lake-lou{left:24.9%;top:22.6%;width:8.1%;height:14.6%}
.basement-plan .bed4{left:58.4%;top:20.3%;width:18.6%;height:14.7%}
.basement-plan .bed3{left:77.3%;top:18%;width:18.3%;height:17.1%}
.basement-plan .bath7{left:4.7%;top:39.1%;width:8.5%;height:12.5%;clip-path:none}
.basement-plan .bath6{left:13.4%;top:39.6%;width:8.6%;height:12%}
.basement-plan .bed7{left:.25%;top:51.4%;width:22%;height:16%;clip-path:polygon(21% 0,100% 0,100% 100%,0 100%,0 20%,21% 20%)}
.basement-plan .bath4{left:58.7%;top:41.1%;width:7.7%;height:15%;clip-path:polygon(0 0,100% 0,100% 100%,18% 100%,18% 49%,0 49%)}
.basement-plan .bed5{left:66.4%;top:41.1%;width:14.5%;height:15.2%}
.basement-plan .bath5{left:80.9%;top:41.1%;width:8.1%;height:12.4%}
.basement-plan .bath3{left:88%;top:35.3%;width:6.4%;height:9.9%;clip-path:none}

.plan-overlay-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.room-shape,.private-room-shape{stroke-linejoin:miter;stroke-linecap:square;stroke-width:4;vector-effect:non-scaling-stroke}.room-shape{cursor:pointer;transition:fill .16s,stroke-width .16s,filter .16s}.bedroom-shape{fill:#51b5dc38;stroke:#1681ad}.bathroom-shape{fill:#42bcae42;stroke:#168476}.private-room-shape{fill:#b9a98d2e;stroke:#9b8568;stroke-dasharray:8 6;pointer-events:none}.room-shape:hover,.room-shape:focus-visible{outline:none;stroke-width:6;filter:drop-shadow(0 0 5px #1681ad66)}.bathroom-shape:hover,.bathroom-shape:focus-visible{filter:drop-shadow(0 0 5px #16847666)}.room-shape.selected{stroke-width:7;fill:#51b5dc66;filter:drop-shadow(0 0 5px #1681ad70)}.bathroom-shape.selected{fill:#42bcae70;filter:drop-shadow(0 0 5px #16847670)}
