* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Arial, sans-serif; background: #f0f2f5; color: #333; } .container { display: flex; flex-direction: column; height: 100vh; } header { background: linear-gradient(135deg, #667eea, #764ba2); color: white; padding: 16px 24px; } header h1 { font-size: 22px; } header p { font-size: 13px; opacity: 0.9; margin-top: 4px; } .main { display: flex; flex: 1; overflow: hidden; } .sidebar { width: 340px; background: white; padding: 20px; overflow-y: auto; box-shadow: 2px 0 8px rgba(0,0,0,0.05); } .form-group { margin-bottom: 16px; } .form-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: #555; } .form-group input[type="text"], .form-group input[type="number"] { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; } .checkboxes { display: flex; flex-wrap: wrap; gap: 8px; } .checkboxes label { font-size: 13px; display: flex; align-items: center; gap: 4px; background: #f5f5f5; padding: 6px 10px; border-radius: 20px; cursor: pointer; } button#searchBtn { width: 100%; padding: 12px; background: linear-gradient(135deg, #667eea, #764ba2); color: white; border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; } button#searchBtn:hover { opacity: 0.9; } .hotel-list { margin-top: 20px; } .hotel-card { background: #fafafa; border: 1px solid #eee; border-radius: 10px; padding: 12px; margin-bottom: 10px; cursor: pointer; transition: all 0.2s; } .hotel-card:hover { border-color: #667eea; box-shadow: 0 2px 8px rgba(102,126,234,0.15); } .hotel-card.active { border-color: #667eea; background: #f0f4ff; } .hotel-card h3 { font-size: 15px; margin-bottom: 4px; } .hotel-card .meta { font-size: 12px; color: #888; display: flex; justify-content: space-between; } .hotel-card .tags { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; } .hotel-card .tags span { font-size: 11px; background: #e8ecff; color: #5566cc; padding: 2px 8px; border-radius: 10px; } .placeholder { color: #aaa; font-size: 13px; text-align: center; padding: 20px 0; } .map-container { flex: 1; } #map { width: 100%; height: 100%; }