/* /imoveis em tela cheia: o mapa ocupa a janela e a busca e os cards flutuam por cima, com efeito "liquid glass" (vidro líquido). */
.im-app{--hh:57px;--g-tint:rgba(14,20,27,.5);--g-hi:rgba(255,255,255,.26);--g-lo:rgba(255,255,255,.07);--g-bd:rgba(255,255,255,.26);--g-rim:rgba(255,255,255,.38);--g-shadow:0 10px 34px rgba(0,0,0,.38);--g-blur:blur(22px) saturate(1.85) brightness(1.06);padding:0}
@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .im-app{--g-tint:rgba(255,255,255,.5);--g-hi:rgba(255,255,255,.85);--g-lo:rgba(255,255,255,.2);--g-bd:rgba(255,255,255,.75);--g-rim:rgba(255,255,255,.95);--g-shadow:0 10px 34px rgba(20,30,40,.22)}}
.im-stage{position:relative;height:calc(100vh - var(--hh));height:calc(100dvh - var(--hh));min-height:600px;overflow:hidden;background:var(--land);isolation:isolate}
.im-app .im-lay,.im-app .im-lay.v-lista,.im-app .im-lay.v-mapa{display:block;position:absolute;inset:0;margin:0;z-index:0}
.im-app .im-lay .im-map,.im-app .im-lay.v-lista .im-map,.im-app .im-lay.v-mapa .im-map{display:block;position:absolute;inset:0;height:auto;min-height:0;top:0;border:0;border-radius:0;z-index:0;isolation:isolate}
.im-app .im-tabs{display:none!important}

/* material de vidro */
.im-top,.im-bar,.im-more,.im-app .im-card,.im-app .im-map .im-tools label,.im-app .leaflet-bar{
  background:linear-gradient(135deg,var(--g-hi) 0%,transparent 40%,transparent 60%,var(--g-lo) 100%),var(--g-tint);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);
  border:1px solid var(--g-bd);
  box-shadow:var(--g-shadow),inset 0 1px 0 var(--g-rim),inset 0 -1px 0 var(--g-lo),inset 0 0 22px var(--g-lo);
}

/* painel de busca no topo */
.im-top{position:absolute;z-index:20;top:12px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:auto;border-radius:24px;padding:10px 14px 12px}
.im-top .im-head{padding:0 0 6px;gap:8px}
.im-top .im-head h1{font-size:var(--t2)}
.im-top .im-head p{font-size:var(--tm1);margin:2px 0 0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-top .im-stats{gap:16px}.im-top .im-stats b{font-size:var(--t0)}
.im-top .im-search{margin-top:6px}
.im-top .im-search input,.im-top .im-search select{background:color-mix(in srgb,var(--card) 55%,transparent);border-color:var(--g-bd);border-radius:16px;padding:10px 13px}
.im-top .im-fil{background:color-mix(in srgb,var(--card) 50%,transparent);border-color:var(--g-bd);border-radius:18px;max-height:min(46vh,380px);overflow:auto}
.im-top .btn{background:color-mix(in srgb,var(--card) 55%,transparent);border-color:var(--g-bd)}
.im-top .btn.primary{background:var(--brand);border-color:var(--brand)}

/* cards flutuando na parte de baixo do mapa */
.im-list{position:absolute;z-index:15;left:0;right:0;bottom:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.im-list>*{pointer-events:auto}
.im-bar{order:1;margin:0 12px;padding:6px 8px 6px 16px;border-radius:999px;align-self:flex-start;max-width:calc(100% - 24px)}
.im-bar .r select,.im-bar .r .btn{background:color-mix(in srgb,var(--card) 55%,transparent);border-color:var(--g-bd);border-radius:999px}
.im-more{order:2;align-self:flex-end;margin:-46px 12px 0;border-radius:999px;position:relative;z-index:2}
.im-cards{order:3;display:grid;grid-auto-flow:column;grid-auto-columns:min(430px,86vw);gap:14px;overflow-x:auto;overflow-y:hidden;padding:6px 12px 14px;scroll-snap-type:x proximity;scrollbar-width:thin;overscroll-behavior-x:contain}
.im-app .im-card{scroll-snap-align:start;border-radius:24px;padding:10px;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s}
.im-app .im-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 10% -10%,var(--g-hi),transparent 55%)}
.im-app .im-card:hover{transform:translateY(-4px)}
.im-app .im-card.im-sel{border-color:var(--gold);box-shadow:var(--g-shadow),0 0 0 2px color-mix(in srgb,var(--gold) 55%,transparent),inset 0 1px 0 var(--g-rim)}
.im-app .im-card .im-ph{border-radius:16px}
.im-app .im-card .im-acts a,.im-app .im-card .im-acts button{background:color-mix(in srgb,var(--card) 45%,transparent);border-color:var(--g-bd);border-radius:999px}
.im-app .im-card .im-acts a.p{background:var(--brand);border-color:var(--brand)}
.im-stage.sem-lista .im-cards,.im-stage.sem-lista .im-more{display:none}

