/* TodayHousePrice map finish layer — follows /DESIGN.md */

body.map-home-v2{
  background:#e9eef1!important;
  color:var(--thp-text,#17232d)!important;
}
body.map-home-v2 .site-header-shell{
  position:relative!important;
  border-bottom:1px solid var(--thp-border,#dde4e9)!important;
  box-shadow:none!important;
}

.map-search-box{
  height:50px!important;
  padding:0 10px 0 14px!important;
  border:1px solid var(--thp-border-strong,#c8d3da)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(22,43,57,.12)!important;
  backdrop-filter:none!important;
}
#apt-search,#property-map-search{
  height:46px!important;
  color:var(--thp-text,#17232d)!important;
  font-size:15px!important;
  font-weight:700!important;
}
.map-search-clear{
  width:36px!important;
  height:36px!important;
  border-radius:9px!important;
  background:#f3f6f7!important;
}
.map-search-results{
  margin-top:6px!important;
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:12px!important;
  box-shadow:var(--thp-shadow-float,0 14px 38px rgba(22,43,57,.14))!important;
}
.map-search-result{padding:12px 13px!important}
.map-search-result:hover{background:#f7f9fa!important}

.map-floating-info{
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(22,43,57,.07)!important;
  backdrop-filter:none!important;
}

.map-filter-toolbar{
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 3px 12px rgba(22,43,57,.06)!important;
}
.map-filter-toolbar button{
  min-height:36px!important;
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#516875!important;
  box-shadow:none!important;
}
.map-filter-toolbar button.is-active,
.map-filter-quick.is-active{
  border-color:var(--thp-primary,#236a8e)!important;
  background:var(--thp-primary,#236a8e)!important;
  color:#fff!important;
}
.map-filter-panel{
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:var(--thp-shadow-float,0 14px 38px rgba(22,43,57,.14))!important;
}
.map-filter-grid>label{
  border-color:#e4e9ec!important;
  border-radius:9px!important;
  background:#fafbfc!important;
}
.map-filter-grid input{
  border-color:var(--thp-border-strong,#c8d3da)!important;
  border-radius:8px!important;
  background:#fff!important;
}

.map-deal-marker{
  border-width:1px!important;
  border-radius:10px!important;
  background:var(--thp-primary,#236a8e)!important;
  box-shadow:0 4px 12px rgba(22,43,57,.18)!important;
}
.map-deal-marker.is-high{background:#c9525d!important}
.map-deal-marker::after{border-width:0 1px 1px 0!important}

.map-complex-sheet{
  padding:17px!important;
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--thp-shadow-float,0 14px 38px rgba(22,43,57,.14))!important;
  backdrop-filter:none!important;
}
.map-sheet-close{
  width:36px!important;
  height:36px!important;
  border:1px solid var(--thp-border,#dde4e9)!important;
  border-radius:9px!important;
  background:#fff!important;
}
.map-sheet-price{
  margin:13px 0!important;
  padding:12px 13px!important;
  border:1px solid #e4e9ec!important;
  border-radius:11px!important;
  background:#f8fafb!important;
}
.map-sheet-price strong{
  color:var(--thp-text,#17232d)!important;
  font-size:27px!important;
  font-variant-numeric:tabular-nums;
}
.map-sheet-stats{gap:5px!important}
.map-sheet-stats div{
  padding:9px 5px!important;
  border-color:#e4e9ec!important;
  border-radius:9px!important;
  background:#fff!important;
}
.map-sheet-stats dd,
.map-sheet-deal-price b,
.map-sheet-size-chip span{font-variant-numeric:tabular-nums}

.map-sheet-size-chip{
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:9px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.map-sheet-size-chip.is-active{
  border-color:var(--thp-primary,#236a8e)!important;
  background:var(--thp-primary-soft,#eaf3f7)!important;
  box-shadow:inset 0 0 0 1px var(--thp-primary,#236a8e)!important;
}
.map-sheet-deals,
.map-sheet-trend{
  border-color:var(--thp-border,#dde4e9)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.map-sheet-deal{border-color:#e8edf0!important}
.map-sheet-actions a{
  min-height:44px!important;
  border-radius:9px!important;
  box-shadow:none!important;
}
.map-sheet-actions .primary{
  background:var(--thp-primary,#236a8e)!important;
  color:#fff!important;
}
.map-sheet-actions .secondary{
  border-color:var(--thp-border-strong,#c8d3da)!important;
  color:var(--thp-primary,#236a8e)!important;
}

.leaflet-control-zoom{
  border:1px solid var(--thp-border,#dde4e9)!important;
  border-radius:10px!important;
  box-shadow:0 4px 14px rgba(22,43,57,.08)!important;
  overflow:hidden;
}
.leaflet-control-zoom a{background:#fff!important}

@media(max-width:760px){
  .map-search-wrap{top:8px!important;width:calc(100% - 16px)!important}
  .map-search-box{height:48px!important;border-radius:11px!important}
  #apt-search,#property-map-search{height:44px!important;font-size:16px!important}
  .map-search-clear{width:40px!important;height:40px!important}

  .map-filter-toolbar button,
  .map-filter-toggle,
  .map-filter-quick,
  .map-development-link,
  .map-filter-reset-mini{min-height:44px!important}

  .map-complex-sheet{
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    padding:14px!important;
    border-radius:14px!important;
  }
  .map-sheet-close{width:44px!important;height:44px!important}
  .map-sheet-price strong{font-size:24px!important}
  .map-sheet-size-chip{min-height:50px!important}
  .map-sheet-actions a{min-height:46px!important}
}

@media(prefers-reduced-motion:reduce){
  .map-complex-sheet,
  .map-search-results,
  .map-deal-marker{transition:none!important;animation:none!important}
}


/* Deal trend scatter interactions */
.map-sheet-trend-chart{
  position:relative;
}
.map-sheet-trend-chart .trend-dot{
  stroke:#fff;
  stroke-width:1.1;
  cursor:pointer;
  touch-action:manipulation;
  transition:opacity .12s ease,stroke-width .12s ease,filter .12s ease;
}
.map-sheet-trend-chart .trend-dot:focus{
  outline:none;
  opacity:1!important;
  stroke:#17384b;
  stroke-width:1.8;
}
.map-sheet-trend-chart .trend-dot.is-pinned{
  opacity:1!important;
  stroke:#17384b;
  stroke-width:2.4;
  filter:drop-shadow(0 1px 2px rgba(18,48,66,.35));
}
.trend-hover-tip{
  position:absolute;
  z-index:5;
  max-width:min(250px,calc(100% - 12px));
  padding:6px 8px;
  border:1px solid #d7e0e5;
  border-radius:8px;
  background:rgba(23,35,45,.94);
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  white-space:normal;
  pointer-events:none;
  box-shadow:0 5px 14px rgba(22,43,57,.16);
}
.trend-hover-tip[hidden]{display:none!important}
@media (hover:hover) and (pointer:fine){
  .map-sheet-trend-chart .trend-dot:hover{
    opacity:1!important;
    stroke:#17384b;
    stroke-width:1.8;
  }
}


/* Basic complex facts moved directly below the address. */
.map-sheet-stats--top{
  margin:10px 0 2px!important;
}
.map-sheet-stats--top div{
  min-width:0;
}
.map-sheet-stats--top dt{
  color:#81919c!important;
  font-size:12px!important;
  font-weight:750;
}
.map-sheet-stats--top dd{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#24485f!important;
}
@media(max-width:760px){
  .map-sheet-stats--top{
    margin:10px 0 0!important;
  }
  .map-sheet-stats--top div{
    padding:9px 3px!important;
  }
  .map-sheet-stats--top dt{font-size:12px!important}
  .map-sheet-stats--top dd{font-size:12px!important}
}


/* Road-name address in map search results */
.map-search-road{
  color:#557486!important;
  font-size:12px!important;
  font-weight:700!important;
}
@media(max-width:760px){
  .map-search-road{font-size:12px!important}
}


/* Recent deal price movement backgrounds */
.map-sheet-deal.is-new-high{
  background:#fff0f2!important;
  box-shadow:inset 3px 0 0 #cf4056;
}
.map-sheet-deal.is-up{
  background:#fff7f1!important;
  box-shadow:inset 3px 0 0 #e28a45;
}
.map-sheet-deal.is-down{
  background:#f2f7ff!important;
  box-shadow:inset 3px 0 0 #5f8fd0;
}
.map-sheet-deal.is-new-low{
  background:#edf2fc!important;
  box-shadow:inset 3px 0 0 #526fad;
}
.map-sheet-deal.is-cancelled{
  box-shadow:none!important;
}
.map-sheet-deal-status{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  margin-left:6px;
  padding:0 6px;
  border-radius:999px;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  vertical-align:middle;
}
.map-sheet-deal.is-new-high .map-sheet-deal-status{
  background:#ffdce1;
  color:#b92f45;
}
.map-sheet-deal.is-up .map-sheet-deal-status{
  background:#ffe8d6;
  color:#b86526;
}
.map-sheet-deal.is-down .map-sheet-deal-status{
  background:#dfeaff;
  color:#3e70b5;
}
.map-sheet-deal.is-new-low .map-sheet-deal-status{
  background:#dce5f8;
  color:#405b99;
}
@media(max-width:760px){
  .map-sheet-deal-status{
    min-height:20px;
    padding:0 7px;
    font-size:12px;
  }
}

/* 동일/신규 상태도 상승·하락과 같은 방식으로 명시 */
.map-sheet-deal.is-same .map-sheet-deal-status{
  background:#eef1f3;
  color:#667783;
}
.map-sheet-deal.is-new .map-sheet-deal-status{
  background:#e6f1f7;
  color:#2d708f;
}
