
/* =========================================================
   Probashi Hub Near You — reference-matched UI
   Scoped aggressively to avoid ListingPro/theme button styles.
   ========================================================= */

.phny-showcase,
.phny-showcase *{
  box-sizing:border-box;
}

.phny-showcase{
  font-family:Georgia, "Times New Roman", serif !important;
  background:#eef4ea !important;
  border:1px solid #dfe8db !important;
  border-radius:22px !important;
  padding:24px !important;
  box-shadow:none !important;
  color:#174f40 !important;
}

.phny-showcase__header{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin:0 0 8px !important;
}

.phny-showcase__header h2{
  margin:0 0 7px !important;
  padding:0 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:32px !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  letter-spacing:-.3px !important;
  color:#155443 !important;
}

.phny-showcase__header p{
  margin:0 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:14px !important;
  line-height:1.45 !important;
  color:#667b6e !important;
}

.phny-showcase__actions{
  display:flex !important;
  align-items:flex-start !important;
}

.phny-viewall{
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:Georgia, "Times New Roman", serif !important;
  background:#ffffff !important;
  color:#4a6658 !important;
  border:1px solid #d7e2d5 !important;
  border-radius:11px !important;
  padding:11px 17px !important;
  min-height:40px !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1 !important;
  box-shadow:0 2px 7px rgba(29,74,57,.04) !important;
  cursor:pointer !important;
  transition:background .15s ease,border-color .15s ease,color .15s ease !important;
}
.phny-viewall:hover,
.phny-viewall:focus{
  background:#f5f9f3 !important;
  color:#155443 !important;
  border-color:#abc7b3 !important;
  transform:none !important;
}

.phny-showcase__meta{
  display:none !important;
}

.phny-layout{
  display:grid !important;
  grid-template-columns:minmax(380px, 46%) minmax(0, 54%) !important;
  gap:16px !important;
  align-items:stretch !important;
  margin-top:16px !important;
}

