/* ===================================================
   Realty Decode — Real Estate Platform
   =================================================== */
:root{
  --dark:#0d1321;
  --dark-2:#141b2e;
  --accent:#ffc60b;
  --accent-dark:#e6b100;
  --blue-soft:#dcedfb;
  --peach-soft:#ffe7d1;
  --pink-soft:#ffe1ec;
  --lilac-soft:#e9e3ff;
  --text-dark:#14161f;
  --text-muted:#68707d;
  --bg-light:#f6f7fa;
  --border-soft:#e9ebf0;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-soft:0 6px 24px rgba(13,19,33,.08);
  --shadow-hover:0 14px 34px rgba(13,19,33,.14);
}

*{box-sizing:border-box;}
.mar-lg-10 {
  margin-left: 10px;
  margin-right: 10px;
  position: relative;
}

.mar-lg-20 {
  margin-left: 20px;
  margin-right: 20px;
  position: relative;
}

.mar-lg-30 {
  margin-left: 30px;
  margin-right: 30px;
  position: relative;
}

.mar-lg-40 {
  margin-left: 40px;
  margin-right: 40px;
  position: relative;
}
.mar-lg-40-r0{margin-right: 0px!important;}
.mar-lg-40-l0{margin-left: 0px!important;}
.mar-lg-50 {
  margin-left: 50px;
  margin-right: 50px;
  position: relative;
}

.mar-lg-60 {
  margin-left: 60px;
  margin-right: 60px;
  position: relative;
}

.mar-lg-70 {
  margin-left: 70px;
  margin-right: 70px;
  position: relative;
}

.mar-lg-80 {
  margin-left: 80px;
  margin-right: 80px;
  position: relative;
}

.mar-lg-90 {
  margin-left: 90px;
  margin-right: 90px;
  position: relative;
}

.mar-lg-100 {
  margin-left: 100px;
  margin-right: 100px;
  position: relative;
}

.mar-lg-r-0 {
  margin-right: 0px !important;
}

.pad-lg-10 {
  padding-left: 10px;
  padding-right: 10px;
}

.pad-lg-20 {
  padding-left: 20px;
  padding-right: 20px;
}

.pad-lg-30 {
  padding-left: 30px;
  padding-right: 30px;
}

.pad-lg-40 {
  padding-left: 40px;
  padding-right: 40px;
}

.pad-lg-50 {
  padding-left: 50px;
  padding-right: 50px;
}

.pad-lg-60 {
  padding-left: 60px;
  padding-right: 60px;
}

.pad-lg-70 {
  padding-left: 70px;
  padding-right: 70px;
}

.pad-lg-80 {
  padding-left: 80px;
  padding-right: 80px;
}

.pad-lg-90 {
  padding-left: 90px;
  padding-right: 90px;
}

.pad-lg-100 {
  padding-left: 100px;
  padding-right: 100px;
}

/* Native smooth-scroll removed — Lenis now drives page scrolling.
   (Keeping both together causes janky/double-eased scrolling.) */
html{
  scroll-behavior:auto;
}
html.lenis, html.lenis body{
  height:auto;
}
.lenis.lenis-smooth{
  scroll-behavior:auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent]{
  overscroll-behavior:contain;
}
.lenis.lenis-stopped{
  overflow:hidden;
}
.lenis.lenis-scrolling iframe{
  pointer-events:none;
}

