/* ============================================================================
   MONSTERIDLE — Houses (css/houses.css)
   Janela das casas no UI Kit "vidro azul" (css/ui-kit.css). Modelo visual em
   mockups/houses/. Pixel art (piso, parede, móveis) dentro; interface lisa fora.
   ============================================================================ */
.janela-houses{position:fixed;top:70px;left:max(2vw,calc(50vw - 550px));width:min(1100px,96vw);height:min(720px,calc(100vh - 150px));z-index:62}
.janela-houses .hs-cab-ico{width:26px;height:26px;flex:none;border-radius:8px;background:url(../assets/houses/decor/lareira-01.png) center/contain no-repeat,var(--mi-navy3);border:1px solid var(--mi-fio)}
.hs-abas{padding:0 12px;flex:none}
.hs-abas.oculto{display:none}
.hs-corpo{display:flex;flex-direction:column;gap:10px}
.hs-mudo{color:var(--mi-txt2);font-size:11.5px}
.hs-carregando{padding:40px;text-align:center;color:var(--mi-txt2)}
.hs-regra{font-size:12px;color:var(--mi-txt2);line-height:1.5;margin:0}
.hs-regra b{color:var(--mi-txt)}
.hs-dica{font-size:11px;color:var(--mi-txt2);line-height:1.45;margin:6px 0 0}

/* vazio */
.hs-vazio{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:36px 16px;color:var(--mi-txt2)}
.hs-vazio b{color:var(--mi-txt);font-size:15px}
.hs-vazio small{max-width:420px;line-height:1.5}
.hs-vazio .mi-bt{margin-top:8px}
.hs-vazio-ico{width:170px;height:120px;background:url(../assets/houses/previas/6x6.png) center/contain no-repeat;image-rendering:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5));opacity:.9}

