body { color: #1f2933; background: #f7f8fa; }
a { color: #0b5ed7; }
.hero { min-height: 430px; display: flex; align-items: center; color: #fff; background: linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.34)), url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1600&q=80') center/cover; }
.hero h1 { font-size: 56px; font-weight: 800; letter-spacing: 0; }
.hero p { font-size: 21px; max-width: 620px; }
.search-box, .filters, .form-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.search-box { background: rgba(255,255,255,.96); padding: 14px; border-radius: 8px; max-width: 980px; }
.property-card { border-radius: 8px; overflow: hidden; border: 1px solid #e4e7eb; }
.property-thumb, .empty-photo { height: 190px; background: linear-gradient(135deg, #d9e2ec, #f0f4f8); display: flex; align-items: center; justify-content: center; color: #52606d; }
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.gallery img { width: 100%; height: 260px; object-fit: cover; border-radius: 8px; }
.booking-box, .auth-panel, .metric { background: #fff; border: 1px solid #e4e7eb; border-radius: 8px; padding: 20px; }
.auth-page { min-height: 70vh; display: flex; align-items: center; justify-content: center; padding: 30px; }
.auth-panel { width: 100%; max-width: 430px; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.wide { grid-column: 1 / -1; }
.metric span { display: block; color: #66788a; }
.metric strong { display: block; font-size: 32px; }
@media (max-width: 768px) {
    .hero h1 { font-size: 38px; }
    .search-box, .filters, .form-grid { grid-template-columns: 1fr; }
    .gallery { grid-template-columns: 1fr; }
}

