*{margin:0;padding:0;box-sizing:border-box;}
/* Icon utility — reusable SVG symbols */
.icn{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;}
.icn-sm{width:16px;height:16px;}
.icn-lg{width:24px;height:24px;}
.icn-xl{width:28px;height:28px;}
.qa-icn{color:var(--t);}
.qa-btn:hover .qa-icn{color:var(--td);}
:root{
  --t:#1a7a6e;--td:#125a51;--tl:#d0ece9;
  --g:#c09a4a;--gl:#f5ecd4;
  --cr:#f9f5ee;--sa:#e8dcc8;
  --ink:#1a1a1a;--mu:#6b6b6b;
  --wh:#fff;--red:#d9534f;--gr:#2e7d4f;--pu:#6b4fa0;
}
body{font-family:'DM Sans',sans-serif;background:var(--cr);color:var(--ink);}

/* NAV */
nav{display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--td);position:sticky;top:0;z-index:500;gap:12px;flex-wrap:wrap;box-shadow:0 2px 16px rgba(0,0,0,.22);min-height:64px;}
.logo{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:#fff;cursor:pointer;letter-spacing:-.8px;padding:12px 0;line-height:1;}
.logo span{color:#f0d070;}
.logo-sub{font-size:9px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:2px;text-transform:uppercase;display:block;margin-top:1px;}
.nl{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:8px 0;}
.nlk{background:none;border:none;color:rgba(255,255,255,.85);font-size:13px;cursor:pointer;padding:7px 11px;border-radius:8px;font-family:'DM Sans',sans-serif;transition:background .15s;font-weight:500;}
.nlk:hover{background:rgba(255,255,255,.12);color:#fff;}

/* NAV BUTTONS — on dark background */
.btn-nav-login{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;}
.btn-nav-login:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-nav-signup{background:#fff;color:var(--td);border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;}
.btn-nav-signup:hover{background:var(--gl);color:var(--td);}
.btn-nav-post{background:transparent;color:#f0d070;border:1.5px solid rgba(240,208,112,.6);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;display:inline-flex;align-items:center;gap:6px;}
.btn-nav-post:hover{background:rgba(240,208,112,.12);border-color:#f0d070;}
.btn-nav-post .free-tag{background:#f0d070;color:var(--td);font-size:10px;padding:1px 6px;border-radius:4px;font-weight:800;letter-spacing:.4px;}
.btn-nav-logout{background:transparent;color:rgba(255,255,255,.7);border:1.5px solid rgba(255,255,255,.25);border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .18s;}
.btn-nav-logout:hover{background:rgba(255,255,255,.1);color:#fff;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--t);color:#fff;border:none;border-radius:9px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .18s;white-space:nowrap;}
.btn:hover{background:var(--td);}
.btn-o{background:transparent;color:var(--t);border:2px solid var(--t);}
.btn-o:hover{background:var(--tl);}
.btn-g{background:var(--g);}.btn-g:hover{background:#a07830;}
.btn-gr{background:var(--gr);}.btn-r{background:var(--red);}.btn-p{background:var(--pu);}
.btn-w{background:var(--wh);color:var(--t);}
.btn-sm{padding:6px 13px;font-size:12px;}
.btn-bl{width:100%;padding:12px;margin-top:4px;}

.preset-chip{font-size:11px;padding:3px 9px;border-radius:50px;background:var(--cr);border:1px solid var(--sa);cursor:pointer;color:var(--ink);transition:all .15s;white-space:nowrap;}
.preset-chip:hover{background:var(--tl);border-color:var(--t);color:var(--td);}
/* ROLE CARDS (register) */
.role-card{border:2px solid var(--sa);border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .18s;background:var(--wh);}
.role-card:hover{border-color:var(--tl);background:var(--cr);}
.role-card.on{border-color:var(--t);background:var(--tl);}
.role-card.on .ps-bar,div.role-card.on>div:nth-child(2){color:var(--td);}
/* Password strength bars */
.ps-bar{flex:1;height:3px;border-radius:2px;background:var(--sa);transition:background .2s;}
/* PAGES */
.page{display:none;min-height:80vh;}.page.active{display:block;}

/* HERO */
.hero{background:linear-gradient(135deg,#0d4a44 0%,#1a7a6e 55%,#2e7d4f 100%);padding:52px 60px 52px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-120px;right:-120px;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.04);}
.hero::after{content:'';position:absolute;bottom:-80px;left:-80px;width:360px;height:360px;border-radius:50%;background:rgba(192,154,74,.08);}
.hero-in{position:relative;z-index:1;max-width:1200px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(192,154,74,.2);border:1px solid rgba(192,154,74,.4);color:#f0d080;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;padding:5px 14px;border-radius:50px;margin-bottom:18px;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(30px,5vw,58px);line-height:1.1;color:#fff;margin-bottom:12px;}
.hero h1 em{color:#f0d080;font-style:italic;}
.hero-sub{font-size:16px;color:rgba(255,255,255,.78);max-width:500px;margin-bottom:28px;line-height:1.7;}

/* HERO 2-COL LAYOUT */
.hero-text{} /* left column */
.hero-right{} /* right column — search box fills it */
.hero-right .srch-box{max-width:100%;}
.hero-right .stats-strip{max-width:100%;}

/* SEARCH BOX — rigid row layout, iOS-proof */
.srch-box{background:var(--wh);border-radius:16px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.2);max-width:720px;}
.mode-bar{display:flex;}
.mb-btn{flex:1;padding:13px;border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;background:var(--cr);color:var(--mu);border-bottom:3px solid transparent;}
.mb-btn.ar{background:var(--t);color:#fff;border-bottom-color:var(--td);}
.mb-btn.ab{background:var(--g);color:#fff;border-bottom-color:#a07830;}
/* CITY AUTOCOMPLETE */
.ac-wrap{position:relative;width:100%;}
.ac-list{position:absolute;top:calc(100% + 2px);left:-14px;right:-14px;background:#fff;border:1px solid var(--sa);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:200;max-height:220px;overflow-y:auto;display:none;}
.ac-list.open{display:block;}
.ac-item{padding:10px 14px;font-size:13px;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--cr);}
.ac-item:last-child{border-bottom:none;}
.ac-item:hover,.ac-item.hi{background:var(--tl);color:var(--td);}
.ac-item .ac-pin{font-size:14px;flex-shrink:0;}
.ac-item .ac-name{font-weight:600;}
.ac-item .ac-state{font-size:11px;color:var(--mu);margin-left:auto;}

/* FILTER CITY AUTOCOMPLETE (in sidebar) */
.fc-wrap{position:relative;}
.fc-wrap .ac-list{left:0;right:0;top:100%;}

/* Each search row: label left, input right, fixed height */
.srow{display:grid;grid-template-columns:90px 1fr;align-items:center;height:48px;border-bottom:1px solid var(--sa);padding:0 14px;gap:8px;}
.slbl{font-size:10px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;}
.sinp{border:none;outline:none;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:transparent;width:100%;height:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;}
.sinp::placeholder{color:#aaa;}
.smore-btn{display:none;width:100%;background:none;border:none;border-bottom:1px solid var(--sa);padding:10px 14px;font-size:12px;font-weight:700;color:var(--t);cursor:pointer;font-family:'DM Sans',sans-serif;text-align:left;}
.sgo-btn{display:block;width:100%;padding:14px;background:var(--t);color:#fff;border:none;font-size:15px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:.3px;}
.sgo-btn.buy{background:var(--g);}
.sgo-btn:hover{opacity:.92;}

/* STATS STRIP */
.stats-strip{display:flex;gap:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;margin-top:24px;overflow:hidden;max-width:480px;}
.ss{flex:1;padding:13px 16px;color:#fff;text-align:center;border-right:1px solid rgba(255,255,255,.1);}
.ss:last-child{border-right:none;}
.ss-n{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:#f0d080;}
.ss-l{font-size:11px;opacity:.7;margin-top:1px;}

/* SECTIONS */
.sec{padding:44px 60px;}
.sec-w{background:var(--wh);}
.sec-dk{background:var(--ink);}
.sec-tag{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--g);font-weight:700;margin-bottom:6px;}
.sec h2{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,34px);color:var(--ink);margin-bottom:24px;line-height:1.2;}
.sec-dk h2{color:#fff;}
.sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
.sec-hdr h2{margin-bottom:0;}

/* CITY CARDS */
.city-row{display:flex;gap:12px;flex-wrap:wrap;}
.city-cd{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;height:150px;flex:1 1 140px;min-width:130px;}
.city-cd img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.city-cd:hover img{transform:scale(1.06);}
.city-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.05));display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:10px;}
.city-ov span{color:#fff;font-weight:700;font-size:13px;font-family:'Playfair Display',serif;}
.city-ov small{color:rgba(255,255,255,.7);font-size:10px;}

/* GRIDS */
.g3{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
.g4{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;}

/* PROPERTY CARD — 99acres style: tall image, status bar, dual CTA */
/* ── PROPERTY CARD (99acres-style) ── */
.pc{background:var(--wh);border-radius:12px;border:1px solid var(--sa);overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.05);display:flex;flex-direction:column;}
.pc:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1);}
/* Image container — aspect-ratio locks proportions; object-fit:cover shows full content best */
.pc-img{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f3f3f3;flex-shrink:0;}
.pc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.pc:hover .pc-img img{transform:scale(1.04);}
.pc-no-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tl),var(--cr));}
/* Photo count pill top-right of image (below heart) */
.pc-photo-cnt{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:50px;z-index:3;display:flex;align-items:center;gap:4px;font-family:'DM Sans',sans-serif;}
.pc-photo-cnt .icn{width:13px;height:13px;}
/* Blur overlay for locked photos */
.pc-blur{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:4;padding:16px;}
.pc-blur p{font-size:12px;color:#fff;text-align:center;line-height:1.4;font-weight:500;}
/* Arrows */
.arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:all .15s;}
.arr:hover{background:rgba(0,0,0,.85);transform:translateY(-50%) scale(1.08);}
.arr.l{left:10px;}.arr.r{right:10px;}
/* Rent/Sale badge top-left of image */
.tbdg{position:absolute;top:10px;left:10px;font-size:10px;font-weight:700;padding:4px 11px;border-radius:50px;z-index:3;letter-spacing:.4px;text-transform:uppercase;}
.tbdg.rent{background:var(--t);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);}
.tbdg.buy{background:var(--g);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);}
/* Heart */
.fave-btn{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;transition:all .2s;color:#fff;}
.fave-btn:hover{background:rgba(0,0,0,.7);transform:scale(1.08);}
.fave-btn[aria-pressed="true"]{background:rgba(255,255,255,.95);color:#d9534f;}
/* Body section */
.pc-body{padding:14px 16px 12px;flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;}
/* Top row: title + inline badges */
.pc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0;}
.pc-title{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;line-height:1.25;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.pc-badges{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:50%;}
.pc-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;letter-spacing:.2px;}
.pc-badge.new{background:#fff3e0;color:#c55a00;}
.pc-badge.verified{background:#e4f5ea;color:var(--gr);}
.pc-badge.rera{background:var(--tl);color:var(--td);}
.pc-badge .icn{width:11px;height:11px;}
/* Location row (building + locality + city) */
.pc-loc{font-size:12px;color:var(--mu);display:flex;align-items:flex-start;gap:4px;line-height:1.4;overflow:hidden;}
.pc-loc .icn{width:13px;height:13px;flex-shrink:0;margin-top:2px;color:var(--t);}
.pc-loc strong{color:var(--ink);font-weight:600;}
/* Specs row (BHK · sqft · type · furnishing) */
.pc-specs{font-size:12px;color:var(--ink);line-height:1.5;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.pc-specs strong{color:var(--ink);font-weight:700;}
.pc-specs .pc-dot{color:var(--mu);opacity:.6;font-weight:700;}
/* Price row — the big focal point */
.pc-price-row{display:flex;align-items:baseline;gap:10px;padding-top:4px;border-top:1px dashed var(--sa);margin-top:auto;flex-wrap:wrap;}
.pc-price{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:800;color:var(--t);line-height:1.1;}
.pc-price.buy{color:var(--g);}
.pc-price-unit{font-size:12px;font-weight:600;color:var(--mu);margin-left:2px;}
.pc-deposit{font-size:11px;color:var(--mu);font-weight:500;}
/* Tags */
.pc-tags{display:flex;gap:5px;flex-wrap:wrap;}
.pc-tag{font-size:10px;padding:2px 8px;border-radius:50px;background:var(--cr);color:var(--td);font-weight:600;border:1px solid var(--sa);}
/* Footer actions */
.pc-footer{display:flex;border-top:1px solid var(--sa);}
.pc-btn-sec,.pc-btn-pri,.pc-btn-report{padding:11px 8px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;}
.pc-btn-sec{flex:1;background:transparent;color:var(--t);border-right:1px solid var(--sa);}
.pc-btn-sec:hover{background:var(--tl);}
.pc-btn-pri{flex:1;background:var(--t);color:#fff;}
.pc-btn-pri:hover{background:var(--td);}
.pc-btn-pri.buy{background:var(--g);}
.pc-btn-pri.buy:hover{background:#a07830;}
.pc-btn-report{width:44px;background:transparent;color:#bbb;border-left:1px solid var(--sa);flex-shrink:0;}
.pc-btn-report:hover{color:var(--red);background:#fff5f5;}
.pc-btn-sec .icn,.pc-btn-pri .icn,.pc-btn-report .icn{width:14px;height:14px;}

/* HOW IT WORKS */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.how::before{content:'';position:absolute;top:26px;left:28px;right:28px;height:2px;background:linear-gradient(90deg,var(--tl),var(--sa));z-index:0;}
.hw{text-align:center;position:relative;z-index:1;padding:0 12px;}
.hw-dot{width:52px;height:52px;border-radius:50%;background:var(--t);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 14px;border:4px solid var(--wh);box-shadow:0 0 0 2px var(--tl);}
.hw h3{font-family:'Playfair Display',serif;font-size:14px;margin-bottom:5px;}
.hw p{font-size:12px;color:var(--mu);line-height:1.6;}

/* WHY */
.why{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.why-img{border-radius:16px;overflow:hidden;height:400px;background:linear-gradient(135deg,var(--tl),var(--sa));display:flex;align-items:center;justify-content:center;font-size:80px;}
.why-pts{display:flex;flex-direction:column;gap:18px;}
.wp{display:flex;gap:13px;align-items:flex-start;}
.wp-ic{width:42px;height:42px;border-radius:11px;background:var(--tl);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.wp h4{font-size:14px;font-weight:700;margin-bottom:2px;}
.wp p{font-size:13px;color:var(--mu);line-height:1.6;}

/* TESTIMONIALS */
.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;}
.test{background:var(--wh);border-radius:13px;padding:20px;border:1px solid var(--sa);}
.test q{display:block;font-size:13px;line-height:1.7;margin-bottom:14px;color:var(--ink);font-style:italic;}
.test-av{display:flex;align-items:center;gap:10px;}
.av-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.av-name{font-size:13px;font-weight:700;}
.av-loc{font-size:11px;color:var(--mu);}

/* JOIN CARDS */
.join-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.jc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:22px;cursor:pointer;transition:background .2s;}
.jc:hover{background:rgba(255,255,255,.13);}
.jc .ji{font-size:28px;margin-bottom:10px;}
.jc h3{font-size:15px;font-weight:700;color:#fff;margin-bottom:5px;}
.jc p{font-size:12px;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:12px;}

/* CTA BAND */
.cta-band{background:linear-gradient(135deg,var(--t),var(--td));padding:56px 60px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,36px);color:#fff;margin-bottom:8px;}
.cta-band p{color:rgba(255,255,255,.75);font-size:15px;max-width:480px;}
.cta-btns{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;}

/* BROWSE */
.browse-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 57px);}
.filter-panel{background:var(--wh);border-right:1px solid var(--sa);position:sticky;top:0;height:100%;overflow-y:auto;display:flex;flex-direction:column;}
.fp-head{padding:14px 18px;border-bottom:1px solid var(--sa);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.fp-head h3{font-family:'Playfair Display',serif;font-size:16px;}
.fp-body{padding:0 18px 20px;overflow-y:auto;}
.fs{padding:14px 0;border-bottom:1px solid var(--sa);}
.fs:last-child{border-bottom:none;}
.fs h4{font-size:11px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.8px;margin-bottom:9px;}
.fs input,.fs select{width:100%;border:1.5px solid var(--sa);border-radius:8px;padding:8px 10px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;background:var(--wh);box-sizing:border-box;transition:border-color .18s;}
.fs input:focus,.fs select:focus{border-color:var(--t);}
.rr{display:flex;gap:6px;align-items:center;}
.rr input{flex:1;}
.rsep{font-size:12px;color:var(--mu);flex-shrink:0;}
.chips{display:flex;flex-wrap:wrap;gap:5px;}
.ck{font-size:12px;padding:5px 10px;border-radius:7px;border:1.5px solid var(--sa);cursor:pointer;background:var(--wh);color:var(--mu);font-weight:500;transition:all .15s;user-select:none;}
.ck:hover{border-color:var(--tl);}
.ck.on{border-color:var(--t);background:var(--tl);color:var(--td);font-weight:700;}
.amen-chips{display:flex;flex-wrap:wrap;gap:5px;}
.ac{font-size:11px;padding:4px 9px;border-radius:6px;border:1.5px solid var(--sa);cursor:pointer;background:var(--wh);color:var(--mu);transition:all .15s;user-select:none;}
.ac:hover{border-color:var(--tl);}
.ac.on{border-color:var(--t);background:var(--tl);color:var(--td);font-weight:700;}

/* LISTINGS AREA */
.list-area{background:var(--cr);display:flex;flex-direction:column;}
.list-topbar{padding:12px 22px;background:var(--wh);border-bottom:1px solid var(--sa);display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0;}
.browse-mode{display:flex;border:1.5px solid var(--sa);border-radius:9px;overflow:hidden;}
.bm-btn{padding:8px 18px;border:none;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;cursor:pointer;background:var(--wh);color:var(--mu);transition:all .18s;}
.bm-btn.ar{background:var(--t);color:#fff;}
.bm-btn.ab{background:var(--g);color:#fff;}
.sort-sel{border:1.5px solid var(--sa);border-radius:8px;padding:7px 10px;font-size:12px;font-family:'DM Sans',sans-serif;outline:none;background:var(--wh);}
#bCount{font-size:13px;color:var(--mu);}
.active-chips{padding:8px 22px;background:var(--wh);border-bottom:1px solid var(--sa);display:none;flex-wrap:wrap;gap:7px;align-items:center;}
.chip{display:inline-flex;align-items:center;gap:5px;background:var(--tl);color:var(--td);font-size:12px;font-weight:600;padding:4px 11px;border-radius:50px;border:1px solid var(--t);cursor:pointer;font-family:'DM Sans',sans-serif;}
.chip:hover{background:#b8dbd7;}
.chip-clear-all{background:var(--red);color:#fff;border-color:var(--red);}
.chip-clear-all:hover{background:#b03030;}
.list-grid{padding:20px 22px;}

/* MODAL */
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:600;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;}
.mo.open{display:flex;}
.mb{background:var(--wh);border-radius:18px;padding:26px;width:100%;max-width:540px;margin:auto;}
.mb-lg{max-width:680px;}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.mh h2{font-family:'Playfair Display',serif;font-size:20px;}
.mc{background:none;border:none;cursor:pointer;font-size:22px;color:var(--mu);padding:4px;}

/* ROLE TABS */
.rtabs{display:flex;border:1.5px solid var(--sa);border-radius:10px;overflow:hidden;margin-bottom:16px;}
.rtab{flex:1;padding:10px;text-align:center;cursor:pointer;font-size:13px;font-weight:600;background:var(--wh);border:none;font-family:'DM Sans',sans-serif;color:var(--mu);transition:all .18s;}
.rtab.on{background:var(--t);color:#fff;}

/* FORM */
.fg{margin-bottom:14px;}
.flbl{display:block;font-size:11px;font-weight:700;color:var(--mu);margin-bottom:4px;text-transform:uppercase;letter-spacing:.7px;}
.fi{width:100%;border:1.5px solid var(--sa);border-radius:9px;padding:10px 12px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;background:var(--wh);box-sizing:border-box;transition:border-color .18s;}
.fi:focus{border-color:var(--t);}
textarea.fi{resize:vertical;height:72px;}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.s2{grid-column:1/-1;}

/* ALERTS */
.al{padding:10px 13px;border-radius:9px;font-size:13px;margin-bottom:12px;line-height:1.5;}
.ali{background:var(--tl);color:var(--td);}
.alw{background:var(--gl);color:#7a5a10;}
.ale{background:#fde8e8;color:var(--red);}
.alp{background:#f0eaf8;color:var(--pu);}
.alg{background:#e4f5ea;color:var(--gr);}

/* ADMIN */
.atabs{display:flex;gap:4px;background:var(--wh);padding:5px;border-radius:11px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:22px;}
.atab{padding:8px 14px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;background:transparent;color:var(--mu);border-radius:7px;transition:all .18s;white-space:nowrap;}
.atab.on{background:var(--t);color:#fff;}
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th{padding:9px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;background:var(--cr);border-bottom:1px solid var(--sa);}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--sa);vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.pill{display:inline-block;padding:2px 9px;border-radius:50px;font-size:11px;font-weight:700;}
.pill-g{background:#e4f5ea;color:var(--gr);}
.pill-y{background:var(--gl);color:var(--g);}
.pill-r{background:#fde8e8;color:var(--red);}
.pill-b{background:var(--tl);color:var(--td);}
.pill-p{background:#f0eaf8;color:var(--pu);}

/* LIST ROW */
.li{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--wh);border-radius:12px;border:1px solid var(--sa);margin-bottom:8px;flex-wrap:wrap;}
.li-in{flex:1;min-width:110px;}
.li-in strong{display:block;font-size:14px;margin-bottom:1px;}
.li-in span{font-size:12px;color:var(--mu);}
.li-ac{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}

/* IMAGE UPLOAD */
.dz{border:2px dashed var(--sa);border-radius:11px;padding:24px;text-align:center;cursor:pointer;transition:all .18s;background:var(--cr);}
.dz:hover,.dz.drag{border-color:var(--t);background:var(--tl);}
.img-pv{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.ip{position:relative;width:74px;height:74px;}
.ip img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--sa);}
.ip button{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;border:none;border-radius:50%;width:18px;height:18px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;}
.free-lbl{position:absolute;bottom:-2px;left:0;right:0;text-align:center;font-size:9px;font-weight:700;color:var(--gr);}

/* TAG/AMEN PICKER */
.tp{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.tg{font-size:12px;padding:5px 11px;border-radius:50px;cursor:pointer;border:1.5px solid var(--sa);background:var(--wh);color:var(--mu);font-weight:600;transition:all .15s;}
.tg.on{border-color:var(--t);background:var(--tl);color:var(--td);}

/* DETAIL VIEW */
.dv-img{position:relative;height:420px;border-radius:12px;overflow:hidden;background:#0a0a0a;margin-bottom:4px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;}
.dv-img img{width:100%;height:100%;object-fit:contain;transition:transform .15s ease;transform-origin:center center;will-change:transform;cursor:zoom-in;position:relative;z-index:2;}
.dv-img::before{content:'';position:absolute;inset:0;background-image:var(--dv-bg,none);background-size:cover;background-position:center;filter:blur(22px) brightness(.65);transform:scale(1.2);z-index:1;}
.dv-img img.zoomed{cursor:grab;}
.dv-img-counter{text-align:center;font-size:12px;color:var(--mu);margin-bottom:12px;font-family:'DM Sans',sans-serif;}
/* Listing map */
.listing-map-wrap{margin:16px 0;border-radius:12px;overflow:hidden;border:1px solid var(--sa);}
.listing-map-wrap h4{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;color:var(--ink);padding:10px 14px 0;margin:0;}
.listing-map{height:200px;width:100%;z-index:0;}
.dv-blur{position:absolute;inset:0;backdrop-filter:blur(12px);background:rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.dv-blur p{font-size:13px;color:#fff;font-weight:600;text-align:center;padding:0 20px;}
.info-g{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px;}
.ic{padding:10px 12px;background:var(--cr);border-radius:9px;}
.ic .ll{font-size:10px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.7px;margin-bottom:2px;}
.ic strong{font-size:13px;}
.lock-box{background:var(--cr);border:2px dashed var(--sa);border-radius:11px;padding:22px;text-align:center;margin-bottom:13px;}
.lock-box p{font-size:13px;color:var(--mu);margin:8px 0 12px;line-height:1.5;}

/* BADGES */
.brk-b{display:inline-flex;align-items:center;gap:4px;background:#f0eaf8;color:var(--pu);font-size:11px;font-weight:700;padding:2px 9px;border-radius:50px;}
.own-b{display:inline-flex;align-items:center;gap:4px;background:var(--gl);color:var(--g);font-size:11px;font-weight:700;padding:2px 9px;border-radius:50px;}

/* TOAST */
#toast{position:fixed;bottom:20px;right:20px;padding:12px 18px;border-radius:10px;font-size:13px;font-weight:600;color:#fff;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,.2);transform:translateY(80px);transition:transform .3s;max-width:300px;pointer-events:none;}
#toast.show{transform:translateY(0);}
#toast.s{background:var(--gr);}
#toast.e{background:var(--red);}
#toast.i{background:var(--pu);}

footer{background:var(--ink);color:rgba(255,255,255,.45);padding:22px 60px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;}
.fl{font-family:'Playfair Display',serif;font-size:18px;color:#fff;}.fl span{color:var(--g);}

@media(max-width:900px){
  #mobFBtn{display:flex!important;}
  .srow-sec{display:none;}
  .smore-btn{display:block!important;}
  .browse-layout{grid-template-columns:1fr;}
  .filter-panel{position:static;height:auto;display:none;}
  .filter-panel.mob-open{display:flex;}
  .hero{padding:36px 18px 36px;}
  .hero-in{grid-template-columns:1fr;gap:28px;}
  .hero-right .srch-box{max-width:100%;}
  .sec,.cta-band{padding:40px 20px;}
  .how{grid-template-columns:1fr 1fr;}
  .why{grid-template-columns:1fr;}
  .fg2{grid-template-columns:1fr;} .s2{grid-column:auto;}
  footer{padding:20px;}
  .g3{grid-template-columns:1fr;}
  .g4{grid-template-columns:repeat(2,1fr);}
  .city-row{gap:8px;}
  .city-cd{height:100px;flex:1 1 100px;}
  .hero h1{font-size:28px;}
  nav{padding:0 16px;}
  .logo{font-size:22px;}
  .btn-nav-post .free-tag{display:none;}
  .cta-band{flex-direction:column;text-align:center;}
  .sec-hdr{flex-direction:column;align-items:flex-start;}
  .join-grid{grid-template-columns:1fr 1fr;}
  .test-grid{grid-template-columns:1fr;}
  .pc-img{aspect-ratio:16/10;}
  .pc-variants{overflow-x:auto;}
  .info-g{grid-template-columns:1fr;}
  .stats-strip{max-width:100%;}
  .browse-layout{min-height:auto;}
  .list-topbar{padding:10px 14px;}
  .list-grid{padding:14px;}
}
@media(max-width:480px){
  #mobFBtn{display:flex!important;}
  nav{padding:0 12px;}
  .hero{padding:24px 14px 28px;}
  .hero-in{grid-template-columns:1fr;}
  .hero h1{font-size:24px;line-height:1.15;}
  .hero-sub{font-size:14px;margin-bottom:18px;}
  .hero-badge{font-size:10px;padding:4px 12px;margin-bottom:12px;}
  .stats-strip{display:none;}
  .srch-box{border-radius:12px;}
  .hero::before,.hero::after{display:none;}
  .nl{gap:3px;}
  .btn-nav-login{padding:6px 12px;font-size:12px;}
  .btn-nav-signup{padding:6px 12px;font-size:12px;}
  .btn-nav-post{padding:6px 10px;font-size:12px;}
  .logo{font-size:20px;}
  .hero{padding:32px 14px 32px;}
  .g4{grid-template-columns:repeat(2,1fr);}
  .how{grid-template-columns:1fr;}
  .join-grid{grid-template-columns:1fr;}
  .stats-strip{flex-direction:column;border-radius:10px;}
  .ss{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}
  .ss:last-child{border-bottom:none;}
  .fg2{grid-template-columns:1fr;}
  .mb{padding:20px 16px;}
  .mb-lg{max-width:100%;}
  .sec{padding:32px 14px;}
  .cta-band{padding:36px 14px;}
  footer{padding:18px 14px;flex-direction:column;text-align:center;}
  .atabs{overflow-x:auto;}
  .atab{flex-shrink:0;}
}
/* Loading spinner */
.mk-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;}
.mk-spinner::before{content:'';width:36px;height:36px;border:3px solid var(--sa);border-top-color:var(--t);border-radius:50%;animation:mk-spin .7s linear infinite;}
@keyframes mk-spin{to{transform:rotate(360deg);}}
.mk-spinner-text{font-size:13px;color:var(--mu);font-family:'DM Sans',sans-serif;}
/* Error state */
.mk-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;text-align:center;}
.mk-error-icon{font-size:40px;}
.mk-error-msg{font-size:14px;color:var(--mu);max-width:360px;line-height:1.6;}
.mk-error-retry{font-size:13px;color:var(--t);cursor:pointer;font-weight:700;background:none;border:none;font-family:'DM Sans',sans-serif;text-decoration:underline;}
/* Empty state */
.mk-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:10px;text-align:center;grid-column:1/-1;}
.mk-empty-icon{font-size:48px;}
.mk-empty-title{font-family:'Playfair Display',serif;font-size:18px;color:var(--ink);}
.mk-empty-sub{font-size:13px;color:var(--mu);max-width:320px;line-height:1.6;}
/* Load More */
.mk-load-more{grid-column:1/-1;text-align:center;padding:24px 0 8px;}
.mk-load-more button{padding:12px 36px;border:2px solid var(--t);background:transparent;color:var(--t);font-size:14px;font-weight:700;font-family:'DM Sans',sans-serif;border-radius:10px;cursor:pointer;transition:background .15s,color .15s;}
.mk-load-more button:hover{background:var(--t);color:#fff;}
.mk-load-more-count{font-size:12px;color:var(--mu);margin-top:8px;}