/* ── Split card popup (mapa-core/map.css) ── */

/* Base popup wrapper */
.hpopup{font-family:'DM Sans',sans-serif;line-height:1.4;min-width:230px;max-width:280px;border-radius:10px;overflow:hidden;}

/* Header — score + label à esquerda, espaço para o X à direita */
.hp-header{padding:.55rem .85rem .45rem;padding-right:32px;display:flex;align-items:center;gap:.45rem;}
.hp-score-num{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;color:#fff;line-height:1;flex-shrink:0;}
.hp-score-label{font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.hp-header-right{margin-left:auto;flex-shrink:0;}

/* Body — preço primeiro, bairro secundário */
.hp-body{padding:.55rem .85rem .35rem;}
.hp-body-top{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;margin-bottom:.2rem;}
.hp-preco{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;color:var(--verde);line-height:1;white-space:nowrap;}
.hp-bairro{font-size:.6rem;font-weight:500;color:rgba(90,90,82,.65);text-transform:uppercase;letter-spacing:.06em;text-align:right;}
.hp-det{font-size:.75rem;color:var(--text-muted);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.65rem;}
.hp-det-item{display:flex;align-items:center;gap:.2rem;}

/* Comodidades / amenidades */
.hp-amen{margin:0 0 .6rem;}
.hp-amen-title{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(90,90,82,.6);margin-bottom:.4rem;}
.hp-amen-list{display:flex;flex-wrap:wrap;gap:.35rem;}
.hp-amen-item{display:inline-flex;align-items:center;gap:.28rem;font-size:.7rem;font-weight:500;color:var(--verde);background:rgba(15,122,68,.08);border:1px solid rgba(15,122,68,.18);border-radius:20px;padding:.22rem .55rem;line-height:1;}
.hp-amen-ico{font-size:.85rem;line-height:1;}

/* Footer / CTAs */
.hp-footer{padding:.5rem .85rem .8rem;display:flex;flex-direction:column;gap:.4rem;}
.hp-btn-mais{display:block;background:#25D366;color:#fff;text-align:center;padding:1rem .75rem;border-radius:7px;font-size:.82rem;font-weight:700;text-decoration:none;letter-spacing:.02em;transition:background .15s;}
.hp-btn-mais:hover{background:#1da955;}
.hp-btn-ver{display:block;text-align:center;font-size:.72rem;color:var(--text-muted);text-decoration:none;padding:.25rem;transition:color .15s;}
.hp-btn-ver:hover{color:var(--verde);}

/* Split card */
.hp-split{font-family:'DM Sans',sans-serif;line-height:1.4;width:272px;border-radius:10px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.22);}
.hp-split-top{background:var(--white);}
.hp-split-divider{background:var(--verde);padding:.28rem .85rem;display:flex;align-items:center;gap:.5rem;}
.hp-split-divider-label{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,244,238,.7);}
.hp-split-divider-line{flex:1;height:1px;background:rgba(246,244,238,.15);}
.hp-split-divider-icon{font-size:.72rem;}
.hp-split-bottom{background:var(--verde);padding:.6rem .85rem .75rem;}

/* ITBI market rows */
.hp-mkt-row{display:flex;align-items:center;justify-content:space-between;padding:.28rem 0;border-bottom:1px solid rgba(246,244,238,.1);}
.hp-mkt-row:last-of-type{border-bottom:none;}
.hp-mkt-date{font-size:.62rem;color:rgba(246,244,238,.55);flex-basis:44px;flex-shrink:0;}
.hp-mkt-unit{font-size:.66rem;color:rgba(246,244,238,.8);flex:1;min-width:0;padding:0 .3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* endereço completo é longo — trunca na tabela e ABRE ao passar o mouse (o title
   nativo da linha ainda traz m²/R$ m²/ano/padrão). */
.hp-mkt-row:hover .hp-mkt-unit{white-space:normal;overflow:visible;color:#f6f4ee;}
.hp-mkt-row:hover{background:rgba(246,244,238,.06);border-radius:4px;}
.hp-mkt-val{font-size:.69rem;font-weight:600;color:#e2c98a;white-space:nowrap;flex-basis:62px;text-align:right;flex-shrink:0;}
.hp-mkt-val-nom{font-size:.66rem;color:rgba(246,244,238,.55);white-space:nowrap;flex-basis:62px;text-align:right;flex-shrink:0;}
.hp-mkt-head{border-bottom:1px solid rgba(246,244,238,.18);padding-bottom:.18rem;}
.hp-mkt-head .hp-mkt-val,.hp-mkt-head .hp-mkt-val-nom{font-size:.54rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:rgba(246,244,238,.5);}
.hp-mkt-head .hp-mkt-val{color:#e2c98a;}
.hp-mkt-nota{font-size:.56rem;color:rgba(246,244,238,.45);padding-top:.25rem;line-height:1.35;}

/* ITBI scroll list */
.hp-mkt-scroll-list{max-height:78px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(200,167,91,.4) transparent;margin-bottom:.3rem;}
.hp-mkt-scroll-list::-webkit-scrollbar{width:3px;}
.hp-mkt-scroll-list::-webkit-scrollbar-thumb{background:rgba(200,167,91,.4);border-radius:2px;}
.hp-mkt-scroll-count{font-size:.6rem;color:rgba(246,244,238,.38);letter-spacing:.04em;text-align:right;padding-top:.15rem;}

/* Price bar */
.hp-price-bar-wrap{padding:.5rem .85rem .6rem;background:var(--verde);}
.hp-price-bar-label{display:flex;justify-content:space-between;font-size:.57rem;color:rgba(246,244,238,.4);margin-bottom:.18rem;}
.hp-price-bar-track{height:5px;background:rgba(255,255,255,.1);border-radius:3px;position:relative;}
.hp-price-bar-fill{position:absolute;height:100%;border-radius:3px;background:linear-gradient(90deg,#6ee7a8,#fbbf24);}
.hp-price-bar-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:#C8A75B;border:2px solid #0f3d2e;box-shadow:0 0 0 2px #C8A75B;}
.hp-price-bar-note{font-size:.57rem;color:rgba(246,244,238,.5);margin-top:.22rem;}

/* Loading / empty states */
.itbi-loading-text,.itbi-empty{font-size:.68rem;color:rgba(246,244,238,.4);text-align:center;padding:.5rem 0;font-style:italic;}

/* Leaflet popup overrides */
.hp-leaflet-popup .leaflet-popup-content-wrapper{padding:0;border-radius:10px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.18);}
.hp-leaflet-popup .leaflet-popup-content{margin:0;width:auto!important;}
.hp-leaflet-popup .leaflet-popup-tip-container{margin-top:-1px;}
.hp-leaflet-popup .leaflet-popup-close-button{
  width:22px!important;height:22px!important;
  top:7px!important;right:7px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--verde)!important;
  font-size:14px!important;font-weight:700!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  line-height:1!important;
  box-shadow:0 1px 4px rgba(0,0,0,.2)!important;
}

/* Pin pulse — new listings (≤15 days) */
@keyframes pin-pulse {
  0%,100% { transform:scale(1);   opacity:1; }
  50%      { transform:scale(1.5); opacity:.7; }
}
.pin-novo { animation: pin-pulse 1.6s ease-in-out infinite; transform-origin: center; }
