.map-page{height:100dvh;min-height:520px;display:flex;flex-direction:column;overflow:hidden}.map-page .site-header{flex-shrink:0}.map-page .header-inner{min-height:88px}.map-page .brand-logo{height:72px}.map-toolbar{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px 20px;background:var(--cream);z-index:500;flex-shrink:0}.section-tabs,.availability-tabs{display:flex;background:white;border:1px solid var(--line);border-radius:11px;padding:3px}.tab{border:0;min-height:44px;padding:8px 20px;background:transparent;color:var(--navy);border-radius:8px;font-weight:600}.tab.active{background:var(--navy);color:white}.map-search{display:flex;gap:5px;max-width:400px;flex:1}.map-search input{min-width:130px}.map-layout{position:relative;flex:1;min-height:200px}#map{height:100%;width:100%;z-index:1}.map-message{position:absolute;z-index:450;top:12px;left:50%;transform:translateX(-50%);max-width:90%;background:white;color:var(--navy);padding:10px 16px;border-radius:10px;border:1px solid var(--line);text-align:center;font-size:14px}.map-legend{position:absolute;z-index:450;bottom:28px;right:10px;display:flex;gap:14px;background:white;padding:7px 12px;border-radius:10px;font-size:14px;pointer-events:none}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:10px;height:10px;display:inline-block;border-radius:50%;background:var(--navy)}.map-legend i.off{background:var(--gray)}.marker-label{background:transparent;border:0}.marker-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;background:var(--navy);color:white;padding:6px 12px;border-radius:10px;border:2px solid white;white-space:nowrap;font:600 14px/1.6 IBMPlexArabic,Arial,sans-serif;direction:rtl}.marker-pill.off{background:var(--gray)}.cluster-pill{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:white;border:3px solid var(--sand);font:600 16px IBMPlexArabic}.leaflet-container{font-family:IBMPlexArabic,Arial,sans-serif}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:20px 16px 16px;width:300px!important;max-height:min(430px,60dvh);overflow:auto;direction:rtl}.leaflet-popup-close-button{width:40px!important;height:40px!important;padding:7px!important}.property-popup h3{font-size:21px;margin:10px 0}.property-popup .popup-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.price-info{display:flex;gap:12px;flex-wrap:wrap}.popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.popup-actions .btn{padding:9px;font-size:14px}.popup-actions .details{grid-column:1/-1}.popup-thumb{width:80px;height:65px;float:left;margin:8px;object-fit:cover;border-radius:8px}.leaflet-container a.btn-primary{color:white}.leaflet-container a.btn-sand,.leaflet-container a.btn-light{color:var(--navy)}.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.map-page .site-footer{min-height:84px;flex-shrink:0;padding:4px 16px;flex-direction:row}.map-page .site-footer .admin-entry{display:none}.leaflet-control-attribution{font:12px/1.4 Arial,sans-serif!important}
@media(max-width:760px){.map-page .header-inner{min-height:90px}.map-toolbar{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;padding:8px 12px}.map-back{padding:8px;font-size:14px}.map-back .svg-icon{display:none}.tab{padding:7px 10px;flex:1}.section-tabs,.availability-tabs{min-width:0}.map-search{grid-column:1/-1;width:100%;max-width:none}.map-page .site-footer{min-height:84px}.leaflet-popup-content{width:268px!important;max-height:250px}.map-page .brand-logo{width:190px;height:76px}.map-legend{bottom:25px}.map-page .header-inner>.btn{font-size:14px}}

.map-page .brand-logo{height:auto}.map-page .header-inner{min-height:126px}@media(max-width:760px){.map-page .header-inner{min-height:116px}.map-page .brand-logo{height:auto}}

.map-page .site-footer{min-height:64px}
.type-filter{display:flex;align-items:center;gap:8px;white-space:nowrap}.type-filter select{min-height:44px;max-width:170px;background:white}
@media(max-width:760px){.type-filter{grid-column:1/-1;justify-content:center}.type-filter select{flex:1;max-width:none}}


/* Mobile map layout: keep the map dominant and popup content scrollable. */
@media(max-width:760px){
  .map-page .header-inner{min-height:78px}
  .map-page .brand-logo{width:145px;height:auto}
  .map-page .site-footer{min-height:50px;padding:3px 10px}
  .map-toolbar{gap:5px;padding:5px 8px}
  .map-back{min-height:38px;padding:5px 8px;font-size:13px}
  .tab{min-height:38px;padding:5px 8px;font-size:14px}
  .section-tabs,.availability-tabs{padding:2px;border-radius:9px}
  .type-filter{gap:6px;font-size:14px}
  .type-filter select{min-height:40px;padding:7px 10px}
  .map-search{gap:4px}
  .map-search input{min-height:40px;padding:7px 10px}
  .map-search .btn{min-height:40px;padding:6px 10px}
  .leaflet-popup-content{width:min(222px,calc(100vw - 118px))!important;max-height:min(178px,30dvh);margin:11px 9px 9px}
  .leaflet-popup-close-button{width:34px!important;height:34px!important;padding:5px!important}
  .property-popup h3{font-size:17px;margin:5px 0}
  .property-popup .popup-top{gap:6px;padding-top:4px;font-size:13px}
  .property-popup .unit-card{padding:8px;margin:6px 0}
  .property-popup .unit-card strong{font-size:14px}
  .property-popup .small{font-size:11px}
  .property-popup .price-info{gap:6px;font-size:12px}
  .property-popup .btn{min-height:36px;padding:5px 8px;font-size:12px}
  .map-legend{bottom:10px;right:7px;gap:9px;padding:5px 8px;font-size:12px}
  .leaflet-control-attribution{font-size:10px!important}
}
