
.zslp-wrap{
  display:grid !important;
  grid-template-columns:380px minmax(0,1fr) !important;
  width:100%;
  min-height:420px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 25px rgba(0,0,0,.12);
  background:#fff;
}
.zslp-wrap.mode-map{display:block !important}
.zslp-sidebar{
  background:#123646;
  color:#fff;
  padding:24px;
  border-right:1px solid rgba(255,255,255,.08);
  overflow:auto;
}

.zslp-wrap.zslp-scrollbar-hidden .zslp-sidebar{
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.zslp-wrap.zslp-scrollbar-hidden .zslp-sidebar::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

.zslp-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:16px;
}
.zslp-head h3{
  margin:0;
  color:#fff;
  font-size:24px;
  font-weight:700;
  line-height:1.2;
}
.zslp-results-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#c41f2e;
}
.zslp-search{margin-bottom:18px}
.zslp-search-input{
  width:100%;
  height:42px;
  border:1px solid #bfc7ce;
  background:#fff;
  color:#333;
  border-radius:6px;
  padding:0 16px;
  font-size:14px;
  outline:none;
}
.zslp-search-input:focus{
  border-color:#123646;
  box-shadow:0 0 0 3px rgba(18,54,70,.12);
}
.zslp-list{display:grid;gap:16px}
.zslp-card{
  padding:22px;
  border:1px solid rgba(255,255,255,.04);
  border-radius:14px;
  background:#2f5c73;
  box-shadow:none;
}
.zslp-card h4{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.25;
  color:#fff;
  font-weight:700;
}
.zslp-subtitle,.zslp-address,.zslp-status{
  font-size:14px;
  line-height:1.5;
  color:#d8e6ee;
}
.zslp-status{
  margin-top:6px;
  color:#c41f2e;
  font-weight:600;
}
.zslp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.zslp-btn,
.zslp-btn:link,
.zslp-btn:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:92px;
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1 !important;
  text-decoration:none !important;
  opacity:1;
  visibility:visible;
  white-space:nowrap;
  -webkit-text-fill-color:currentColor;
  transition:transform .25s ease, filter .25s ease, box-shadow .25s ease;
}
.zslp-btn span{
  display:inline-block;
  color:inherit !important;
  -webkit-text-fill-color:currentColor;
}
.zslp-btn:hover,
.zslp-btn:focus{
  color:#fff;
  text-decoration:none !important;
  transform:translateY(-1px);
  filter:brightness(1.05);
}
.zslp-card a.zslp-btn{font-family:inherit !important}
.zslp-map-area,.zslp-map{
  width:100%;
  height:100%;
  position:relative !important;
  top:auto !important;
}
.zslp-empty{
  padding:18px;
  border:1px dashed rgba(255,255,255,.15);
  border-radius:8px;
  color:#d8e6ee;
  font-size:14px;
}
.leaflet-container{z-index:1 !important}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{
  background:rgba(17,17,17,.12) !important;
}
.marker-cluster div{
  background:#c41f2e !important;
  color:#fff;
  font-weight:700;
}
.zslp-card.is-active{
  outline:2px solid rgba(255,255,255,.14);
  outline-offset:0;
}
.elementor-editor-active .zslp-wrap{
  display:grid !important;
  grid-template-columns:380px minmax(0,1fr) !important;
  min-height:420px !important;
}
.elementor-editor-active .zslp-sidebar{overflow:visible}
.elementor-editor-active .zslp-card{position:relative}
.elementor-editor-active .zslp-map-area,
.elementor-editor-active .zslp-map{
  min-height:420px !important;
}
@media (max-width:900px){
  .zslp-wrap{
    grid-template-columns:1fr !important;
    min-height:auto;
    height:auto !important;
  }
  .zslp-sidebar{
    border-right:none;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .zslp-map-area{height:420px}
}








/* Ghost buttons inherit main button styling */
.zslp-btn.ghost,
.zslp-btn.ghost:link,
.zslp-btn.ghost:visited,
.zslp-btn.ghost:hover,
.zslp-btn.ghost:focus{
  background: inherit;
  color: inherit;
  border-color: inherit;
  -webkit-text-fill-color: currentColor;
}
.zslp-btn.ghost span,
.zslp-btn.ghost:hover span,
.zslp-btn.ghost:focus span{
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

.zslp-btn-whatsapp{
  gap:8px;
}
.zslp-btn-whatsapp .zslp-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  color:#25D366;
  background:transparent;
  flex:0 0 auto;
  transition:color .25s ease, background-color .25s ease;
}
.zslp-btn-whatsapp .zslp-btn-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