/* controles do mapa, sem esbarrar nos painéis */
.im-app .leaflet-top.leaflet-left{left:auto;right:0;top:50%;transform:translateY(-75%)}
.im-app .leaflet-top.leaflet-left .leaflet-control{margin:0 12px 0 0}
.im-app .leaflet-bar{border-radius:16px;overflow:hidden}
.im-app .leaflet-bar a{background:transparent;color:var(--ink);border-bottom-color:var(--g-bd)}
.im-app .im-map .im-tools{left:auto;right:12px;bottom:calc(var(--lista-h,300px) + 18px);max-width:none;transition:bottom .25s}
.im-app .im-map .im-tools label{border-radius:999px;padding:7px 13px}
.im-stage.sem-lista .im-map .im-tools{bottom:24px}
.im-app .leaflet-control-attribution{background:color-mix(in srgb,var(--card) 60%,transparent)!important;color:var(--mute)}

.im-app .im-aviso{margin-top:21px}

@media (max-width:900px){
  .im-top{top:8px;width:calc(100% - 16px);border-radius:20px;padding:8px 10px 10px}
  .im-top .im-head p,.im-top .im-stats{display:none}
  .im-top .im-head h1{font-size:var(--t1)}
  .im-top .im-search{grid-template-columns:1fr;gap:6px}
  .im-app .im-card{grid-template-columns:92px 1fr;padding:8px;border-radius:20px}
  .im-app .im-card .im-ph{width:92px;height:92px}
  .im-cards{grid-auto-columns:min(340px,88vw)}
  .im-more{margin-top:-44px}
}
@media (prefers-reduced-transparency:reduce){
  .im-top,.im-bar,.im-more,.im-app .im-card,.im-app .im-map .im-tools label,.im-app .leaflet-bar{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .im-top,.im-bar,.im-more,.im-app .im-card,.im-app .im-map .im-tools label,.im-app .leaflet-bar{background:var(--card)}
}
@media (prefers-reduced-motion:reduce){.im-app .im-card,.im-app .im-map .im-tools{transition:none}}

/* ajustes de leitura sobre o vidro */
.im-top{overflow-x:hidden}
.im-top .im-search{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) auto}
.im-top .im-search>div:last-child{flex-wrap:wrap}
.im-bar #im-count{color:var(--ink);opacity:.88;font-weight:600}
.im-app .im-card .im-lc,.im-app .im-card .im-pr small,.im-app .im-card small{color:color-mix(in srgb,var(--ink) 72%,transparent)}
@media (max-width:987px){.im-top .im-search{grid-template-columns:1fr}}

@media (max-width:900px){
  .im-bar{align-self:stretch;border-radius:22px;padding:8px 10px 8px 14px;flex-wrap:wrap;gap:6px}
  .im-bar .r{width:100%;justify-content:space-between}
  .im-bar .r select{flex:1;min-width:0}
  #im-csv{display:none}
  .im-more{margin:0 12px;align-self:flex-start;order:2}
}
@media (min-width:901px){.im-bar{max-width:calc(100% - 300px);flex-wrap:wrap}}
