/* Mobile v2: keep map dominant, compact filters, separate swipe cards */
@media (max-width:820px){
  html,body{height:100%;overflow:hidden}
  .map-page{position:relative;display:block;height:calc(100dvh - 72px);min-height:0;overflow:hidden;background:#f4f8fb}
  .map-wrap{position:absolute;left:0;right:0;top:0;bottom:150px;height:auto!important;min-height:0!important;order:initial}
  .side{position:absolute;inset:0;z-index:6;order:initial;border:0;background:transparent;pointer-events:none;min-height:0}
  .side-head,.status,.badge{display:none!important}
  .controls{position:absolute;z-index:8;top:8px;left:8px;right:8px;pointer-events:auto;padding:7px;gap:5px;border:1px solid rgba(212,225,234,.96);border-radius:13px;background:rgba(255,255,255,.95);box-shadow:0 9px 24px rgba(3,21,42,.13);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .controls>.search{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:5px}
  .controls>#city{grid-column:1}
  .controls>.row:not(.search){display:contents}
  .controls>.row:not(.search)>select:first-child{grid-column:2}
  .controls>.row:not(.search)>select:last-child{grid-column:3}
  .controls>.chips{grid-column:1/-1;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .controls>.chips::-webkit-scrollbar{display:none}
  .controls input,.controls select,.controls button{min-height:36px;padding:7px 8px;font-size:12px}
  .controls select{white-space:nowrap;text-overflow:ellipsis}
  .chip{flex:1 0 auto;min-width:62px;padding:7px 10px}
  #list{position:absolute;z-index:9;left:0;right:0;bottom:0;height:150px;display:flex;gap:8px;align-items:stretch;overflow-x:auto;overflow-y:hidden;pointer-events:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));scroll-snap-type:x mandatory;scroll-padding:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;background:#f4f8fb;border-top:1px solid var(--l)}
  #list::-webkit-scrollbar{display:none}
  #list .card{flex:0 0 min(78vw,320px);height:126px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;margin:0;padding:9px 10px;border-radius:14px;box-shadow:0 7px 20px rgba(3,21,42,.12);background:#fff}
  #list .card .addr{display:none}
  #list .card .tags{margin-top:5px}
  #list .card .prices{margin-top:5px}
  #list .card .promo{margin-top:5px;padding:5px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #list .empty{flex:0 0 calc(100vw - 20px);align-self:center;padding:12px 14px;margin:0;background:#fff;border:1px solid var(--l);border-radius:13px;box-shadow:0 7px 20px rgba(3,21,42,.1)}
  .popup{min-width:210px;max-width:265px}
  .gm-style .gm-style-iw-c{max-width:285px!important}
}
@media (max-width:480px){
  .map-wrap{bottom:142px}
  #list{height:142px}
  #list .card{height:118px;flex-basis:80vw}
  .controls{top:6px;left:6px;right:6px;padding:6px}
  .controls input,.controls select,.controls button{min-height:34px;font-size:11.5px}
}

