/* Map-first layout: map receives all remaining viewport space. */
*{box-sizing:border-box}body{max-width:none;width:100%;height:100dvh;margin:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;box-shadow:none}header{width:100%;max-width:none;margin:0}nav{margin:0}
.notice{flex:none;padding:3px 12px;font-size:9px;line-height:13px;color:#627189}header{flex:none;min-height:0;padding:12px 18px;gap:10px;border-bottom:1px solid #f0f2f6}.brand{font-size:20px;letter-spacing:-.5px;gap:10px}.brand svg{width:37px;height:37px}.brand small{font-size:10px;margin-top:3px}.avatar,.bell{width:34px;height:34px;min-width:34px;padding:6px}.avatar svg,.bell svg{width:22px;height:22px}
main{flex:1;min-height:0;overflow:auto;padding:0;width:100%;max-width:none}#explore:not([hidden]){height:100%;display:flex;flex-direction:column;overflow:hidden}
.search{flex:none;margin:10px 16px 8px}.search input{min-height:44px;height:44px;padding:10px 38px 10px 43px;font-size:15px;border-radius:12px}.search>svg{top:12px;width:21px;height:21px}.search button{top:2px;min-height:40px}.categories{flex:none;margin:0 16px 8px;gap:8px}.categories button{height:62px;padding:7px 4px;gap:4px;border-radius:12px}.categories button svg{height:23px;width:23px}.categories span{font-size:12px}.filters{flex:none;margin:0 16px 10px;gap:8px}.filters select{height:40px;min-height:40px;padding:8px 27px 8px 35px;font-size:13px;border-radius:10px}.filters label svg{top:11px;left:10px;width:18px;height:18px}.filters #view{display:none!important}
#count{position:absolute;left:-10000px}#count.list-count{position:static;margin:0;padding:8px 16px;flex:none;font-size:12px}.list-mode .filters #view{display:block!important;font-size:11px;min-height:40px;padding:7px;white-space:nowrap}
.map{flex:1;height:auto!important;min-height:180px!important;border:0;border-radius:0;width:100%;overflow:hidden}.map-switch{top:12px;right:12px;border-radius:10px}.map-switch button{font-size:12px;min-height:36px;padding:8px 10px}.map-switch svg{width:16px;height:16px}.geo-price{font-size:12px;padding:6px 9px;min-height:31px;border-radius:12px;box-shadow:0 2px 5px #16243d26}.geo-price.chosen{font-size:13px}.geo-price:after{width:7px;height:7px;bottom:-6px}
.leaflet-bottom.leaflet-right{bottom:30px;right:12px}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:23px!important}.recenter{bottom:115px;right:12px;width:36px;height:36px;padding:8px}.recenter svg{height:20px;width:20px}.map:has(#selected:not(:empty)) .leaflet-bottom.leaflet-right{bottom:179px}.map:has(#selected:not(:empty)) .recenter{bottom:264px}.map-note{bottom:0;left:0;right:auto;max-width:70%;padding:3px 6px;font-size:8px;text-align:left;pointer-events:none}.leaflet-control-attribution{font-size:8px!important}
#selected{bottom:20px;left:10px;right:10px;max-width:450px}.compact{padding:15px 12px 10px;min-height:0;grid-template-columns:90px minmax(0,1fr);gap:12px;border-radius:18px;box-shadow:0 4px 24px #142a5120}.drag-handle{top:5px;width:30px;height:3px;left:calc(50% - 15px)}.compact img{height:110px;width:90px;object-fit:cover;border-radius:10px}.compact .card-body{padding:0;min-width:0}.compact h2{font-size:14px;line-height:1.3;margin:0 50px 4px 0;padding:0}.compact p{font-size:11px;margin:3px 0}.compact .price{font-size:22px;line-height:1.2;margin:4px 0}.compact .reference{font-size:9px;white-space:normal}.card-tools{top:12px;right:8px}.card-tools button{width:26px;min-height:28px;font-size:22px;padding:3px}.card-tools svg{width:19px;height:19px}.card-bottom{margin-top:4px;gap:4px;flex-wrap:nowrap}.card-bottom .primary{min-height:30px;padding:6px 10px;font-size:10px}.card-bottom .badge{font-size:8px}
nav{position:static;flex:none;max-width:none;width:100%;padding:7px 8px max(5px,env(safe-area-inset-bottom));min-height:62px;z-index:1000;border-top:1px solid #edf0f5;box-shadow:0 -2px 10px #23344f06}nav button{min-height:46px;padding:4px;gap:4px}nav button>svg{width:22px;height:22px}nav span{font-size:10px}nav b{height:40px;width:40px;margin-top:-15px}nav b svg{height:23px;width:23px}#results{overflow:auto;min-height:0;flex:1}.page:not(#explore){padding:18px;max-width:1100px;margin:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){header{padding:12px 28px}.brand{font-size:22px}.brand svg{height:40px;width:40px}.brand small{font-size:11px}#explore:not([hidden]){display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(280px,1fr) minmax(240px,.8fr);grid-template-rows:78px minmax(0,1fr);gap:0 16px}.search,.categories,.filters{margin:0;align-self:center}.search{margin-left:28px}.filters{margin-right:28px}.categories button{height:54px;padding:5px}.categories{gap:6px}.categories button svg{height:21px;width:21px}.categories span{font-size:11px}.map,#results{grid-column:1/-1;grid-row:2;height:100%}.map{min-height:0!important}#count.list-count{position:absolute;z-index:501;top:170px;left:28px;background:white;border-radius:8px}#selected{left:24px;bottom:24px}.compact{grid-template-columns:110px minmax(0,1fr);padding:18px 16px 14px}.compact img{height:119px;width:110px}.compact h2{font-size:16px}.compact .price{font-size:25px}.compact p{font-size:12px}.compact .reference{font-size:10px}.card-bottom .primary{font-size:11px}.map:has(#selected:not(:empty)) .leaflet-bottom.leaflet-right{bottom:30px}.map:has(#selected:not(:empty)) .recenter{bottom:115px}nav{justify-content:center;gap:40px}nav button{max-width:110px}nav span{font-size:11px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:760px) and (max-width:999px){#explore:not([hidden]){display:flex;flex-direction:column;gap:0}.search{margin:10px 18px 8px;align-self:stretch}.categories{margin:0 18px 8px;align-self:stretch}.filters{margin:0 18px 10px;align-self:stretch}.map{height:auto;min-height:180px!important}#count.list-count{position:static}}
@media(max-width:360px){header{padding:9px 12px}.brand{font-size:17px}.brand small{font-size:9px}.brand svg{width:32px}.bell{display:none}.search,.categories,.filters{margin-left:12px;margin-right:12px}.categories button{height:54px}.compact{grid-template-columns:72px minmax(0,1fr);gap:8px}.compact img{width:72px;height:105px}.compact h2{font-size:12px}.compact .price{font-size:20px}}
@media(max-height:620px) and (max-width:759px){.brand small{display:none}header{padding:7px 14px}.categories button{height:44px;display:flex;align-items:center;justify-content:center;gap:6px}.categories button svg{width:18px;height:18px}.search{margin-top:6px}.search input{height:38px;min-height:38px}.search>svg{top:9px}.filters{margin-bottom:6px}nav{min-height:54px}nav button{min-height:40px}.compact img{height:86px}.compact .reference{display:none}}
