:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;color:#333}h1{font-size:2rem;line-height:1.1}#root{max-width:1200px;margin:0 auto;padding:2rem}.gallery-container{text-align:center}.gallery-container h1{margin-bottom:1.5rem;color:#333}.filter-controls{margin-bottom:2rem}.filter-controls label{font-size:1rem;margin-right:.5rem}.filter-controls select{padding:.5rem 1rem;font-size:1rem;border-radius:4px;border:1px solid #ccc;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding-top:1rem}.city-card{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;background:#fff}.city-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.city-card img{width:100%;height:200px;object-fit:cover}.city-info{padding:1rem;text-align:left}.city-info h3{margin:0 0 .5rem;color:#333;font-size:1.1rem}.city-info .price{margin:0;color:#2e7d32;font-weight:700;font-size:1.2rem}@media(min-width:1024px){#root{max-width:1600px;padding:1rem 2rem}.gallery-container h1,.filter-controls{margin-bottom:1rem}.gallery-grid{grid-template-columns:repeat(5,1fr);gap:1rem}.city-card img{height:150px}.city-info{padding:.75rem}.city-info h3,.city-info .price{font-size:1rem}}@media(min-width:1400px){#root{max-width:1800px}.gallery-grid{gap:1.5rem 1rem}.city-card img{height:200px}.city-info{padding:1rem}.city-info h3{font-size:1.1rem}.city-info .price{font-size:1.2rem}}