/* valores (moeda/diamante) */
.hs-valor{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-variant-numeric:tabular-nums}
.hs-valor i{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fde68a,#d97706);box-shadow:0 0 6px rgba(251,191,36,.5)}
.hs-valor.dia i{border-radius:2px;transform:rotate(45deg);width:8px;height:8px;background:linear-gradient(135deg,#a5f3fc,#0ea5e9);box-shadow:0 0 6px rgba(34,211,238,.6)}

/* fotos (prévia da casa mobiliada) */
.hs-foto,.hs-minha-foto{position:relative;background:var(--mi-navy3) center/contain no-repeat;border-radius:10px;border:1px solid var(--mi-fio);image-rendering:auto}
.hs-foto{height:130px;margin-bottom:8px}
.hs-selo{position:absolute;right:6px;top:6px;padding:2px 7px;border-radius:99px;background:rgba(6,26,48,.85);border:1px solid var(--mi-fio);font-size:10px;font-weight:800;letter-spacing:1px;color:var(--mi-ciano2)}
.hs-selo.esq{right:auto;left:6px;color:var(--mi-ouro)}
.hs-like-n{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:99px;background:rgba(190,24,93,.85);font-size:10px;font-weight:800;color:#fff}

/* imóveis */
.hs-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.hs-card{display:flex;flex-direction:column}
.hs-card-tit{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:2px}
.hs-card-tit b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-card-pe{margin-top:auto;padding-top:8px;display:flex;justify-content:flex-end}

/* leilões */
.hs-leiloes{display:flex;flex-direction:column;gap:12px}
.hs-leilao{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:start}
.hs-leilao .hs-foto{height:160px;margin:0}
.hs-leilao:hover{transform:none}
.hs-leilao-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.hs-leilao-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0}
.hs-leilao-nums>div{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border-radius:10px;background:var(--mi-navy3);border:1px solid var(--mi-fio)}
.hs-leilao-nums b{font-size:15px}
.hs-relogio{font-variant-numeric:tabular-nums;color:var(--mi-ciano2)}
.hs-relogio.urgente{color:#fca5a5;animation:mi-pisca 1s infinite}
.hs-lance{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hs-lance .mi-campo{width:150px}
.hs-hist{margin-top:4px;padding:6px 10px;border-radius:10px;background:rgba(10,33,64,.6);border:1px solid var(--mi-fio);max-height:180px;overflow:auto}

/* minha casa */
.hs-aviso{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.hs-aviso.perigo{border-color:#7f1d1d;color:#fecaca}
.hs-minha{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:16px;align-items:start}
.hs-minha-foto{height:250px}
.hs-minha-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.hs-minha-tit{display:flex;align-items:center;gap:10px}
.hs-minha-tit b{font-size:17px}
.hs-kvs{margin:4px 0}
.hs-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.hs-acessos{display:flex;flex-direction:column;gap:6px}
.hs-acesso{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:5px 8px;border-radius:9px;background:var(--mi-navy3);border:1px solid var(--mi-fio)}
.hs-add-acesso,.hs-negocios>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hs-add-acesso .mi-campo,.hs-negocios .mi-campo{width:170px}
.hs-negocios{display:flex;flex-direction:column;gap:8px}
.hs-per{margin-bottom:8px}
.hs-rank td:first-child{width:30px;color:var(--mi-rotulo);font-weight:800}

/* ------------------------------------------------------------------ sala */
.hs-corpo:has(.hs-sala-area){padding:10px 12px 12px}
.hs-sala-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}
.hs-sala-tit{display:flex;flex-direction:column;min-width:0}
.hs-sala-tit b{font-size:14px}
.hs-sala-tit small{font-size:11px;color:var(--mi-txt2)}
.hs-curtir{color:#f9a8d4;border-color:#9d174d}
.hs-sala-area{flex:1;min-height:0;display:flex;gap:10px}
.hs-palco{flex:1;min-width:0;overflow:auto;border-radius:12px;border:1px solid var(--mi-fio);
  background:radial-gradient(60% 60% at 50% 40%,rgba(34,211,238,.06),transparent 70%),#050f1c;display:flex;padding:18px}
.hs-sala{position:relative;flex:none;margin:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55));user-select:none;touch-action:none}
.hs-sala img{image-rendering:pixelated}
.hs-piso{position:absolute;background-repeat:repeat;image-rendering:pixelated;box-shadow:inset 0 10px 18px rgba(0,0,0,.35)}
.hs-parede{position:absolute;background-repeat:repeat-x;image-rendering:pixelated;box-shadow:0 6px 10px rgba(0,0,0,.35)}
.hs-muro{position:absolute;background:var(--borda,#3b2414);box-shadow:inset 0 0 0 2px rgba(0,0,0,.35),inset 3px 3px 0 rgba(255,255,255,.08)}
.hs-muro.e{border-radius:6px 0 0 6px}.hs-muro.d{border-radius:0 6px 6px 0}
.hs-porta{position:absolute;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55)),repeating-linear-gradient(90deg,#6b4423 0 8px,#5a391c 8px 9px);
  border-left:3px solid var(--borda,#3b2414);border-right:3px solid var(--borda,#3b2414)}
.hs-movel{position:absolute;pointer-events:none;transition:filter .12s}
.decorando .hs-movel{pointer-events:auto;cursor:grab}
.decorando .hs-movel:hover{filter:drop-shadow(0 0 3px var(--mi-ciano)) brightness(1.08)}
.hs-movel.sel{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px var(--mi-ciano))}
.hs-movel.arrastando{opacity:.8;cursor:grabbing;z-index:999 !important}
.hs-fantasma{position:absolute;pointer-events:none;background:center/100% 100% no-repeat;opacity:.65;image-rendering:pixelated;
  filter:drop-shadow(0 0 4px var(--mi-ciano))}
.hs-fantasma.ruim{filter:drop-shadow(0 0 4px #f87171) grayscale(1) sepia(1) hue-rotate(-50deg) saturate(4);opacity:.5}
.hs-fantasma.oculto{display:none}
.hs-encaixe{position:absolute;z-index:800;cursor:pointer;border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.75) 0 22%,rgba(34,211,238,.18) 23% 55%,transparent 56%);animation:mi-pisca 1.4s infinite}
.hs-encaixe:hover{background:radial-gradient(circle,#a5f3fc 0 30%,rgba(34,211,238,.35) 31% 60%,transparent 61%)}

/* vitrine (display): pedestal com moldura */
.hs-vitrine{position:absolute;display:flex;align-items:flex-end;justify-content:center;padding-bottom:calc(var(--cel) * .22);
  border-radius:40% 40% 6px 6px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.04) 60%,rgba(0,0,0,.25));
  border:2px solid #8b5a2b;box-shadow:inset 0 0 10px rgba(255,255,255,.12),0 6px 8px rgba(0,0,0,.4);pointer-events:none}
.hs-vitrine::after{content:"";position:absolute;left:-8%;right:-8%;bottom:-6px;height:9px;border-radius:4px;background:#6b4423;box-shadow:inset 0 2px 0 rgba(255,255,255,.2)}
.hs-vitrine img{width:88%;height:auto;max-height:calc(var(--cel) * 1.1);object-fit:contain;image-rendering:auto;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45))}
.hs-vitrine:not(.poke) img{width:62%}
.hs-vitrine.ouro{border-color:#f5b82e;box-shadow:inset 0 0 12px rgba(252,211,77,.35),0 0 12px rgba(252,211,77,.35)}
.hs-vitrine.ouro::after{background:#b7791f}
.hs-vitrine.cristal{border-color:#67e8f9;box-shadow:inset 0 0 12px rgba(103,232,249,.4),0 0 14px rgba(34,211,238,.4)}
.hs-vitrine.cristal::after{background:#0e7490}
.hs-vitrine.noite{border-color:#a78bfa;background:linear-gradient(180deg,rgba(76,29,149,.45),rgba(15,23,42,.6))}
.hs-vitrine.noite::after{background:#3b1d6e}
.decorando .hs-vitrine{pointer-events:auto;cursor:pointer}
.hs-vitrine.sel{outline:2px solid var(--mi-ciano);outline-offset:2px}
.hs-vitrine-vazia{font-weight:800;color:var(--mi-txt2)}

/* visitantes */
.hs-gente{position:absolute;inset:0;pointer-events:none;z-index:700}
.hs-pessoa{position:absolute;transform:translate(-50%,-80%);display:flex;flex-direction:column;align-items:center;gap:2px;transition:left .4s,top .4s}
.hs-pessoa-bola{width:calc(var(--cel) * .8);height:calc(var(--cel) * .8);border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:calc(var(--cel) * .38);color:#062033;background:linear-gradient(180deg,#a5f3fc,#22d3ee);border:2px solid #fff;box-shadow:0 3px 6px rgba(0,0,0,.5)}
.hs-pessoa.eu .hs-pessoa-bola{background:linear-gradient(180deg,#fde68a,#f59e0b)}
.hs-pessoa small{font-size:10px;font-weight:800;color:#fff;background:rgba(6,26,48,.8);padding:1px 6px;border-radius:99px;white-space:nowrap}

/* editor lateral */
.hs-editor{width:280px;flex:none;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:8px;border-radius:12px;background:rgba(10,33,64,.55);border:1px solid var(--mi-fio)}
.hs-ed-abas{flex:none}
.hs-cats{display:flex;flex-wrap:wrap;gap:4px}
.hs-cats button{font:inherit;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:4px 8px;border-radius:99px;cursor:pointer;
  color:var(--mi-txt2);background:var(--mi-navy3);border:1px solid var(--mi-fio)}
.hs-cats button.on{color:var(--mi-ciano-escuro);background:var(--mi-ciano);border-color:#67e8f9}
.hs-catalogo{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hs-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;padding:6px 4px;min-height:84px;cursor:pointer;font:inherit;
  border-radius:10px;background:var(--mi-vidro2);border:1px solid var(--mi-fio);color:var(--mi-txt2)}
.hs-item img{max-width:100%;max-height:52px;object-fit:contain;image-rendering:pixelated}
.hs-catalogo.pokes .hs-item img{image-rendering:auto}
.hs-item small{font-size:9.5px;line-height:1.2;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hs-item:hover{border-color:var(--mi-fio-luz)}
.hs-item.on{border-color:var(--mi-ciano);box-shadow:var(--mi-brilho);color:var(--mi-txt)}
.hs-sel{display:flex;align-items:center;gap:8px;padding:7px;border-radius:10px;background:var(--mi-navy3);border:1px solid var(--mi-ciano);flex-wrap:wrap}
.hs-sel img{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}
.hs-sel b{font-size:12px;display:block}.hs-sel small{font-size:10px;color:var(--mi-txt2)}
.hs-molduras{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.hs-moldura{font:inherit;font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px;cursor:pointer;background:var(--mi-navy3);color:var(--mi-txt2);border:2px solid #8b5a2b}
.hs-moldura.ouro{border-color:#f5b82e}.hs-moldura.cristal{border-color:#67e8f9}.hs-moldura.noite{border-color:#a78bfa}
.hs-moldura.on{color:#fff;box-shadow:var(--mi-brilho)}

@media (max-width:760px){
  .hs-leilao,.hs-minha{grid-template-columns:1fr}
  .hs-sala-area{flex-direction:column}
  .hs-editor{width:auto;max-height:42%}
  .hs-leilao-nums{grid-template-columns:1fr 1fr}
}
.hs-ed-abas{flex-wrap:nowrap}
.hs-ed-abas button{padding:8px 9px;white-space:nowrap}
.hs-catalogo.pokes .hs-item img{width:48px;height:48px;max-height:none;image-rendering:pixelated}
.hs-card-tit .mi-pilula,.hs-minha-tit .mi-pilula{flex:none;white-space:nowrap}

/* aba Imóveis: filtros (à venda / com dono / vagas), cidade, ordem e busca */
.hs-filtros{display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:sticky;top:-14px;z-index:5;padding:8px 0 10px;
  background:linear-gradient(180deg,rgba(11,42,74,.97) 80%,rgba(11,42,74,0))}
.hs-filtros select.mi-campo{width:auto;min-width:130px}
.hs-busca{width:210px}
.hs-card.disponiveis .hs-foto{border-color:rgba(52,211,153,.55);box-shadow:0 0 0 1px rgba(52,211,153,.18)}
.hs-card.vagas{opacity:.72}
.hs-card.vagas .hs-foto{filter:saturate(.35) brightness(.8)}
.hs-card-leilao{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:5px 8px;border-radius:8px;
  background:var(--mi-navy3);border:1px solid var(--mi-fio);font-size:11.5px;color:var(--mi-txt2)}
.hs-card-leilao .hs-relogio{font-weight:800}
.hs-card-tit b{min-width:0}
.hs-pisca{animation:hs-pisca 1.6s ease}
@keyframes hs-pisca{0%,100%{box-shadow:none}30%,70%{box-shadow:0 0 0 2px var(--mi-ciano),0 0 22px rgba(34,211,238,.55)}}

/* editor: categorias com a sala do tileset como ícone */
.hs-cats button{display:inline-flex;align-items:center;gap:4px}
.hs-cats button img{width:18px;height:16px;object-fit:cover;border-radius:3px;image-rendering:auto}
.hs-ed-abas button{padding:8px 7px}

/* editor: piso e parede */
.hs-pisos{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.hs-piso-op{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:9px;cursor:pointer;font:inherit;
  background:var(--mi-vidro2);border:1px solid var(--mi-fio);color:var(--mi-txt2)}
.hs-piso-op span{width:100%;aspect-ratio:1;border-radius:6px;background-size:50% 50%;image-rendering:pixelated;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.hs-pisos.paredes .hs-piso-op span{aspect-ratio:1.4;background-size:auto 100%;background-repeat:repeat-x}
.hs-piso-op small{font-size:9px;line-height:1.15;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hs-piso-op:hover{border-color:var(--mi-fio-luz)}
.hs-piso-op.on{border-color:var(--mi-ciano);box-shadow:var(--mi-brilho);color:var(--mi-txt)}
@media (max-width:760px){.hs-busca{width:100%}.hs-filtros select.mi-campo{flex:1}}
/* ajustes: três abas do editor cabem, grade de pisos estável, nome da casa em 2 linhas */
.hs-editor{overflow-x:hidden}
.hs-ed-abas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.hs-ed-abas button{justify-content:center;padding:8px 2px;font-size:10px;letter-spacing:.6px;gap:4px}
.hs-ed-abas .mi-cont{font-size:8.5px;padding:1px 4px}
.hs-pisos{grid-template-columns:repeat(4,minmax(0,1fr))}
.hs-card-tit{align-items:flex-start}
.hs-card-tit b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
.hs-ed-abas{gap:2px}

/* prévia grande da casa (clique na foto de um card) */
.hs-clicavel{cursor:zoom-in;transition:filter .15s}
.hs-clicavel:hover{filter:brightness(1.12)}
.hs-previa-fundo{position:fixed;inset:0;z-index:4000;background:rgba(3,8,20,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.hs-previa-caixa{position:relative;width:min(760px,96vw);max-height:92vh;overflow:auto;background:var(--mi-navy2,#0f1f3a);border:1px solid var(--mi-fio,#23406a);border-radius:14px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.hs-previa-img{height:min(56vh,440px);background:var(--mi-navy3,#0b1830) center/contain no-repeat;border-radius:10px;border:1px solid var(--mi-fio,#23406a);image-rendering:auto}
.hs-previa-info{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.hs-previa-info b{font-size:16px}
.hs-previa-acoes{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.hs-previa-x{position:absolute;top:10px;right:10px;z-index:1}
