.floor-view{max-width:100%;max-height:100dvh;overflow:hidden;background-color:#fff}.floor-view,.floor-view .floor-view-content{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.floor-view .floor-view-content{transition:all .3s ease}.floor-view .floor-view-content .compass{position:absolute;top:2vh;right:2vh;left:auto;z-index:999;width:6vh;height:6vh;color:#fff;background-color:rgba(0,0,0,.4588235294);border-radius:50%}.floor-view .floor-view-content .title-of-property{position:absolute;top:2vh;left:19.5vh;z-index:999;display:flex;color:#4ad0c0;background-color:rgba(0,0,0,.4588235294);padding:.7vh;border-radius:5vh;font-size:1.5vh}.floor-view .floor-view-content .floor-render{flex:1 1;width:100%;height:100%;position:relative;overflow:hidden}.floor-view .floor-view-content .floor-render-container{width:100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.floor-view .floor-view-content .floor-render-container .apartment-polygons{position:absolute;pointer-events:none;z-index:2;overflow:visible;width:100%;max-width:100%;height:auto}@media(min-aspect-ratio:1.7777777778){.floor-view .floor-view-content .floor-render-container .apartment-polygons{width:auto;height:100%;max-height:100dvh}}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon{transition:all .3s ease}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon.hovered{stroke-width:4;filter:drop-shadow(0 0 8px rgba(0,153,255,.5));opacity:1}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon.hovered.available{fill:rgba(0,153,255,.25)!important;stroke:#09f!important}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon.hovered.booked{fill:rgba(255,165,0,.25)!important;stroke:#f90!important}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon.hovered.contract-ending{fill:rgba(128,0,128,.25)!important;stroke:purple!important}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon:hover{stroke-width:4;filter:drop-shadow(0 0 8px rgba(0,153,255,.5));opacity:1}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon:hover.available{fill:rgba(0,153,255,.25)!important;stroke:#09f!important}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon:hover.booked{fill:rgba(255,165,0,.25)!important;stroke:#f90!important}.floor-view .floor-view-content .floor-render-container .apartment-polygons .apartment-polygon:hover.contract-ending{fill:rgba(128,0,128,.25)!important;stroke:purple!important}.floor-view .floor-view-content .floor-render-container .floor-render-image{object-fit:cover;width:100%;max-width:100%;height:auto}@media(min-aspect-ratio:1.7777777778){.floor-view .floor-view-content .floor-render-container .floor-render-image{width:auto;height:100%;max-height:100dvh}}.floor-view .floor-view-content .floor-view-controls{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:row;gap:10px;z-index:5}.floor-view .floor-view-content .floor-view-controls .menu-container{display:flex;justify-content:space-between;align-items:end;gap:3vh}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls{display:flex;flex-direction:column}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls button{border:none;background-color:#fff;padding:1vh;cursor:pointer;transition:.3s}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls button:hover{background-color:hsla(0,0%,100%,.7019607843);transition:.3s}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls svg{width:1.5vh}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls .plus{border-radius:1vh 1vh 0 0;border-bottom:.1vh solid rgba(0,0,0,.1607843137)}.floor-view .floor-view-content .floor-view-controls .menu-container .zoom-controls .unzoom{border-top:.1vh solid rgba(0,0,0,.1607843137);border-radius:0 0 1vh 1vh}.floor-view .floor-view-content .floor-view-controls .control-button{display:flex;align-items:center;gap:8px;padding:10px 15px;border:none;background-color:#fff;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:14px;font-weight:500;cursor:pointer;color:#333}.floor-view .floor-view-content .floor-view-controls .control-button .button-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.floor-view .floor-view-content .floor-view-controls .control-button:hover{background-color:#f5f5f5}.floor-view .floor-view-content .floor-view-controls .control-button.active{background-color:#333;color:#fff}.floor-view .floor-view-content.with-detail-panel .house-container{margin-left:450px}.floor-view .floor-view-content.with-detail-panel .floor-render{padding-left:450px}.floor-view .floor-view-content.with-detail-panel .floor-view-controls{right:20px}.apartment-detail-panel{position:fixed;width:45vh;height:100%;background-color:#fff;box-shadow:5px 0 15px rgba(0,0,0,.1);overflow-y:auto;z-index:90;padding:3vh;display:flex!important;flex-direction:column;gap:24px}.apartment-detail-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.apartment-detail-panel .panel-header .close-panel{width:40px;height:40px;background:rgba(0,0,0,0);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;margin:0}.apartment-detail-panel .panel-header .close-panel svg{width:24px;height:24px;stroke:#666}.apartment-detail-panel .panel-header .close-panel:hover{background-color:#f5f5f5;border-radius:50%}.apartment-detail-panel .panel-header .close-panel:hover svg{stroke:#333}.apartment-detail-panel .panel-header .favorite-button{width:40px;height:40px;background:rgba(0,0,0,0);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.apartment-detail-panel .panel-header .favorite-button svg{width:24px;height:24px;stroke:#666}.apartment-detail-panel .panel-header .favorite-button:hover svg{stroke:#ff4757}.apartment-detail-panel .img-gallery{display:flex;flex-direction:row;gap:1vh;margin-top:1vh;margin-bottom:2vh}.apartment-detail-panel .img-gallery .gallery-element{width:8vh;height:8vh;border:.1vh solid #ccc;cursor:pointer;border-radius:0;overflow:hidden;transition:all .2s ease}.apartment-detail-panel .img-gallery .gallery-element .img{width:100%;height:100%;object-fit:cover}.apartment-detail-panel .img-gallery .gallery-element:hover{border:.1vh solid #00b5a0;opacity:.9}.apartment-detail-panel .img-gallery .gallery-element.active{border:.2vh solid #00b5a0;opacity:1}.apartment-detail-panel .apartment-title-container{display:flex;flex-direction:column;gap:20px}.apartment-detail-panel .apartment-title-row{display:flex;justify-content:space-between;align-items:center}.apartment-detail-panel .apartment-name{font-size:28px;font-weight:700;margin:0;color:#333}.apartment-detail-panel .apartment-price{font-size:24px;font-weight:700;color:#333;display:flex;align-items:center;gap:8px}.apartment-detail-panel .apartment-price .check-icon{display:flex;align-items:center}.apartment-detail-panel .apartment-price .check-icon svg{width:20px;height:20px}.apartment-detail-panel .apartment-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.apartment-detail-panel .apartment-actions .action-button{background-color:#f5f5f5;border:none;border-radius:6px;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:14px;font-weight:500;color:#333;transition:all .2s}.apartment-detail-panel .apartment-actions .action-button .icon{display:flex;align-items:center;justify-content:center}.apartment-detail-panel .apartment-actions .action-button .icon svg{width:20px;height:20px;stroke:#666}.apartment-detail-panel .apartment-actions .action-button:hover{background-color:#e9e9e9}.apartment-detail-panel .apartment-features{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.apartment-detail-panel .apartment-features .feature-item{display:flex;align-items:center;gap:10px}.apartment-detail-panel .apartment-features .feature-item .feature-icon{display:flex;align-items:center}.apartment-detail-panel .apartment-features .feature-item .feature-icon svg{width:20px;height:20px;stroke:#666}.apartment-detail-panel .apartment-features .feature-item .feature-text{font-size:14px;color:#333}.apartment-detail-panel .apartment-description p{font-size:14px;line-height:1.6;color:#555;margin:0}.apartment-detail-panel .apartment-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;border-top:1px solid #eee;padding-top:20px}.apartment-detail-panel .apartment-details-grid .details-column h3{font-size:16px;font-weight:600;color:#333;margin:0 0 8px}.apartment-detail-panel .apartment-details-grid .details-column p{font-size:14px;color:#555;margin:0}.apartment-detail-panel .apartment-disclaimer{border-top:1px solid #eee;padding-top:20px;margin:1vh 0}.apartment-detail-panel .apartment-disclaimer p{font-size:12px;color:#777;line-height:1.5;margin:0}.apartment-detail-panel .img{width:100%;height:40vh;object-fit:contain;background-color:#f9f9f9;border-radius:8px;margin-bottom:1vh}.modal-content .spec-gallery-container{display:flex;flex-direction:column;gap:20px}.modal-content .spec-gallery-container .spec-gallery-main{position:relative;height:500px;display:flex;align-items:center;background-color:#f5f5f5;border-radius:8px;overflow:hidden}.modal-content .spec-gallery-container .spec-gallery-main .gallery-main-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.modal-content .spec-gallery-container .spec-gallery-main .gallery-main-image img{max-width:100%;max-height:100%;object-fit:contain}.modal-content .spec-gallery-container .spec-gallery-main .gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background-color:hsla(0,0%,100%,.8);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.2)}.modal-content .spec-gallery-container .spec-gallery-main .gallery-nav svg{width:24px;height:24px;color:#333}.modal-content .spec-gallery-container .spec-gallery-main .gallery-nav:hover{background-color:#fff}.modal-content .spec-gallery-container .spec-gallery-main .gallery-nav.prev{left:20px}.modal-content .spec-gallery-container .spec-gallery-main .gallery-nav.next{right:20px}.modal-content .spec-gallery-container .spec-gallery-thumbnails{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.modal-content .spec-gallery-container .spec-gallery-thumbnails .gallery-thumbnail{width:80px;height:80px;border-radius:5px;overflow:hidden;cursor:pointer;opacity:.7;transition:all .2s ease;border:2px solid rgba(0,0,0,0)}.modal-content .spec-gallery-container .spec-gallery-thumbnails .gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.modal-content .spec-gallery-container .spec-gallery-thumbnails .gallery-thumbnail:hover{opacity:.9}.modal-content .spec-gallery-container .spec-gallery-thumbnails .gallery-thumbnail.active{opacity:1;border-color:#4ad0c0}.modal-content .spec-title{margin:2vh 0}.modal-content .spec-modal-accordion{border-top:.1vh solid #4ad0c0;padding:1.5vh;cursor:pointer}.modal-content .spec-modal-accordion .accordion-header{display:flex;justify-content:space-between;align-items:center}.modal-content .spec-modal-accordion .accordion-header .accordion-btn{display:flex;border-radius:50%;padding:1vh 1.5vh;border:none;background-color:#4ad0c0}.modal-content .spec-modal-accordion .accordion-header .accordion-btn .svg{width:1vh;transform:rotate(180deg);transition:.3s}.modal-content .spec-modal-accordion .accordion-header .accordion-btn .svg.active{transform:rotate(270deg);transition:.3s}.modal-content .spec-modal-accordion .ul-list{gap:1vh}.modal-content .spec-modal-accordion .ul-list .li{margin:1vh 0}.vr360-markers-container{pointer-events:auto;z-index:10}.vr360-markers-container .markers-layer{pointer-events:none;z-index:10}.vr360-markers-container .markers-layer .reel-marker{pointer-events:auto;cursor:pointer}.vr360-markers-container .markers-layer .vr360-marker .marker-icon{background-color:hsla(0,0%,100%,.8);border-radius:50%;padding:2px;border:2px solid #4ad0c0}.vr360-markers-container .markers-layer .vr360-marker .marker-icon .vr360-dot-marker{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.vr360-markers-container .markers-layer .vr360-marker .marker-icon .vr360-dot-marker .white-dot{width:8px;height:8px;background-color:#4ad0c0;border-radius:50%}.vr360-markers-container .markers-layer .vr360-marker:hover{transform:scale(1.2);transition:transform .2s ease}.vr-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000}.vr-modal-content{position:relative;background-color:#fff;width:80%;height:80%;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.2)}.vr-modal-close{position:absolute;top:10px;right:10px;background-color:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;z-index:10}.vr-modal-close:hover{background-color:rgba(0,0,0,.7)}.vr360-iframe-container{width:100%;height:100%}.vr360-iframe-container iframe{border:none;width:100%;height:100%}.loading{color:#333}.error,.loading{display:flex;align-items:center;justify-content:center;height:100%;max-height:100dvh;width:100%;max-width:100%;font-size:20px}.error{color:#f44336}.apartment-status-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:8px 12px;min-width:120px;text-align:center;transform:translateX(-50%)}.apartment-status-tooltip .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:4px}.apartment-status-tooltip .status-badge.available{background-color:rgba(0,153,255,.2);color:#07c}.apartment-status-tooltip .status-badge.booked{background-color:rgba(255,165,0,.2);color:#f90}.apartment-status-tooltip .status-badge.contract-ending{background-color:rgba(128,0,128,.2);color:purple}.apartment-status-tooltip .tooltip-name{font-size:14px;font-weight:600;color:#000}.apartment-polygon.available,.apartment-polygon.booked,.apartment-polygon.contract-ending{fill:rgba(0,0,0,0)!important;stroke:rgba(0,0,0,0)!important}.apartment-polygon.hovered.available{fill:rgba(0,153,255,.25)!important;stroke:#09f!important}.apartment-polygon.hovered.booked{fill:rgba(255,165,0,.25)!important;stroke:#f90!important}.apartment-polygon.hovered.contract-ending{fill:rgba(128,0,128,.25)!important;stroke:purple!important}.brochure-button-container{position:absolute;right:20px;top:20px;z-index:10}.brochure-button{display:flex;align-items:center;background-color:#fff;color:#333;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .2s ease}.brochure-button:hover{background-color:#f0f0f0;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.brochure-button .button-icon{display:inline-flex;margin-right:8px}.brochure-button .button-icon svg{width:20px;height:20px}.pdf-container{height:100%;background-color:#f5f5f5;overflow:auto;padding:20px}.pdf-container,.pdf-document{display:flex;flex-direction:column;align-items:center;width:100%}.pdf-document{max-width:800px}.pdf-page{max-width:100%;box-shadow:0 2px 10px rgba(0,0,0,.2);background-color:#fff;margin-bottom:20px}.pdf-page canvas{width:100%!important;height:auto!important}.pdf-controls{display:flex;justify-content:center;align-items:center;margin-top:15px;padding:10px;background-color:#fff;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.1)}.pdf-controls button{padding:8px 16px;margin:0 10px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.pdf-controls button:hover:not(:disabled){background-color:#0056b3}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.pdf-controls span{margin:0 10px;font-size:14px}.vr-modal-content .pdf-container{height:calc(100dvh - 60px)}.modal-window-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-window-overlay.active{opacity:1;visibility:visible}.modal-window{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.3);transform:scale(.9);transition:transform .3s ease}.active .modal-window{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #eee}.modal-header .modal-title{margin:0;font-size:20px;font-weight:600}.modal-header .close-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease}.modal-header .close-button:hover{opacity:1}.modal-header .close-button svg{width:20px;height:20px;stroke:#333}.modal-content{overflow-y:auto}.filter-content{padding:10px}.filter-content .filter-section{margin-bottom:24px}.filter-content .filter-section h3{margin:0 0 16px;font-size:18px;font-weight:600}.filter-content .price-range-slider .range-values{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:#555}.filter-content .price-range-slider input[type=range]{width:100%;margin-bottom:10px;-webkit-appearance:none;background:#f0f0f0;height:3px;border-radius:3px}.filter-content .price-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#4ad0c0;border-radius:50%;cursor:pointer}.filter-content .filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-content .filter-buttons .filter-button{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:none;cursor:pointer;transition:all .2s ease}.filter-content .filter-buttons .filter-button:hover{background-color:#f5f5f5}.filter-content .filter-buttons .filter-button.active{background-color:#4ad0c0;border-color:#4ad0c0;color:#fff}.filter-content .filter-actions{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.filter-content .filter-actions button{flex:1 1;padding:12px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.filter-content .filter-actions .clear-button{background-color:#fff;border:1px solid #ddd;color:#333}.filter-content .filter-actions .clear-button:hover{background-color:#f5f5f5}.filter-content .filter-actions .apply-button{background-color:#4ad0c0;border:none;color:#fff}.filter-content .filter-actions .apply-button:hover{background-color:rgb(53.7565789474,202.7434210526,184.9539473684)}