body { background: #f8f9fa; }

.city-tab-active { background:#2c6e91 !important; color:white !important; }

/* Type tabs */
.type-tab { border: 1.5px solid #dee2e6; border-radius: 20px; padding: 0.3rem 1rem; font-size: 0.85rem; font-weight: 600; background: white; color: #555; cursor: pointer; transition: all 0.2s; text-decoration: none; display: inline-block; }
.type-tab:hover { border-color: #eb8944; color: #eb8944; }
.type-tab.active { background: #eb8944; border-color: #eb8944; color: white !important; }

/* Property cards */
.prop-card { background: white; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: all 0.3s; margin-bottom: 1.2rem; cursor: pointer; }
.prop-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.12); transform: translateY(-2px); }
.prop-media-col { display: flex; min-height: 100%; overflow: hidden; }
.prop-img { width: 100%; height: 100%; object-fit: cover; min-height: 220px; transition: opacity 0.8s ease; }
.prop-img.is-switching { opacity: 0.35; }
.prop-media-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40%;
  background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,0.38) 100%);
  pointer-events: none;
  z-index: 1;
}
.prop-photo-count {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.prop-card:focus-visible { outline: 3px solid rgba(44,110,145,0.35); outline-offset: 2px; }
.prop-amenities { display:flex; flex-wrap:wrap; gap:6px; margin: 0 0 10px; }
.prop-amenity { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; color:#2c6e91; background:#f0f7ff; border:1px solid #d4e7f4; border-radius:999px; padding:4px 9px; line-height:1; }
.prop-amenity i { color:#eb8944; font-size:11px; }
.prop-img-fallback { background:#f3f6fb; }

.property-status-badge {
  color: white;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
}
.property-status-badge-verified { background:#10b981; }
.property-status-badge-owner { background:#2c6e91; }
.prop-wishlist-btn { top:8px; right:8px; padding:4px 9px; }
.property-location-icon { color:#eb8944; }
.property-metric-label { font-size:11px; margin-bottom:2px; }

/* Agent badge on card */
.agent-chip { display: inline-flex; align-items: center; gap: 6px; background: #f0f7ff; border: 1px solid #c8e0ef; border-radius: 20px; padding: 4px 12px; font-size: 0.8rem; color: #2c6e91; font-weight: 600; }
.rera-dot { width: 8px; height: 8px; background: #10b981; border-radius: 50%; display: inline-block; }
.agent-link { text-decoration:none; }
.agent-chip-icon { font-size:0.75rem; }
.agent-rera-label { font-size:10px; color:#10b981; font-weight:700; }

/* Buttons */
.btn-connect { background: linear-gradient(135deg, #eb8944, #d4783a); color: white !important; border: none; border-radius: 8px; padding: 8px 18px; font-size: 0.85rem; font-weight: 700; transition: all 0.2s; cursor: pointer; }
.btn-connect:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(235,137,68,0.4); }
.btn-detail { border: 1.5px solid #2c6e91; color: #2c6e91 !important; border-radius: 8px; padding: 8px 18px; font-size: 0.85rem; font-weight: 600; background: white; text-decoration: none; transition: all 0.2s; }
.btn-detail:hover { background: #2c6e91; color: white !important; }
.properties-search-btn { background:#eb8944; border-radius:8px; }
.properties-clear-btn { border-radius:8px; }

/* Price */
.prop-price { color: #eb8944; font-weight: 800; font-size: 1.15rem; }

/* Fallback alert */
.fallback-alert { background: #fff8f0; border: 1.5px solid #ffd09e; border-radius: 10px; padding: 0.75rem 1.2rem; margin-bottom: 1.2rem; font-size: 0.9rem; color: #7a4200; }
.ai-fallback-alert { background:#f0f7ff; border-color:#c8e0ef; color:#2c6e91; }
.fallback-link { color:#eb8944; }

.results-badge { background:#f0f7ff; font-size:0.8rem; border-radius:8px; }
.selected-type-badge { background:#eb8944; color:white; font-size:0.75rem; border-radius:8px; }

.pagination-link { color:#2c6e91; }
.pagination-link-prev { border-radius:8px 0 0 8px; }
.pagination-link-next { border-radius:0 8px 8px 0; }
.pagination-link-active { background:#eb8944; border-color:#eb8944; }
.pagination-link-disabled { color:#999; }

.empty-state-primary-btn { background:#eb8944; border-radius:8px; }
.empty-state-secondary-btn { border-radius:8px; }

/* Sidebar sticky */
.sidebar-sticky { position: static; top: auto; }

.sidebar-contact-card-body { background:linear-gradient(135deg,#2c6e91,#1a4f6d); color:white; }
.sidebar-contact-location-icon { color:#ffc68a; }
.sidebar-contact-input { border:none; border-radius:8px; }
.sidebar-contact-input-addon { border:none; }
.sidebar-contact-btn { color:#2c6e91; border-radius:8px; }

.city-apply-btn { background:#2c6e91; border-radius:8px; }
.city-reset-btn { border-radius:8px; }
.city-filter-chip { border-radius:20px; font-size:0.82rem; cursor:pointer; }

.loan-eligibility-btn { border-radius:8px; }

/* Enquiry modal */
.enquiry-modal .modal-content { border-radius: 16px; overflow: hidden; border: none; }
.enquiry-modal-header { background: linear-gradient(135deg, #2c6e91, #1a4f6d); color: white; padding: 1.5rem; }
.enquiry-input { border: 2px solid #e9ecef; border-radius: 10px; padding: 0.7rem 1rem; font-size: 0.95rem; transition: all 0.3s; }
.enquiry-input:focus { border-color: #2c6e91; box-shadow: 0 0 0 3px rgba(44,110,145,0.12); outline: none; }
.btn-submit-enquiry { background: linear-gradient(135deg, #eb8944, #d4783a); color: white; border: none; border-radius: 10px; padding: 0.8rem; font-weight: 700; font-size: 1rem; width: 100%; }
.btn-submit-enquiry:hover { transform: translateY(-1px); box-shadow: 0 4px 16px rgba(235,137,68,0.4); }

.enquiry-agent-info { background:#f8f9fa; display:none; }
.enquiry-agent-avatar {
  width:44px;
  height:44px;
  background:#2c6e91;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.enquiry-agent-city { font-size:11px; }
.enquiry-agent-rera {
  background:#10b981;
  color:white;
  padding:2px 10px;
  border-radius:12px;
  font-size:11px;
  font-weight:700;
  display:none;
}
.enquiry-country-code {
  border:2px solid #e9ecef;
  border-right:none;
  border-radius:10px 0 0 10px;
  background:#f8f9fa;
}
.enquiry-mobile-input {
  border-left:none;
  border-radius:0 10px 10px 0;
}

/* Empty state */
.empty-state { text-align: center; padding: 4rem 2rem; background: white; border-radius: 14px; }

.properties-container { padding-left: 40px; padding-right: 40px; }
.listing-filter-control { max-width: 260px; border-radius: 8px; border: 1.5px solid #dee2e6; }
.listing-filter-control-sm { max-width:220px; }
.listing-filter-control-md { max-width:260px; }
.listing-filter-control-lg { max-width:420px; }

@media (max-width: 991.98px) {
  .properties-container { padding-left: 18px !important; padding-right: 18px !important; }
  .sidebar-sticky { position: static; }
}

@media (max-width: 767.98px) {
  .listing-filter-control {
    width: 100% !important;
    max-width: 100% !important;
  }

  #sortSelect {
    width: 100% !important;
    max-width: 100% !important;
  }

  .type-tab {
    font-size: 0.78rem;
    padding: 0.28rem 0.8rem;
  }

  .prop-media-col { min-height: 220px; }
  .prop-img { min-height: 220px; max-height: 260px; }

  .btn-connect,
  .btn-detail {
    width: 100%;
    text-align: center;
  }

  .agent-chip {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (max-width: 575.98px) {
  .properties-container { padding-left: 12px !important; padding-right: 12px !important; }
  .empty-state { padding: 2.5rem 1.2rem; }
}
