.apflp-map-root{
  position:relative;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 320px;
    margin-bottom: 18px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.07);
  }
  .apflp-map-canvas{ width:100%; height:100%; }
  
  .apflp-map-msg{
    position:absolute;
    left: 14px;
    bottom: 14px;
    background: rgba(15,23,42,.85);
    color: #fff;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 13px;
    max-width: calc(100% - 28px);
  }
  
  .apflp-map-info{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; max-width: 280px; }
  .apflp-map-info-title{ font-size:15px; font-weight:800; margin:0 0 6px; color:#0f172a; }
  .apflp-map-info-addr{ font-size:13px; color: rgba(15,23,42,.70); margin-bottom:10px; }
  .apflp-map-info-meta{ display:flex; gap:10px; flex-wrap:wrap; font-size:13px; color: rgba(15,23,42,.85); margin-bottom:10px; }
  .apflp-map-info-rent{ font-size:16px; font-weight:900; margin-bottom:12px; color:#0f172a; }
  .apflp-map-info-actions{ display:flex; gap:10px; }
  
  .apflp-map-btn{
    display:inline-flex; align-items:center; justify-content:center;
    height:36px; padding:0 12px; border-radius:10px;
    text-decoration:none; font-weight:700; font-size:13px;
    border:1px solid rgba(0,0,0,.12);
  }
  .apflp-map-btn-solid{ background:#0ea5e9; color:#fff; }
  .apflp-map-btn-outline{ background:#fff; color:#0f172a; }

/* Hide message when empty */
.apflp-map-msg:empty{ display:none; }

/* Map canvas sizing */
.apflp-map-root{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 10px 30px rgba(0,0,0,.07);
  background:#fff;
}
.apflp-map-canvas{
  width:100%;
  height:100%;
  min-height:520px;
}
.apflp-map-msg{
  position:absolute;
  left:12px;
  bottom:12px;
  background:rgba(255,255,255,.92);
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  font-weight:700;
}

/* InfoWindow card */
.apflp-iw{
  display:flex;
  gap:12px;
  align-items:flex-start;
  min-width:320px;
  max-width:420px;
}
.apflp-iw-thumb{
  width:86px;
  height:66px;
  border-radius:10px;
  overflow:hidden;
  background:#f1f5f9;
  flex:0 0 auto;
  border:1px solid rgba(0,0,0,.12);
}
.apflp-iw-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.apflp-iw-ph{ width:100%; height:100%; background:linear-gradient(135deg,#e2e8f0,#f8fafc); }
.apflp-iw-price{ font-size:22px; font-weight:800; margin-bottom:2px; }
.apflp-iw-meta{ color:#475569; margin-bottom:4px; font-weight:600; }
.apflp-iw-addr{ color:#334155; margin-bottom:8px; }
.apflp-iw-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.apflp-iw-btn{
  display:inline-block;
  padding:7px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  font-weight:700;
  text-decoration:none;
  color:#0f172a;
}
.apflp-iw-btn:hover{ background:#f8fafc; }
.apflp-iw-zoom{
  margin-left:auto;
  font-weight:800;
  text-decoration:none;
}
