
/* Izbor grada */
.hp .loc{position:relative}
.hp .loc select.is-enh{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.hp .city-btn{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;border:0;border-radius:999px;background:transparent;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;max-width:150px;transition:background .15s}
.hp .city-btn:active{background:var(--tint)}
.hp .city-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hp .city-btn .ch{width:16px;height:16px;flex:none;fill:none;stroke:var(--mut);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.hp .city-btn[aria-expanded=true] .ch{transform:rotate(180deg)}
.hp .city-pop{position:absolute;right:-8px;top:calc(100% + 16px);width:260px;background:#fff;border-radius:22px;padding:8px;box-shadow:0 0 0 1px var(--line),0 24px 60px rgba(29,27,34,.2);z-index:70;animation:cityIn .16s ease-out}
.hp .city-pop[hidden],.hp .city-back[hidden]{display:none}
.hp .city-title{display:none;font-weight:800;font-size:18px;padding:10px 12px 8px}
.hp .city-q{width:100%;min-height:44px;margin:2px 0 6px;padding:0 14px;border:0;border-radius:14px;background:var(--tint);font-size:16px;font-weight:600}
.hp .city-q:focus{outline:2px solid var(--red)}
.hp .city-list{list-style:none;max-height:300px;overflow:auto;outline:none}
.hp .city-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;font-weight:600;font-size:16px;cursor:pointer}
.hp .city-opt.act{background:var(--tint)}
.hp .city-opt[aria-selected=true]{color:var(--red);font-weight:800}
.hp .city-opt svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.hp .city-empty{padding:14px;color:var(--mut)}
@keyframes cityIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:639px){
  .hp .city-back{position:fixed;inset:0;background:rgba(20,18,24,.45);z-index:1040}
  .hp .city-pop{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;border-radius:26px 26px 0 0;padding:8px 12px calc(20px + env(safe-area-inset-bottom));z-index:1050;animation:citySheet .22s ease-out}
  .hp .city-title{display:block}
  .hp .city-list{max-height:55vh}
  .hp .city-btn{font-size:14px;max-width:96px;padding:0 4px}
}
@keyframes citySheet{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.hp .city-pop{animation:none}}