body{
  font-family:'Inter', sans-serif;
  color:var(--text-dark);
  background:#fff;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .whatsapp-fab{ animation:none !important; }
  *:not(.owl-carousel):not(.owl-carousel *){ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

h1,h2,h3,h4,h5,.font-display{
  font-family:'Poppins', sans-serif;
}

a{ text-decoration:none; }
.text-muted-2{ color:var(--text-muted); }

.section-pad{ padding:64px 0; }
@media (max-width:767px){ .section-pad{ padding:40px 0; } }

.section-eyebrow{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--accent-dark);
}

.section-title{
  font-weight:700;
  font-size:1.7rem;
  margin-bottom:.35rem;
}

.section-sub{
  color:var(--text-muted);
  font-size:.96rem;
}

/* ===================== BUTTONS — vertical alignment fix ===================== */
/* Bootstrap's default .btn is inline-block, so an icon glyph (bi-*) and the
   button text don't share a common baseline and can look vertically off.
   Making every .btn a centered flex row fixes this everywhere on the site. */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  line-height:1.2;
}
.btn i[class^="bi-"],
.btn i[class*=" bi-"]{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
/* gap already spaces icon from text — drop Bootstrap's me-1/me-2 margins
   on icons inside buttons so spacing doesn't double up */
.btn i.me-1,
.btn i.me-2{ margin-right:0 !important; }

.btn-accent{
  background:var(--accent);
  border:1px solid var(--accent);
  color:var(--dark);
  font-weight:600;
  border-radius:5px;
  padding:.65rem 1.4rem;
  transition:.2s ease;
}
.btn-accent:hover{ background:var(--accent-dark); border-color:var(--accent-dark); color:var(--dark); }

.btn-outline-dark-2{
  border:1.5px solid var(--dark);
  color:var(--dark);
  border-radius:10px;
  font-weight:600;
}

.link-arrow{
  font-weight:600;
  color:var(--text-dark);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.link-arrow i{ transition:.2s; }
.link-arrow:hover i{ transform:translateX(4px); }

/* ---------- Pills / filter chips ---------- */
.chip-row{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:6px;
  scrollbar-width:none;
}
.chip-row::-webkit-scrollbar{ display:none; }
.chip{
  flex:0 0 auto;
  padding:.45rem 1.1rem;
  border-radius:999px;
  border:1.5px solid var(--border-soft);
  background:#fff;
  font-size:.85rem;
  font-weight:600;
  color:var(--text-muted);
  cursor:pointer;
  white-space:nowrap;
  transition:.15s;
}
.chip.active, .chip:hover{
  background:var(--dark);
  color:#fff;
  border-color:var(--dark);
}

/* ===================== NAVBAR ===================== */
.nav_header{background:rgba(13,19,33,.55);}
.navbar-realtydecode{
  position:absolute;
  top:0; left:0; right:0;
  z-index:50;
  padding:5px 0;
  transition:.25s;
}
.navbar-realtydecode.scrolled{
  position:fixed;
  background:var(--dark);
  box-shadow:0 4px 18px rgba(0,0,0,.25);
  padding: 5px 50px;
}
.navbar-realtydecode .navbar-brand{
  font-weight:800;
  font-size:1.4rem;
  color:#fff;
  letter-spacing:-.02em;
}
.navbar-realtydecode .navbar-brand img{filter: brightness(0) invert(1);max-width:200px;}
.navbar-realtydecode .nav-link{
  color:#f1f2f5 !important;
  font-weight:500;
  font-size:.92rem;
  padding:.5rem .8rem !important;
}
.navbar-realtydecode .nav-link:hover{ color:var(--accent) !important; }
.navbar-realtydecode .nav-link:focus,
.navbar-realtydecode .nav-link:focus-visible,
.navbar-realtydecode .nav-link.show,
.navbar-realtydecode .nav-link:active,
.navbar-realtydecode .dropdown-toggle:focus,
.navbar-realtydecode .navbar-toggler:focus{
  outline:none;
  box-shadow:none;
}

/* Smooth hover-open dropdown, sliding out from the nav item's bottom border */
.navbar-realtydecode .nav-item.dropdown{} 
.navbar-realtydecode .dropdown-menu{
  top:50px;
  display:block;
  border-radius:0 0 12px 12px;
  border:none;
  border-top:3px solid var(--accent);
  box-shadow:var(--shadow-hover);
  margin-top:0 !important;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transform-origin:top center;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  pointer-events:none;
}
.navbar-realtydecode .dropdown-menu.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.navbar-realtydecode .dropdown-item{
  transition:.15s ease;
}
.navbar-realtydecode .dropdown-item:hover,
.navbar-realtydecode .dropdown-item:focus{
  background:var(--bg-light);
  color:var(--dark);
}
.navbar-realtydecode .dropdown-item.active{
  background:var(--bg-light);
  color:var(--accent-dark, var(--accent));
  font-weight:600;
}
.navbar-realtydecode .nav-link.dropdown-toggle.active{ color:var(--accent) !important; }
@media (max-width:991.98px){
  .navbar-realtydecode .dropdown-menu{
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
    border-top:none;
    box-shadow:none;
    background:rgba(255,255,255,.04);
  }
  .navbar-realtydecode .dropdown-menu.show{ display:block; }
}
.navbar-realtydecode .icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.12);
  color:#fff;
}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  min-height:640px;
  background:linear-gradient(180deg, rgba(10,14,25,.55) 0%, rgba(10,14,25,.75) 100%),
    url('../img/realtydecode-hero.png') center/cover no-repeat;
/*  display:flex;
  align-items:center;
*/  padding-top:180px;
  padding-bottom:70px;
}
@media (max-width:767px){
  .hero{ padding-top:110px; min-height:auto; }
}
.hero-rating-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  padding:.35rem .8rem;
  border-radius:999px;
  font-size:.82rem;
  font-weight:600;
  backdrop-filter:blur(4px);
}
.hero h1{
  color:#fff;
  font-weight:700;
  font-size:2.6rem;
  line-height:1.15;
  margin:1rem 0 .6rem;
}
@media (max-width:575px){ .hero h1{ font-size:1.9rem; } }
.hero p.lead{
  color:#e6e8ee;
  font-size:1rem;
  margin-bottom:2rem;
}

