:root{
  --immo-primary:#0f6fff; --immo-dark:#0a0f1a; --immo-accent:#00d1b2; --immo-gold:#eac24b;
  --hero-url: url('https://images.unsplash.com/photo-1494526585095-c41746248156?q=80&w=1600&auto=format&fit=crop');
  --bg: linear-gradient(180deg,#f7f9fc, #eef3ff 60%, #f7f9fc); --card-bg: rgba(255,255,255,.8);
  --text:#0f172a; --muted:#64748b;
}
body{background:var(--bg); color:var(--text)}
.navbar-brand{letter-spacing:.5px}.brand-pill{font-weight:700; letter-spacing:.5px}
.hero{background:radial-gradient(1200px 600px at 10% -10%,rgba(15,111,255,.28),transparent 60%),radial-gradient(1000px 500px at 120% 10%,rgba(0,209,178,.18),transparent 55%),linear-gradient(180deg,#ffffffcc,#f4f7ff);border-radius:24px;padding:48px;box-shadow:0 10px 40px rgba(15,111,255,.06)}
.hero h1{font-size:clamp(1.8rem,2.6vw,3rem)} .hero .sub{color:var(--muted)}
.hero-full{border-radius:24px;padding:64px;color:#fff;background-image:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.35)),var(--hero-url);background-size:cover;background-position:center;min-height:60vh;display:flex;align-items:center}
.card-immo{border:0;border-radius:18px;overflow:hidden;background:var(--card-bg);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(16,24,40,.06);transition:transform .25s,box-shadow .25s}
.card-immo:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,24,40,.12)}
.card-immo .thumb{position:relative;height:240px;overflow:hidden}
.card-immo .thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .4s}
.card-immo:hover .thumb img{transform:scale(1.06)}
.ribbon{position:absolute;top:14px;left:14px;z-index:2;padding:.35rem .7rem;border-radius:999px;backdrop-filter:blur(6px);color:#fff;font-weight:600;font-size:.8rem}
.ribbon.sale{background:linear-gradient(135deg,#0f6fff,#00d1b2)}
.ribbon.rent{background:linear-gradient(135deg,#7c3aed,#0f6fff)}
.ribbon.sold,.ribbon.rented{background:linear-gradient(135deg,#ef4444,#f59e0b)}
.price-pill{position:absolute;bottom:14px;right:14px;z-index:2;background:#fff;color:#111827;border-radius:999px;padding:.4rem .75rem;font-weight:700;box-shadow:0 6px 20px rgba(17,24,39,.12)}
.meta{color:var(--muted);font-size:.95rem}.badge-chip{background:#eef2ff;color:#312e81;border-radius:999px;padding:.35rem .6rem;font-weight:600}
.footer-immo{color:#94a3b8}.footer-immo a{color:#8094ff;text-decoration:none}
.form-control:focus,.form-select:focus{border-color:var(--immo-primary);box-shadow:0 0 0 .2rem rgba(15,111,255,.15)}
.btn-immo{background:var(--immo-primary);border-color:var(--immo-primary)} .btn-immo:hover{filter:brightness(.95)}
.section-title{font-weight:800}
.pagination .page-link{border-radius:10px;margin:0 3px}
body.dark{--bg:linear-gradient(180deg,#0b1220,#0a1120 60%,#0b1220);--card-bg:rgba(17,24,39,.6);--text:#e5e7eb;--muted:#a1a1aa}
body.dark .navbar,body.dark .border-top{border-color:#1f2937!important}
body.dark .hero{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03))}
body.dark .footer-immo a{color:#a7b6ff}
