/* CLEARDOOR — NEW CONSTRUCTION HUB
================================================================ */

/* ══ NEW CONSTRUCTION HUB ══ */
.nc-hero{background:linear-gradient(135deg,#0a1f3d 0%,#1a3d72 50%,#0d5fa3 100%);padding:4rem 5% 3rem;position:relative;overflow:hidden;}
.nc-hero::before{content:'🏗️';position:absolute;right:5%;top:50%;transform:translateY(-50%);font-size:8rem;opacity:.08;}
.nc-hero h1{color:#fff;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;margin-bottom:.7rem;}
.nc-hero h1 em{color:var(--sky);font-style:normal;}
.nc-hero p{color:rgba(255,255,255,.68);font-size:.98rem;max-width:560px;line-height:1.7;}
.nc-toolbar{background:#fff;border-bottom:1px solid var(--border);padding:1rem 5%;position:sticky;top:var(--nav-h);z-index:50;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;}
.nc-filter{display:flex;flex-direction:column;gap:.2rem;min-width:120px;flex:1;}
.nc-filter label{font-size:.68rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.4px;}
.nc-filter select{border:1.5px solid var(--border);border-radius:8px;padding:.42rem .6rem;font-size:.82rem;color:var(--navy);outline:none;background:#fff;}
.nc-filter select:focus{border-color:var(--sky);}
.nc-toggle{display:flex;background:var(--light);border:1.5px solid var(--border);border-radius:10px;overflow:hidden;flex-shrink:0;align-self:flex-end;}
.nc-toggle button{background:none;border:none;padding:.42rem .9rem;font-size:.78rem;font-weight:600;color:var(--gray);cursor:pointer;transition:all .18s;}
.nc-toggle button.active{background:var(--sky);color:#fff;}
.nc-apply{background:var(--sky);color:#fff;border:none;padding:.42rem 1.2rem;border-radius:8px;font-weight:700;font-size:.82rem;cursor:pointer;align-self:flex-end;transition:background .2s;}
.nc-apply:hover{background:var(--blue);}
.nc-layout{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - var(--nav-h) - 61px);}
@media(max-width:900px){.nc-layout{grid-template-columns:1fr;}}
.nc-map-panel{background:#e8f2ff;position:sticky;top:calc(var(--nav-h) + 61px);height:calc(100vh - var(--nav-h) - 61px);overflow:hidden;border-right:1px solid var(--border);}
.nc-map-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:2rem;}
.nc-map-svg{width:100%;max-width:280px;filter:drop-shadow(0 4px 24px rgba(15,35,66,.15));}
.map-city{cursor:pointer;transition:all .2s;}
.map-city:hover .city-circle{r:14;}
.city-circle{transition:r .2s;}
.nc-listings-panel{background:var(--light);overflow-y:auto;}
.nc-results-bar{background:#fff;border-bottom:1px solid var(--border);padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.nc-count{font-size:.84rem;font-weight:600;color:var(--gray);}
.nc-count strong{color:var(--navy);}
.nc-sort{border:1.5px solid var(--border);border-radius:8px;padding:.32rem .6rem;font-size:.8rem;color:var(--navy);outline:none;}
.nc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem;padding:1.2rem;}
.nc-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--border);transition:all .25s;cursor:pointer;}
.nc-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(15,35,66,.12);}
.nc-card-img{height:160px;position:relative;display:flex;align-items:center;justify-content:center;font-size:3.5rem;overflow:hidden;}
.nc-card-status{position:absolute;top:.6rem;left:.6rem;border-radius:6px;padding:.18rem .55rem;font-size:.65rem;font-weight:700;color:#fff;}
.nc-card-fav{position:absolute;top:.6rem;right:.6rem;background:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12);}
.nc-card-body{padding:.95rem 1.05rem 1.1rem;}
.nc-card-builder{font-size:.68rem;font-weight:700;color:var(--sky);text-transform:uppercase;letter-spacing:.4px;margin-bottom:.2rem;}
.nc-card-name{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:.15rem;}
.nc-card-loc{font-size:.75rem;color:var(--gray);margin-bottom:.5rem;}
.nc-card-price{font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:.3rem;}
.nc-card-specs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;}
.nc-card-spec{background:var(--light);border-radius:6px;padding:.18rem .5rem;font-size:.7rem;font-weight:600;color:var(--navy);}
.nc-card-btns{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
.nc-btn{border-radius:8px;padding:.4rem .5rem;font-size:.73rem;font-weight:700;cursor:pointer;transition:all .18s;border:none;text-align:center;}
.nc-btn-p{background:var(--sky);color:#fff;}
.nc-btn-p:hover{background:var(--blue);}
.nc-btn-s{background:var(--light);border:1px solid var(--border);color:var(--navy);}
.nc-btn-s:hover{border-color:var(--sky);color:var(--sky);}
.compare-bar{position:sticky;bottom:0;background:var(--navy);color:#fff;padding:.7rem 1.5rem;display:none;align-items:center;gap:1rem;flex-wrap:wrap;z-index:40;}
.compare-bar.visible{display:flex;}
.compare-bar .cb-items{display:flex;gap:.5rem;flex:1;flex-wrap:wrap;}
.compare-chip{background:rgba(255,255,255,.12);border-radius:8px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.4rem;}
.compare-chip button{background:none;border:none;color:rgba(255,255,255,.6);cursor:pointer;font-size:.75rem;}
.cb-cta{background:var(--sky);color:#fff;border:none;padding:.4rem 1rem;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap;}