/* Keynix Homes – Professional, responsive UI layer on top of Bootstrap 5 */
:root{
  --re-shadow: 0 10px 30px rgba(2,8,23,.20);
  --kh-gold: #c8a14a;
  --kh-dark: #0b0f17;
  --kh-glass: rgba(10,12,18,.55);
}

body{
  padding-top: 76px; /* fixed navbar offset */
  background: var(--kh-dark);
  background-image: url('../img/background.jpg');
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

/* Full-bleed sections inside Bootstrap .container */
.full-bleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0;
  padding-right: 0;
}

/* Navbar */
.navbar{
  backdrop-filter: saturate(160%) blur(10px);
}

.navbar-kh{
  background: rgba(8,10,14,.20);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.navbar-kh.scrolled{
  background: rgba(8,10,14,.78);
}

.navbar .nav-link{ opacity: .92; }
.navbar .nav-link:hover{ opacity: 1; }

.btn-gold{
  background: var(--kh-gold);
  color: #131313;
  border: 1px solid rgba(255,255,255,.15);
}
.btn-gold:hover{ filter: brightness(1.05); color:#131313; }
.btn-gold:focus{ box-shadow: 0 0 0 .25rem rgba(200,161,74,.25); }

/* Home hero (matches reference screenshot layout) */
.home-hero{
  position: relative;
  margin-top: -76px; /* allow background behind navbar */
  padding-top: 76px;
  min-height: 92vh;
  color: #fff;
  overflow: hidden;
}
.home-hero::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../img/background.jpg');
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.home-hero::after{
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(900px 420px at 30% 10%, rgba(255,255,255,.12), transparent 60%),
              linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.78) 65%, rgba(0,0,0,.85));
}
.home-hero .hero-inner{
  position: relative;
  z-index: 1;
  padding: clamp(3.2rem, 7vw, 6rem) 0 2.4rem;
}
.home-hero h1{
  font-weight: 800;
  letter-spacing: -.02em;
}
.home-hero .lead{
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
  color: rgba(255,255,255,.78);
}

.featured-panel{
  margin-top: clamp(1.4rem, 4.5vw, 3.2rem);
}

.featured-bar{
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 12px;
  box-shadow: var(--re-shadow);
  backdrop-filter: blur(10px) saturate(150%);
}

.featured-bar .form-control,
.featured-bar .form-select{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
}
.featured-bar .form-control::placeholder{ color: rgba(255,255,255,.55); }
.featured-bar .form-select option{ color: #111; }

.featured-card{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 210px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--re-shadow);
}
.featured-card img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.featured-card::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.88), rgba(0,0,0,.20) 65%, rgba(0,0,0,.10));
}
.featured-card .content{
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.featured-card .price{
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: .2px;
}
.featured-card .meta{
  color: rgba(255,255,255,.78);
  font-size: .95rem;
}

/* Ensure featured cards don't inherit default link blue */
.featured-card, .featured-card:hover{ color:#fff; }

/* Property price text should be black (not blue) on light cards */
.property-price{ color:#0f172a !important; }

/* General components */
.card{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(2,8,23,.06);
}
.card .card-header, .card .card-footer{
  background: transparent;
  border-color: rgba(15,23,42,.06);
}

.btn{ border-radius: 12px; }
.form-control, .form-select{ border-radius: 12px; }

.property-thumb{
  aspect-ratio: 16 / 10;
  width: 100%;
  object-fit: cover;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.property-thumb.placeholder{
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, #e2e8f0, #f8fafc);
  color: #334155;
  font-weight: 600;
}

.badge-soft{
  background: rgba(99,102,241,.12);
  color: #4f46e5;
  border: 1px solid rgba(99,102,241,.18);
}

.kpi{
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 22px rgba(2,8,23,.06);
  padding: 14px 14px;
}
.kpi .label{ color:#64748b; font-size:.9rem; }
.kpi .value{ font-size: 1.65rem; font-weight: 800; color:#0f172a; }

.table{ border-color: rgba(15,23,42,.08); }
.table thead th{
  color:#475569;
  font-weight:700;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.chat-box{
  height: 480px;
  overflow-y: auto;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 8px 22px rgba(2,8,23,.06);
}
.chat-bubble{
  max-width: 78%;
  padding: 10px 12px;
  border-radius: 16px;
  margin-bottom: 10px;
  border: 1px solid rgba(15,23,42,.06);
}
.chat-me{ margin-left: auto; background: rgba(34,197,94,.10); }
.chat-them{ margin-right: auto; background: rgba(148,163,184,.18); }
.small-muted{ color:#64748b; font-size:.88rem; }

.footer{
  margin-top: 48px;
  padding: 20px 0;
  color: rgba(255,255,255,.72);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

.filter-card{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 22px rgba(2,8,23,.06);
}

.section-title{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
}
.section-title h3, .section-title h4{ margin:0; }

/* UI polish */
a, .btn, .card{
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(2,8,23,.10);
}
.btn:active{ transform: translateY(1px); }

/* Keep featured cards stable (no hover lift jump on touch) */
.featured-card{ transition: transform .18s ease, box-shadow .18s ease; }
.featured-card:hover{ transform: translateY(-2px); box-shadow: 0 16px 40px rgba(2,8,23,.22); }
