/* ── properties.php ── */

:root{--silver-lo:#4a5468;}
.page-wrap{max-width:1280px;margin:0 auto;padding:24px}
        .registry-shell{display:grid;gap:20px}
        .card{background:linear-gradient(180deg,rgba(17,23,35,.99),rgba(10,13,22,.99));border:1px solid #25324a;border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 12px 24px rgba(0,0,0,.24)}
        .filter-card{padding:18px}
        .filter-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
        .filter-title{font-family:'Rajdhani',sans-serif;font-size:1.2em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--silver-hi)}
        .filter-copy{font-size:.74em;color:var(--muted);max-width:720px;line-height:1.7}
        .summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px}
        .summary-pill{padding:12px 14px;border:1px solid rgba(80,102,142,.35);background:rgba(255,255,255,.015);border-radius:6px}
        .summary-label{font-size:.62em;font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
        .summary-value{margin-top:6px;font-size:1.15em;font-weight:700;color:var(--silver-hi)}
        .filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
        .field{display:flex;flex-direction:column;gap:6px}
        .field label{font-family:'Rajdhani',sans-serif;font-size:.68em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--silver-lo)}
        .field input,.field select{width:100%;padding:12px 14px;background:linear-gradient(180deg,rgba(12,16,26,.98),rgba(8,11,19,.98));border:1px solid rgba(58,42,90,.9);border-radius:4px;color:var(--text);font-family:'Share Tech Mono',monospace;font-size:.9em;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
        .field input::placeholder{color:#7f90a8;opacity:1}
        .field input:hover,.field select:hover{border-color:rgba(154,212,240,.32);background:linear-gradient(180deg,rgba(14,19,31,.98),rgba(9,13,22,.98))}
        .field input:focus,.field select:focus{outline:none;border-color:var(--purple-hi);box-shadow:0 0 0 2px rgba(136,96,208,.12),0 0 18px rgba(136,96,208,.14)}
        .field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%, rgba(192,160,248,.92) 50%),linear-gradient(135deg,rgba(192,160,248,.92) 50%, transparent 50%),linear-gradient(180deg,rgba(12,16,26,.98),rgba(8,11,19,.98));background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px),0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;cursor:pointer}
        .field select option{background:#0c101a;color:var(--text)}
        .filter-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
        .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:4px;border:1px solid transparent;text-decoration:none;font-family:'Rajdhani',sans-serif;font-size:.78em;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .18s ease}
        .btn-primary{background:linear-gradient(135deg,var(--purple-lo),var(--purple));color:#fff;box-shadow:0 8px 24px rgba(136,96,208,.2)}
        .btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(136,96,208,.3)}
        .btn-ghost{background:rgba(255,255,255,.02);border-color:var(--border-purple);color:var(--purple-hi)}
        .btn-ghost:hover{background:rgba(136,96,208,.08)}
        .results-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
        .results-title{font-family:'Rajdhani',sans-serif;font-size:1.1em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--silver-hi)}
        .results-sub{font-size:.74em;color:var(--muted)}
        .property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
        .property-card{overflow:hidden;display:flex;flex-direction:column}
        .property-image-wrap{position:relative;aspect-ratio:4/3;background:#0c101a;border-bottom:1px solid rgba(80,102,142,.35)}
        .property-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}
        .property-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Rajdhani',sans-serif;font-size:.95em;letter-spacing:3px;text-transform:uppercase;color:var(--muted);background:linear-gradient(180deg,rgba(20,26,38,.95),rgba(12,16,26,.95))}
        .image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,12,.08),rgba(4,6,12,.22) 55%,rgba(4,6,12,.78) 100%)}
        .image-chrome{position:absolute;inset:10px;border:1px solid rgba(154,212,240,.18);clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);pointer-events:none}
        .top-meta,.bottom-meta{position:absolute;left:14px;right:14px;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;z-index:2}
        .top-meta{top:14px}
        .bottom-meta{bottom:14px;align-items:flex-end}
        .chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-family:'Rajdhani',sans-serif;font-size:.66em;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:1px solid transparent;backdrop-filter:blur(4px)}
        .chip-code{background:rgba(7,10,18,.78);border-color:rgba(154,212,240,.24);color:var(--silver-hi)}
        .chip-size{background:rgba(7,10,18,.78);border-color:rgba(192,160,248,.24);color:var(--purple-hi)}
        .chip-status-available{background:rgba(18,61,47,.84);border-color:rgba(141,240,195,.25);color:#8df0c3}
        .chip-status-rented{background:rgba(63,44,16,.84);border-color:rgba(255,204,115,.25);color:#ffcc73}
        .property-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
        .property-name{font-family:'Rajdhani',sans-serif;font-size:1.28em;font-weight:700;line-height:1.05;color:var(--silver-hi);margin:0 0 4px}
        .property-type{font-size:.7em;letter-spacing:2px;text-transform:uppercase;color:var(--purple-hi);margin-bottom:10px}
        .property-location{display:grid;gap:4px;margin-bottom:14px}
        .property-location div{font-size:.78em;color:var(--text-dim)}
        .property-location strong{color:var(--silver-hi);font-weight:600}
        .price-block{margin-bottom:14px;padding:12px 14px;border:1px solid rgba(80,102,142,.32);background:linear-gradient(180deg,rgba(12,17,27,.96),rgba(8,11,18,.96));clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
        .price-primary{font-family:'Rajdhani',sans-serif;font-size:1.55em;font-weight:700;color:var(--silver-hi);line-height:1}
        .price-secondary{margin-top:4px;font-size:.76em;color:var(--muted)}
        .price-detail{margin-top:7px;font-size:.68em;color:var(--text-dim);line-height:1.6}
        .tenant-line{margin-bottom:12px;font-size:.72em;color:var(--muted)}
        .tenant-line strong{color:var(--amber)}
        .property-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
        .property-actions .btn{flex:1}
        .property-card-link{display:block;color:inherit;text-decoration:none}
        .property-card-link:hover .property-name{color:var(--accent-hi)}
        .btn-link{background:rgba(74,158,202,.12);border-color:rgba(74,158,202,.28);color:var(--accent-hi)}
        .btn-link:hover{background:rgba(74,158,202,.18)}
        .empty-state{padding:28px 22px;text-align:center;color:var(--muted);font-size:.82em;line-height:1.8}
        .empty-state strong{display:block;color:var(--silver-hi);font-family:'Rajdhani',sans-serif;font-size:1.2em;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
        .floor-modal{position:fixed;inset:0;background:rgba(3,5,10,.86);display:none;align-items:center;justify-content:center;padding:24px;z-index:500}
        .floor-modal.open{display:flex}
        .floor-modal-card{width:min(1100px,100%);max-height:88vh;overflow:auto;background:linear-gradient(180deg,rgba(12,16,26,.995),rgba(8,11,19,.995));border:1px solid var(--border-purple);box-shadow:0 20px 50px rgba(0,0,0,.55);border-radius:8px}
        .floor-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(80,102,142,.26)}
        .floor-modal-title{font-family:'Rajdhani',sans-serif;font-size:1.12em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--silver-hi)}
        .floor-modal-body{padding:18px}
        .floor-modal-image{width:100%;height:auto;display:block;border:1px solid rgba(80,102,142,.3)}
        .floor-close{background:none;border:1px solid rgba(192,160,248,.28);color:var(--purple-hi);padding:10px 12px;border-radius:4px;font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
        @media (max-width: 1100px){.filter-grid{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}}
        @media (max-width: 780px){.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.page-wrap{padding:16px}.filter-grid{grid-template-columns:1fr}.property-actions .btn{flex:unset;width:100%}}
        @media (max-width: 520px){.summary-strip{grid-template-columns:1fr}}
.properties-page .prop-tab,
.properties-page .prop-tab:visited{color:var(--muted);text-decoration:none}
.properties-page .property-card-link,
.properties-page .property-card-link:visited{color:inherit;text-decoration:none}
.properties-page .btn-link,
.properties-page .btn-link:visited{color:var(--accent-hi);text-decoration:none}
        .prop-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0}
        .prop-tab{font-family:'Rajdhani',sans-serif;font-size:.78em;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:10px 20px;border-radius:4px 4px 0 0;border:1px solid transparent;border-bottom:none;color:var(--muted);transition:all .2s;position:relative;bottom:-1px}
        .prop-tab:hover{color:var(--text);border-color:var(--border)}
        .prop-tab.tab-registry.active{color:var(--accent-hi);border-color:var(--border);border-bottom-color:#07080f;background:var(--card)}
        .prop-tab.tab-forsale.active{color:var(--gold-hi);border-color:rgba(232,160,32,.4);border-bottom-color:#07080f;background:rgba(232,160,32,.04)}
        .tab-badge{display:inline-block;font-size:.7em;padding:1px 6px;border-radius:10px;margin-left:6px;font-weight:700}
        .badge-registry{background:rgba(74,158,202,.15);color:var(--accent-hi)}
        .badge-sale{background:rgba(232,160,32,.15);color:var(--gold-hi)}
        .badge-map{background:rgba(136,96,208,.15);color:var(--purple-hi)}
        .prop-map-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 16px;border-bottom:1px solid rgba(136,96,208,.25);padding-bottom:0}
        .properties-page .prop-map-tab,
        .properties-page .prop-map-tab:visited{display:inline-flex;align-items:center;gap:6px;font-family:'Rajdhani',sans-serif;font-size:.76em;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:10px 18px;border-radius:4px 4px 0 0;border:1px solid transparent;border-bottom:none;color:var(--muted);transition:all .2s;position:relative;bottom:-1px}
        .properties-page .prop-map-tab:hover{color:var(--text);border-color:rgba(136,96,208,.25)}
        .properties-page .prop-map-tab.active,
        .properties-page .prop-map-tab.active:visited{color:var(--purple-hi);border-color:rgba(136,96,208,.35);border-bottom-color:#07080f;background:rgba(136,96,208,.08)}
        .forsale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
        .forsale-card{background:linear-gradient(180deg,rgba(17,23,35,.99),rgba(10,13,22,.99));border:1px solid rgba(232,160,32,.25);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
        .forsale-card:hover{border-color:rgba(232,160,32,.5)}
        .forsale-price{font-family:'Rajdhani',sans-serif;font-size:1.55em;font-weight:700;color:var(--gold-hi);line-height:1}
        .forsale-tax-note{font-size:.68em;color:var(--muted);margin-top:4px}
        .forsale-seller{font-size:.72em;color:var(--muted);margin-bottom:10px}
        .forsale-seller strong{color:var(--text-dim)}
        .forsale-paidthru{display:inline-block;font-size:.65em;padding:3px 8px;border-radius:3px;background:rgba(74,158,202,.08);color:var(--accent-hi);border:1px solid rgba(74,158,202,.2);margin-bottom:10px}
        .forsale-note{font-size:.68em;color:var(--muted);line-height:1.7;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}

        .prop-map-card{padding:18px;margin-bottom:20px}
        .prop-map-shell.is-collapsed .prop-map-tabs{display:none}
        .prop-map-shell.is-collapsed .prop-map-card{margin-bottom:16px;padding:14px 18px}
        .prop-map-shell.is-collapsed .prop-map-body{display:none}
        .prop-map-shell.is-collapsed .prop-map-sub-expanded{display:none}
        .prop-map-shell.is-collapsed .prop-map-sub-collapsed{display:block}
        .prop-map-shell:not(.is-collapsed) .prop-map-sub-collapsed{display:none}
        .prop-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
        .prop-map-shell.is-collapsed .prop-map-head{margin-bottom:0}
        .prop-map-head-bar{align-items:center}
        .prop-map-head-main{flex:1;min-width:0}
        .prop-map-head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:flex-end}
        .prop-map-toggle{flex-shrink:0;padding:8px 14px;border-radius:4px;border:1px solid rgba(80,102,142,.35);background:rgba(255,255,255,.02);color:var(--muted);font-family:'Rajdhani',sans-serif;font-size:.68em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .18s ease}
        .prop-map-toggle:hover{color:var(--text);border-color:rgba(154,212,240,.32)}
        .prop-map-shell.is-collapsed .prop-map-toggle{border-color:rgba(136,96,208,.35);color:var(--purple-hi)}
        .prop-map-shell.is-collapsed .prop-map-legend{display:none}
        .prop-map-title{font-family:'Rajdhani',sans-serif;font-size:1.15em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--silver-hi)}
        .prop-map-sub{font-size:.74em;color:var(--muted);max-width:640px;line-height:1.6;margin-top:4px}
        .prop-map-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
        .prop-map-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.72em;color:var(--text-dim);font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase}
        .prop-map-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:2px solid transparent}
        .prop-map-swatch.available{border-color:#5ad4a8;background:rgba(90,212,168,.35)}
        .prop-map-swatch.rented{border-color:#e05050;background:rgba(224,80,80,.35)}
        .prop-map-swatch.for_sale{border-color:#4a9eca;background:rgba(74,158,202,.4)}
        .prop-map-district-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(80,102,142,.22)}
        .prop-map-district-label{font-family:'Rajdhani',sans-serif;font-size:.68em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
        .prop-map-district-tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1}
        .prop-map-district-btn{display:inline-flex;align-items:center;padding:7px 12px;border-radius:4px;border:1px solid rgba(80,102,142,.35);background:rgba(255,255,255,.02);color:var(--muted);font-family:'Rajdhani',sans-serif;font-size:.68em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .18s ease}
        .prop-map-district-btn:hover{color:var(--text);border-color:rgba(154,212,240,.32)}
        .prop-map-district-btn.active{border-color:var(--accent-hi);color:var(--accent-hi);background:rgba(74,158,202,.1)}
        .prop-map-back{display:none;padding:7px 12px;border-radius:4px;border:1px solid rgba(80,102,142,.35);background:transparent;color:var(--muted);font-family:'Rajdhani',sans-serif;font-size:.68em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
        .prop-map-back.show{display:inline-flex}
        .prop-map-back:hover{color:var(--text);border-color:rgba(154,212,240,.32)}
        .prop-map-title-sep{color:var(--muted);margin:0 .35em}
        .prop-map-title-district{color:var(--accent-hi)}
        .prop-map-stage-wrap{max-width:920px;margin:0 auto}
        .prop-map-stage{position:relative;border:1px solid rgba(80,102,142,.35);border-radius:8px;overflow:hidden;background:#0c101a}
        .prop-map-stage.zoomed .prop-map-inner{position:absolute;inset:0;width:100%;height:100%}
        .prop-map-inner{position:relative;width:100%}
        .prop-map-image{width:100%;height:auto;display:block;user-select:none;vertical-align:top;max-width:none}
        .prop-map-stage.zoomed .prop-map-image{position:absolute;height:auto}
        .prop-map-districts{position:absolute;inset:0;z-index:1;pointer-events:none}
        .prop-map-district-overlay{position:absolute;box-sizing:border-box;border:2px solid rgba(136,96,208,.75);background:rgba(136,96,208,.12);cursor:pointer;pointer-events:auto;transition:background .15s ease}
        .prop-map-district-overlay:hover{background:rgba(136,96,208,.28)}
        .prop-map-district-overlay-label{position:absolute;top:4px;left:6px;font-size:clamp(8px,.65vw,11px);font-family:'Rajdhani',sans-serif;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);pointer-events:none;text-transform:uppercase;letter-spacing:.04em}
        .prop-map-markers{position:absolute;inset:0;z-index:2;pointer-events:none}
        .properties-page .prop-map-card a{text-decoration:none}
        .properties-page .prop-map-card a:visited{text-decoration:none}
        .prop-map-marker{position:absolute;box-sizing:border-box;border:2px solid transparent;border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:auto;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;padding:2px;min-width:24px;min-height:18px;z-index:2;line-height:1.1}
        .prop-map-marker:hover{transform:scale(1.04);z-index:4;box-shadow:0 0 16px rgba(0,0,0,.35)}
        .properties-page .prop-map-marker.available,
        .properties-page .prop-map-marker.available:visited{border-color:#5ad4a8;background:rgba(90,212,168,.42);color:#d8fff0}
        .properties-page .prop-map-marker.rented,
        .properties-page .prop-map-marker.rented:visited{border-color:#e05050;background:rgba(224,80,80,.38);color:#ffd8d8}
        .properties-page .prop-map-marker.for_sale,
        .properties-page .prop-map-marker.for_sale:visited{border-color:#4a9eca;background:rgba(74,158,202,.48);color:#dff3ff}
        .prop-map-marker.pod{border-radius:50%;min-width:18px;min-height:18px}
        .prop-map-marker-label{font-family:'Rajdhani',sans-serif;font-size:clamp(9px,0.75vw,12px);font-weight:700;line-height:1.05;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 2px;pointer-events:none}
        .prop-map-hint{margin-top:10px;text-align:center;font-size:.72em;color:var(--muted);line-height:1.6}
        .prop-map-empty{margin-top:10px;text-align:center;font-size:.74em;color:var(--muted);line-height:1.6;padding:0 12px}
        @media (max-width:780px){.prop-map-head{flex-direction:column}.prop-map-legend{justify-content:flex-start}.prop-map-district-bar{align-items:flex-start}}
        .properties-page .site-footer{margin-top:48px}
