/* Mobile app navigation and touch-friendly controls. */
.app-tabbar{display:none}

@media(max-width:620px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  .app-tabbar{position:fixed;inset:auto 0 0;z-index:50;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:calc(64px + env(safe-area-inset-bottom));padding:6px max(12px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));border-top:1px solid #e5e8eb;background:#ffffffed;backdrop-filter:blur(14px);box-shadow:0 -5px 20px #1122430c}
  .app-tabbar a{display:flex;min-width:0;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;color:var(--muted);font-size:10px;font-weight:650;line-height:1.2;-webkit-tap-highlight-color:transparent}
  .app-tabbar a[aria-current="page"]{background:#edf4ff;color:var(--blue);font-weight:800}
  .app-tabbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .menu{width:44px;height:44px}
  .nav a{display:flex;min-height:44px;align-items:center;font-size:14px}
  .search input{min-height:44px;font-size:16px}
  .search .btn{min-height:44px}
  .regions label{min-height:42px;font-size:12px}
  .brand-filter .brand-option{min-height:44px}
  .filters .sale-method-options button{min-height:42px;font-size:10px}
  .sort-control .sort-option{min-height:42px}
  .card-city{font-size:11px}
  .card h3{font-size:16px}
  .card-address{font-size:12px}
  .card-price>span{font-size:10px}
  .card-price>b{font-size:14px;line-height:1.4}
  .card .specs>span{font-size:10px}
  .card .specs b{font-size:13px}
  .card-link{font-size:12px}
  .detail-summary .address{font-size:14px;line-height:1.55;overflow-wrap:anywhere}
  .detail-summary .tag{padding:7px 9px;font-size:11px}
  .detail-summary .price b{font-size:18px}
  .detail-summary .bullet{font-size:13px;line-height:1.55}
  .tabs{scroll-snap-type:x proximity}
  .tabs button{flex:0 0 auto;min-width:82px;min-height:48px;padding:10px 8px;font-size:12px;scroll-snap-align:start}
  .info th,.info td{padding:11px 9px;font-size:12px;line-height:1.5}
  .info th{width:34%;min-width:100px}
  .info td{overflow-wrap:anywhere}
  .request-fields label{font-size:13px}
  .request-fields input,.request-fields select,.request-fields textarea{min-height:48px;font-size:16px}
  .request-step-title p{font-size:12px}
  .request-file-title{font-size:12px}
  .file-picker-button{width:88px;min-height:44px;font-size:12px}
  .file-picker input[type=file]{width:88px;height:44px}
  .file-picker-name{font-size:11px}
  .upload-note,.request-submit p{font-size:11px;line-height:1.6}
  .consent-row{align-items:flex-start;gap:10px}
  .consent-row>input{flex:0 0 20px;width:20px;height:20px;margin-top:2px}
  .consent-row>span{font-size:12px;line-height:1.55}
  .consent-row small{font-size:11px}
  .chat-launch{right:13px;bottom:calc(78px + env(safe-area-inset-bottom));width:48px;height:48px}
  .chat{right:10px;bottom:calc(138px + env(safe-area-inset-bottom));height:min(440px,calc(100dvh - 160px - env(safe-area-inset-bottom)));width:calc(100vw - 20px)}
}

/* Keep the home filters inside narrow phone screens without horizontal scrolling. */
@media(max-width:620px){
  .home-listings-section,
  .home-filter-row,
  .home-refinery-filter,
  .home-brands,
  .home-listing-search{min-width:0;max-width:100%;box-sizing:border-box}
  .home-filter-row{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}
  .home-refinery-filter{width:100%;overflow:hidden}
  .home-brands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:42px;gap:4px;width:100%;height:auto;min-height:0;overflow:hidden;padding:0}
  .home-brands .brand-option{display:flex;flex:initial;width:100%;min-width:0;max-width:none;height:42px;min-height:42px;justify-content:center;overflow:hidden;padding:3px;box-sizing:border-box}
  .home-brands .brand-logo-img{width:100%;max-width:100%;height:20px;object-fit:contain}
  .home-listing-search{display:flex;width:100%;height:48px;min-height:48px;margin:0;padding:4px;overflow:hidden}
  .home-listing-search input{flex:1 1 0%;width:0;min-width:0;padding-inline:8px;font-size:clamp(12px,3.5vw,14px);box-sizing:border-box}
  .home-listing-search .btn{flex:0 0 auto;min-height:40px;margin:0;padding-inline:clamp(8px,3vw,12px);font-size:clamp(10px,3vw,12px);white-space:nowrap}
}
@media(max-width:360px){
  .home-brands{grid-auto-rows:40px;gap:3px}
  .home-brands .brand-option{height:40px;min-height:40px;padding:2px}
  .home-brands .brand-logo-img{height:18px}
  .home-listing-search input{padding-inline:6px;font-size:12px}
  .home-listing-search .btn{padding-inline:8px;font-size:10px}
}