.phny-panel{
  position:relative !important;
  min-width:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.phny-list-panel{
  padding:0 !important;
  min-height:0 !important;
}

.phny-map-panel{
  padding:0 !important;
}

.phny-map{
  width:100% !important;
  height:398px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#dfe9dc !important;
  border:1px solid #dae5d8 !important;
}

/* Keep status from changing the card layout after successful load. */
.phny-status{
  margin:0 0 8px !important;
  padding:0 !important;
  min-height:0 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:13px !important;
  color:#5d7567 !important;
}
.phny-status.is-success{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.phny-status.is-error,
.phny-status.is-empty{
  margin-bottom:10px !important;
}
.phny-status.is-loading::after{
  content:"" !important;
  display:inline-block !important;
  width:11px !important;
  height:11px !important;
  margin-left:7px !important;
  border:2px solid #b9cabd !important;
  border-top-color:#1e6b57 !important;
  border-radius:50% !important;
  animation:phny-spin .75s linear infinite !important;
}
@keyframes phny-spin{to{transform:rotate(360deg)}}

.phny-retry{
  appearance:none !important;
  -webkit-appearance:none !important;
  font-family:Georgia, "Times New Roman", serif !important;
  background:#ffffff !important;
  color:#1a5a48 !important;
  border:1px solid #aac8b3 !important;
  border-radius:9px !important;
  padding:9px 13px !important;
  font-size:13px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  margin:0 0 10px !important;
}
.phny-retry:hover,
.phny-retry:focus{
  background:#f3f8f1 !important;
  color:#114c3c !important;
  border-color:#7fa88d !important;
}

/* ---------- Exact-style left list ---------- */
.phny-list{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  max-height:398px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #dbe5d8 !important;
  border-radius:14px !important;
  background:#f8fbf6 !important;
  scrollbar-width:thin !important;
  scrollbar-color:#b8c9bc transparent !important;
}
.phny-list::-webkit-scrollbar{width:7px !important}
.phny-list::-webkit-scrollbar-track{background:transparent !important}
.phny-list::-webkit-scrollbar-thumb{
  background:#bdcbc0 !important;
  border-radius:10px !important;
}

.phny-card{
  all:unset;
  font-family:Georgia, "Times New Roman", serif !important;
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  min-height:78px !important;
  padding:10px 12px !important;
  margin:0 !important;
  color:#1c4c3d !important;
  background:#ffffff !important;
  border:0 !important;
  border-bottom:1px solid #dce5d9 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-align:left !important;
  text-decoration:none !important;
  cursor:pointer !important;
  outline:none !important;
  transform:none !important;
  transition:background-color .14s ease, box-shadow .14s ease !important;
}
.phny-card:first-child{
  border-top-left-radius:13px !important;
  border-top-right-radius:13px !important;
}
.phny-card:last-child{
  border-bottom:0 !important;
  border-bottom-left-radius:13px !important;
  border-bottom-right-radius:13px !important;
}

/* Harmonized hover — no pink/magenta */
.phny-card:hover,
.phny-card:focus,
.phny-card.is-active{
  background:#f2f7ef !important;
  color:#174f40 !important;
  border-color:#d7e3d5 !important;
  box-shadow:inset 3px 0 0 #2e735b !important;
  transform:none !important;
}

.phny-card__media{
  width:78px !important;
  height:58px !important;
  min-width:78px !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#e7efe4 !important;
  border:1px solid #dfe7dc !important;
}
.phny-card__media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.phny-card__body{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.phny-card__title{
  display:block !important;
  margin:0 0 5px !important;
  padding:0 !important;
  color:#174f40 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.phny-card__subtitle{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#78877e !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:400 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.phny-card__side{
  display:grid !important;
  grid-template-columns:auto 18px !important;
  align-items:center !important;
  gap:11px !important;
  color:#345f4d !important;
  min-width:102px !important;
}
.phny-distance{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  color:#355e4c !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:600 !important;
  white-space:nowrap !important;
}
.phny-distance__icon{
  color:#2b6c56 !important;
  font-size:14px !important;
  line-height:1 !important;
}
.phny-card__arrow{
  color:#477563 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:23px !important;
  line-height:1 !important;
  font-weight:700 !important;
  text-align:right !important;
}

/* ---------- Map ---------- */
.phny-use-location{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  top:13px !important;
  right:13px !important;
  z-index:500 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  background:#ffffff !important;
  color:#315e4b !important;
  border:1px solid #d3e0d2 !important;
  border-radius:9px !important;
  padding:9px 12px !important;
  font-size:12px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  box-shadow:0 2px 8px rgba(33,77,59,.08) !important;
}
.phny-use-location:hover,
.phny-use-location:focus{
  background:#f2f7ef !important;
  color:#174f40 !important;
  border-color:#9fbea9 !important;
}

.phny-marker-wrap,
.phny-user-wrap{
  background:transparent !important;
  border:0 !important;
}

.phny-marker{
  width:38px !important;
  height:38px !important;
  background:#176b55 !important;
  border:3px solid #ffffff !important;
  border-radius:50% 50% 50% 0 !important;
  transform:rotate(-45deg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 4px 12px rgba(23,107,85,.28) !important;
}
.phny-marker span{
  transform:rotate(45deg) !important;
  font-size:17px !important;
}
.phny-marker.is-active{
  background:#0d5845 !important;
  transform:rotate(-45deg) scale(1.13) !important;
}

.phny-user-dot{
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:#d84a4a !important;
  border:3px solid #fff !important;
  box-shadow:0 0 0 4px rgba(216,74,74,.16) !important;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-content{
  font-family:Georgia, "Times New Roman", serif !important;
}
.leaflet-popup-content-wrapper{
  border-radius:12px !important;
}

@media (max-width: 900px){
  .phny-layout{
    grid-template-columns:1fr !important;
  }
  .phny-map,
  .phny-list{
    height:340px !important;
    max-height:340px !important;
  }
  .phny-showcase__header{
    flex-direction:column !important;
  }
}

@media (max-width: 560px){
  .phny-showcase{
    padding:16px !important;
  }
  .phny-showcase__header h2{
    font-size:26px !important;
  }
  .phny-card{
    grid-template-columns:64px minmax(0,1fr) !important;
    min-height:78px !important;
  }
  .phny-card__media{
    width:64px !important;
    min-width:64px !important;
    height:52px !important;
  }
  .phny-card__side{
    grid-column:1 / -1 !important;
    display:flex !important;
    justify-content:space-between !important;
    min-width:0 !important;
    padding-left:76px !important;
    margin-top:-4px !important;
  }
}
