.city-picker-overlay { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 20px; background: rgba(3, 8, 19, .86); backdrop-filter: blur(7px); }
.city-picker { width: min(100%, 730px); max-height: calc(100vh - 40px); overflow: auto; padding: clamp(26px, 5vw, 52px); border: 1px solid var(--border-strong); border-radius: 28px; background: linear-gradient(145deg, #19233a, #0c1221); box-shadow: var(--shadow-soft); text-align: center; }
.city-picker h2 { margin: 0 0 5px; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.city-picker p { margin: 0 0 28px; color: var(--text-secondary); }
.city-picker__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.city-picker button { min-height: 56px; padding: 12px 18px; color: var(--text-primary); font: 600 1rem Montserrat, sans-serif; border: 1px solid var(--border-strong); border-radius: 14px; background: #222e47; cursor: pointer; transition: background .2s, transform .2s; }
.city-picker button:hover, .city-picker button.is-current { background: linear-gradient(135deg, var(--accent), #ff784b); color: #fff; transform: translateY(-2px); }
.hero__content { position: relative; }
.city-switcher { position: absolute; top: max(12px, env(safe-area-inset-top)); right: max(clamp(16px, 2vw, 32px), env(safe-area-inset-right)); padding: 8px 0; margin: 0; border: 0; border-bottom: 1px dashed rgba(248,250,252,.3); color: #c8d0de; background: transparent; font: 500 .85rem Montserrat, sans-serif; cursor: pointer; z-index: 40; text-shadow: 0 1px 6px rgba(0,0,0,.65); }
.city-switcher:hover { color: #fff; border-color: var(--accent); }
.city-picker { position: relative; }
.city-picker .city-picker__close { position: absolute; top: 12px; right: 16px; min-height: auto; padding: 2px 9px; border: 0; color: var(--text-secondary); background: transparent; font-size: 1.7rem; line-height: 1; }
.city-picker .city-picker__close:hover { color: #fff; background: transparent; transform: none; }
@media (max-width: 600px) { .city-switcher { font-size: .75rem; } }
.city-picker-overlay.hidden { display:none; }

.city-picker { color:#f8fafc; --text-primary:#f8fafc; --text-secondary:#aab8ce; --border-strong:#354156; --accent:#ed5545; }
@media(max-width:600px) { .site-header__inner { flex-wrap:wrap; gap:12px; } }
