*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;sans-serif;margin:0;padding:1rem;background:#f7f7f8;color:#111}
header{max-width:1000px;margin:0 auto 1rem}
h1{margin:.2rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;max-width:1200px;margin:0 auto}
.card{background:white;border-radius:8px;padding:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:stretch}
.card img{width:100%;object-fit:cover;border-radius:6px}
.card .label{margin-top:8px;font-size:0.9rem;color:#333}

.city-title{font-weight:600;margin-bottom:8px;text-align:center}
.main-wrap{height:160px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.main-wrap img{height:100%;width:auto}
.variants{display:flex;gap:8px;margin-top:8px;justify-content:center}
.variants .variant-btn{background:transparent;border:0;padding:0;width:72px;height:48px;display:inline-flex;align-items:center;justify-content:center}
.variants img{width:72px;height:48px;object-fit:cover;border-radius:4px}

.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.6);z-index:1000}
.modal[aria-hidden="false"]{display:flex}
.modal-content{background:#fff;padding:12px;border-radius:8px;max-width:95%;max-height:95%;overflow:auto;position:relative}
.modal-content img{max-width:100%;height:auto;display:block}
#close{position:absolute;right:8px;top:8px;border:0;background:#eee;padding:6px 10px;border-radius:6px;font-size:18px;cursor:pointer}

@media (max-width:600px){.card img{height:100px}}
