*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background-color:#f5f5f5;color:#222}.page{padding:16px;max-width:1100px;margin:0 auto}.pageTitle{margin:0 0 12px}.panel{background:#fff;padding:12px;border-radius:10px;box-shadow:0 2px 8px #00000014;margin-bottom:12px}.panelTitle{font-size:16px;margin:0 0 10px}.searchGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.field{display:grid;gap:4px}.fieldLabel{font-size:13px}.control{width:100%;padding:8px;border:1px solid #cfcfcf;border-radius:8px;background:#fff}.btn{padding:10px 12px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:700}.btnPrimary{background:#2dbf9c;border-color:#2dbf9c;color:#fff}.btnGhost{background:#f7f7f7;border-color:#ccc;color:#111}.resultsMeta{margin-top:10px;font-size:13px;color:#555}.mutedText{color:#555}.resultsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:grab}.card:active{cursor:grabbing}.cardImageWrap{height:160px;background:#ddd;position:relative}.cardImage{width:100%;height:100%;object-fit:cover;display:block}.cardBody{padding:12px}.cardPrice{font-size:18px;font-weight:800;margin-bottom:6px}.cardMeta{font-weight:700}.cardLocation{color:#555;margin:4px 0 10px}.cardDesc{color:#333;line-height:1.4;margin:0}.cardLink{text-decoration:none;color:inherit;display:block}.backLink{display:inline-block;margin-bottom:12px;color:#0b5;font-weight:700;text-decoration:none}.backLink:hover{text-decoration:underline}.detailsHeader{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:start}.detailsImageWrap{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000014}.detailsImage{width:100%;height:360px;object-fit:cover;display:block}.detailsSummary{background:#fff;padding:12px;border-radius:10px;box-shadow:0 2px 8px #00000014}.detailsPrice{font-size:22px;font-weight:900;margin-bottom:6px}.detailsMeta{font-weight:800;margin-bottom:8px}.detailsLocation{color:#555;margin-bottom:10px}.detailsShort p{margin:0 0 8px;color:#333;line-height:1.5}.galleryMainBtn{width:100%;border:0;padding:0;background:transparent;cursor:pointer;position:relative;display:block}.galleryMainImg{width:100%;height:360px;object-fit:cover;display:block}.galleryViewAll{position:absolute;right:10px;bottom:10px;background:#000000a6;color:#fff;padding:8px 10px;border-radius:999px;font-weight:800;font-size:12px}.galleryThumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px;background:#fff}.galleryThumbBtn{border:2px solid transparent;border-radius:8px;padding:0;cursor:pointer;overflow:hidden;background:transparent}.galleryThumbBtn.isActive{border-color:#2dbf9c}.galleryThumbImg{width:100%;height:60px;object-fit:cover;display:block}.galleryEmpty{padding:16px;color:#555}.modalOverlay{position:fixed;inset:0;background:#000000a6;display:grid;place-items:center;padding:16px;z-index:999}.modal{width:min(950px,100%);background:#fff;border-radius:12px;overflow:hidden}.modalHeader{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #eee}.modalTitle{font-weight:900}.modalClose{border:1px solid #ddd;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-weight:900}.modalBody{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;padding:12px}.modalImg{width:100%;max-height:70vh;object-fit:contain;display:block}.modalNav{border:1px solid #ddd;background:#fff;border-radius:10px;height:44px;cursor:pointer;font-size:22px;font-weight:900}.tabsWrap{margin-top:14px}.tabPanel{background:#fff;border-radius:10px;padding:12px;box-shadow:0 2px 8px #00000014}.floorPlanImg{width:100%;max-height:520px;object-fit:contain;display:block;margin:0 auto}.mapWrap{border-radius:10px;overflow:hidden}.mapFrame{width:100%;height:420px;border:0;display:block}.searchLayout{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}.favHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.favList{display:grid;gap:10px;margin-top:10px}.favItem{background:#fff;border:1px solid #eee;border-radius:10px;padding:10px;position:relative;cursor:grab}.favItem:active{cursor:grabbing}.favLink{text-decoration:none;color:inherit;display:block;padding-right:44px}.favPrice{font-weight:900;margin-bottom:4px}.favMeta{font-weight:700}.favLocation{color:#555;margin-top:4px}.favIconBtn{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:10px;border:1px solid #ddd;background:#fff;cursor:pointer;font-weight:900;display:grid;place-items:center}.favIconBtn:hover{border-color:#bbb}.favBtn{position:absolute;right:10px;top:10px;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.8);background:#0000008c;color:#fff;font-size:18px;font-weight:900;cursor:pointer;display:grid;place-items:center}.favBtn.isFav{background:#2dbf9ce6}.favDropZone{outline:2px dashed transparent;outline-offset:4px}.favDropZone.isDragOver{outline-color:#2dbf9c;background:#f3fffb}.favIconBtn:focus-visible,.favBtn:focus-visible{outline:2px solid #2dbf9c;outline-offset:2px}.favRemoveZone{margin-top:10px;padding:10px;border-radius:10px;border:2px dashed #ddd;color:#555;font-weight:700;text-align:center;background:#fafafa}.favRemoveZone.isDragOver{border-color:#e25555;background:#fff2f2;color:#b53131}@media(max-width:1024px){.searchLayout,.detailsHeader{grid-template-columns:1fr}.galleryThumbs{grid-template-columns:repeat(3,1fr)}.mapFrame{height:340px}}@media(max-width:600px){.page{padding:12px}.resultsGrid{grid-template-columns:1fr}.modalBody{grid-template-columns:38px 1fr 38px}.galleryMainImg{height:280px}}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}
