/* Public site supplementary styles (Tailwind CDN handles most utility classes) */

html { scroll-behavior: smooth; }
body { font-feature-settings: "kern"; }

.property-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
@media (min-width: 1024px) {
  .property-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(15,23,42,0.15); }
}

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Mobile filter drawer */
#filter-drawer { transition: transform 0.3s ease; }

/* Sticky mobile contact bar on property details */
.sticky-mobile-cta { box-shadow: 0 -4px 20px rgba(0,0,0,0.08); }

/* Hero gradient overlay */
.hero-overlay { background: linear-gradient(180deg, rgba(11,18,32,0.55) 0%, rgba(11,18,32,0.75) 100%); }

/* Skeleton / loading state */
.skeleton { background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 37%, #f1f5f9 63%); background-size: 400% 100%; animation: skeleton-loading 1.4s ease infinite; }
@keyframes skeleton-loading { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

img { max-width: 100%; }
