/* geo5 */
:root {
  --bg:#ffffff; --txt:#111111; --muted:#6b7280;
  --card:#ffffff; --border:#e5e7eb;
  --acc:#FFD400;  /* жёлтые кнопки/навигация */
  --logo:#FF7A00; /* "biletto" оранжевым */
  --w:1200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--txt);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:var(--w);margin:0 auto;padding:0 16px}
.hdr{background:var(--bg);border-bottom:1px solid var(--border);position:static;}
.hdr .container{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0}
.logo{font-weight:900;letter-spacing:.5px;color:var(--logo)}
.nav{display:flex;gap:8px;align-items:center}
.pill, .nav select{background:#fff;color:var(--txt);border:2px solid var(--acc);border-radius:999px;padding:8px 12px;cursor:pointer}

.geo-bar{background:#fffbe6;border-bottom:1px solid var(--border)}
.geo-bar.hidden{display:none}
.geo-flex{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.geo-actions{display:flex;gap:8px}

.quickbar{border-bottom:1px solid var(--border);background:#fff;position:static;}
.qb{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0}
.quick-left{display:flex;gap:10px;flex-wrap:wrap}
.quickbar button{background:var(--acc);color:#111;border:none;border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600}
.quickbar button:hover{filter:brightness(1.03)}
.quickbar input{background:#fff;color:var(--txt);border:2px solid var(--acc);border-radius:999px;padding:8px 14px;min-width:260px}

.wrap{padding:20px 0}
h1{margin:8px 0 16px;font-size:28px}
.grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.06);display:flex;flex-direction:column}
.thumb{width:100%;height:180px;object-fit:cover;background:#f2f2f2;display:block}
.meta{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.title{font-weight:700}
.muted{color:var(--muted);font-size:13px}
.small{font-size:12px}
button.buy{background:var(--acc);color:#111;border:none;border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap;font-weight:700}
button.buy:hover{filter:brightness(1.03)}

/* Modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}
.modal.hidden{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.modal-card{position:relative;width:min(640px,calc(100vw - 32px));max-height:80vh;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}
.modal-title{font-weight:800}
.icon-btn{background:transparent;border:none;font-size:18px;cursor:pointer}
.city-search{margin:12px 16px;padding:10px 12px;border:2px solid var(--acc);border-radius:12px;width:calc(100% - 32px)}
.city-list{padding:8px 16px;overflow:auto;max-height:60vh}
.city-item{padding:10px 12px;border-radius:10px;cursor:pointer}
.city-item:hover{background:#fff4b0}