/* Search widget */
.search-widget{
  background:transparent;
  border-radius:var(--radius-lg);
  padding:0;
  box-shadow:var(--shadow-hover);
  max-width:900px;
}
.search-tabs{
  display:flex;
  gap:2px;
  background:rgba(13,19,33,.94);
  padding:6px 8px 0;
  margin-bottom:0;
  overflow-x:auto;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.search-tabs button{
  position:relative;
  flex:1 1 0;
  border:none;
  background:none;
  padding:12px 10px;
  font-weight:600;
  font-size:.85rem;
  color:rgba(255,255,255,.68);
  border-bottom:3px solid transparent;
  white-space:nowrap;
  transition:.2s;
}
.search-tabs button:hover{ color:#fff; }
.search-tabs button.active{
  color:#fff;
/*  border-bottom-color:#fff;*/
}
.tab-badge{
  position:absolute;
  top:2px;
  right:2px;
  background:var(--accent);
  color:var(--dark);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.02em;
  padding:1px 6px;
  border-radius:6px;
  line-height:1.4;
}
.search-fields{
  display:flex;
  align-items:stretch;
  gap:0;
  flex-wrap:wrap;
  background:#fff;
  padding:8px 10px;
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
}
.search-fields .field-city{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  position:relative;
  border-right:1.5px solid var(--border-soft);
}
.search-fields .field-city .select-toggle{
  display:flex;
  align-items:center;
  gap:14px;
  border:none;
  background:none;
  padding:.6rem 10px;
  font-weight:700;
  font-size:.95rem;
  color:var(--text-dark);
  cursor:pointer;
  white-space:nowrap;
}
.search-fields .field-city .select-toggle i{
  color:var(--text-muted);
  font-size:.8rem;
  transition:transform .2s ease;
}
.search-fields .field-city.open .select-toggle i{ transform:rotate(180deg); }

.search-fields .select-options{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:200px;
  max-height:240px;
  overflow-y:auto;
  margin:0;
  padding:8px;
  list-style:none;
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-hover);
  border:1px solid var(--border-soft);
  z-index:60;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.search-fields .field-city.open .select-options{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.search-fields .select-options li{
  padding:10px 12px;
  border-radius:8px;
  font-size:.92rem;
  color:var(--text-dark);
  cursor:pointer;
  transition:.15s ease;
}
.search-fields .select-options li:hover{
  background:var(--bg-light);
  color:var(--accent-dark);
}
.search-fields .select-options li.selected{
  background:var(--bg-light);
  font-weight:700;
}
.search-fields .select-options::-webkit-scrollbar{ width:6px; }
.search-fields .select-options::-webkit-scrollbar-track{ background:transparent; }
.search-fields .select-options::-webkit-scrollbar-thumb{
  background:var(--border-soft);
  border-radius:10px;
}
.search-fields .field-search{
  flex:1 1 220px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:.6rem 16px;
  position:relative;
}
.field-search input{border: none!important;}

/* Hero search — live results dropdown */
.hero-search-results{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  min-width:280px;
  max-height:320px;
  overflow-y:auto;
  margin:0;
  padding:8px;
  list-style:none;
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-hover);
  border:1px solid var(--border-soft);
  z-index:70;
  text-align:left;
}
.hero-search-results.show{ display:block; }
.hero-search-results::-webkit-scrollbar{ width:6px; }
.hero-search-results::-webkit-scrollbar-track{ background:transparent; }
.hero-search-results::-webkit-scrollbar-thumb{
  background:var(--border-soft);
  border-radius:10px;
}
.hero-search-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px;
  border-radius:8px;
  text-decoration:none;
  color:var(--text-dark);
  transition:.15s ease;
}
.hero-search-item:hover{ background:var(--bg-light); }
.hero-search-thumb{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:8px;
  background:var(--bg-light) center/cover no-repeat;
}
.hero-search-item-info{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.hero-search-item-title{
  font-weight:700;
  font-size:.92rem;
  color:var(--text-dark);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hero-search-item-loc{
  font-size:.78rem;
  color:var(--text-muted);
}
.hero-search-results li.hero-search-loading,
.hero-search-results li.hero-search-empty{
  padding:12px;
  font-size:.88rem;
  color:var(--text-muted);
  text-align:center;
}
.search-fields select, .search-fields input{
  border:none;
  outline:none;
  width:100%;
  font-size:.92rem;
  background:transparent;
}
.search-fields .btn-accent{
  flex:0 0 auto;
  padding:.65rem 2.4rem;
  border-radius:12px;
}
@media (max-width:575px){
  .search-fields .field-city{
    flex:1 1 100%;
    border-right:none;
    border-bottom:1.5px solid var(--border-soft);
  }
}
.hero-fab{
  position:absolute;
  right:24px;
  bottom:-26px;
  width:54px;height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,#7b5cff,#ff6bd6);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  box-shadow:var(--shadow-hover);
}

/* ===================== SCROLLER CARDS ===================== */
.scroller{
  position:relative;
}
.scroller-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-bottom:8px;
  scrollbar-width:none;
}
.scroller-track::-webkit-scrollbar{ display:none; }
.scroller-nav{
  position:absolute;
  top:40%;
  right:-6px;
  width:42px;height:42px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-soft);
  display:flex;align-items:center;justify-content:center;
  z-index:5;
  cursor:pointer;
}

#hotProjectsCarousel .video-card{ cursor:pointer; }
.video-card{
  width:100%;
  border-radius:var(--radius-md);
  overflow:hidden;
  position:relative;
  height:340px;
  color:#fff;
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow-soft);
}
.video-card::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.75) 100%);
}
.video-card .play-btn{
  position:absolute; top:44%; left:50%;
  transform:translate(-50%,-50%);
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--dark);
  display:flex;align-items:center;justify-content:center;
  z-index:2;
  font-size:1.1rem;
}
.video-card .vc-content{
  position:absolute; left:0; right:0; bottom:0;
  padding:14px;
  z-index:2;
}
.video-card .vc-tag{
  font-size:.68rem;
  font-weight:700;
  background:var(--accent);
  color:var(--dark);
  display:inline-block;
  padding:2px 8px;
  border-radius:5px;
  margin-bottom:6px;
}
.video-card .vc-title{
  font-weight:700;
  font-size:1rem;
  line-height:1.3;
}
.video-card .vc-avatar{
  position:absolute; top:14px; left:14px; z-index:3;
  width:34px;height:34px;border-radius:50%;
  border:2px solid #fff;
  overflow:hidden;
}
.video-card .vc-avatar img{ width:100%; height:100%; object-fit:cover; }

