:root{--ink:#172c38;--muted:#647581;--line:#dce6e8;--surface:#f6f8f8;--teal:#137669;--teal-dark:#0b5e54;--paper:white;--red:#b04439;--shadow:0 8px 36px rgba(19,55,65,.06)}*{box-sizing:border-box}body{margin:0;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.5}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1160px;margin:0 auto;padding:0 24px}header.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:9}.header-row,.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:78px}.brand{font-size:19px;font-weight:800;letter-spacing:-.8px;display:flex;align-items:center;gap:9px;color:var(--ink)}.brand:hover{text-decoration:none}.brand .mark{background:var(--teal);color:white;border-radius:12px;display:grid;place-items:center;width:36px;height:36px;font-weight:900}.brand small{font-size:9px;color:var(--teal);background:#e7f4f1;padding:3px 6px;border-radius:5px;letter-spacing:1px}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}nav a,.nav-button{font-size:14px;color:#314c56;font-weight:600}.nav-button{border:0;background:none;cursor:pointer;padding:0}.inline-form{display:inline;margin:0}.hero{background:linear-gradient(125deg,#e6f4ef,#f8faf9 60%,#e8eff3);border-radius:24px;padding:55px 45px;margin:33px 0;position:relative;overflow:hidden}.hero:after{content:'⌂';position:absolute;right:75px;top:-80px;font-size:300px;line-height:1;color:rgba(19,118,105,.08);pointer-events:none}.kicker{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:2px;color:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,5vw,52px);letter-spacing:-2px;line-height:1.07;margin:16px 0}h2{font-size:28px;letter-spacing:-1px}h3{font-size:19px;letter-spacing:-.35px}.lead{font-size:17px;color:#4e6972;max-width:640px}.button,button[type=submit],.ghost-button{border:0;background:var(--teal);color:white;display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:10px;font:700 14px/1.25 inherit;font-weight:700;cursor:pointer;text-decoration:none;gap:8px}.button:hover,button[type=submit]:hover{background:var(--teal-dark);color:white;text-decoration:none}.button.secondary,.ghost-button{background:white;color:var(--teal);border:1px solid #bad7cf}.button.secondary:hover,.ghost-button:hover{background:#edf7f4;text-decoration:none}.button.danger{background:#a9372d}.button.small{padding:7px 11px;font-size:12px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:19px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-bottom:33px}.field{flex:1;min-width:160px}.field.sm{max-width:165px}label{display:block;color:#465e68;font-size:12px;font-weight:750;margin-bottom:7px}input,select,textarea{width:100%;background:white;padding:12px 13px;border-radius:9px;border:1px solid #cddadd;color:#253d47;font:inherit;font-size:14px;outline-color:var(--teal)}input[type=checkbox]{width:auto}textarea{min-height:130px;resize:vertical}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:56px}.property-card{border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow);background:white;transition:transform .15s}.property-card:hover{transform:translateY(-3px)}.property-card a{color:inherit}.cover{height:195px;background:linear-gradient(125deg,#d4e4e1,#e7eff1);display:flex;align-items:center;justify-content:center;color:#71958e;font-size:50px}.cover img{width:100%;height:100%;object-fit:cover}.card-body{padding:19px}.property-card h3{margin-bottom:5px}.price{font-size:23px;font-weight:850;letter-spacing:-.5px;color:#0b514a}.price small{font-size:13px;color:var(--muted);font-weight:500}.tag{display:inline-flex;background:#e9f5f1;color:#09675d;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.tag.neutral{color:#576d77;background:#eff3f4}.text-muted,.muted{color:var(--muted)}.meta{color:var(--muted);font-size:13px;display:flex;gap:14px;flex-wrap:wrap;margin:10px 0}.card-footer{margin-top:15px;display:flex;align-items:center;justify-content:space-between}.row{display:flex;gap:24px;align-items:flex-start}.section-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0}.section-header h2{margin:0}.panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px;margin:18px 0;box-shadow:var(--shadow)}.panel.soft{background:var(--surface);box-shadow:none}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:30px;padding:28px 0 60px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photos .main-photo{grid-column:1/-1;height:370px}.photos img{width:100%;height:130px;object-fit:cover;border-radius:12px}.photos .main-photo img{height:100%}.breadcrumb{font-size:13px;color:var(--muted);margin:24px 0 0}.kv{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;gap:12px}.kv:last-child{border:0}.form-stack>*+*{margin-top:15px}.help{font-size:12px;color:var(--muted);margin-top:5px}.alert{padding:12px 17px;border-radius:10px;background:#eff5f4;border:1px solid #cce0dc;margin:18px 0;font-size:14px}.alert.error{color:#8d2b24;background:#fff0ef;border-color:#f0c7c3}.alert.success{color:#17694e;background:#edf8f1;border-color:#caead7}.empty{border:1px dashed #bfcfd1;border-radius:16px;text-align:center;padding:55px 20px;margin:20px 0 45px;background:#fbfcfc}.empty strong{display:block;font-size:18px;margin-bottom:7px}.form-card{max-width:510px;margin:60px auto 90px}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-size:10px;padding:12px;border-bottom:1px solid var(--line)}.data-table td{padding:15px 12px;border-bottom:1px solid #edf1f2;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.checkline{display:flex;align-items:center;gap:9px}.checkline label{margin:0}.smallprint{font-size:12px;color:var(--muted)}.callout{background:#edf6f3;border-left:3px solid var(--teal);padding:13px 16px;border-radius:8px;font-size:13px;color:#3e665d}.notice{background:#fffaed;border:1px solid #eee2b6;border-radius:9px;padding:12px 14px;font-size:13px}.stat{background:#f6f9f8;padding:19px;border:1px solid #e3ecea;border-radius:12px}.stat .value{font-weight:850;font-size:26px}.listing-title{font-size:40px;line-height:1.1;margin:9px 0 13px}.gallery-thumb{position:relative}.mini{font-size:12px}.item-separator{height:1px;background:var(--line);margin:24px 0}footer{border-top:1px solid var(--line);background:#fbfcfc;margin-top:60px;color:var(--muted);font-size:12px}.footer-row{min-height:78px}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.image-grid img{width:100%;height:120px;object-fit:cover;border-radius:9px}.image-card{border:1px solid var(--line);padding:8px;border-radius:12px}.checkbox-inline{display:flex;align-items:center;gap:8px;padding:8px 0}.checkbox-inline input{width:auto}.break{overflow-wrap:anywhere}@media(max-width:870px){.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.hero:after{right:-35px}.grid3{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{padding:0 15px}.header-row{min-height:68px;align-items:flex-start;padding-top:12px;padding-bottom:12px;flex-direction:column;gap:12px}nav{gap:13px}.hero{padding:30px 22px;margin:20px 0}.hero:after{display:none}h1{letter-spacing:-1px}.cards,.grid2,.grid3{grid-template-columns:1fr}.filters{display:block}.filters .field{max-width:none;margin-bottom:13px}.section-header{align-items:flex-start;flex-direction:column}.photos .main-photo{height:240px}.photos img{height:90px}.panel{padding:17px}.data-table{display:block;overflow:auto}.footer-row{flex-direction:column;align-items:flex-start;gap:0;padding-top:20px;padding-bottom:20px}}
.hidden-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.tour-frame{display:block;width:100%;height:390px;margin:14px 0;border:1px solid var(--line);border-radius:13px;background:#edf0ef}

/* MVP v0.2: sample inventory, richer search, registration and moderation */
.search-filters .field.wide{min-width:210px;flex:1.6}
.search-filters .field{min-width:135px}
.search-filters .field.sm{max-width:155px}
.search-buttons{display:flex;align-items:center;gap:8px}
.property-card{position:relative}
.demo-label{position:absolute;left:12px;top:12px;background:rgba(15,31,38,.86);color:white;font-size:10px;font-weight:800;letter-spacing:.5px;padding:7px 10px;border-radius:7px;box-shadow:0 1px 8px #0002}
.demo-alert{background:#fff7e6;border-color:#e9d7a1;color:#6b4c1c}
.register-prompt{margin-top:20px!important;font-weight:600;font-size:14px}
.nav-cta{padding:9px 13px;border-radius:9px;color:#fff!important;background:#137669}
.nav-cta:hover{background:#0b5e54;text-decoration:none}
.tag.pending{background:#fff0d1;color:#875b1b}
.admin-intro{background:linear-gradient(115deg,#f0f8f6,#fff)}
.table-wrap{width:100%;overflow-x:auto}
button:disabled{opacity:.55;cursor:not-allowed}
form[data-confirm]{display:inline-flex;margin:0}
.checkline input{flex:none}
.checkline span{font-size:13px;font-weight:500}
@media(max-width:760px){.search-filters .field,.search-filters .field.sm,.search-filters .field.wide{min-width:130px;max-width:none;flex:1 1 calc(50% - 12px)}.search-buttons{width:100%}}
@media(max-width:620px){.search-filters .field,.search-filters .field.sm,.search-filters .field.wide{max-width:none;width:100%}.search-buttons>*{flex:1}}

/* v0.3: clean location-first discovery — intentionally unlike a traditional estate agency */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-map-home{background:#f6f8f7}
.page-map-home footer{margin-top:0}
.map-main{width:100%;padding:0 24px;max-width:1780px;margin:0 auto}
.map-hero-line{padding:20px 0 14px}
.map-overline{letter-spacing:2.2px;color:#258575;font-size:10px;font-weight:800}
.map-headline{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}
.map-headline h1{font-weight:760;font-size:clamp(28px,3.1vw,39px);letter-spacing:-1.4px;margin:6px 0}
.map-headline .muted{font-size:13px}
.map-toolbar{background:#fff;border:1px solid #e2eae8;border-radius:17px;padding:11px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;box-shadow:0 4px 23px #213e3610;margin-bottom:13px}
.map-toolbar label{margin:0;min-width:0;display:flex;align-items:center}
.map-toolbar input,.map-toolbar select{font-size:12px;min-height:39px;border-radius:9px;background:#f8faf9;padding:8px 9px;border-color:#e2eae7;min-width:0}
.map-toolbar input{outline-offset:2px}
.map-toolbar .map-search-text{flex:1 1 225px;position:relative}
.map-toolbar .map-search-text input{padding-left:29px;width:100%;min-width:155px}
.map-search-icon{position:absolute;z-index:1;left:10px;font-size:18px;color:#4b8b7d}
.map-toolbar .map-search-area{flex:0 1 150px}
.map-toolbar label:not(.map-search-text):not(.map-tour-check){flex:0 1 118px}
.map-toolbar select{width:100%}
.map-toolbar .map-tour-check{font-size:12px;gap:5px;white-space:nowrap;color:#53746c;padding:6px;flex:0}
.map-toolbar .map-tour-check input{width:15px;min-height:auto;accent-color:#167b6c}
.map-filter-submit{min-height:39px;padding:0 15px!important;white-space:nowrap}
.map-clear{font-size:12px;font-weight:750;padding:9px;color:#568076}
.map-workspace{height:clamp(625px,calc(100dvh - 255px),990px);min-height:560px;display:grid;grid-template-columns:minmax(310px,31%) 1fr;gap:12px;position:relative;margin-bottom:16px}
.map-results{min-width:0;background:#fff;border:1px solid #e0e8e5;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 3px 20px #1237270c}
.results-head{padding:17px 17px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e8eeeb}
.results-head h2{font-size:23px;letter-spacing:-.8px;margin:5px 0 3px}
.results-sub{margin:0;color:#7d918a;font-size:11px}
.sort-control{margin:0;min-width:115px}
.sort-control select{padding:8px 7px;font-size:11px;background:#f8faf9}
.result-scroll{overflow-y:auto;flex:1;min-height:0;scrollbar-color:#c7d9d3 transparent}
.map-result{border-bottom:1px solid #edf1ef;transition:background .18s}
.map-result:hover,.map-result.selected{background:#eff8f5}
.map-result[hidden]{display:none!important}
.map-result-link{display:flex;gap:13px;padding:13px;color:inherit!important;text-decoration:none!important}
.map-result-photo{background:#dbe7e2;width:130px;height:125px;flex-shrink:0;border-radius:12px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#91aaa1;font-size:37px}
.map-result-photo img{height:100%;width:100%;object-fit:cover}
.result-demo{position:absolute;left:6px;top:6px;padding:4px 6px;background:rgba(25,51,46,.85);color:#fff;border-radius:5px;font-weight:850;font-size:9px;letter-spacing:.6px}
.map-result-content{min-width:0;flex:1;display:flex;flex-direction:column}
.map-result-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.map-result-top strong{font-size:18px;color:#084f46;letter-spacing:-.4px}
.map-result-top small{font-size:11px;font-weight:500;color:#82958d}
.map-heart{color:#81a49b}
.map-result-content h3{font-size:13px;line-height:1.28;letter-spacing:-.15px;margin:5px 0 4px;font-weight:760}
.map-result-content p{color:#748e84;font-size:11px;margin:0 0 7px}
.map-result-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#536e65}
.map-tags{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;padding-top:8px}
.map-tags span{color:#117c6c;font-size:10px;background:#e8f5f0;border-radius:6px;padding:3px 6px}
.results-footer{padding:10px 14px;border-top:1px solid #e9efec;background:#fbfcfb;color:#8a9992;font-size:10px}
.map-stage{position:relative;min-width:0;border-radius:17px;overflow:hidden;background:#e8eeea;border:1px solid #dde8e2}
.nicosia-map,.admin-location-map,.location-picker,.property-mini-map{height:100%;width:100%;z-index:0}
.map-fallback{position:absolute;inset:15%;display:grid;place-content:center;text-align:center;background:#fffef3;border-radius:15px;padding:25px;z-index:20;color:#34534b}
.map-fallback[hidden]{display:none}
.map-unavailable{background:linear-gradient(135deg,#d9e6dd,#edf2ef)}
.map-floating-controls{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:500;pointer-events:none}
.map-floating{pointer-events:auto;background:#fff!important;color:#245c52!important;border:1px solid #dce9e5!important;border-radius:30px!important;font-size:12px!important;box-shadow:0 5px 17px #133c2b23;padding:11px 15px!important;white-space:nowrap}
.map-floating.is-active{background:#127766!important;color:#fff!important}
.map-floating.subtle{background:#f6faf8e8!important}
.map-legend{position:absolute;bottom:17px;left:16px;background:#ffffffee;color:#577167;font-size:10px;padding:11px 13px;border-radius:10px;z-index:450;box-shadow:0 2px 11px #123a311f;pointer-events:none}
.legend-dot{display:inline-block;width:9px;height:9px;background:#118272;border-radius:50%;margin-right:4px}
.legend-divide{margin:0 5px;color:#b0b9b5}
.price-pin{display:inline-flex;align-items:center;justify-content:center;min-width:65px;height:35px;padding:0 9px;background:#fff;border:2px solid #147c6d;color:#105c51;border-radius:22px;font-size:13px;font-weight:850;letter-spacing:-.3px;box-shadow:0 4px 12px #153b312c;white-space:nowrap}
.price-pin:hover,.price-pin.active{background:#105d51;color:#fff;transform:translateY(-2px)}
.cluster-pin{display:inline-flex;justify-content:center;align-items:center;background:#0e695b;color:white;border:3px solid white;box-shadow:0 4px 12px #083a3044;border-radius:26px;white-space:nowrap;font-size:12px;font-weight:800;width:86px;height:37px}
.leaflet-popup-content-wrapper{border-radius:13px!important;padding:0!important;overflow:hidden;box-shadow:0 6px 26px #163c3150!important}
.leaflet-popup-content{margin:0!important;width:260px!important}
.pin-popup-link{display:block;color:#24372f!important;text-decoration:none!important}
.pin-popup img{display:block;width:100%;height:130px;object-fit:cover}
.pin-popup-content{padding:12px;display:flex;flex-direction:column;gap:5px}
.pin-popup-price{font-size:16px;font-weight:850;color:#086d5c}
.pin-popup-content strong{font-size:13px;line-height:1.3}
.pin-popup-content small{font-size:11px;color:#66837a}
.pin-location-note{color:#496d60!important}
.pin-demo-note{color:#926830!important;font-weight:800}
.pin-view-link{color:#117a6c;font-weight:800;font-size:12px;margin-top:4px}
.mobile-results-toggle{display:none}
.map-editor-panel{background:#fbfdfc!important;border-color:#d5e9e1!important}
.location-picker{height:350px;border-radius:12px;overflow:hidden;border:1px solid #d4e4dd;margin:15px 0}
.map-coord-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.map-coord-row .field{flex:1 1 160px}
.map-coord-row .button{margin-bottom:2px}
.property-mini-map{height:255px;border-radius:12px;border:1px solid #d8e5de;overflow:hidden}
.admin-location-map{height:480px;border-radius:15px;border:1px solid #d9e7df;margin:17px 0}
.map-empty{padding:25px;font-size:14px;color:#677e73}
.map-fallback-inline{padding:24px;text-align:center;background:#f6f8f5}
@media(max-width:1050px){.map-main{padding:0 14px}.map-workspace{grid-template-columns:minmax(275px,37%) 1fr}.map-toolbar label:not(.map-search-text):not(.map-tour-check){flex:1 0 100px}.map-result-photo{width:100px;height:110px}}
@media(max-width:760px){.map-hero-line{padding:14px 0 8px}.map-headline h1{font-size:28px}.map-headline .muted{font-size:12px}.map-toolbar{padding:8px;gap:6px}.map-toolbar .map-search-text{flex:1 1 100%}.map-toolbar label:not(.map-search-text):not(.map-tour-check){flex:1 1 calc(33.333% - 6px)}.map-toolbar .map-tour-check{flex:1}.map-filter-submit{flex:1}.map-workspace{display:block;height:calc(100dvh - 340px);min-height:440px;margin-bottom:10px}.map-stage{height:100%;border-radius:16px}.map-results{position:absolute;bottom:0;left:0;right:0;height:min(62%,450px);z-index:650;border-radius:15px 15px 0 0;box-shadow:0 -7px 28px #152d2538;transform:translateY(102%);transition:transform .2s ease}.map-workspace.mobile-list-open .map-results{transform:translateY(0)}.map-workspace.mobile-list-open .map-stage{filter:brightness(.94)}.mobile-results-toggle{display:flex;align-items:center;justify-content:center;position:absolute;z-index:700;bottom:14px;left:50%;transform:translateX(-50%);padding:12px 20px!important;border-radius:22px!important;white-space:nowrap;box-shadow:0 7px 22px #1246344f}.map-workspace.mobile-list-open .mobile-results-toggle{bottom:min(62%,450px);border-radius:13px 13px 0 0!important}.map-legend{bottom:58px;left:10px;right:10px;font-size:9px;max-width:max-content}.map-floating-controls{top:12px}.map-floating{font-size:10px!important;padding:9px 12px!important}.result-scroll{min-height:120px}.map-results .results-head{padding:12px}.map-result-photo{width:112px;height:102px}.map-result-link{padding:11px}.page-map-home footer{display:none}}
@media(max-width:420px){.map-toolbar label:not(.map-search-text):not(.map-tour-check){flex:1 1 calc(50% - 6px)}.map-workspace{height:calc(100dvh - 390px);min-height:390px}.map-hero-line .muted{display:none}}