/* ===================== PROMO BANNER ===================== */
.promo-banner{
  background:var(--lilac-soft);
  border-radius:var(--radius-lg);
  padding:36px;
}
.reward-pill{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border-radius:10px;
  padding:.5rem .9rem;
  font-size:.82rem;
  font-weight:600;
  box-shadow:var(--shadow-soft);
}

/* ===================== INSIGHT CARDS ===================== */
.insight-card{
  border-radius:var(--radius-md);
  padding:20px;
  height:100%;
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.insight-card h6{ font-weight:700; margin-bottom:2px; }
.insight-card .card-icon{
  width:34px;height:34px;
  border-radius:8px;
  background:rgba(255,255,255,.6);
  display:flex;align-items:center;justify-content:center;
}
.insight-blue{ background:var(--blue-soft); }
.insight-peach{ background:var(--peach-soft); }
.insight-pink{ background:var(--pink-soft); }
.insight-white{ background:#fff; border:1.5px solid var(--border-soft); }

/* ===================== TRUST CARDS ===================== */
.trust-card{
  border-radius:var(--radius-md);
  height:100%;
  min-height:280px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  display:flex;
  align-items:flex-end;
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease, box-shadow .25s ease;
}
.trust-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.trust-card-body{
  padding:22px;
  color:#fff;
}
.trust-card-body h5{
  font-weight:700;
  margin-bottom:4px;
}
.trust-card-body p{
  margin-bottom:0;
  font-size:.85rem;
  color:rgba(255,255,255,.85);
}

.mini-map{
  width:100%; height:100px;
  border-radius:8px;
  background:repeating-linear-gradient(135deg,#c9def0,#c9def0 8px,#b9d3ec 8px,#b9d3ec 16px);
}
.mini-chart{ width:100%; height:80px; }

/* ===================== FEATURE ICONS ===================== */
.feature-icon-box{
  text-align:center;
}
.feature-icon-box .icon-wrap{
  width:64px;height:64px;
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
  font-size:1.5rem;
}
.feature-icon-box p{
  font-weight:600;
  font-size:.88rem;
  margin:0;
}

/* ===================== TESTIMONIALS ===================== */
.review-card{
  border:1.5px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:18px;
}
.review-card .avatar{
  width:42px;height:42px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;
}
.stars{ color:#ffb400; font-size:.85rem; }

.testi-thumb{
  border-radius:var(--radius-sm);
  overflow:hidden;
  position:relative;
  height:110px;
  background-size:cover;
  background-position:center;
  cursor:pointer;
}
.testi-thumb .play-mini{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.25);
  color:#fff;
  transition:.2s;
}
.testi-thumb:hover .play-mini{ background:rgba(0,0,0,.4); }
.testi-thumb:hover .play-mini i{ transform:scale(1.12); }
.testi-thumb .play-mini i{ transition:.2s; }

/* ===================== PROPERTY LIST CARDS ===================== */
.prop-card{
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:#fff;
}
.prop-card img{
  width:100%;
  height:190px;
  object-fit:cover;
}
.prop-card .prop-label{
  padding:12px 14px;
  font-weight:600;
  font-size:.92rem;
}

/* ===================== WHATSAPP BUTTON (pill) ===================== */
.btn-whatsapp{
  background:#25D366;
  border:1px solid #25D366;
  color:#fff;
  font-weight:600;
  border-radius:5px;
  padding:.65rem 1.4rem;
  transition:.2s ease;
}
.btn-whatsapp:hover{ background:#1eb757; border-color:#1eb757; color:#fff; }

/* ===================== FEATURED PROJECT CARDS ===================== */
.feat-card{
  position:relative;
  height:360px;
  border-radius:var(--radius-md);
  overflow:hidden;
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow-soft);
  color:#fff;
  margin:0 2px;
}
.feat-card::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.88) 100%);
}
.feat-card .feat-badges{
  position:absolute; top:12px; right:12px; z-index:2;
  display:flex; flex-direction:column; align-items:flex-end; gap:6px;
}
.feat-card .feat-badge{
  font-size:.62rem;
  font-weight:700;
  padding:3px 9px;
  border-radius:5px;
  white-space:nowrap;
}
.feat-card .feat-badge.rera{ background:rgba(13,19,33,.72); color:#fff; }
.feat-card .feat-badge.type{ background:var(--accent); color:var(--dark); }
.feat-card .feat-badge.type.commercial{ background:#7ee0c3; color:#0d4433; }

.feat-card .feat-body{
  position:absolute; left:0; right:0; bottom:0;
  padding:14px; z-index:2;
}
.feat-card .feat-logo-row{
  display:flex; align-items:center; gap:8px; margin-bottom:6px;
}
.feat-card .feat-logo{
  width:26px;height:26px;border-radius:50%;
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-weight:700; font-size:.78rem;
}
.feat-card .feat-name{ font-weight:700; font-size:.95rem; line-height:1.2; }
.feat-card .feat-loc{
  font-size:.74rem; opacity:.85; margin-bottom:8px;
  display:flex; align-items:center; gap:4px;
}
.feat-card .feat-meta{
  font-size:.74rem; opacity:.92; font-weight:600;
  display:flex; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:8px;
}
.feat-card .feat-price-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:8px;
  margin-top:8px;
}
.feat-card .feat-price{ font-weight:700; font-size:.86rem; line-height:1.2; }
.feat-card .feat-price small{ font-weight:500; opacity:.8; font-size:.7rem; }
.feat-card .feat-arrow{
  width:32px;height:32px;border-radius:50%;
  background:var(--accent); color:var(--dark);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
  transition:.2s;
}
.feat-card .feat-arrow:hover{ background:var(--accent-dark); transform:translateX(2px); }

/* ===================== LATEST PROJECT CARDS ===================== */
.latest-card{
  display:flex;
  flex-direction:row;
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:#fff;
  margin:0 2px;
  height:100%;
}
.latest-card-img{
  position:relative;
  flex:0 0 42%;
  background-size:cover;
  background-position:center;
  min-height:280px;
}
.latest-card-img .lc-badge{
  display:block;
  font-size:.62rem;
  font-weight:700;
  padding:4px 9px;
  border-radius:5px;
  position:absolute; left:10px;
  white-space:nowrap;
}
.latest-card-img .lc-badge.rera{ top:10px; background:rgba(13,19,33,.85); color:#fff; }
.latest-card-img .lc-badge.type{ top:10px; background:var(--accent); color:var(--dark); }
.latest-card-img .lc-badge.type.commercial{ background:#7ee0c3; color:#0d4433; }
.latest-card-img .lc-badge.rera + .lc-badge.type{ top:38px; }
.latest-card-body{
  flex:1 1 auto;
  padding:18px 20px;
  display:flex;
  flex-direction:column;
}
.latest-title{ font-weight:700; font-size:1.05rem; margin-bottom:2px; }
.latest-price{ font-weight:700; color:var(--text-dark); font-size:1rem; }
.latest-price span{ font-weight:500; color:var(--text-muted); font-size:.8rem; }
.latest-sub{
  font-size:.8rem;
  color:var(--text-muted);
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--border-soft);
}
.latest-row{
  display:flex;
  gap:24px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--border-soft);
}
.latest-row > div{ display:flex; flex-direction:column; gap:2px; font-size:.85rem; }
.latest-row i{ color:var(--text-muted); margin-bottom:2px; }
.latest-row .lbl{ font-size:.72rem; color:var(--text-muted); }
.latest-loc{
  font-size:.8rem;
  color:var(--text-muted);
  display:flex; align-items:center; gap:5px;
  margin-bottom:16px;
}
.latest-actions{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.latest-actions .btn-sm{ font-size:.82rem; padding:.5rem 1rem; }
.latest-arrow{
  width:38px;height:38px;
  border-radius:8px;
  border:1.5px solid var(--border-soft);
  color:var(--text-dark);
  display:flex;align-items:center;justify-content:center;
  margin-left:auto;
  transition:.2s;
}
.latest-arrow:hover{ background:var(--dark); border-color:var(--dark); color:#fff; }
@media (max-width:767px){
  .latest-card{ flex-direction:column; }
  .latest-card-img{ min-height:200px; }
}

/* ===================== TRENDING PROJECT CARDS ===================== */
.trend-heading-bar{
  border-left:4px solid var(--accent);
  padding-left:14px;
}
.trend-card{
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:#fff;
  margin:0 2px;
  height:100%;
}
.trend-img{
  position:relative;
  height:200px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}
.trend-img::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%);
}
.trend-img-actions{
  position:relative; z-index:2;
  display:flex; gap:8px;
  padding:12px;
  width:100%;
}
.trend-img-actions .btn-sm{ font-size:.78rem; padding:.42rem .85rem; }
.trend-body{ padding:16px; }
.trend-head{
  display:flex; align-items:center; gap:10px;
  margin-bottom:10px;
}
.trend-logo{
  width:36px;height:36px;border-radius:50%;
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  font-weight:700; font-size:.9rem;
}
.trend-name{ font-weight:700; font-size:.95rem; line-height:1.2; }
.trend-dev{ font-size:.76rem; color:var(--text-muted); }
.trend-loc{
  font-size:.8rem;
  color:var(--text-muted);
  display:flex; align-items:center; gap:5px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--border-soft);
}
.trend-row{
  display:flex;
  gap:24px;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--border-soft);
}
.trend-row > div{ display:flex; flex-direction:column; gap:2px; font-size:.83rem; }
.trend-row i{ color:var(--text-muted); margin-bottom:2px; }
.trend-row .lbl{ font-size:.72rem; color:var(--text-muted); }
.trend-price-row{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.trend-price{ font-weight:700; font-size:.9rem; color:var(--text-dark); }
.trend-price small{ font-weight:500; color:var(--text-muted); font-size:.72rem; }
.trend-arrow{
  width:34px;height:34px;
  border-radius:8px;
  border:1.5px solid var(--border-soft);
  color:var(--text-dark);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
  transition:.2s;
}
.trend-arrow:hover{ background:var(--dark); border-color:var(--dark); color:#fff; }

/* ===================== LOCALITY CARDS ===================== */
.locality-card{
  border-radius:var(--radius-md);
  border:1.5px solid var(--border-soft);
  overflow:hidden;
  height:100%;
}
.locality-card .lc-top{
  background:var(--accent);
  padding:14px 16px;
  font-weight:700;
  font-size:.95rem;
}
.locality-card .lc-body{
  padding:14px 16px;
}
.locality-card .tag{
  display:inline-block;
  font-size:.72rem;
  background:var(--bg-light);
  border:1px solid var(--border-soft);
  padding:3px 8px;
  border-radius:6px;
  margin:0 5px 6px 0;
  color:var(--text-muted);
}

/* ===================== DEVELOPER CARDS ===================== */
.dev-card{
  border:1.5px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:20px;
  height:100%;
}
.dev-logo{
  height:38px;
  font-weight:800;
  font-size:1.15rem;
  display:flex;
  align-items:center;
}
.dev-stat-row{
  display:flex;
  justify-content:space-between;
  padding:10px 0;
  border-top:1px solid var(--border-soft);
  font-size:.85rem;
}

/* ===================== MEDIA CARDS ===================== */
.media-card{
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  background:#fff;
  height:100%;
}
.media-card img{ width:100%; height:150px; object-fit:cover; }
.media-card .mc-body{ padding:14px; }
.media-card .mc-body h6{ font-weight:700; font-size:.92rem; }

/* ===================== CITY GRID ===================== */
.city-item{
  text-align:center;
  padding:16px 8px;
  border-radius:var(--radius-sm);
  transition:.15s;
}
.city-item:hover{ background:var(--bg-light); }
.city-item .icon-wrap{
  width:52px;height:52px;
  border-radius:12px;
  background:var(--bg-light);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 8px;
  font-size:1.3rem;
  color:var(--accent-dark);
}

/* ===================== APP PROMO / DARK ===================== */
.app-promo{
  background:var(--dark);
  color:#fff;
  border-radius:var(--radius-lg);
  padding:44px;
  position:relative;
  overflow:hidden;
}
.app-promo input.form-control{
  border-radius:10px 0 0 10px;
  border:none;
  padding:.7rem 1rem;
}
.app-promo .btn-accent{ border-radius:0 10px 10px 0; }
.store-badge{
  height:42px;
  background:#161d2e;
  border:1px solid rgba(255,255,255,.15);
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  color:#fff;
  font-size:.8rem;
}
.qr-box{
  background:#fff;
  border-radius:12px;
  padding:10px;
  width:90px;height:90px;
}
.phone-mock{
  width:230px;
  border-radius:26px;
  border:6px solid #1c2438;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.phone-mock img{ width:100%; display:block; }

/* ===================== STATS BAR ===================== */
.stats-bar{
  background:var(--dark-2);
  color:#fff;
  padding:36px 0;
}
.stat-box h3{
  font-weight:800;
  font-size:1.8rem;
  color:var(--accent);
  margin-bottom:2px;
}
.stat-box p{
  font-size:.82rem;
  color:#c3c7d4;
  margin:0;
}

/* ===================== PRESS ROW ===================== */
.press-row{
  padding:26px 0;
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
}
.press-item{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  color:#9199a8;
  font-size:1rem;
  text-align:center;
  opacity:.85;
}

/* ===================== FOOTER ===================== */
footer.site-footer{
  background:var(--dark);
  color:#c3c7d4;
  padding-top:56px;
}
footer.site-footer h6{
  color:#fff;
  font-weight:700;
  font-size:.88rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:14px;
}
footer.site-footer a{
  color:#a8adba;
  font-size:.86rem;
  display:block;
  margin-bottom:9px;
}
footer.site-footer a:hover{ color:var(--accent); }
footer .footer-brand{
  font-weight:800;
  font-size:1.3rem;
  color:#fff;
}
footer .social-icon{
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  display:inline-flex;
  align-items:center;justify-content:center;
  color:#fff;
  font-size:1rem;
  line-height:1;
  flex-shrink:0;
  transition:background .2s ease;
}
footer .social-icon i{ display:inline-flex; }
footer .social-icon:hover{ background:var(--accent); color:var(--dark); }
footer .bottom-bar{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:36px;
  padding:18px 0;
  font-size:.8rem;
  color:#7c8290;
}

/* ===================== RESPONSIVE HELPERS ===================== */
@media (max-width:991px){
  .app-promo{ padding:28px; }
  .phone-mock{ width:170px; margin-top:24px; }
}
@media (max-width:767px){
  .section-title{ font-size:1.35rem; }
  .promo-banner, .app-promo{ padding:24px; }
  .search-fields .btn-accent{ flex:1 1 100%; }
}

/* ===================== OWL CAROUSEL — custom skin ===================== */
.card-carousel{
  position:relative;
  padding:0 6px 34px;
}
.card-carousel .owl-stage-outer{ overflow:hidden; }
.card-carousel .owl-stage{
  will-change:transform;
}
.card-carousel .owl-item{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.card-carousel .video-card,
.card-carousel .prop-card{
  margin:0 2px;
}
.card-carousel .owl-nav{
  position:absolute;
  top:38%;
  left:0; right:0;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
}
.card-carousel .owl-nav button.owl-prev,
.card-carousel .owl-nav button.owl-next{
  pointer-events:auto;
  width:42px;height:42px;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid var(--border-soft);
  box-shadow:var(--shadow-soft);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-dark) !important;
  font-size:1.1rem;
  transition:.2s;
  transform:translateX(-10px);
}
.card-carousel .owl-nav button.owl-next{ transform:translateX(10px); }
.card-carousel .owl-nav button.owl-prev:hover,
.card-carousel .owl-nav button.owl-next:hover{
  background:var(--dark) !important;
  color:#fff !important;
}
.card-carousel .owl-dots{
  text-align:center;
  margin-top:10px;
}
.card-carousel .owl-dot span{
  width:7px;height:7px;
  margin:3px;
  background:var(--border-soft) !important;
  border-radius:50%;
  display:block;
  transition:.2s;
}
.card-carousel .owl-dot.active span{
  background:var(--accent) !important;
  width:20px !important;
  border-radius:4px;
}

/* ===================== BACK TO TOP ===================== */
.back-to-top{
  position:fixed;
  right:10px;
  bottom:22px;
  width:48px;height:48px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  box-shadow:var(--shadow-hover);
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity .3s ease, transform .3s ease, background .2s ease, visibility .3s;
  z-index:999;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:var(--accent);
  color:var(--dark);
}

/* ===================== WHATSAPP FLOATING ICON ===================== */
.whatsapp-fab{
  position:fixed;
  left:10px;
  bottom:22px;
  width:56px;height:56px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  box-shadow:0 8px 22px rgba(37,211,102,.45);
  z-index:999;
  animation:wa-pulse 2.2s infinite;
  transition:transform .2s ease;
}
.whatsapp-fab:hover{
  color:#fff;
  transform:scale(1.08);
}
.whatsapp-fab i{
  animation:wa-bounce 2.6s ease-in-out infinite;
}

@keyframes wa-pulse{
  0%   { box-shadow:0 0 0 0 rgba(37,211,102,.55); }
  70%  { box-shadow:0 0 0 16px rgba(37,211,102,0); }
  100% { box-shadow:0 0 0 0 rgba(37,211,102,0); }
}
@keyframes wa-bounce{
  0%, 100% { transform:translateY(0); }
  50%      { transform:translateY(-3px); }
}

@media (max-width:575px){
  .back-to-top{ right:14px; bottom:14px; width:44px;height:44px; }
  .whatsapp-fab{ left:14px; bottom:14px; width:50px;height:50px; font-size:1.4rem; }
}

/* ===================== VIDEO PROJECT LIGHTBOX ===================== */
.video-lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
}
.video-lightbox.open{ display:flex; }
.vl-overlay{
  position:absolute;
  inset:0;
  background:rgba(6,8,14,.75);
  backdrop-filter:blur(2px);
  opacity:0;
  transition:opacity .32s ease;
}
.video-lightbox.show .vl-overlay{ opacity:1; }

.vl-dialog{
  position:relative;
  width:100vw;
  height:100vh;
  max-width:100vw;
  max-height:100vh;
  background:#0d1321;
  border-radius:0;
  overflow:hidden;
  display:flex;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  opacity:0;
  transform:scale(.97);
  transition:opacity .32s cubic-bezier(.2,.8,.2,1), transform .32s cubic-bezier(.2,.8,.2,1);
}
.video-lightbox.show .vl-dialog{
  opacity:1;
  transform:scale(1) translateY(0);
}

.vl-back{
  position:absolute;
  top:16px; left:16px;
  z-index:6;
  border:none;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-weight:600;
  font-size:.85rem;
  padding:.4rem .85rem;
  display:inline-flex;
  align-items:center;
  gap:2px;
  transition:.2s;
}
.vl-back:hover{ background:rgba(0,0,0,.8); }

.vl-close{
  position:absolute;
  top:16px; right:16px;
  z-index:6;
  width:38px;height:38px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.95);
  color:var(--text-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
  transition:.2s;
}
.vl-close:hover{ background:#fff; transform:rotate(90deg); }

.vl-left{
  position:relative;
  flex:0 0 70%;
  background:#000;
  display:flex;
  flex-direction:column;
}
.vl-video-frame{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.vl-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* ===== YouTube Shorts — show at their native 9:16 size, letterboxed, not stretched ===== */
.video-lightbox.vl-shorts .vl-video-frame iframe{
  position:relative;
  inset:auto;
  height:100%;
  width:auto;
  max-width:100%;
  aspect-ratio:9/16;
  margin:0 auto;
  display:block;
  border-radius:12px;
}
@media (max-width:767px){
  .video-lightbox.vl-shorts .vl-video-frame iframe{
    width:100%;
    height:auto;
    max-height:100%;
  }
}
.vl-info{
  padding:14px 18px 4px;
  color:#fff;
}
.vl-title{ font-weight:700; font-size:1.02rem; line-height:1.3; }
.vl-loc{ font-size:.82rem; color:#c3c7d4; margin-top:2px; }
.vl-price{ font-weight:700; font-size:.95rem; color:var(--accent); margin-top:4px; }
.vl-actions{
  display:flex;
  gap:10px;
  padding:14px 18px 18px;
}
.vl-whatsapp{
  flex:0 0 auto;
  width:44px;height:44px;
  border-radius:12px;
  background:#25D366;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;
  transition:.2s;
}
.vl-whatsapp:hover{ filter:brightness(1.08); color:#fff; }
.vl-callback{
  flex:1 1 auto;
  border-radius:12px;
  font-size:.88rem;
  white-space:nowrap;
}

.vl-nextvideo{
  position:absolute;
  left:42%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:6;
  width:38px;height:38px;
  border-radius:50%;
  border:none;
  background:rgba(0,0,0,.55);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:.2s;
}
.vl-nextvideo:hover{ background:rgba(0,0,0,.85); transform:translate(-50%,-50%) scale(1.08); }

.vl-right{
  flex:1 1 30%;
  background:#fff;
  padding:26px 26px 22px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
}
.vl-right-head h3{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:1.35rem;
  margin-bottom:14px;
}
.vl-detail-list{ flex:1 1 auto; }
.vl-detail-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--border-soft);
}
.vl-detail-row:last-child{ border-bottom:none; }
.vl-detail-row .vl-icon{
  flex:0 0 auto;
  width:38px;height:38px;
  border-radius:9px;
  background:var(--bg-light);
  display:flex;align-items:center;justify-content:center;
  font-size:1.05rem;
  color:var(--accent-dark);
}
.vl-detail-row .vl-label{
  font-size:.78rem;
  color:var(--text-muted);
  display:block;
}
.vl-detail-row .vl-value{
  font-weight:700;
  font-size:.98rem;
  color:var(--text-dark);
}
.vl-view-details{
  margin-top:16px;
  background:var(--dark);
  color:#fff;
  border-radius:12px;
  padding:.75rem 1rem;
  font-weight:600;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:.2s;
}
.vl-view-details:hover{ background:#000; color:#fff; }

@media (max-width:767px){
  .video-lightbox{ padding:0; }
  .vl-dialog{
    max-width:none;
    max-height:100vh;
    height:100vh;
    border-radius:0;
    flex-direction:column;
  }
  .vl-left{ flex:0 0 46%; }
  .vl-video-frame{ flex:1 1 auto; }
  .vl-nextvideo{ left:50%; top:46%; }
  .vl-right{ flex:1 1 auto; border-radius:0; }
}

/* ===================== TESTIMONIAL VIDEO LIGHTBOX (simple, video-only) ===================== */
.video-lightbox-simple .vl-dialog-simple{
  width:min(920px, 92vw);
  height:auto;
  max-height:88vh;
  aspect-ratio:16/9;
  border-radius:16px;
  background:#000;
  display:block;
}
.video-lightbox-simple .vl-dialog-simple .vl-video-frame{
  width:100%; height:100%;
}
.video-lightbox-simple .vl-close{
  top:-46px; right:0;
  background:rgba(255,255,255,.15);
  color:#fff;
}
.video-lightbox-simple .vl-close:hover{ background:#fff; color:var(--text-dark); }
@media (max-width:767px){
  .video-lightbox-simple .vl-dialog-simple{
    width:94vw;
    border-radius:12px;
  }
  .video-lightbox-simple .vl-close{ top:-42px; }
}
